我正在使用Neo4j,我认为自己是个初学者,我不太明白如何选择我的图的子树。我已经找到了使用shortestPath和allShortestPaths的解决方案,但这并不像通过变量选择整个子树及其所有子节点那样简单。我想做的是例如匹配MATCH (n {name: "Sovrum"})-[r:CHILDOF]->(child) return n, child,但这只给我直接相关的节点。 相反,我想选择整个子树。 有没有好的方法来实现这一点,或者我是否忽略了一些重要的东西?
使用可变长度路径并不难,您可以从根开始告诉Cypher一直匹配CHILD_OF,直到无法再匹配为止。 请确保在查询中使用标签以便Neo4j(带有索引)能够快速找到您的起点。 您还可以将匹配模式分配给路径并返回该路径。 MATCH path = (n:Node {name: "Sovrum"})-[:CHILDOF*]->(child) RETURN path