微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过neo4j中的bolt端口定期提交java驱动程序

如何解决通过neo4j中的bolt端口定期提交java驱动程序

我正在使用 neo4j-java-driver(bolt 端口)将我的 java 应用程序与 neo4j DB 连接起来。我想运行一个加载 CSV 查询,该查询应该以 500 个为一组运行,所以我想使用定期提交。所以首先,我使用了:

USING PERIODIC COMMIT 500 ...

在这种情况下,我得到了错误

Caused by: org.neo4j.driver.exceptions.ClientException: Executing queries that use periodic commit in an open transaction is not possible.

在这里找到了一些关于它的答案,说我应该在查询添加 :auto,所以我这样做并得到了这个错误

Caused by: org.neo4j.driver.exceptions.ClientException: Invalid input ':': expected <init> (line 1,column 1 (offset: 0))
:auto USING PERIODIC COMMIT 500
 ^

解决方法

https://neo4j.com/docs/driver-manual/1.7/sessions-transactions/

在这种情况下,我们需要使用自动提交事务。正如文件所说:

自动提交事务是执行 USING PERIODIC COMMIT Cypher 语句的唯一方法。

示例:

...this.state
,

在 python 中工作时面临同样的问题。您可以根据需要使用apoc

apoc.periodic.iterate('statement returning items','statement per item',{batchSize:1000,iterateList:true,parallel:false,params:{},concurrency:50,retries:0})

apoc.periodic.commit(statement,params)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。