CulturePlex / Sylva

A Relaxed Schema Graph Database Management System
sylvadb.com
Other
53 stars 9 forks source link

Adding basic support for the Tinkergraph in-memory graph database engine #32

Closed davebshow closed 9 years ago

davebshow commented 9 years ago

This is the same as #31, but targeting the tinkerpop branch.

This PR adds support for Tinkergraph, an in-memory reference implementation of a Tinkerpop3 enabled graph database system. This IS NOT meant to be a standalone backend for SylvaDB, instead it is a building block towards adding support for the new Titan when released, and will facilitate the use of any graphdb that uses the Gremlin Server for communication.

For connectivity it uses gremlinrestclient, a simple client based on requests. This client is pretty alpha, but it has a fairly comprehensive test suite.

This PR makes almost no changes to the existing code base. It adds a tinkergraph.GraphDatabase and tinkergraph.Q class to the existing implementations. These classes will be inherited from (and inevitably refactored) when adding support for Titan.

A few things to note:

In the near future, I plan to submit pull requests adding support for Titan, and Titan with Hadoop/Spark/Giraph graph analytics enabled. The Titan backend will eventually support all current SylvaDB apps.