避免在具有相同值neo4j的节点上重复

避免在具有相同值neo4j的节点上重复,neo4j,Neo4j,csv文件中有两列,emp\u id和mngr\u id。关系是(emp\u id)-[:在]->(mngr\u id)下工作。我想合并emp_id=mngr_id的所有节点。如何在创建节点本身时做到这一点?如果我理解正确,您希望确保在迭代CSV数据时避免创建重复的关系,并避免进入一个人为自己工作的关系 为了避免在emp\u id和mngr\u id识别同一个人的情况下创建关系,我建议在处理CSV以输入数据之前对其进行过滤。在将emp_id和mngr_id传递给Neo4j之前,应该更容易省略CS

csv文件中有两列,
emp\u id
mngr\u id
。关系是
(emp\u id)-[:在]->(mngr\u id)下工作。我想合并emp_id=mngr_id的所有节点。如何在创建节点本身时做到这一点?

如果我理解正确,您希望确保在迭代CSV数据时避免创建重复的关系,并避免进入一个人为自己工作的关系

为了避免在
emp\u id
mngr\u id
识别同一个人的情况下创建关系,我建议在处理CSV以输入数据之前对其进行过滤。在将
emp_id
mngr_id
传递给Neo4j之前,应该更容易省略CSV文件中的任何行

接下来,如果您正在使用Cypher进行导入,类似以下内容可能会很有用:

MERGE (emp:Person{id:'emp_id'}) MERGE (mgr:Person{id:'mngr_id'}) MERGE (emp)-[:WORKS_UNDER]->(mgr) RETURN emp,mgr
请注意,如果在block语句中多次运行上述查询,则每个查询中都需要
emp
mgr
的唯一标识符


Neo4j文档中对合并做了很好的解释:

您能精确地说明您使用的导入器吗?还是从Cypher下载CSV?