您的位置:首页 > 其它

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

2017-05-03 21:41 246 查看
首先,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文件中,这几条数据必须是每一个属性值都有,不能出现某一记录不存在某些属性值的情况,否则在载入的时候会出现空指针异常,若把没有属性的属性值用空格表示,则在载入时不会报错,只是属性值会置为空。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: