neo4j cypher WITH - 如果在第二个查询中没有匹配,则从第一个查询返回数据?

Jef*_*ffA 0 neo4j cypher

我有一个cypher查询,如下所示:

MATCH (a)-[]->(b)
WHERE (condition #1)
WITH a, b
MATCH (a)-[]->(c)
WHERE (condition #2)
RETURN a, b, c
Run Code Online (Sandbox Code Playgroud)

我的数据是这样的,查询的第一部分将自己返回"a"和"b".但是,如果第二个WHERE条件失败,则查询不返回任何数据.我期望"a"和"b"的数据为"c"为NULL我怎么能这样做?

谢谢.

zer*_*323 6

OPTIONAL在第二场比赛之前添加应解决问题.

MATCH (a)-[]->(b)
WHERE (condition #1)
WITH a, b
OPTIONAL MATCH (a)-[]->(c)
WHERE (condition #2)
RETURN a, b, c
Run Code Online (Sandbox Code Playgroud)