Neo4j 创建节点而不创建重复节点

Neo4j Create Nodes without Creating Duplicates Nodes

我对此很陌生。很抱歉,如果它看起来很愚蠢。我有一个包含用户日志记录的文件,其中有两列,“用户 ID”和“用户名”,基本上是人们登录和注销的记录。我需要使用“用户名”和“用户 ID”创建节点,该怎么做?我在某处读到使用 OPTIONAL MATCH 但它没有用。这是我写的:

LOAD CSV WITH HEADERS FROM '' as row
OPTIONAL MATCH (n:User) AS nd 
WHERE nd is NULL
CREATE (n:User{user_name:row.User_Name}),(r:UserId{user_id:row.User_ID})

它仍然创建了相同数量的节点。如果有人可以帮助我,我将不胜感激。我可以在创建节点后使用 apoc.mergeNode 删除重复项,但如果我能在一个语句中完成所有操作会更方便

您可以只使用 MERGE,绝不会出现任何重复:

LOAD CSV WITH HEADERS FROM '' as row
MERGE (n:User{user_name:row.User_Name})
MERGE (r:UserId{user_id:row.User_ID})
..