我正在使用neo4j来开发概念验证,我希望获得从我的根节点到叶子的所有路径的所有节点ID,例如使用id:
ROOT1-->N1--->SN2--->L1
ROOT1-->N2--->SN3--->L3
Run Code Online (Sandbox Code Playgroud)
我想在结果查询中得到的是: ROO1,N1,SN2 and ROOT1,N2,SN3
我是cypher的新手,我很难得到这个结果,任何帮助都会有用.
我假设ID
你提到的是一个id
财产.
要获取每个完整路径中的节点ID的集合(叶节点除外):
MATCH p=(root {id: 'ROOT1'})-[*]->(leaf)
WHERE NOT (leaf)-->()
RETURN EXTRACT(x IN NODES(p)[..-1] | x.id) AS result;
Run Code Online (Sandbox Code Playgroud)
以下是一个示例结果:
+----------------------+
| result |
+----------------------+
| ["ROOT1","N1","SN2"] |
| ["ROOT1","N2","SN3"] |
+----------------------+
Run Code Online (Sandbox Code Playgroud)