Hi TinkerPop,
I started porting gremlin-core and tinkergraph-gremlin from Java to JavaScript:
These two libraries are basically 1:1 ports of the Java codebase to JavaScript. They allow you to create/manipulate an in-memory graph database as well as execute traversals directly in Node.js/browser environments, without the need to set up a remote graph database.
This is great for playing around and experiment with graph databases in a lightweight environment (basically, most browsers). For example, GremlinDocs.com could ultimately offer a simple console and allow newcomers to try in-memory graph traversals without the need to setup a remote server.
gremlin-core-js also allows you to manipulate third-party graph libraries with the Gremlin API you’re already familiar with, providing a working adapter for that library exists. I’ve started developing such an adapter for the Sigma.js graph visualization library:
https://github.com/gulthor/gremlin-sigma.
All of this could also be coupled with D3.js. Developing an extra adapter should be fairly trivial for most of the work is done in gremlin-core-js.
For now, TinkerGraph code is pretty much fully ported to JavaScript. gremlin-core-js needs a lot more work : most basic steps are working and chain able (V, out, outV, outE, in, inV, inE, both, bothV, bothE, next, forEach), but the more advanced steps require a bit of work. Feel free to open issues, discuss or send send pull requests.
Was fun digging into the Java source code!
Cheers,
Jean-Baptiste