构建Neo4J图数据库(二)将csv数据导入Neo4J

2019-08-11  本文已影响0人  菜菜鑫

Neo4J在Ubuntu下的安装比较简单,不在此赘述,具体请参考:

https://blog.csdn.net/qq_27009517/article/details/80067115

我们首先尝试在可视化界面的命令行导入csv文件
利用之前从mysql中导出的csv文件,我们尝试将csv数据导入Neo4J图数据库.
地区.csv:

id,paramchname,paramcode
100000,全国,001

机构.csv:

id,companyname,companysname,companytypecode,companytypename,regaddress,officeaddress,orgform,founddate
10324824,华夏银行股份有限公司武汉硚口支行,华夏银行武汉硚口支行,01,银行,,,,
10324851,国家开发银行股份有限公司贵州省分行,国家开发银行贵州省分行,01,银行,,,,

机构-地区.csv:

startid,endid
10324820,110000
10324831,330000

从命令行导入的方式一般采用LOAD CSV的Cypher语句
首先将需要导入的文件放到neo4j***/import文件夹下
如果想从任意路径导入csv文件
需要将配置文件neo4j.conf中的

dbms.directories.import=import#注释掉

改为

# dbms.directories.import=import

之后指定导入文件的绝对路径

而对于具有标题行和没有标题行分别有两种方式,可以自行选择:

没有标题行的csv导入实体:

LOAD CSV FROM 'file:///地区.csv' AS line CREATE (:地区 { id: line[0], paramchname: line[1], paramcode: line[2] })
对于机构.csv同理

没有标题行的csv导入关系:

LOAD CSV FROM 'file:///机构-地区.csv' AS line MATCH (m:机构), (g:地区) WHERE m.id= line[0] AND g.id= line[1] CREATE (m) - [r:所属地区] -> (g) RETURN r

对于有标题行的csv导入实体

LOAD CSV WITH HEADERS FROM 'file:///地区.csv' AS line CREATE (:地区 { id: line.id, paramchname: line.paramchname, paramcode: line.paramcode })
对于机构.csv同理

对于有标题行的csv导入关系

LOAD CSV WITH HEADERS FROM 'file:///机构-地区.csv' AS line MATCH (m:机构), (g:地区) WHERE m.id= line.startid AND g.id= line.endid CREATE (m) - [r:所属地区] -> (g) RETURN r

导入成功,bin文件夹下./neo4j console启动服务器
访问http://localhost:7474/即可看到数据已经成功导入了

\color{red}{(涉及公司机密,完整代码和数据无法提供,请见谅,转载请注明来源)}

上一篇下一篇

猜你喜欢

热点阅读