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

Neo4j与可变长度路径上的属性匹配,neo4j,cypher,Neo4j,Cypher,我在开发人员手册上查过,您可以在可变长度上使用属性进行筛选,关系如下 MATCH p =(charlie:Person)-[* { blocked:false }]-(martin:Person) WHERE charlie.name = 'Charlie Sheen' AND martin.name = 'Martin Sheen' RETURN p 我在这里看到的是,我可以通过一些逻辑对可变长度关系的数值属性进行过滤 例如,将查询中的{blocked:false}更改为数字属性,如{amo

我在开发人员手册上查过,您可以在可变长度上使用属性进行筛选,关系如下

MATCH p =(charlie:Person)-[* { blocked:false }]-(martin:Person)
WHERE charlie.name = 'Charlie Sheen' AND martin.name = 'Martin Sheen'
RETURN p
我在这里看到的是,我可以通过一些逻辑对可变长度关系的数值属性进行过滤

例如,将查询中的{blocked:false}更改为数字属性,如
{amount\u paid}
,并按
amount\u paid>20
进行过滤

因此,我可以通过与
amount\u paid>20的关系跳到Person上

您可以使用谓词:

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