Cypher匹配节点但允许关系是可选的

时间:2015-11-17 13:03:02

标签: neo4j cypher

我有(a {...})-[r]->(b)

在我的查询中,我总是想要' a。如果我能得到它们,我会rb

我试过

optional match (a {...})-[r]->(b)

但是当rb不存在时,整个匹配都会崩溃。

这有效:

optional match (a {...})
optional match (a)-[r]->(b)

笨拙和骇客。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

您可以将查询分为两部分,可选部分和非可选部分:

Match (a:Label {...})
Optional Match (a)-[r]->(b) with a,r,b
//Do whatever you want with a,r and b here

使用此功能,您将确保a,并可选择rb