构建Neo4J图数据库(二)将csv数据导入Neo4J
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/即可看到数据已经成功导入了