查找具有或不具有进一步关系的节点

时间:2017-05-24 19:59:42

标签: neo4j cypher

想象一个节点(t)可以与另一个节点(q)有关系 - 但这不一定给出。无论是否寻找(t)或(q)的属性,都需要进行查询以查找在任一情况下具有特定属性的所有节点(t)。当(t)和(q)之间存在关系时,或者当没有关系但只有(t)的查询参数时,这将起作用。

我试图用可选的匹配解决这个问题,但无法解决这个问题:

MATCH (q) -- (t)
where q.property1 = 1 OR q.property2 = 2 // in case a search parameter for q has been given
OPTIONAL MATCH (t)
where t.property1 = 3 // in case the search looks for a node (t)
RETURN t 

在正确的设置中,当我查找相关节点(q)的属性或(t)的直接属性时,我应该返回(t)。

如何更改查询以使其正常工作? 感谢您的支持

0 个答案:

没有答案