与OR条件匹配

时间:2014-10-20 20:34:36

标签: neo4j cypher

现在和cypher玩了一段时间,并且在理解某些事情时遇到了一些困难。

假设我有人节点,其中一些人可能有belongs_to关系 什么是找到

节点的最佳方法
  • 有一个blongs_to关系,但确实有一个电子邮件地址 of" x@x.xom"
  • 确实有一个belongs_to关系,Id属性为" 100" (属性是关系)

我设法创建了一些返回预期数据的查询,但我不知道那些是否是"正确的"从长远来看,我的密码理解

任何帮助将不胜感激。 (特别是关于And | Or,秩序和效率)

1 个答案:

答案 0 :(得分:5)

这样的东西?

您可以将路径模式用作谓词,请参阅:http://neo4j.com/docs/2.1.5/query-where.html#query-where-patterns

MATCH (n:Person {email:"x@x.com"})
WHERE NOT (n)-[:BELONGS_TO]->() OR (n)-[:BELONGS_TO {id:100})->()
RETURN n