路径中间包含特定节点?

问题描述

在Cypher中,您可以将路径固定在两个节点上,例如。

 match path=(a)-[r:rel*1..5]->(b)
 where a.val = 1 and b.val = 2
 return path

问题是如何获取中间包含节点'(x)x.val = 5'的路径,而不是所有路径

解决方法

您可以添加到where子句

AND ANY(x IN nodes(path)[1..-1] WHERE x.val =5)

获取通过至少一个具有val = 5的节点的路径