2016-11-09 35 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