neo4j——Load csv导入数据

该导入方式可以持续追加导入。不需要清空库,也不需要暂停服务。
导入的数据具体包含节点(node)即实体类、关系(relation)即实体类之间的关系:
  • 节点包含其属性,例如书的属性有名称、价格;
  • 关系即两个节点之间的关系,此处有指向性区别,例如节点(书)与节点(出版社),书出版于出版社,即是两者的关系。
导入的时候,可以在已运行的neo4j所给的浏览器中,直接输入命令。不同类的节点、关系是分开进行导入的。例如book.csv(书)、cbs.csv(出版社)、relation.csv(关系)。导入的csv文件均可放在neo4j目录下的import文件夹下,如果没有,就创建一个(不是必须的,可以自行决定,只要导入能找到即可)。

book.csv(如下表):
bid:书本属性——自定义的书本id,方便查询和导入关联关系使用(导入后,bid相当于其节点属性,导入的节点还会自动生成不重复的唯一id)
name:书本属性——名称
price:书本属性——价格

bid name price
1 西游记 20
2 红楼梦 30
3 水浒传 40
4 三国演义 50

导入语句:

LOAD CSV WITH HEADERS FROM "file:///book.csv" AS line
MERGE (:Book{bid:line.bid,name:line.name,price:line.price})

解释:line相当于别名,:Book,此处Book是实体类的类别


image

cbs.csv(如下表):
cid:出版社属性——自定义的出版社id
name:出版社属性——名称
address:出版社属性——地址

cid name address
1 北京出版社 北京
2 上海出版社 上海
3 广州出版社 广州
4 武汉出版社 武汉

导入语句:

LOAD CSV WITH HEADERS FROM "file:///cbs.csv" AS line
MERGE (:出版社{cid:line.cid,name:line.name,address:line.address})

relation.csv(如下表):
from:bid——书本id
to:cid——出版社id
relation:关系

from to relation
1 1 出版于
2 2 出版于
3 3 出版于
4 4 出版于

导入语句:

LOAD CSV WITH HEADERS FROM "file:///relation.csv" AS line  
match (from:Book{bid:line.from}),(to:出版社{cid:line.to})  
merge (from)-[r:出版于{relation:line.relation}]->(to)

你可能感兴趣的:(neo4j——Load csv导入数据)