【发布时间】:2013-07-08 14:51:32
【问题描述】:
我需要在我的图表中识别节点之间存在多个路径的节点对。我不是在寻找一对特定的节点,只是在它们之间有多个路径的任何一对节点对我来说都可以。所以我不想得到所有这样的对,而只是一些。 我想为此使用 Cypher。 这听起来很容易,但我找不到合适的查询。我什至没有找到方法来判断 Cypher 中两个节点之间有多少条路径。
我希望有人能给我一个提示。查询运行一段时间没问题。
谢谢!
【问题讨论】:
我需要在我的图表中识别节点之间存在多个路径的节点对。我不是在寻找一对特定的节点,只是在它们之间有多个路径的任何一对节点对我来说都可以。所以我不想得到所有这样的对,而只是一些。 我想为此使用 Cypher。 这听起来很容易,但我找不到合适的查询。我什至没有找到方法来判断 Cypher 中两个节点之间有多少条路径。
我希望有人能给我一个提示。查询运行一段时间没问题。
谢谢!
【问题讨论】:
类似这样的东西,虽然它真的需要很长时间,具体取决于你的图表的大小-
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)。
【讨论】: