csv文件导入Neo4j(包括结点和关系的导入)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/quiet_girl/article/details/71155442

首先,Neo4j打开的目录地址(即数据库data存放的地址)如下图:


在此目录下创建一个import文件,文件夹里面存放需要载入的csv文件,因为Neo4j默认是从打开地址目录(F:\Eclipse_AF\Neo4jTest\neo4j_data)下的import中读出,所以需要在此目录下创建csv文件,否则在Neo4j中执行载入命令会出现找不到文件的情况。(person_Format.csv和PersonRel_Format.csv目录:F:\Eclipse_AF\Neo4jTest\neo4j_data\import)


一、csv结点文件的载入

下面是person_Format.csv(文件名)文件中的内容,主要字段包括id,name和age,下面的5行分别对应5个人的信息(注意逗号是英文格式下的逗号,否则读不出)。


在Neo4j的命令行处输入下列命令:

LOAD CSV WITH HEADERS  FROM "file:///person_Format.csv" AS line
MERGE (p:person{id:line.id,name:line.name,age:line.age})

WITH HEADERS表明csv文件的第一行是属性名。

执行语句,会出现下面的提示信息:


提示信息说明已经加入了5个结点标签,标明载入成功,为了验证是否载入了person_Format.csv文件中的信息,我们使用下面的语句来验证:

start n = node(*)
return n

执行语句,出现下面的结果:


结果表明,person_Format.csv文件中的数据载入成功。


二、csv关系文件的载入

下面是PersonRel_Format.csv(文件名)文件中的内容,主要字段包括from_id,property1,property2和to_id四个字段,下面的3行分别对应3个关系的信息(注意逗号是英文格式下的逗号,否则读不出)。


在neo4j的命令行处执行下列语句:

LOAD CSV WITH HEADERS FROM "file:///PersonRel_Format.csv" AS line
match (from:person{id:line.from_id}),(to:person{id:line.to_id})
merge (from)-[r:rel{property1:line.property1,property2:line.property2}]->(to)
WITH HEADERS表明csv文件的第一行是属性名。

执行会出现下图内容:

表明添加关系成功。

为了验证关系是否正确,输入下面的查询语句:

start n = node(*)
return n

出现下图结果:


表明关系已经创建成功(注:在创建关系这一环节,用到了创建结点的内容,即第一部分的内容)


至此,结点csv文件和关系csv文件导入已经ok了。


存在待解决的问题:

在结点和关系csv文件中,这几条数据必须是每一个属性值都有,不能出现某一记录不存在某些属性值的情况,否则在载入的时候会出现空指针异常,若把没有属性的属性值用空格表示,则在载入时不会报错,只是属性值会置为空。



展开阅读全文

没有更多推荐了,返回首页