Neo4j Note5:Neo4j数据导入

Neo4j Note5:Neo4j数据导入

 

Neo4j数据导入

CREATE语句
LOAD CSV语句
Batch inserter
Batch import
Neo4j-import
使用场景
1-1w nodes
1w-10w nodes
千万以上nodes
千万以上nodes
千万以上nodes
速度
很慢(1000 nodes/s)
一般(5000 nodes/s)
非常快(数万 nodes/s)
非常快(数万 nodes/s)
非常快(数万 nodes/s)
优点
使用方便,可实时插入
很方便,可以加载本地、远程csv;可以实时插入。
速度相比前两个,有数量级的提升。
基于Batch inserter,可以直接运行编译好的jar包,可以在已存在数据库中导入数据。
官方出品,比Batch import占用更少的资源。
缺点
速度慢
需要将数据转换成csv
需要转成CSV;只能在JAVA中使用;且插入时必须停止neo4j
需要转成CSV;必须停止neo4j
需要转成CSV;必须停止neo4j;只能生成新的数据库,而不能在已存在的数据库中插入数据
 

Neo4j-import进行导入

前提条件

  • graph.db需要清空;
  • neo4j需要停掉;
  • 接受CSV导入,而且格式较为固定;
  • 试用场景:首次导入
  • 节点名字需要唯一
// 数据准备 清空data/databases/graph.db文件夹(如果有),将清洗好的结点文件nodes.csv和关系文件rel.csv拷贝到宿主机/home/neo4j/import中 // docker以exec方式进入容器的交互式终端 docker exec -it container_name(or container_id) /bin/bash // 停掉neo4j bin/neo4j stop //使用如下命令导入 bin/neo4j-admin import \ --database=graph.db \ //指定导入的数据库,没有系统则会在data/databases下自动创建一个 --nodes ./import/nodes.csv //指定导入的节点文件位置 --relationships ./import/rel.csv //指定导入的关系文件位置 --skip-duplicate-nodes=true //设置重复节点自动过滤 --skip-bad-relationships=true //设置bad关系自动过滤 //可执行一行式终端命令 bin/neo4j-admin import --database=graph.db --nodes ./import/nodes.csv --relationships ./import/rel.csv --skip-duplicate-nodes=true --skip-bad-relationships=true // 容器内启动neo4j bin/neo4j start // 退出交互式终端但是保证neo4j后台继续运行 ctrl + P + Q //保险起见,重启neo4j容器 docker restart container_name(or container_id)
重启后使用另一台主机向服务器发送http请求进行远程登陆,在浏览器中输入
服务器ip:7474
切换连接模式为 bolt:/ ,输入用户名和密码进行登陆,登陆成功发现在数据库一栏没找到新导入的数据库graph.db
这是因为配置不够全,继续进到容器挂载到宿主机的/home/neo4j/conf中对neo4j.conf进行配置
//在文件末尾添加默认的数据库 dbms.active_database=graph.db // 保存后重启容器 docker restart container_name(or container_id)
重新进行远程连接,此时数据库的默认选择应该就切换到了新导入的graph.db。
 
 

数据清洗

  • 数据如何清洗成两个符合neo4j-import导入格式的csv文件?
ownthink_kg 1.4亿数据快速导入Neo4j
ownthink_kg 1.4亿数据快速导入Neo4j_seek_dreamer的博客-CSDN博客_neo4j导入ownthink
http://www.openkg.cn/dataset/e5a5f1fb-505a-4ccc-bac5-4eb9856b667e https://www.ownthink.com/docs/kg/#_1 下载到ownthink_v2.csv文件,包含1.4亿数据 wc -l ownthink_v2.csv #140919781 ownthink_v2.csv ownthink_v2.csv 前20行如下 实体,属性,值 胶饴,描述,别名: 饴糖、畅糖、畅、软糖。 词条,描述,词条(拼音:cí tiáo)也叫词目,是辞书学用语,指收列的词语及其释文。 词条,标签,文化 红色食品,描述,红色食品是指食品为红色、橙红色或棕红色的食品。 红色食品,中文名,红色食品 红色食品,是否含防腐剂,否 红色食品,主要食用功效,预防感冒,缓解疲劳 红色食品,适宜人群,全部人群 红色食品,用途,增强表皮细胞再生和防止皮肤衰老 红色食品,标签,非科学 红色食品,标签,生活 大龙湫,描述,雁荡山景区分散,东起羊角洞,西至锯板岭;南起筋竹溪,北至六坪山。 大龙湫,中文名称,大龙湫 大龙湫,外文名称,big dragon autrum 大龙湫,地理位置,浙江省温州市雁荡山景区 大龙湫,开放时间,08:00~18:00 大龙湫,门票价格,50元 大龙湫,著名景点,芙蓉峰 大龙湫,著名景点,剪刀峰 https://github.com/jievince/rdf-converter,按照说明运行,生成edge.csv和vertex.csv两个文件 vertex.csv 格式如下: -201035082963479683,实体 -1779678833482502384,值 4646408208538057683,胶饴 -1861609733419239066,别名: 饴糖、畅糖、畅、软糖。 -2047289935702608120,词条 5842706712819643509,词条(拼音:cí tiáo)也叫词目,是辞书学用语,指收列的词语及其释文。 -3063129772935425027,文化 -2484942249444426630,红色食品 -3877061284769534378,红色食品是指食品为红色、橙红色或棕红色的食品。 -3402450096279275143,否 4786182067583989997,预防感冒,缓解疲劳
ownthink_kg 1.4亿数据快速导入Neo4j_seek_dreamer的博客-CSDN博客_neo4j导入ownthink