Neo4J Cypher中最长的请求是什么?

Neo4J Cypher中最长的请求是什么?,neo4j,cypher,Neo4j,Cypher,我在Node.Js和Neo4j 2.0.1上运行的应用程序中有一个很长的Cypher请求,这会立即创建大约16个节点和307个节点之间的关系。它大约有50公里长 大量的关系是由数据模型决定的,我可能想稍后更改,但是,如果我决定保持一切不变,有两个问题: 1我发送给Neo4J的每个密码请求的最大大小是多少 2处理过长请求的最佳策略是什么?将其拆分为较小的部分,然后在事务中进行批处理?我不想这样做,因为在这种情况下,我失去了合并和创建命令组合所产生的一致性。请求自动识别一些还不存在的节点,创建它们,

我在Node.Js和Neo4j 2.0.1上运行的应用程序中有一个很长的Cypher请求,这会立即创建大约16个节点和307个节点之间的关系。它大约有50公里长

大量的关系是由数据模型决定的,我可能想稍后更改,但是,如果我决定保持一切不变,有两个问题:

1我发送给Neo4J的每个密码请求的最大大小是多少

2处理过长请求的最佳策略是什么?将其拆分为较小的部分,然后在事务中进行批处理?我不想这样做,因为在这种情况下,我失去了合并和创建命令组合所产生的一致性。请求自动识别一些还不存在的节点,创建它们,然后我可以使用我已经通过合并获得的索引在它们之间建立关系


谢谢大家!

我通常建议

使用较小的语句,以便查询计划缓存可以立即启动并执行查询,而无需编译,为此,您还需要

参数,例如{context}或{user}

我认为最多10-15个元素的语句很容易处理


您仍然可以使用在单个tx中执行所有语句,这允许对语句及其参数进行批处理。

对于查询字符串大小,已经有了这样一个问题:根据这个答案,您的50k应该可以。@jjaderberg好的,谢谢,那么什么时候拆分它们才有意义呢?