我使用的是Neo4j,我认为自己很新手,而且我真的不明白如何选择图表的子树。我使用shortestPath
和allShortestPaths
找到了解决方案,但这与使用变量及其所有子项选择整个子树的方法并不完全相同。
我想做的是例如匹配MATCH (n {name: "Sovrum"})-[r:CHILDOF]->(child) return n, child
,但这只给了我直接相关的节点。
有没有什么好方法可以做到这一点,还是我错过了一些关于工作原理的重要观点?
答案 0 :(得分:1)
使用可变长度路径非常容易,你从根开始告诉Cypher一直向下匹配CHILD_OF,直到它没有更进一步。
请确保在查询中使用标签,以允许Neo4j(带索引)快速找到您的起点。
您还可以指定与路径匹配的模式并返回该路径
MATCH path = (n:Node {name: "Sovrum"})-[:CHILDOF*]->(child)
RETURN path