Is there a way to run a gremlin server so that the drop command is prevented? I never actually drop any edges or vertex's so I'd like the added assurance that it can't be done by mistake
You could have some luck developing your own TraversalStrategy and intercept the behavior of the .drop()
step, preventing it to actually delete data. However, people could still be able to bypass the Gremlin/TinkerPop API and directly manipulate the graph
instance and remove graph elements (Vertex
, Edge
and Property
).
Depending on your use case, you might just want to disable any mutation to the graph, and not just the removal of elements:
storage-read.only
option which makes the Titan storage backend read only. See Titan v1.0.0 documentation, Ch. 12 - Configuration reference, 12.3.23. storage.ReadOnlyStrategy
Traversal strategy. See TinkerPop v3.0.1 documentation on ReadOnlyStrategy.