上一段主要做一些基础铺垫,完成Neo4j的安装和基本操作命令。本段落主要实现通过导入数据建立图谱.
一、Neo4j导入数据的几种方式:
1、通过Cypher create 语句进行数据手工创建;
2、Cypther load csv语句,对csv格式的数据进行读取;
3、官方neo4j-import 工具, 目前被neo4j-admin import所替代;
4、batch-import 工具
以上的几种方式各有优劣,对于个人使用中小型数据进行尝试,在数据量和速度上,load和import应该都能满足。
二、通过导入数据创建图谱:
以下基于一个贷款申请的样本创建图谱
1、将如下要导入的样本放置neo4j目录中的import文件夹:
使用如下命令导入:
LOAD CSV WITH HEADERS FROM 'FILE:/sampledata.csv' AS applicant
CREATE (:sampledata {name:applicant.Name, year: toInteger(applicant.Borth_Year)})
由于是csv文件,分隔符默认为“,”。 也可以使用FIELDTERMINATOR来自定义分隔符。如:LOAD CSV WITH HEADERS FROM 'FILE:/sampledata.csv' AS applicant FIELDTERMINATOR";"
可以看到导入的速度还是很快的,2万条样本(2万个实体,4万个属性),大约3秒多一点。
2、导入JSON格式的数据
Neo4j 并没有内置直接导入Json的函数,不过在Neo3.3版本之后,推出了一个函数存储包APOC,里面包含了非常丰富的函数和存储过程,如各种图计算算法,是Cypher的有力补充,其中就包含了从Json中导入数据。安装APOC很简单,只需要三步:
- 从github中下载与Neo4j对应版本的APOCjar包
- 将jar包拷贝到neo4j安装目录的plugins目录下
- 在配置文件neo4j.conf中加入一行允许APOC导入文件:apoc.import.file.enabled=true
- 重启Neo4j即可
- 输入命令 return apoc.version() 可以查询已安装的apoc的版本
可以看到apoc支持很多格式的导入,包括json文件:
-