在路径中复制了一个节点 - cypher(查询两个节点之间的所有路径)



我已经连接了节点,就像链接中的图片一样

我查询START a=node(27), b=node(0) MATCH p=b<-[*]-a RETURN p

我希望我会得到 3 条路径,但得到了 6 条。前 3 个是正确的,但后 3 个有重复的"节点 0"

例如:

正确路径: 0 -> 41 -> 2 -> ... -> 27
重复节点路径:0 -> 0 -> 41 -> 2 -> 27

错误路径的长度正好递增 1。

如何编写查询以获取(在此示例中)没有重复节点的正好 3 条路径?

您的查询是正确的,数据库中可能存在问题。我复制了你的图形结构:console.neo4j。运行 START n=node(*) RETURN n 以获取节点 27 和 0 的 ID,然后运行查询。它只返回 3 个结果。

要检查节点 0 上是否有循环,请执行:

START n=node(0) MATCH n-[r]-n RETURN r

最新更新