如何在neo4j中使用条件匹配

时间:2018-12-28 12:32:01

标签: java spring mongodb spring-boot neo4j

我对Neo4j很陌生。 我有一个节点Person,它的属性为hasSecondaryAddress,Person具有主地址和辅助地址。 现在,我要从基于hasSecondaryAddress

的地址返回地址

条件:如果hasSecondaryAddress为true,则应返回SecondaryAddress,如果hasSecondaryAddress为false,则应返回PrimaryAddress

注意:当前,我必须使用union返回数据

2 个答案:

答案 0 :(得分:2)

为此使用coalesce()会更容易,它将返回给定参数中的第一个非空值。这样,您甚至都不需要hasSecondaryAddress

MATCH (p:Person)
RETURN coalesce(p.SecondaryAddress, p.PrimaryAddress) as address

答案 1 :(得分:1)

您可以利用neo4j中的case操作来完成此操作:

MATCH(p:Person) RETURN
CASE p.hasSecondaryAddress
 WHEN true THEN p.SecondaryAddress
 ELSE p.PrimaryAddress
END