Neo4j:找到两个节点之间有多条路径

时间:2013-07-10 15:23:28

标签: neo4j cypher

我需要识别我的图中的节点对,其中节点之间存在多条路径。我不是在寻找一对特定的节点,只是在它们之间有多条路径的任何一对节点对我来说都没问题。所以我不想得到所有这样的对,只是一些。 我想使用Cypher。 这个声音就像一个简单的任务,但我没有找到正确的查询。我甚至没有找到方法来告诉Cypher中两个节点之间有多少路径。

我希望有人可以给我一个提示。查询运行一段时间没问题。

谢谢!

1 个答案:

答案 0 :(得分:3)

像这样的东西,虽然真的需要花费很长时间,具体取决于图表的大小 -

START n=node(*),m=node(*) 
MATCH p=n-[r*1..]-m 
WITH count(p) AS totalPaths,n,m 
WHERE totalPaths>1 
RETURN n,m,totalPaths 
LIMIT 2

由于您说您不希望所有对具有多个路径,因此您可以调整限制(在此示例中我将其设置为2)。