Hi all, Now, if you need to use transactions in tinkerpop, the only solution is to use the Neo4J plugin. Unfortunately, this plugin has not been updated for a long time and is only compatible with Neo4J version 3.4, which reached end of life in March, 2020.
I propose to implement native transaction support in TinkerGraph. The most interesting question to discuss is the level of isolation in SQL 92 terms. There are 5 options to choose from: `Read uncommitted`, `Read committed`, `Repeatable read`, `Snapshot` and `Serializable`. In terms of balancing complexity of implementation and functionality, I think the most optimal option is `Read committed` or `Repeatable read`. I hope to implement `Read committed`, it is enough to add versions to the Vertices and Edges, add list of updated Elements in Graph. Write lock can be Vertex-level and Edge-level. Regards, Valentyn