答案 0 :(得分:2)
应该说所有变异的操作都应该在事务中执行。变异操作就像创建或更新节点/关系,或者向索引添加内容。
如果您直接使用Java API(即不是REST API),则必须在事务中包装每个create或update方法。
这是一个创建和索引节点的示例,包含在事务中:
https://github.com/espeed/bulbs/blob/master/bulbs/neo4jserver/gremlin.groovy#L11
请注意,上面的代码是Neo4j Java API,但它正在Groovy脚本中使用。
您可以通过Neo4j Server Gremlin-Groovy插件执行Groovy脚本。这意味着您可以通过REST访问整个Neo4j Java API。
答案 1 :(得分:1)
我认为这是一个小错字,更好地读作该部分的标题:
在事务中包装变异操作
此处的操作意味着对修改模型的模型的任何访问(例如,在链接的示例中添加新节点或关系)。为了保持数据库的一致性,您可以在事务中包装这些修改操作,以便全部成功或不成功,避免使数据库处于不一致状态
答案 2 :(得分:1)
感谢您提出建议,更新了措辞,请参阅https://github.com/neo4j/community/commit/ba94448d495e6d9fec8877bd32bd5edf0936b621
这样更好吗?