我正在使用neo4j HTTP API将数据导入neo4j。我知道根据this文档超时期限可以通过设置 dbms.rest.transaction.idle_timeout 属性来全局设置。 但是,在开始事务时,我们可以动态地为事务设置超时。请参阅开始交易API。
答案 0 :(得分:2)
创建事务时无法动态设置超时。
但是,您可以动态扩展活动事务的全局超时期限,方法是使用它向服务器发送一个空的语句列表,这将在超时期限内重新启动时钟。 See here用于文档。
答案 1 :(得分:0)
实际上,您可以使用APOC extension的apoc.cypher.runTimeboxed
方法来实现。检查此链接https://neo4j.com/labs/apoc/4.1/cypher-execution/cypher-timeboxed/
您可以下载JAR file for the APOC库。然后,您应该将JAR文件放在/plugins
文件夹下,然后重新启动neo4j数据库。
对于使用HTTP执行的每个密码查询,您都可以使用“时间框”表达式将其包装起来。检查以下代码。
const cql = "MATCH (n)-[e]-() RETURN n,e limit 10";
const timeout = 10000;
const q = `CALL apoc.cypher.runTimeboxed("${cql}", {}, ${timeout})`;