如何从 neo4j 中的 csv 文件导入相同标签的节点之间的关系?
How to import relationships between nodes of the same label from a csv file in neo4j?
我有两个单独的 csv 文件需要导入到我的 neo4j 数据库中。第一个文件包含我希望导入的所有节点。信息分类如下:
id, Name
1, Earth science
要导入,我成功使用了下面的代码:
LOAD CSV WITH HEADERS FROM 'file:///Node_test.csv' AS line
CREATE (:Discipline { id: toInt(line.id), name: line.Name})
现在,我想导入我的关系文件并创建我刚刚导入的节点之间的所有关系。 relationship.csv文件中的信息分类如下:
RelationshipID, parentID, relationship_type, childID
1, 2, IS_A_PARENT_DISCIPLINE_OF, 5
为了导入它,我使用了以下代码,但没有成功:
USING PERIODIC COMMIT 500
LOAD CSV WITH HEADERS FROM "file:///relationship_test.csv" AS csvLine
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?
以下是neo4j中需要创建的import.cypher文件和运行的内容-shell导入数据...
重要的是在匹配和尝试创建关系时,您需要使用 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);
我有两个单独的 csv 文件需要导入到我的 neo4j 数据库中。第一个文件包含我希望导入的所有节点。信息分类如下:
id, Name
1, Earth science
要导入,我成功使用了下面的代码:
LOAD CSV WITH HEADERS FROM 'file:///Node_test.csv' AS line
CREATE (:Discipline { id: toInt(line.id), name: line.Name})
现在,我想导入我的关系文件并创建我刚刚导入的节点之间的所有关系。 relationship.csv文件中的信息分类如下:
RelationshipID, parentID, relationship_type, childID
1, 2, IS_A_PARENT_DISCIPLINE_OF, 5
为了导入它,我使用了以下代码,但没有成功:
USING PERIODIC COMMIT 500 LOAD CSV WITH HEADERS FROM "file:///relationship_test.csv" AS csvLine
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?
以下是neo4j中需要创建的import.cypher文件和运行的内容-shell导入数据...
重要的是在匹配和尝试创建关系时,您需要使用 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);