Check out this new RemoteGraph business for 3.2.0...
gremlin> graph = RemoteGraph.open('conf/remote-graph.properties')
==>remotegraph[DriverServerConnection-localhost/
127.0.0.1:8182 [graph=graph]]
gremlin> g = graph.traversal()
==>graphtraversalsource[remotegraph[DriverServerConnection-localhost/
127.0.0.1:8182 [graph=graph]], standard]
gremlin> g.V().valueMap(true)
==>[label:person, name:[marko], id:1, age:[29]]
==>[label:person, name:[vadas], id:2, age:[27]]
==>[label:software, name:[lop], id:3, lang:[java]]
==>[label:person, name:[josh], id:4, age:[32]]
==>[label:software, name:[ripple], id:5, lang:[java]]
==>[label:person, name:[peter], id:6, age:[35]]
So what's happening here? RemoteGraph is a lightweight proxy Graph implementation. Traversals generated from this Graph are automatically serialized and sent to a "remote" - in this case Gremlin Server - where it can be executed and results returned. With this model we say good-bye to doing long strings of gremlin embedded in our code and submitted through the driver and we can just write gremlin directly in the IDE.
* RemoteGraph is not a full Graph implementation. you use it to call graph.traversal() and that's about it
* It does not support lambdas as they are not serializable, but you likely shouldn't be using lambdas anyway in your gremlin so hopefully that's not too big a problem.
We have lots of room for improvement on this work, but this is a good functional beginning. Let the feedback begin.