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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Neo4j与可变长度路径上的属性匹配相关的知识,希望对你有一定的参考价值。

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

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。

答案

你可以使用谓词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

以上是关于Neo4j与可变长度路径上的属性匹配的主要内容,如果未能解决你的问题,请参考以下文章

Neo4j 的“可变长度关系”是啥意思?

获取每个关系neo4j的路径长度

Neo4j - 遍历以找到特定的连接组件

Neo4j具有给定属性的任何节点的ShortestPath

neo4j-高效的原因(节点关系属性存储)

Neo4j图形数据库中对复杂匹配进行评分时的性能?