Redisgraph: Support for TinkerPop/Gremlin

Created on 3 Dec 2018  路  14Comments  路  Source: RedisGraph/RedisGraph

Hi @RedisLabsModules team, do you have any plans for implementing Gremlin as a query language? I think there is a huge demand for this in the graph community, and it opens up the possibility for us (@graknlabs) to have RedisGraph as a back-end. :)

new feature

Most helpful comment

hi @haikalpribadi This is on our roadmap for our next major release. You can follow it here https://github.com/RedisLabsModules/RedisGraph/projects/1 under the note "Support the Tinkerpop api".

All 14 comments

hi @haikalpribadi This is on our roadmap for our next major release. You can follow it here https://github.com/RedisLabsModules/RedisGraph/projects/1 under the note "Support the Tinkerpop api".

That's amazing news @K-Jo! Will you also implement the OLAP (GraphComputer) engine of TinkerPop? :)

http://tinkerpop.apache.org/
tracking it this issue in our board now. We'll update here what will be supported.

Thanks, @K-Jo ! Looking forward to learning the details!

Is there any plan for this still ? Any way to get involved ? I would love to help in some capacity as I've really enjoyed using Tinkerpop/Gremlin.

Hi @arjology,
Sure, the desire to support Tinkerpop/Gremlin is still there, I've tried jump starting this project twice and failed, mostly due to miss-understanding of how to go about implementing Tinkerpop in a performant matter, if you like to get involved please contact me directly, roi at redislabs dot com
Thank you!

Do you know when the Redis Graph2.0 is planned to release and if it includes Gremlin Interface?

Hi @osmanscam,

The RedisGraph 2.0 release date is not finalized, but we expect it to be within the next 2-3 months. It will not include Tinkerpop/Gremlin support, however!

We're still very interested in adding this interface, but the complexity of accomplishing it without making unacceptable performance sacrifices has caused it to be deferred repeatedly.

When we've drafted an implementation design and begun work in earnest, we'll update on this issue!

Hi @swilly22

I sent you a reply, apologies for the delay

I suppose the news about a GQL standards initiative will dampen any motivation for Tinkerpop at this point?

https://neo4j.com/press-releases/query-language-graph-databases-international-standard/?

@arjology, GQL is not the reason why Tinkerpop doesn't get priority, I still believe supporting Tinkerpop will be a great addition, my only issue with it is how deeply it relies on Java, I've tried twice to jump start this effort and gave up, from the docs it is unclear to me how to go about this without using Java.

Hi @swilly22;

I agree that this would be great addition.

you may use java to only extend struct package, (Vertex, Edge, Graph), and that java package of yours can call or be called by RedisGraph C apis via JNI bindings. Once you extend structure package then gremlin graph query can be executed against RedisGraph. (core package of tinkerpop will use these objects under struct package for traversal), then you may add strategies for optimizations.

RocksDBJNI can be used as an example https://github.com/facebook/rocksdb/blob/master/java/src/main/java/org/rocksdb/BloomFilter.java

Tinkerpop Structure package implementation examples;
https://github.com/apache/tinkerpop/tree/master/neo4j-gremlin/src/main/java/org/apache/tinkerpop/gremlin/neo4j/structure

https://github.com/apache/tinkerpop/tree/master/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/structure

+1 this is a great summary. It's best to think of tinkerpop as a client layer that simply enables gremlin graph traversals. Most implementations are based on adjacency lists, so some novel work would be needed for RedisGraph as far as the optimization strategies in order to make use of the adjacency matrix to prevent unnecessary roundtrips and maybe some index optimizations as well.

Tinkerpop 4 will be a total rewrite from the ground up, and will be storage/backend agnostic. That could facilitate implementation on top of redisgraph

http://tinkerpop.apache.org/docs/3.4.2/dev/future/

Any additional updates here on support for TinkerPop/Gremlin API?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sidenAlex picture sidenAlex  路  3Comments

Sceat picture Sceat  路  5Comments

dandago picture dandago  路  3Comments

swilly22 picture swilly22  路  8Comments

mdazartash picture mdazartash  路  3Comments