1

我是 gremlin 的新手,我正在尝试使用 python 库 gremlinpython 连接到 Janus Graph,并且需要知道是否可以回滚事务。

我发现单次遍历等同于单次事务(tinkerPop docs),遍历是在连接到 gremlin 服务器后创建的: g = traversal().withRemote(...) 并且所有带有 g 的操作都在一个事务中执行。

但是我找不到如果任何操作发生错误会发生什么。是否可以回滚使用 g 进行的所有操作?gremlin 服务器允许做 smth likeg.tx().rollback()g.tx().commit()- 回滚或批准事务,但是否可以使用 gremlinpython 来做到这一点?

4

1 回答 1

3

如果发生错误,Gremlin Server 将自动为您回滚事务。如果成功,它将自动为您提交。“回滚”或“提交”的语义依赖于图数据库(即,即使面对回滚,某些图也可能提交部分事务)并且在 JanusGraph 的情况下将进一步依赖于底层存储引擎(例如 Cassandra、Hbase、 ETC)。

于 2020-06-10T13:08:37.047 回答