Closed davebshow closed 9 years ago
This is awesome! Promising first steps :dancer: I was thinking that the best way might be by creating a new remote branch tinkergraph
, so when all the work is done we can safely merge. WDYT?
SGTM. Thanks Javi, I'm pretty stoked on the project. Titan is looking like it's gonna be pretty sweet :fire:
Will I need to submit a new PR to the new target branch then?
I could manually merge to the branch, but it's possibly easier if you could just cancel this PR and do it again on the new branch.
Will do. Maybe we should call the branch tp3
or tinkerpop
, and we can merge when we get tested Titan support, or just create a special docker for the Titan installation...
Alright. Branch created :+1:
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 onrequests
. 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
andtinkergraph.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:
reports
,queries
, andanalytics
(no dump implmented).tinkergraph.GraphDatabase
currently inherits fromblueprints.GraphDatabase
and therefore relies on the oldpyblueprints
API. In the future this will be upgraded to a more modern, lower level API.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.
Thanks @versae de antemano!