gpt4 book ai didi

graph - Neo.ClientError.Statement.SemanticError : Cannot merge node using null property value for Id

转载 作者:行者123 更新时间:2023-12-02 20:16:04 24 4
gpt4 key购买 nike

我使用此查询来创建一些关系,但如果节点不存在,我需要创建节点,但合并属性为某些记录创建,而对于其他记录,它在 id 上为合并提供 null。

基本上,如果记录存在,它应该合并,否则它应该创建,我该怎么做?

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

请帮忙

最佳答案

您正在执行MERGE (con:ContactInfo{Id:hc.ContactInfoId}),但如果hc.ContactInfoId为NULL,您将收到错误。

这意味着您的图表中存在一个没有 ContactInfoId 属性的关系 HAS_RELATION

为了避免错误,您可以使用 cypher 中的 coalesce 函数。该函数需要 2 个参数:如果第一个参数为 NULL,则该函数返回第二个参数。

所以也许你可以使用这个合并:MERGE (con:ContactInfo{Id:coalesce(hc.ContactInfoId, id(hc))})

关于graph - Neo.ClientError.Statement.SemanticError : Cannot merge node using null property value for Id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52346435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com