Neo4j批量导入大量csv数据

背景:本人在建立知识图谱的过程中需要导入23w条节点之间的关系,把csv放到import下之后就开始导入,导了一晚上没导完。


Neo4j的操作是一次性的

提示:Neo4j运行一行命令,如果中途停止,那么命令就一点也不执行:
所以本人在无法忍受这种等待的过程中一次又一次地重复导入csv的命令,所以就一直在等待。

一、找到解决方法

这是neo4j官方文档的解决方法,链接如下,但是貌似这个方法已经停用了
neo4j文档
在这里插入图片描述
但是笔者在实践时就出了问题了,报了如下的错误
A query with ‘PERIODIC COMMIT’ can only be executed in an implicit transaction, but tried to execute in an explicit transaction.

二、找到新的解决方法

报错信息下面有一行小小的提示
在这里插入图片描述
于是跟随提示找到了批量导入csv数据的方法

:auto LOAD CSV FROM 'file:///artists.csv' AS line
CALL {
  WITH line
  CREATE (:Artist {name: line[1], year: toInteger(line[2])})
} IN TRANSACTIONS

通过这个方法导入数据时需要注意一点
只能通过下标访问每行的元素
上述语句默认是每次导入1000条csv信息,设置导入条数的话,可以通过加上“OF 2 ROWS”,每次导入2条关系

:auto LOAD CSV FROM 'file:///artists.csv' AS line
CALL {
  WITH line
  CREATE (:Artist {name: line[1], year: toInteger(line[2])})
} IN TRANSACTIONS of 2 rows

那么在左侧的栏目里面就可以看到我们的数据进入到数据库啦
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值