Neo4j与可变长度路径上的属性匹配

问题描述 投票:1回答:1

我查看了开发人员手册,您可以使用可变长度的属性进行过滤,其关系如下面的密码。

MATCH p =(charlie:Person)-[* { blocked:false }]-(martin:Person)
WHERE charlie.name = 'Charlie Sheen' AND martin.name = 'Martin Sheen'
RETURN p

我在这里看到的是我可以通过对具有可变长度的关系的数字属性的一些逻辑进行过滤。

例如,将查询中的{blocked:false}更改为{amount_paid}等数字属性,并按amount_paid > 20过滤。

所以我可以通过与amount_paid > 20的关系跳上Person。

neo4j cypher
1个回答
1
投票

你可以使用谓词ALL

MATCH p=(charlie:Person {name: 'Charlie Sheen')-[*]-(martin:Person {name: 'Martin Sheen')
WHERE ALL(rel in relationships(p) WHERE rel.amount_paind > 20)
RETURN p
© www.soinside.com 2019 - 2024. All rights reserved.