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

Neo4j 如何返回在Y个跃点上至少有X个路径的所有节点,neo4j,cypher,Neo4j,Cypher,我是neo4j新手,所以这可能是一个非常简单的问题。。。 让我们以X=2,Y=2为例 DB: 因此,对于本例,您需要使用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 >= $

我是neo4j新手,所以这可能是一个非常简单的问题。。。 让我们以X=2,Y=2为例

DB:


因此,对于本例,您需要使用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

由于问题说明了确切的跃点数(即“2”,而不是“最多2”),因此关系模式可能应该是
[*2]
,而不是
[*…2]
。很好,我不太确定这里真正需要什么。相应地改变了。
MATCH (start:Node {name:"A"})-[*1..2]-(res) 
RETURN start, res
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