Google Groups

TinkerPop3 RFClease -- The Rise of Gremlitron


Marko A. Rodriguez Jun 3, 2014 10:18 AM
Posted in group: Gremlin-users
Hello,

TinkerPop3's SNAPSHOT release is now ready for review, comments, and brave souls wishing to do implementations.


There are lots of new things about TinkerPop3 and I would like to take the time to review some of the best parts here:

1. Blueprints, Frames, Pipes, Furnace, and Rexster are no longer terms…
- Blueprints => Gremlin Structure
- Blueprints/Pipes => Gremlin Process
- Frames => Gremlin DSLs
- Furnace => Gremlin OLAP (GraphComputer)
- Rexster => Gremlin Server
2. A revamped OLTP API
- Simpler methods with a more fluent, terse feel.
- No schema description requirements (e.g. index creation).
- Better transaction handling.
- Better "wrappers" support (now called graph strategies).
- Better "hidden properties" integration.
- Properties as Java objects with Optional semantics.
- Better operational semantics test suite.
3. A brand new OLAP API
- Support for message passing systems like Giraph, Hama, Faunus, etc.
- A "vertex program" API for writing global graph algorithms.
- Support for Gremlin traversals in an OLAP environment (ala Faunus).
4. A revamp of the I/O utilities
- Support for edge-list based GraphML
- Support for adjacency-list based GremlinKryo
- Support for both edge-list and adjacency-list based GraphSON
5. A reengineered Gremlin language
- Java8 lambdas make Gremlin-Groovy only necessary for REPL interaction.
- A more sophisticated traverser model that is must smarted about state.
- Support for V() and E() right off the main Graph interface.
- Support for outE(), out(), etc. right off the main Vertex interface.
- TraversalVertexProgram for Gremlin over OLAP implementations.
- Support for SPARQL-esque pattern matching via the match()-step.
- Support for subgraph extraction native to Gremlin
- Introspection based optimizers called "traversal strategies" that allow vendors to write custom "micro-compilers"
6. A completely new server model
- Enables remote execution of Gremlin scripts via websocket-based API
- Extensible architecture for customizing serialization formats, commands, etc.
- Plug-in server-side functions to expose domain specific languages to remote clients
7. No longer will TinkerPop host implementations -- except the following:
- TinkerGraph (reference implementation of an OLTP/OLAP implementation)
- Giraph (an OLAP implementation)
- Neo4j (an OLTP implementation)
8. No more GitHub wikidocs. All documentation is via asciidoc and very easy to deploy from Maven.

Please look over the new documentation and take TP3 for a test drive. Once you have Java8 and Maven3 on your system, simply:

$ mvn clean install 
$ bin/gremlin.sh

You will be in the new Groovy 2.x console and able to do the do.

We have the issue tracker open and will be taking feature requests and bug reports at this time.

Once everyone is comfortable with the APIs, we will start to fully stub out the rest of the Gremlin language and start writing OLAP graph algorithms (beyond the single PageRank example we have now). Finally, everything will be in the SonaType SNAPSHOT repo so you can <depedency/> on that.

Enjoy everyone… Gremlitron salutes you,
Marko.