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

如何通过Neo4J中导入的csv文件创建唯一的节点和关系?

邹麻雀
2023-03-14

你好,我正试图将csv文件中的一些数据导入到我的Ubuntu12.04中的neo4j中。

12ffew3213,232rwe13
12ffew3213,5yur2ru2r
rwerwerw3,432rwe13
rwerwerw3,5yur2ru2r

我想构建一个具有唯一的100个row0节点和300个row1节点以及这些节点之间3000个关系的图(如果12ffew3213,232rwe13出现两次,则有两条边)。

因为我对neo4j和Cypher是新手。在我尝试了一段时间的创建和合并之后,我仍然不能构建唯一的节点。我用了一些东西

LOAD CSV FROM 'file:///home/nate/Downloads/file.csv' AS line
MERGE (:A { number: toString(line[0])})-[:LIKES]->(:B { ID: toString(line[1])})

有什么想法吗??谢谢你!

共有1个答案

伯向晨
2023-03-14

你是这么做的。

LOAD CSV FROM 'file:///home/nate/Downloads/file.csv' AS line
MERGE (n:A {number : line[0]})
WITH line, n
MERGE (m:B {ID : line[1]})
WITH m,n
MERGE (n)-[:LIKES]->(m);

首先创建或匹配:A节点,然后创建或匹配:B节点,然后创建或匹配关系。with子句收集序列中每个点的结果,以便在下一个点中使用。要了解有关子句的更多信息,请阅读Neo4j手册中的第9.5节。

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

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

  • 我的问题与此非常相似:如何通过在neo4j中导入的csv文件创建唯一的节点和关系?我有一个大约250万行的textfile,其中有两列,每一列都是节点ID: 每一行表示一个关系(即250万个关系):first_column nodeid->follows->second_column nodeid。这个文件中大约有80,000个唯一节点。 null 我的主要问题是我想知道如何使这个过程更快。这是在

  • 我尝试使用Neo4j工具和导入csv文件。 我有个问题。我的csv文件是清晰的,但是,在neo4j浏览器。

  • 然后我试着用斜线。