如何返回在Y跃点上至少具有X路径的所有节点

时间:2019-01-16 17:32:43

标签: neo4j cypher

我是neo4j的新手,所以也许这是一个非常简单的问题... 让我们以X = 2,Y = 2

为例

数据库:

s

enter image description here

如果起始点为A,则查询应返回以下内容,因为只有B通过2条路径连接,最大跳数为2。

enter image description here

在没有2条路径约束的情况下,我可以使用以下命令,但这也将显示C节点:

to_excel()

1 个答案:

答案 0 :(得分:1)

因此,对于这一点,您将需要使用count()来获取到达末端节点的次数(到达该节点的不同路径的数目),然后根据该计数进行过滤:

MATCH (start:Node {name:"A"})-[*2]-(res)  // or [*..2] if up to 2 instead of exactly 2
WITH start, res, count(res) as paths
WHERE paths >= $requiredPaths // assumes a `requiredPaths` parameter to the query
RETURN start, res