TinkerPop doesn't do much to enforce locking/consistency. Basically, you need to consider the semantics of the underlying graph database to understand the expected consistency at the TinkerPop level.
This does create some problems if you are trying to write completely graph agnostic code. Rexster has had all kinds of problems over the years in relation to that, so I would assume that other applications have hit the same problems. I tried to to go down the path of generalizing "consistency" in TinkerPop3 and ended up in the same mess that we had with indices, where the disparity of operations in the underlying stores created few commonalities. We might yet see this capability in TinkerPop3, as graph vendors seemed interested in the concept, but it will not be a part of GA for sure.