2016-11-09 39 views
0

我有以下查询凡集合

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

,我想添加一些的

WHERE a.someAttribute = 1 

的效果,但我不能因为是一个集合。有没有什么好的方法来完成这个?

回答

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) 
+1

如果对所有问题的所有答案都是这个好,并且简短:) – swelet