Neo4j批量导入大量csv数据
Posted weixin_43342297
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
那么在左侧的栏目里面就可以看到我们的数据进入到数据库啦
PHP 批量导入csv到drupal数据库
以上是关于Neo4j批量导入大量csv数据的主要内容,如果未能解决你的问题,请参考以下文章