我有以下示例cypher:
MATCH (n)
OPTIONAL MATCH (n)-[:likes]->(p)
RETURN n, p, label(p)
如果可选匹配返回非空值,则此方法很有用。但是,如果可选匹配为空,则会失败。如果p存在,有没有办法返回label(p)
,否则返回null
?
答案 0 :(得分:4)
首先,我想您可能希望缩小n
与某些条件和索引匹配的内容,但为了回答您的问题,coalesce
是您的朋友。
MATCH (n)
OPTIONAL MATCH (n)-[:likes]->(p)
RETURN n
, coalesce(p, 'nobody')
, coalesce(labels(p),'nothing')