有没有办法让整场比赛可选?

时间:2013-09-05 16:25:47

标签: neo4j cypher

我有一个带有多个'with'子句的复杂查询。我需要其中一个匹配完全是可选的。例如:

m-[:LOVES]->f-[:FATHERED]->d-[:SISTER_OF]-s collect(d) as daughters

如果所有其他关系都是真的,我只需要返回,但是女儿有空的可能性。现在,没有任何部分是可选的,我的整个查询返回空。

1 个答案:

答案 0 :(得分:0)

尝试:

m-[:LOVES]->f-[:FATHERED]->d-[?:SISTER_OF]-s collect(d) as daughters

如果不匹配,那么s将返回null。

一般情况下,我会将两场比赛分开:

MATCH m-[:LOVES]->f-[:FATHERED]->d
WITH DISTINCT d
MATCH d-[?:SISTER_OF]-s 
RETURN collect(d) as daughters