2021/8/29Windows下Neo4j批量导入数据(最新教程)
Posted ZSYL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021/8/29Windows下Neo4j批量导入数据(最新教程)相关的知识,希望对你有一定的参考价值。
Windows下Neo4j批量导入数据
前言
图谱的最主要的存储方式,RDF和图数据库,RDF通常用于数据发布和学术上使用,图数据库更多为大数据量下的服务使用。
Neo4j作为图数据中使用最广泛的一种,安装简单,性能较好。
具体安装,请参考:【2021/8/28-最新教程】Windows 安装配置Neo4j图数据库
Neo4j批量导入数据
1. 导入方式
Neo4j导入数据的方式有以下几种方式:
- Cypher create 语句,为每一条数据写一个create
- Cypher load csv 语句,将数据转成CSV格式,通过LOAD CSV读取数据。
- neo4j-admin import 导入
- 官方提供的Java API - BatchInserter
- 大牛编写的 batch-import 工具
- neo4j-apoc load.csv + apoc.load.relationship
- 针对实际业务场景,定制化开发
此部分为参考
作为初学者我只测试了neo4j-admin import
方式,并采用.bat
脚本批处理import命令,更加方便快捷!
2. neo4j-admin import导入数据
2.1 处理数据
数据需要处理为csv格式的,编码为utf8,因为大家使用xls另存为csv会觉得比较方便,但是对于没有特殊字符的情况,在将csv文件再转码为utf8是没有问题的,但对于存在特殊字符的文件会出现乱码字符,建议用其他方式处理。
关于Python操作CSV文件,请参考:【超详解】Python读写csv文件及空行问题解决
- 节点文件
除内容处理为csv格式为,还需要在文件中加入头,内容为各个列的属性名(自定义)。
- 关系文件
除内容处理为csv格式为,还需要在文件中加入头,:START_ID
为起始节点id,:END_ID
为终点节点id,TYPE
表示关系名称,start_id
和end_id
为关系属性。
注意:
1、:ID字段的内容在全部导入文件中不能有任何的重复
2、只能用于初始建库,不能向已有库中导入
处理好的数据存放在import目录下。
2.2 导入命令
导入命令为neo4j-admin,最靠谱的方法是直接用命令帮助。
cmd进入neo4j主目录:
bin\\neo4j-admin -h
bin\\neo4j-admin import -h
主要参数-h为:
bin\\neo4j-admin import
--database=数据库名称
--nodes import\\节点文件
--relationships import\\关系文件
导入的命令为:
bin\\neo4j-admin import
--database=outofpoverty # 数据库名字
--nodes import\\persons.csv # 结点文件(实体)
--nodes import\\prizes.csv # 结点文件(实体)
--relationships import\\win.csv # 实体间关系
2.3. 导入数据
-
关闭neo4j服务
-
cmd进入neo4j目录
-
运行
bin\\neo4j-admin import
命令
常见的错误为,数据格式问题,例如字段中有逗号会造成多列,或者ID有重复会造成数据覆盖等。
下面会有参数,可以解决这些问题!
控制台输出如下:
2.4. 查看数据
重新启动neo4j,访问web页面,出现上问中的启动页面,点击左侧的属性或关系,会出现相应的图像展示:
3. .bat批处理脚本
方法目的:为了后期导入数据方便,无需进入neo4j的安装目录下,即可,便于整理数据,因为后期可能数据库及数据文件会增多,如果全存放import文件中,可能较乱。
为了后期更加方便的导入数据,执行命令,因此推荐采用这个快捷操作,同时便于文件管理!
3.1 新建文件夹
neo4j_import_shell
,存放位置可以任意,我存放在neo4j安装目录下:
之后打开neo4j_import_shell
文件夹新建import
,文件夹,存放要导入的csv数据文件:
3.2 新建.bat脚本文件
- 新建一个.txt文件,写入cmd导入命令:
D:\\software\\neo4j-community-3.5.28\\bin\\neo4j-admin import ^
--database=stock.db ^
--ignore-duplicate-nodes=true ^
--ignore-missing-nodes=true ^
--id-type=string ^
--nodes=import\\executive.csv ^
--nodes=import\\stock.csv ^
--nodes=import\\industry.csv ^
--nodes=import\\concept.csv ^
--relationships=import\\executive_stock.csv ^
--relationships=import\\stock_industry.csv ^
--relationships=import\\stock_concept.csv
其中 ^
:为.bat文件命令续行符(Mac是 \\
),因为我们的导入命令是需要一行执行的,加入续行符,这样后期我们修改脚本文件时,便清晰明了。
- 修改后缀为
.bat
,双击执行,即可导入!
3.3 修改配置文件
因为Neo4j默认启动的数据库是graph.db
,因此需要在conf中修改配置文件:
修改为上面你新导入数据时创建的数据库名字。
注意:
neo4j导入数据必须是空数据库,否则导入失败,因此执行上面导入命令时,需要是一个新的数据库名,neo4j会自动创建,于是要修改配置文件,这样启动后,便是你导入的数据库了!
3.4 启动Neo4j
neo4j start
进入浏览器http://localhost:7474/browser/
,检查是否导入成功!
4. 后序
以后你再需要导入数据,只需要修改.bat
脚本文件的内容,添加新文件到import
中,无需打开cmd,双击.bat
即可!
参考:Neo4j官方文档
加油!
感谢!
努力!
以上是关于2021/8/29Windows下Neo4j批量导入数据(最新教程)的主要内容,如果未能解决你的问题,请参考以下文章