neo4j可以使用csv文件导入数据,可以快速导入大量的数据形成图谱
一、导入实体
先创建一个csv文件,给里面添加数据,如下图添加了name和birthday数据。
将文件用编辑软件打开,调整编码为utf-8格式,不然中文会乱码。我用的是noptepad++
再将文件放入到我们neo4j目录下面的import目录下,执行下面的语句,就可以看到导入的实体了。
//导入实体
LOAD CSV WITH HEADERS FROM "file:///shiti.csv" AS line
MERGE (z:Persion{name:line.name,birthday:line.birthday})
return *;
二、导入关系
一样建一个csv文件,执行语句,就可以了
LOAD CSV WITH HEADERS FROM "file:///guanxi.csv" AS line
match (from:Persion{name:line.from}),(to:Persion{name:line.to})
merge (from)-[r:学生]->(to)
三、动态导入关系
有时候实体之间的关系不是一种,上面那种方式只能写死关系类型,当有多种关系的时候,我们需要建多个文件,会很麻烦。因此可以使用一个APOC插件来解决
下载地址
https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases
高版本的使用apoc-core就可以了,当你装好Neo4j之后,$NEO4J_HOME/labs里已经有apoc-core.jar了,只需将它移动到$NEO4J_HOME/plugins下即可。
选择跟自己neo4j对应的版本
下好之后放到安装目录下面的plugins里面就可以了
重启neo4j,执行语句
LOAD CSV WITH HEADERS FROM "file:///guanxi.csv" AS line
MATCH (from:Persion{name:line.from}),(to:Persion{name:line.to})
call apoc.merge.relationship(from, line.relation, {}, {}, to) yield rel
return *;
对小伙伴们有帮助的话可以点个赞收藏一下,有问题或者什么需要可以评论留言
参考博客
neo4j 导入csv实体、关系详细步骤——Load csv方法_NLP小姐姐的博客-优快云博客_neo4j导入csv