自上周以来,无法在NEO4J上使用定期提交运行'; [英] Unable to run 'USING PERIODIC COMMIT' since last week on NEO4J
本文介绍了自上周以来,无法在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屋!
查看全文