首页 > 解决方案 > 如何合并包含空值的多个字段

问题描述

1.我正在尝试导入 JSON 文件并创建一个图表,但 value.replyto_user_id replyto_id 包含空值,

CALL apoc.load.json("file:///tweets.json")
YIELD value
MERGE (t:Tweets
{
id: value.id,
created_at: value.created_at,
text: value.text,
user_id: value.user_id,
retweet_id: value.retweet_id,
retweet_user_id: value.retweet_user_id,
user_mentions: value.user_mentions,
replyto_id: value.replyto_id,
replyto_user_id: value.replyto_user_id
}
)

2.错误消息:无法使用空属性值合并节点。然后我累了

CALL apoc.load.json("file:///tweets.json")
YIELD value 
with value where value.replyto_user_id and replyto_id  is not null
{
id: value.id,
created_at: value.created_at,
text: value.text,
user_id: value.user_id,
retweet_id: value.retweet_id,
retweet_user_id: value.retweet_user_id,
user_mentions: value.user_mentions,
replyto_id: value.replyto_id,
replyto_user_id: value.replyto_user_id
}
)

标签: neo4jcypher

解决方案


为避免重复推文,您不必在 MERGE 中包含所有属性。只是唯一标识推文的 id。

MERGE (t:Tweets {id:value.id})
SET t.prop1= value.prop1,
        t.prop2= value.prop2

应该这样做,你不必担心空值。

确保您在 Tweets.id 上设置了索引/约束


推荐阅读