Hi,
TINKERPOP-1278 represents the evolution of Gremlin in that Gremlin can be
(easily) embedded in any host language and can be (easily) compiled in said
host language to a standard Bytecode representation. That Bytecode can then be
shipped to a RemoteConnection-based server (e.g. GremlinServer) to be processed
and have results streamed back. That is, for instance, Python developers can
natively write Gremlin and get results back from a remote GremlinVM (e.g.
Apache TinkerPop’s Java-based Gremlin VM).
https://gist.github.com/okram/b95d4b37af625435620aa078b2746e8a
<https://gist.github.com/okram/b95d4b37af625435620aa078b2746e8a>
Here is what I believe we have left to accomplish on TINKERPOP-1278. I’ve added
people’s names next to the tasks based on who has been working in these areas.
If others are interested in helping out, please feel free to jump in
accordingly.
* Finalize GraphSON2.0 [Stephen, Robert, Kevin, Dylan]
* New RemoteConnection protocol (GraphSON2.0-based supporting Traversers
(bulking) and SideEffects) [Stephen]
- XXXServer agnostic -- GremlinServer, Neo4jServer, ArangoDBServer,
etc. implementable.
* GremlinScriptEngine infrastructure for testing. [Stephen]
* Write documentation on new RemoteConnection protocol (published
specification). [Stephen]
* Bytecode serialization specification in GraphSON2.0 [Marko]
- Gremlin-XXX agnostic (save lambdas) -- Gremlin-Java, Gremlin-Groovy,
Gremlin-Python.
* Implement new RemoteConnection protocol in Python. [Marko, Dave, Leifur]
* Refactor Gremlin-Python test infrastructure in Stephen's new
GremlinScriptEngine test framework. [Marko]
* Write documentation on Bytecode format (published specification). [Marko]
NOTE: If you are unsure what some of this means, please ask and I can describe
in more detail each of these items.
As you can see, TINKERPOP-1278 is heavily dependent on GraphSON2.0 being
defined and merged so that should take top priority. We have a nice thread
going on this and we should try and converge on it.
Finally. I was texting with Stephen and asking him about how long it would take
him to do X,Y,Z and it seems that together, we should shoot for August 20th to
have a PR for this work for review/VOTE and ultimate merge to master/.
Thoughts?,
Marko.
http://markorodriguez.com