Neo4j在可选匹配上获得标签

时间:2014-11-29 13:18:41

标签: neo4j cypher

我有以下示例cypher:

MATCH (n)
OPTIONAL MATCH (n)-[:likes]->(p)
RETURN n, p, label(p)

如果可选匹配返回非空值,则此方法很有用。但是,如果可选匹配为空,则会失败。如果p存在,有没有办法返回label(p),否则返回null

1 个答案:

答案 0 :(得分:4)

首先,我想您可能希望缩小n与某些条件和索引匹配的内容,但为了回答您的问题,coalesce是您的朋友。

MATCH (n)
OPTIONAL MATCH (n)-[:likes]->(p)
RETURN n
, coalesce(p, 'nobody')
, coalesce(labels(p),'nothing')