集合在哪里

时间:2016-11-09 12:06:37

标签: neo4j

我有以下查询

MATCH (r)-[a*]->(b)

我想补充一些

的效果
WHERE a.someAttribute = 1

但我不能,因为a是一个集合。有没有很好的方法来实现这个目标?

1 个答案:

答案 0 :(得分:2)

如果ALL关系应该具有此属性值,则可以使用ALL谓词:

MATCH (r)-[a*]->(b)
WHERE ALL (x IN a WHERE x.someAttribute = 1)

您还可以使用更短的版本并指定内联属性:

MATCH (r)-[a* {someAttribute: 1}]->(b)

如果另一方面,只有一个关系应具有此值,您可以使用ANY

MATCH (r)-[a*]->(b)
WHERE ANY (x IN a WHERE x.someAttribute = 1)