0
我有这个下面的类型,我得到使用该查询图的关系:获取节点
MATCH (p:Person)-[:REPORTS_TO *]->(c:Person) WHERE p.name="F"
WITH COLLECT (c) + p AS all
UNWIND all as p MATCH (p)-[:REPORTS_TO]-(c)
RETURN p,c;
用例:
1.我想找到一个节点在节点F
上有什么级别? 实施例:
Node `D`, `E` are direct child of `F`, hence they are at level 1
Node `A,B,C` are childs of `D` (which is child of `F`) hence level 2
Node `X` is child of `A' (which is at level 2), hence level 3
and so onnnnn....
我试图通过引入一个可变i
解决这个和在每次迭代增加它(,但它并没有奏效)。
MATCH (p:Person)-[:REPORTS_TO *]->(c:Person) WHERE p.name="F"
WITH COLLECT (c) + p AS all ,i:int=0
UNWIND all as p MATCH (p)-[:REPORTS_TO]->(c)
RETURN p,c, i=i+1;
2.鉴于两个节点之间找到关系,然后
e.g Find relation between F and X?
预计answer = 3 (as it is at level 3)
我应该如何着手解决这些用例?
注意:来自Neo4j服务器的图形响应不一定需要,Json响应也会很好。
非常感谢解决'用例1',但如何进行'用例2' –
@PrakashPandey添加答案uc2 –