Neo4J Cypher-从路径变量展开节点
我看到了展开列表的示例,但没有看到展开路径列表的示例。例如,我如何找到一种类型的节点和另一种类型的节点之间的所有最短路径,并返回或获取找到的节点,在本例中,具体是Neo4J Cypher-从路径变量展开节点,neo4j,cypher,Neo4j,Cypher,我看到了展开列表的示例,但没有看到展开路径列表的示例。例如,我如何找到一种类型的节点和另一种类型的节点之间的所有最短路径,并返回或获取找到的节点,在本例中,具体是b MATCH p = allShortestPaths((a: person)-[:PARENT_OF]-(b: person)) UNWIND nodes(p) ... //get all of the b nodes RETURN b 注意:我想在查询中使用b用于另一个目的(省略),因此需要将路径展开到b节点列表中。匹配所有最短
b
MATCH p = allShortestPaths((a: person)-[:PARENT_OF]-(b: person))
UNWIND nodes(p) ... //get all of the b nodes
RETURN b
注意:我想在查询中使用b用于另一个目的(省略),因此需要将路径展开到
b
节点列表中。匹配所有最短路径后,如果您只需要b
节点,您可以简单地返回b
。我认为你不需要解开它,因为b
在你的比赛中是明确的
编辑:
似乎您只想查看所有的
person
节点,这些节点具有另一个person
节点的传入父节点。如果是这样,这应该是可行的:
MATCH ()-[:PARENT_OF]->(b:person)
RETURN DISTINCT b;
我应该更清楚,我想在返回之前使用b。我把我的问题简化了很多。我将更新我的问题。啊,好的,你需要只使用b还是整个路径?
MATCH ()-[:PARENT_OF]->(b:person)
RETURN DISTINCT b;
MATCH p = allShortestPaths((a: person)-[:PARENT_OF]-(b: person))
with nodes(p) as nodes
with nodes[size(nodes)-1] as b
return b