【问题标题】:How to import relationships between nodes of the same label from a csv file in neo4j?如何从neo4j中的csv文件中导入相同标签的节点之间的关系?
【发布时间】:2015-10-05 00:22:58
【问题描述】:

我有两个单独的 csv 文件需要导入到我的 neo4j 数据库中。第一个文件包含我希望导入的所有节点。信息分类如下:

                             id, Name 

                              1, Earth science

要导入它,我成功使用了以下代码:

从 'file:///Node_test.csv' AS 行加载带有标题的 CSV

CREATE (:Discipline { id: toInt(line.id), name: line.Name})

现在,我想导入我的关系文件并创建我刚刚导入的节点之间的所有关系。 relationship.csv 文件中的信息分类如下:

                 RelationshipID, parentID, relationship_type, childID

                              1, 2, IS_A_PARENT_DISCIPLINE_OF, 5

要导入它,我使用了以下代码,但没有成功:

使用定期提交 500 从“file:///relationship_test.csv”作为 csvLine 加载带有标题的 CSV

MATCH (DParent:Discipline { id: toInt(csvLine.parentID)}),(DChild:Discipline { id: toInt(csvLine.childID)})

CREATE (DParent)-[:IS_A_PARENT_DISCIPLINE_OF { id:toInt(csvLine.RelationshipID) } ]->(DChild)

注意:结果没有显示任何错误,它只是没有返回任何更改,没有行。

有关我找到的有关该主题的其他文档,请参阅下面的链接;我还没有找到任何描述如何导入 csv 文件以在同一标签的节点之间创建关系的文档。

http://neo4j.com/docs/2.3.0-M01/cypherdoc-importing-csv-files-with-cypher.html

How do i create relationships for existing nodes by importing csv file in neo4j?

Spring Data Neo4j 4.0.0: Can't Create Relationship Between Nodes with the Same Label

【问题讨论】:

  • 您的第一个文件是否实际上包含 id 值 2 和 5 的行?
  • 是的。而且我很确定第一个文件中没有缺少 id,因为我会收到一条错误消息。不是吗?
  • 找不到匹配项不被视为错误。
  • 好的,我会进行第二次检查。谢谢!
  • 关系文件已经过验证。这不是问题。还有其他想法吗?

标签: neo4j cypher relationship graph-databases


【解决方案1】:

以下是需要在neo4j-shell中创建并运行以导入数据的import.cypher文件的内容...

重要的是在匹配和尝试创建关系时,您需要使用 MERGE 命令

USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:data/node.csv" AS row
CREATE (:Discipline{disciplineId: toInt(row.id), name: row.Name});

USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:data/rels.csv" AS row
MATCH (parent:Discipline{disciplineId: toInt(row.parentID)})
MATCH (child:Discipline {disciplineId: toInt(row.childID)})
MERGE (parent)-[:IS_PARENT_DISCIPLINE_OF]->(child);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    相关资源
    最近更新 更多