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

时间:2014-02-21 07:27:12

标签: graph neo4j cypher node-neo4j

我已经连接了节点,如link

中的图片

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

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

例如:

正确路径:0 - &gt; 41 - &gt; 2 - &gt; ... - &gt; 27
重复节点路径:0 - &gt; 0 - &gt; 41 - &gt; 2 - &gt; 27

错误路径的长度正好加一。

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

1 个答案:

答案 0 :(得分:0)

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

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

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