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

Reply via email to