首页 文章

从CSV文件将树结构加载到Neo4J中

提问于
浏览
2

我想导入一个包含树结构的大CSV文件 . 删除一些复杂性,我们可以说我的CSV中有三列: - name - id - parent_id

id是唯一的字母数字代码(例如GB234231AB),parent_id从许多节点引用它 .

我已经设法在查找和索引两列中加载CSV,但无法解决Cypher的负载关系 .

如何在Neo4J中轻松创建树?

1 回答

  • 3

    你应该这样做,假设你有一个索引:Label(id)(其中label是树元素的节点标签) .

    使用Neo4j 2.1.3

    如果你加载了父母和孩子

    create index on :Label(id);
    
    USING PERIODIC COMMIT 1000
    LOAD CSV FROM "....tree.csv" as line
    MERGE (n:Label {id:line.id}) ON CREATE SET n.name = line.name
    ;
    

    然后加载树的关系应该是这样的:

    USING PERIODIC COMMIT 1000
    LOAD CSV FROM "....tree.csv" as line
    MATCH (parent:Label {id:line.parent_id})
    MATCH (child:Label {id:line.id})
    CREATE (child)-[:PARENT]->(parent)
    ;
    

相关问题