过滤查询关系边缘上的N跳的路径

时间:2019-06-03 18:05:23

标签: neo4j cypher

我希望能够对输出p(路径)进行过滤 查询:

match p = (a)-[t*..2]-(b)
return p 

在这里,我希望根据关系的属性过滤p。但是由于在上述查询中,t是一个关系列表,所以我无法基于关系属性应用过滤器。

示例用例: 为节点a获取2跳网络,交易金额> 100。

match p = (a)-[t:transaction*..2]-(b)
where edge in t | edge.transaction_amount > 100    
return p

如何基于该列表上的关系属性应用过滤器?

1 个答案:

答案 0 :(得分:1)

您可以这样做:

MATCH p = (a)-[t*..2]-(b)
WHERE ALL(x IN t WHERE x.transaction_amount > 100)
RETURN p