当前位置: 首页 > 知识库问答 >
问题:

使用节点csv和关系csv创建关系

弓方伟
2023-03-14
   USING PERIODIC COMMIT 10000
   LOAD CSV WITH HEADERS FROM "http://localhost/csv/Friends.csv" AS row
   CREATE (:Friends {Friend_Name: row.Friend_Name});
   USING PERIODIC COMMIT 10000
   LOAD CSV WITH HEADERS FROM "http://localhost/csv/Relationships.csv" AS row
   MATCH (Friend1:Friends {Friend_Name: row.Friend_Name})
   MATCH (Friend2:Relationships {Friend_Name: row.Friend_Name})
   CREATE (Friend1)-[:Friend_With]->(Friend2);

请有人给我指个正确的方向。

共有1个答案

阮选
2023-03-14

正常情况下,在第二个LOAD CSV语句中,有这样一行:

MATCH (Friend2:Relationships {Friend_Name: row.Friend_Name})

您正在使用关系标签,这是错误的。您需要更改为:

MATCH (Friend2:Friends {Friend_Name: row.Friend_Name})

另外,朋友对我来说是一个不合适的标签,人的标签会更准确,因为友谊实际上是你的关系告诉你的图表

 类似资料:
  • 我希望它创建每个节点(而不是在已经存在具有相同ID的节点时创建新节点),并创建每个关系(在CSV中指定具有多个关系的节点中有多个关系from/to节点)。 实际发生的情况:它似乎创建了所有唯一的节点。它还创建了节点之间的关系,但它只为每个节点设置一个关系,而不考虑与多个其他节点进行通信的一些节点。 我很困惑,因为我的理解是,如果在数据库中还没有出现关系,它将创建关系,所以我认为它将创建CSV中指定

  • 我有一个csv格式的数据集。其中一个字段是类型,类似于枚举。基于此类型,我需要在使用csv LOAD加载数据时创建不同的类型、节点和关系。您可以在csv中调用具有定义子类型的属性的超级类型的行。 我真的不知道如何在Cypher中做到这一点。我唯一的选择是将一个csv文件拆分为每种类型的csv文件,并运行不同的密码吗?

  • 我是一个新的4J新手,我有一个简单的CSV与来源和dest IPS。我想在具有相同标签的节点之间创建一个关系。 类似于…source_ip>>ALERTS>>dest_ip,或者相反。 ....

  • 我使用以下命令将数据从csv文件加载到Neo4j中。输入文件很大,有数百万行。当这个查询运行时,我可以查询节点的数量并检查进度。但是一旦它停止创建节点,我想它就会继续创建关系。但我无法检查这一步的进展。 我有两个疑问: 它是否处理每一行文件的命令,即为每一行源码创建节点和关系等?? 或者它一次创建所有节点,然后创建关系。 下面是加载文件的密码器。

  • 你好,我正试图将csv文件中的一些数据导入到我的Ubuntu12.04中的neo4j中。 我想构建一个具有唯一的100个row0节点和300个row1节点以及这些节点之间3000个关系的图(如果12ffew3213,232rwe13出现两次,则有两条边)。 因为我对neo4j和Cypher是新手。在我尝试了一段时间的创建和合并之后,我仍然不能构建唯一的节点。我用了一些东西 有什么想法吗??谢谢你!