Syncleus / Ferma

An ORM / OGM for the TinkerPop graph stack.

Home Page:http://syncleus.com/Ferma

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Any plans to integrate with Spring Data and support Datastax DSE Graph?

zifnab87 opened this issue · comments

I am curious if it would be possible to have a Spring Data integration of all the Gremlin graph databases - something like: https://github.com/gjrwebber/spring-data-gremlin but using Tinkerpop 3+. I was expecting a less verbose annotation style without the need to create new classes (framed vertices/edges) like it is done with neo4j ogm: https://github.com/neo4j/neo4j-ogm. It would be nice if spring-data-gremlin is merged in spring projects like neo4j one: https://github.com/spring-projects/spring-data-neo4j

I am also curious if Datastax DSE Graph could be supported out of the box from Ferma.

Thanks!

No "plans" but I would be happy to merge any solutions in this regard. So it would be a welcome addition as well. Is tinkerpop able to suppore Datastax DSE graph directly?

at least for my project I am using pure gremlin syntax to query and do mutations. The problem is actually the way they implicitly decide when to commit a transaction. Using a single statement in their fluent gremlin api it is a single transaction. Using their string based gremlin api you can have a multiple statement transaction. They haven't implemented the explicit tinkerpop methods for starting a transaction and committing/rollbacking. So this is the problem right now.. I assume the focus should be JanusGraph now. Btw I am trying to revive this project https://github.com/zifnab87/spring-data-gremlin/tree/feature/TP3_support I forked. it is already integrated with spring-data and has all the annotations from core, jpa and neo4j.. it is just that it was for TP2 and TP3 migration was half-done. it is based on the also possibly outdated https://github.com/orientechnologies/spring-data-orientdb

@zifnab87 Correct me if im wrong but that sounds like a limitation that Ferma could not actually get around. If it doesnt provide the means to do something Ferma can't do it either.

Yeah you are correct although their fluent api is work in progress so hopefully when they finish their transaction implementation they can be integrated

https://datastax-oss.atlassian.net/browse/JAVA-1250
https://datastax-oss.atlassian.net/browse/JAVA-1311

@zifnab87 Most likely once they complete their API someone (maybe me) will write a tinkerpop driver for it. At that point Ferma will work with it out of the box without needing any modifications to Ferma itself.

Is there an implementation for DSE Graph? Or is anyone aware of a JPA implementation for DSE Graph?

@mullekay tinkerpop appears to support it therefore Ferma should support it. With that said I havent met anyone using it with Ferma. We also are happy to accept extensions for specific databases if there is a use for that (such as exposing database specific features).

https://academy.datastax.com/resources/getting-started-tinkerpop-and-gremlin