如何在neo4j中查询parent-children树?

时间:2014-08-20 14:33:11

标签: neo4j cypher

我有一棵树,我想在每个级别获得所有节点。树的深度可以是任何东西。

node(1)<-[PARENT]-node(2)<-[PARENT]-node(3)<-[PARENT]-node(4)
node(1)<-[PARENT]-node(5)<-[PARENT]-node(6)
node(2)<-[PARENT]-node(7)
node(5)<-[PARENT]-node(8)
node(2)<-[PARENT]-node(9)

所以,

node(1) has two children node(2) and node(5)
node(2) has three children node(3),node(7) and node(9)
node(5) has two children node(6) and node(8)
node(3) has one child node(4)

这是树的例子。我想在单独的地图中获取每个级别的所有节点。我尝试了许多不同的密码查询,但无法找到一种方法。如果有人可以帮忙。我想写一个cypher查询来执行此操作。

1 个答案:

答案 0 :(得分:0)

我想出了一个跟踪关系的简单查询,但在java中,temple.query()返回Result&gt;这不好,因为我必须得到该结果的节点和关系。这是查询:

match p=(n)<-[r:PARENT*]-b return relationships(p);

返回每个路径中的所有关系。从该列表中,必须在java中构建树以维护父子关系。