我有一条路径可以返回许多路径.nodes(path)好像:
[a, b, c, d],
[a, b, e],
[a, f]
Run Code Online (Sandbox Code Playgroud)
我想要的是获得所有节点.所以将那条路径转换为
a
b
c
d
e
f
Run Code Online (Sandbox Code Playgroud)
会很好.我想继续在其他cypher语句中使用节点,因此将它们留在集合中对我来说不起作用.
有任何想法吗?
编辑1
MATCH(t:THING1 {id:"t1"})-[:AFFECTS]->(x:SOME_NODE), (t)-[:CHANGES]->(SOME_NODE)
MATCH p=shortestpath((s)-[MY_RELATION*0..4]->(x))
WITH collect(nodes(p)) as nodes
WITH REDUCE(output = [], r IN nodes | output + r) AS flat
Run Code Online (Sandbox Code Playgroud)
这会生成一组节点.现在将其转换为行并重复删除...
您可以从路径中展开节点集合,然后返回不同的节点.
MATCH(t:THING1 {id:"t1"})-[:AFFECTS]->(x:SOME_NODE), (t)-[:CHANGES]->(SOME_NODE)
MATCH p=shortestpath((s)-[MY_RELATION*0..4]->(x))
UNWIND nodes(p) as n
RETURN DISTINCT n
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |