在Neo4j中创建树结构

时间:2014-10-27 05:55:09

标签: neo4j cypher

我正在尝试使用Cypher Query在Neo4j中创建树结构。

我正在将数据从CSV加载到图表中。

数据结构是。它有两个列,即父和子

P1,C1

P1,C2

P1,C3

C1,SC1

C1,SC2

C2,SC3

C3,SC4

SC1,SSC1

SC2,SSC2

依旧......

此处P为第1级(父级,父级1),C为子级,SC为子级,SSC为子子级, 我想加载数据并从上到下创建树结构

我使用过此查询但未获取树结构。

LOAD CSV  FROM 'file:C:/Users/ykumarx077781/Desktop/parent.csv' AS line

CREATE (Parent:Parent { Parent: line[0]} )

CREATE (Child:Child { Child: line[1]} )

CREATE (Parent)-[R:Parent_off]->(Child)

return R;

请帮我创建结构..

也使用MERGE但未获得

LOAD CSV  FROM 'file:C:/Users/ykumarx077781/Desktop/parent.csv' AS line

MERGE (Parent:Parent { Parent: line[0]} )

MERGE (Child:Child { Child: line[1]} )

CREATE (Parent)-[R:Parent_off]->(Child)

return R;

2 个答案:

答案 0 :(得分:1)

您必须对可能要重复使用的任何节点使用MERGE,请参阅http://neo4j.com/docs/stable/cypherdoc-importing-csv-files-with-cypher.html,例如对于国家。

答案 1 :(得分:1)

尝试

创建索引:节点(id)

LOAD CSV  FROM 'file:C:/Users/ykumarx077781/Desktop/parent.csv' AS line

MERGE (Parent:Node { id: line[0]} ) ON CREATE SET Parent:Parent

MERGE (Child:Node { id: line[1]} ) ON CREATE SET Child:Child

MERGE (Parent)-[R:Parent_off]->(Child)

return R;