对于那些通过 .NET 使用 REST 的人来说,将多个事务作为一个 ACID 事务完成的最佳方法是什么?例如:
交易为 ONE:
- 删除一个节点
- 删除已删除节点的所有关系
- 删除通过关系链接到已删除节点的所有节点。
- 从所有索引中删除已删除的节点
如果 REST 无法做到这一点,我们能否获得一些替代建议以实现完全的 ACID 合规性?JAVA 是完成上述一组事务的唯一可能选择吗?
谢谢
对于那些通过 .NET 使用 REST 的人来说,将多个事务作为一个 ACID 事务完成的最佳方法是什么?例如:
交易为 ONE:
如果 REST 无法做到这一点,我们能否获得一些替代建议以实现完全的 ACID 合规性?JAVA 是完成上述一组事务的唯一可能选择吗?
谢谢
Neo4j 2.0 正在通过 REST 添加远程事务,但还不稳定。除此之外,据我所知,没有通过 REST 的事务支持。据我所知,目前只有 Java API 提供了任何类型的事务机制,可以满足您的需求。
Neo4j 的总体方向是远离 REST,转向改变 Cypher。每个单独的 Cypher 语句都已在事务中。在 Neo4j 2.0 中,您将能够使用远程事务(但仅限于 Cypher 调用)。
您调用的场景现在应该可以使用 Cypher 实现,让您一次调用即可完成它们。如果没有,您应该提出不是的特定场景,以便可以相应地扩展 Cypher。
通过 .NET(或 Java)将 Cypher 与 REST 结合使用。http://neo4j.com/docs/stable/rest-api-transactional.html
一个优点是您可以使查询更加数据驱动(通过将 Cypher 语句保留为模板文件)。