繁体   English   中英

Neo4j加载CSV文件

[英]Neo4j load csv file

我正在尝试按照LearningNeo4j书籍的“使用加载CSV导入”一章中的说明,学习如何在Neo4j中导入csv文件。 我正在实现的代码如下:

load csv with headers from 
"file:C:/wamp/www/fantapappa/nodes.csv"
as nodes
create (n {id: nodes.Node, name: nodes.Name, type: nodes.Label})
return n

load csv with headers from 
"file:C:/wamp/www/fantapappa/rels.csv" 
as rels 
match (from {id:rels.From}), (to {id: rels.To})
create from-[:REL {type: rels.'Relationship'}]->to
return from, to

match (m {type:"Male"}), (f {type:"Female"})
set m:Male, f:Female
return m,f

到目前为止,一切都很好,但是当我尝试以这种方式建立关系时:

match (n)-[r1 {type:"MOTHER_OF"}]->(m), (s)-[r2 {type:"FATHER_OF"}]->(t)
create n-[:MOTHER_OF]->m, s-[:FATHER_OF]->t
return *;

match ()-[r:REL]-() delete r;

我什么都无法比拟。 我只是复制并粘贴了本书的代码,但无法建立关系。 有人能帮我吗?

PS csv文件为:

nodes.csv
Node,Name,Label
1,Amada Emory,Female
2,Rana Seely,Female
3,Detra Thatcher,Female
4,Melda Reza,Female
5,Shana Willems,Female
6,Sharonda Peele,Female
7,Dagny Agee,Female
8,Tisa Woodman,Female
9,Shelba Mutcheler,Female
10,Anderson Spagnola,Male
11,Pamela Forward,Female
12,Melva Fairchild,Female
13,Antione Selman,Male
14,Carmela Cali,Female
15,Fairy Daughtery,Female
16,Stefany Mcamis,Female
17,Kermit Meaney,Male
18,Williemae Dossantos,Female
19,Marth Sparling,Female
20,Jarvis Noland,Male

rels.csv
From,Name,Relationship ,To,Name
1,Amada Emoroy,MOTHER_OF,11,Pamala Forward
1,Amada Emoroy,MOTHER_OF,12,Melva Fairchild
1,Amada Emoroy,MOTHER_OF,13,Antione Selman
2,Rana Seely,MOTHER_OF,14,Carmelia Cali
2,Rana Seely,MOTHER_OF,15,Fairy Daughtery
2,Rana Seely,MOTHER_OF,16,Stefany Mcamis
3,Detra Thatcher,MOTHER_OF,17,Kermit Meaney
3,Detra Thatcher,MOTHER_OF,18,Williemae Dossantos
3,Detra Thatcher,MOTHER_OF,19,Marth Sparling
10,Anderson Spagnola,FATHER_OF,20,Jarvis Noland
14,Carmelia Cali,MOTHER_OF,1,Amada Emory
11,Pamela Forward,MOTHER_OF,2,Rana Seely
11,Pamela Forward,MOTHER_OF,3,Detra Thatcher
12,Melva Fairchild,MOTHER_OF,4,Melda Reza
12,Melva Fairchild,MOTHER_OF,5,Shana Willems
12,Melva Fairchild,MOTHER_OF,6,Sharonda Peele
17,Kermit Meaney,FATHER_OF,7,Dagny Agee
13,Antione Selman,MOTHER_OF,8,Tisa Woodman
13,Antione Selman,MOTHER_OF,9,Shelba Mutchler
20,Jarvis Noland,FATHER_OF,1,Amada Emory

编辑

我只是复制您的代码,我得到以下内容 在此处输入图片说明

对不起,但是在您的链接中,我无法完全理解您在哭什么。

关系上的type属性未创建。 所以你的比赛不会结束。

这是因为在标题中, Relationship列的后面紧跟一个空格,您需要用空格反引号:

rels.`Relationship `

-

load csv with headers from 
"file:C:/wamp/www/fantapappa/rels.csv" 
as rels 
match (from {id:rels.From}), (to {id: rels.To})
create from-[:REL {type: rels.`Relationship `}]->to
return from, to

另外,我建议您检查什么标签和索引,以加快较大数据集的插入速度。

编辑

我已将您的csv上传到要点,并在Neo4j控制台中( http://console.neo4j.org/r/hrao50)运行了整个过程:

LOAD CSV WITH HEADERS FROM "https://gist.githubusercontent.com/ikwattro/2a38a2f71a7ebc8a6681/raw/da5b47ceab9a9d93f62a12ee1fe8224788c0d861/nodes.csv"
AS nodes
create (n {id: nodes.Node, name: nodes.Name, type: nodes.Label})
return n

LOAD CSV 
WITH HEADERS FROM "https://gist.githubusercontent.com/ikwattro/2a38a2f71a7ebc8a6681/raw/da5b47ceab9a9d93f62a12ee1fe8224788c0d861/rels.csv" 
AS rels
match (from {id:rels.From}), (to {id: rels.To})
create from-[:REL {type: rels.`Relationship `}]->to
return from, to

MATCH (m { type:"Male" }),(f { type:"Female" })
SET m:Male, f:Female
RETURN m,f

match (n)-[r1 {type:"MOTHER_OF"}]->(m), (s)-[r2 {type:"FATHER_OF"}]->(t)
create n-[:MOTHER_OF]->m, s-[:FATHER_OF]->t
return *;

并且该图似乎已正确创建。 您可以使用有关灰色图表的屏幕截图来更新您的问题。

另请注意,也许您需要通过在浏览器控制台编辑器中发出:style reset命令来重置图形的:style reset

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM