Yay! The Graph Processing Infrastructure is starting to emerge!
in the last months, the Tinkerpop team has been starting to venture into the big task of starting a unified ecosystem for the world of graphs and related projects and products. Now, I am proud to say that it seems things are starting to get some traction and see increasing contributions from outside the core team, mainly the awesome Marko Rodriguez:
- The JUNG graph library got adapted to Gremlin
- HyperGraphDB is being adapted to work with Gremlin
- a REST API based on the awesome work of Jim Webber and the Neo4j team is in the making by Michael Hunger and Pavel Yaskevich
- mainly driven by Marko Rodriguez
- a library and standalone, single-user Java project, defining a
- number of data models – to start with the Property Graph Model (PGM) and the
- General Document Model (GDM) , soon to be broken out of the core Gremlin code.
- Adapters to different underlying graph implementations, from Neo4j to SAIL, integrating anything from Sesame to a live LinkedData SAIL
- Adapters to other interesting graph frameworks like JUNG, suggested by Seth@Automenta
- A Turing complete scripting language for querying, modification and transformation of PGM and GDM compliant data structures
- All selectors are XPath-based in syntax
- Pluggable external path elements and function implementation.
RESTling:
- Driven mainly by Michael Hunger and Pavel Yaskevich
- A REST interface using e.g. Jetty and Jersey as the frameworks
- Exposes Gremlin as a set of RESTful HTTP URI templates (e.g. https://localhost/restling/{
algo}/{param1}/{param2}) and operations (PUT, GET, DELETE, POST) - handles multi-session access to the Gremlin backend
- Driven mainly by Pavel Yaskevich via financing from Neo Technology
- A web based visual end-user interface to Restling
- A web based terminal supporting execution of Gremlin operations and logic
- Visualization support with graph libraries
- Multi-user support
- Via REST support to connect to remote Restling instances
- Driven mainly by Marko Rodriguez
- a execution framework primarily targeted at Bulk Synchronous Parallel graph algos
- A number of highly parallel base graph algos integrated into Gremlin to use this framework
- A communication framework for execution of gremlin tasks on different (partitioned or replicated) graph instances, firstly using LinkedProcess (financed by the LANL) and XMPP, but replaceable with e.g. an Erlang-implementation (kudos to Ingo Schramm for suggesting it) or RESTling- based communication for optimization of different aspects like inter-process communication during execution
All in all, I just wanted to express my excitement over the whole emerging community around Gremlin, Neo4j and graphs in general! It is thrilling to see that the easy use of graphs and the internet-scale processing of complex data structures is starting to take shape in an open world, getting the different views on graphy data onto one page and providing a broader audience the possibility to use graph structures in the real world.
/peter neubauer