What the heck is Gremlin? Why is it named Gremlin?¶
Gremin is the graph traversal language of Apache TinkerPop. Why not Gremlin?
The docs linked from Gremin are a good start. For example, the Getting Started and the PRACTICAL GREMLIN book
How to target a new Gremlin backend¶
This is not an exhaustive list, but some issues we’ve found along the way:
- Are there restricted property names? For example JanusGraph does not allow a property named
key, so the base Gremlin proxy has a property named
key_property_name which is set to
for JanusGraph but
key for others.
- Is there database management required? For example AWS Neptune does now allow explicit creation
of indexes, nor assigning data types to properties, but JanusGraph does and practically requires
the creation of indexes.
- Are there restrictions on the methods? For example, JanusGraph accepts any of the Java or Groovy
names, but Neptune accepts a strict subset. JanusGraph can install any script engine, e.g. to
allow Python lambdas but Neptune only allows Groovy lambdas.
Other differences between Janusgraph and Neptune can be found here: https://docs.aws.amazon.com/neptune/latest/userguide/access-graph-gremlin-differences.html