【发布时间】:2019-12-16 21:07:58
【问题描述】:
我有一个名为 entity 的 Neo4j 节点,它可以连接到其他实体。我想编写一个密码查询,在其中指定一个实体 id 列表,它将我带回这些实体以及它们是如何连接的。
例如:
因此,如果我指定实体 A 和实体 B 的 ID,它应该为我带来所有其他实体,包括相互关系 (c-d) 和互连实体 E。
有人可以帮我解决密码查询吗?
【问题讨论】:
我有一个名为 entity 的 Neo4j 节点,它可以连接到其他实体。我想编写一个密码查询,在其中指定一个实体 id 列表,它将我带回这些实体以及它们是如何连接的。
例如:
因此,如果我指定实体 A 和实体 B 的 ID,它应该为我带来所有其他实体,包括相互关系 (c-d) 和互连实体 E。
有人可以帮我解决密码查询吗?
【问题讨论】:
假设idList 是一个输入参数,它为您希望在结果中看到的实体定义了一个neo4j id 列表,这应该返回您需要的内容:
MATCH (a:Entity)-[r:RELATED_TO]->(b:Entity)
WHERE id(a) IN $idList AND id(b) IN $idList
RETURN a, r, b
请注意,孤立的节点不会显示在结果中。如果你也想包含这些,你可以这样做:
MATCH (a:Entity),(b:Entity)
WHERE id(a) IN $idList AND id(b) IN $idList
OPTIONAL MATCH (a)-[r:RELATED_TO]->(b)
RETURN a, r, b
【讨论】: