我有一个节点,需要找到它到根节点的所有父级关系。
例如,如果我有以下节点:
A->B->C->D(根节点) A->E->F->D(根节点)其中A是我拥有的节点,我需要找到它的所有祖先。
我尝试了cypher查询:
MATCH (n:yo {name:"foo"})-[:HELLO*1..]->(p:yo) RETURN p
但是它显示给我的列表是这样的:B,C,D,E,F。所以它们之间的连接丢失了。是否可能有像[[B->C->D],[E->F->D]]这样的列表呢?
我在一个网站上看到了这个查询,并且它可以工作。但它返回[[A,B],[A,B,C],[A,B,C,D]]。我不需要子路径。
start c = node:node_auto_index ( object_id = ‘10179’ )
MATCH path = c <- [ : PARENT_OF* ] – p
return distinct
length ( path ) AS PATH_LENGTH
, extract ( n in nodes ( path ) : n.object_id ) as the_path
order by length ( path )
tail()
函数,您就可以收到路径中所有节点的完整列表。 - Dave Bennett