[Neo] Gremlin Language ... and other language.
Marko A. Rodriguez
marko at lanl.gov
Sun Jan 10 05:04:24 CET 2010
> It works with neo4j and some other graphdb.
> I quickly checked the wiki page and shell functionality, but i am
> mostly interested by the java API part of Gremlin.
> Anyone played with it ? Does it make life easier ? :)
There are two main Java APIs in Gremlin:
1. using Gremlin through Java
2. getting a graph view of various data management systems
1. Using Gremlin through Java
There is currently no documentation on using Gremlin through Java -- all
the documentation is through the Gremlin console. This is my next step in
the documentation. However, if you have the patients to look at classes,
see GremlinEvaluator.java. Finally, all the commands you would issue
through the console can be issued through GremlinEvaluator.evaluate(String
2. Getting a Graph View of Various Data Management Systems
There is something in the Gremlin distribution called The General Graph
Model (GGM). You can learn about it here:
The model was created to create an abstraction layer between Gremlin and
the underlying data management system that Gremlin is manipulating (e.g.
Neo4j, SAIL RDF stores, MongoDB, etc.). The benefit of this is that as
long as you can implement the GGM for a data management system, then
Gremlin will work over it. However, just implementing interfaces is not
enough, you need to ensure that the semantics of implementation are
correct. To ensure this, GGM comes with a test suite to verify an
implementation. You can learn about that here:
In summary, GGM is trying to be to graphs what JDBC is to SQL databases
and SAIL is to RDF stores.
A future plan is to take GGM out of the Gremlin package and make it its
own distribution so that data management system developers will be
incentivized to provided a GGM implementation of their system. Thus, GGM
is generally useful beyond just Gremlin and make Gremlin generally
available for many data management systems.
Thanks for your time,
P.S. If you are interested in using Gremlin and wish to learn more and
participate, please join the Gremlin users group at
More information about the User