我正在尝试检索链接到给定图节点的一组唯一元素.我有一些节点加载到Neo4j图数据库中,它们使用'TO'关系连接(例如节点6连接'TO'节点7).我已经能够检索我的起始节点和通过'TO'关系链接的其他路径之间的所有路径:
start a = node(6)
match p = (a)-[r:TO*..]->(b)
return distinct EXTRACT(n in nodes(p): n);
Run Code Online (Sandbox Code Playgroud)
这给了我不同的输出路径,但仍然有重复的节点值,例如:
+-------------------------------------------------------+
| p |
+-------------------------------------------------------+
| [Node[6]{},:TO[5] {},Node[7]{}] |
| [Node[6]{},:TO[5] {},Node[7]{},:TO[9] {},Node[11]{}] |
etc...
Run Code Online (Sandbox Code Playgroud)
如何将这些路径组合到包含唯一路径值的单个列表中? 我尝试过使用COLLECT,但这只会产生上述结果的嵌套版本:
start a = node(6)
match p = (a)-[r:TO*..]->(b)
return collect(distinct p);
[[Node[6]{},:TO[5] {},Node[7]{}],[Node[6]{},:TO[5] {},Node[7]{},:TO[9] {}, ... ]
Run Code Online (Sandbox Code Playgroud)
Eve*_*man 21
我对你想要的结果感到困惑(如果不对,你能给出一个例子吗?).你想要路径还是想要节点?如果你想要节点,那么你可能只想:
start a = node(6)
match (a)-[:TO*]->(b)
return collect(distinct b);
Run Code Online (Sandbox Code Playgroud)