使用neo4j获取从边到根的所有节点和路径

时间:2018-06-12 14:10:58

标签: neo4j cypher

我想获取所有节点信息,包括从边节点到根节点的路径。使用其中一个边缘属性。

这是三层节点结构。

enter image description here

MATCH (g:GrandChild{name:"C"})<-[:childToGrandChild]-(c:Child)<-[p:Parent*0..]-(c:Child) RETURN c,g,p

这将仅返回具有此关系的B,C节点

enter image description here

使用密码

CREATE (p: Parent{name : '1'} ) RETURN p

MATCH (p:Parent) WHERE p.name = '1' CREATE (c: Child{name : '2'} )<-[:parentToChild]-(p) RETURN p


MATCH (c:Child) WHERE c.name = '3' CREATE (g: GrandChild {name : '2'} )<-[:childToGrandChild]-(c) RETURN c

请帮助..

2 个答案:

答案 0 :(得分:1)

您错过了parentTochild这样的关系,

MATCH (g:GrandChild{name:"C"})<-[:childToGrandChild]-(c:Child)<-[parentToChild*0..]-(p:Parent)
RETURN c,g,p

答案 1 :(得分:0)

试试这个:

MATCH (g:GrandChild{name:"C"})<-[:childToGrandChild]-(c:Child)
MATCH (c)<-[p:Parent*0..]-(c2:Child) 
RETURN c,c2,g,p