我正在对单个 memgraph 实例执行混合查询(读取/写入/更新/删除)。为此,我使用 Neo4j 的 Java 客户端,我当前使用的所有 API 都是来自驱动程序的同步 API。
在我的情况下,查询的性质是我可以同时执行它们而没有副作用。为了获得更好的性能,我将并行触发查询。我得到的错误是针对CREATE
我在两个节点之间创建边缘的操作。这是一致的,因为我尝试多次运行相同的设置并且每次,所有查询都会通过,除非它在这个创建边缘阶段崩溃。
查询参考:
OPTIONAL MATCH (node1) WHERE id(node1) = $nodeId1
OPTIONAL MATCH (node2) WHERE id(node2) = $nodeId2
CREATE (node1)-[:KNOWS]-> (node2)
我无法找到有关任何此类错误的任何文档。请指点我这样的一些文档或任何解决方法,如果其他查询正在操作相同的对象,我可以使用这些解决方法让 memgraph 暂停查询。
我正在考虑的一种方法是对任何此类失败的查询实施重试,但我正在寻找一种更清洁的方法。
PS 我之前在 Neo4j 上运行相同的设置并没有遇到任何问题。