The gremlin documentation says:
Many graph vendors do not allow the user to specify an element ID and in such cases, an exception is thrown.
I assume this refers to only specifying an ID when creating a new vertex or edge, not to the overall use of IDs in queries. So which gremlin implementations do, and which do not allow specifying and ID along with vertex or edge creation?
It's easier to specify the graph databases that do allow id assignment rather than those that don't as most graph databases do not allow you to specify the id when you create a vertex/edge.
I'm only aware of two that allow you to specify the id: TinkerGraph and elastic-gremlin. The rest do not support that.
You can always check what a graph supports by calling the features()
method on the Graph
instance:
http://tinkerpop.incubator.apache.org/docs/3.0.1-incubating/#_features