自上周以来,无法在NEO4J上使用定期提交运行' [英] Unable to run 'USING PERIODIC COMMIT' since last week on NEO4J

查看:37
本文介绍了自上周以来,无法在NEO4J上使用定期提交运行'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我上周在我的Mac上下载了NEO4J桌面版。(版本1.2.4)

Neo4j浏览器版本:4.0.3

Neo4j服务器版本:3.5.14(企业版)

上周我使用USING PERIODIC COMMIT命令加载CSV,如下所示,这很好地建立了我的关系。但是,从几天前开始,我尝试执行完全相同的命令,但现在收到错误信息,显示为Executing queries that use periodic commit in an open transaction is not possible.。请谁给我解释一下出了什么问题?

查询:

USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM
"file:/Volumes/Twitter_Dataset/tweets.csv" AS csvLine
MATCH (tweet:Tweet {tweetID: csvLine.tweetID})
MATCH (user:User {username: csvLine.username})
MERGE (user)-[:POSTS]->(tweet);

推荐答案

简短答案:

使用定期提交查询前缀:auto

此处推送更改是为了提供更多上下文,因此错误消息现在包含一个链接,其中包含有关正在发生的情况的详细信息以及上面的:auto解决方法。

最终答案:

这与Neo4j浏览器最近的一项功能改进有关,该功能对使用定期提交操作有副作用,但有一种方法可以解决此问题,并且已经推送了浏览器更新以提供更多上下文和明确的解决方法。

最新一轮Neo4j浏览器更新包括this change,它使用事务功能代替自动提交的事务,通过浏览器提供查询自动重试能力,以及在遇到因果群集时更好地应对成员更改的能力。

问题是需要在自动提交的事务中运行使用定期提交。这需要一种方法来切换我们是否使用自动提交的事务。

您说您使用的是浏览器版本4.0.3。我相信这是昨天发布的,其中包括changes providing details关于正在发生的事情以及如何让它正常工作的内容。遇到该错误时,您现在应该在:auto命令上看到一个带有信息的链接,其中提到了自动提交事务。点击该链接应该会显示一张信息卡,上面写着:

:auto命令将在自动提交事务中发送其后的Cypher查询。通常,不建议这样做,因为缺乏对群集中的引线交换机错误自动重试的支持。 但是,有些查询类型确实需要在自动提交事务中发送,使用定期提交是最值得注意的一种。

卡片上提供了一个示例,用于在使用定期提交查询前添加:auto前缀,使其在自动提交事务中执行。

这篇关于自上周以来,无法在NEO4J上使用定期提交运行'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆