Graph Neo.ClientError.Statement.SemanticError:无法使用Id的null属性值合并节点
我使用这个查询来创建一些关系,但是如果节点不存在,但merge属性为某些记录创建了节点,而为merge属性的id为null,那么我需要创建节点 基本上,如果记录存在,它应该合并,否则它应该创建,我怎么做Graph Neo.ClientError.Statement.SemanticError:无法使用Id的null属性值合并节点,graph,neo4j,Graph,Neo4j,我使用这个查询来创建一些关系,但是如果节点不存在,但merge属性为某些记录创建了节点,而为merge属性的id为null,那么我需要创建节点 基本上,如果记录存在,它应该合并,否则它应该创建,我怎么做 MATCH (p:person{username:'abc.com'})-[hc:HAS_RELATION]->(pp:person{username:'xyz.com'}) MERGE (con:ContactInfo{Id:hc.ContactInfoId}) ON
MATCH (p:person{username:'abc.com'})-[hc:HAS_RELATION]->(pp:person{username:'xyz.com'})
MERGE (con:ContactInfo{Id:hc.ContactInfoId})
ON MATCH SET con.Updated=timestamp(),hc.ContactInfoId=ID(con)
ON CREATE SET con:PersonContact,con.Created =timestamp(),con.Id=ID(con),hc.ContactInfoId=ID(con)
WITH con
请帮助您正在执行合并con:ContactInfo{Id:hc.ContactInfoId},但是如果hc.ContactInfoId为空,您将获得您的错误
这意味着你有一个关系在你的图中没有ContactInfoId属性
为了避免错误,可以在cypher中使用coalesce函数。
此函数接受2个参数:如果第一个参数为NULL,则返回第二个参数
因此,也许您可以使用这个merge:merge-con:ContactInfo{Id:coaleschc.ContactInfoId,idhc}