Introducing Spring-Data-Gremlin

1,933 vistas
Ir al primer mensaje no leído

Graham Webber

no leída,
24 jul 2015, 12:47:38 p.m.24/7/2015
para Gremlin-users
Hi, I just pushed a Spring-Data-Gremlin module bringing Spring-Data and Gremlin together in all their glory. Please have a look and let me know if you think it is useful.

Cheers,
Graham

Features

  • All the great features of Spring Data
  • Support for OrientDB and TitanDB out of the box
  • Schema creation in supported databases
  • Support to build repositories based on Spring and JPA.
  • Pagination support
  • Unique, non-unique and spatial indices supported
  • Support for Gremlin query language
  • Support for native queries (Eg. OrientDB SQL)
  • JavaConfig based repository configuration by introducing @EnableGremlinRepositories
  • Mapped and composite query result objects

Stephen Mallette

no leída,
24 jul 2015, 1:04:48 p.m.24/7/2015
para Gremlin-users
Hi Graham - I'd already expressed some thanks for your contribution in some tweets we exchanged so i'll just say thanks for announcing your project here as well.  Please let us know how TP3 support comes along when you get into it.




--
You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/306eaf15-c0f6-4f9e-b112-25ab74569802%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

smai...@cogniance.com

no leída,
21 sept 2015, 1:08:35 p.m.21/9/2015
para Gremlin-users,gjrw...@gmail.com
How can I use it?
Can you provide some pom example?

Graham Webber

no leída,
22 sept 2015, 12:42:57 a.m.22/9/2015
para Gremlin-users
I have uploaded a snapshot build to sonatype which is now available for use. I also updated the getting started section on Github with some examples.

Thanks,
Graham

Luc Bartkowski

no leída,
25 nov 2015, 7:33:08 a.m.25/11/2015
para Gremlin-users
Hi Graham,

I am currently defining a software architecture for a SPA application based upon TitanDB and Cassandra.
Since I am not an experienced developer I was looking for opinionated Spring configurations and a generator for boilerplate code. I selected JHipster for this purpose.
JHipster is based upon Yeoman, Maven and Spring Boot. I was giving thought how to integrate Gremlin in this software stack to access and traverse my graph database since the official Spring Data sites doesn't mention a Gremlin module yet. But thanks to Google search I found your module. I will give it a try and hopefully it helps to accomplish my objectives.

Thanks for the work.

Greetings,
Luc

Op vrijdag 24 juli 2015 18:47:38 UTC+2 schreef Graham Webber:

Graham Webber

no leída,
26 nov 2015, 9:47:06 p.m.26/11/2015
para Gremlin-users
Hi Luc, great to hear. Feel free to fork the repository and send any merge requests you think would benefit.

Cheers,
Graham

--
You received this message because you are subscribed to a topic in the Google Groups "Gremlin-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/gremlin-users/SglMJFjdwAs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to gremlin-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/c09bb4d9-a968-48da-ba55-b5b4cc7fe4c6%40googlegroups.com.

nightrise

no leída,
28 nov 2015, 5:14:48 a.m.28/11/2015
para Gremlin-users
Hey Graham,

This looks pretty great. I'm not familiar with Spring Data, but is this designed to be an alternative to setting up models using Frames? Does the gremlin query functionality work similarly to the GremlinGroovy module for Frames?

I'm currently using Tinkerpop 2.6.0 with OrientDB, and this project seems like it could be a great fit. Would be wonderful to have some more info for relative newcomers like myself!

Luc Bartkowski

no leída,
18 dic 2015, 12:10:36 p.m.18/12/2015
para Gremlin-users
Hi Graham,

Could you elaborate about the vision behind the Spring-Data-Gremlin implementation?

The reason for my question is:
To my opinion the strength of a graph database is the possibility to link any type of vertex e.g. entity to any other type of vertex using any type of edge e.g. relationship.
My question is how to preserve the flexibility of a graph database using Spring-Data-Gremlin.

To give an example: suppose I want to implement an application that offers
  • a graph database with a richness equivalent to the graph database of Facebook with vertices such as users, employers, music bands, movies, etc. and edges such as friends, likes, worked_at, and studied_at.
  • the possibility to query this graph like Facebook is offering with their Facebook Graph Search functionality. Example: give me a list of all users that work at a employer and who like a music band and live in a specific country. But any other query should also be possible such as "give me a list of friends of people that work at an employer and studied_at the same college. Etc, etc, any possible query that one could think of. 
It appears to me that I if I would use Spring-Data-Gremlin I am forced to model my graph database, including all possible vertex and edge types in advanced and that I must define all possible queries that the application users could be using as collections. Without Spring Data and your Spring-Data-Gremlin implementation I guess I would be using GremlinPipeline like explained here. This latter approach might add complexity to my source code to access/crud/query my graph database but then I have maximum flexibility regarding the Gremlin query I want to compile and use.

How would you implement such application using Spring-Data-Gremlin?

Thanks and greetings,
Luc


Op vrijdag 27 november 2015 03:47:06 UTC+1 schreef Graham Webber:

Graham Webber

no leída,
24 dic 2015, 10:43:40 p.m.24/12/2015
para Gremlin-users
Hi Luc, the vision behind spring-data-gremlin is to bring all the benefits and features of spring-data to any database implementing Tinkerpop (Gremlin). If you want to know the vision and purpose of spring-data then there are plenty of resources out there to find out, so I wont go into too much detail there. 

Should you use spring-data-gremlin for your example application? Yes. It is a very flexible framework which does not lock you into anything:
- You can use a number of annotation libraries (JPA, Neo4j or the custom set)
- There are implementation for OrientDB and TitanDB
- The schema is created for you automatically if needed

Also, the framework will work along side any other data access solution. ie. You could use spring-data-gremlin for your standard set of data access features (CRUD, default data access), then build your super wizzbang graph search function next to it or on top of it. The majority of spring-data-gremlin is just annotating your existing model and adding the required configuration code. If you want to scrap it, just remove your annotations. Of course you will then have to code all the queries yourself :)

If you are after any other features or database implementations I could always use some help as this is just a pet project for now.

Cheers,
Graham


Nelson

no leída,
23 ago 2017, 11:13:50 p.m.23/8/2017
para Gremlin-users
Hi Graham, this looks awesome!  

Are there plans to write an updated Spring-Data-Gremlin module that is compatible with Tinkerpop 3.2.5?  Will we be able to use it with JanusGraph - the linux foundation fork of Titan? 

Nelson  

pr...@flux.io

no leída,
7 dic 2017, 5:55:11 p.m.7/12/2017
para Gremlin-users
Hi Graham - Is there an update to support JanusGraph with TinkerPop 3?.

Thanks,
Prem

akshayg...@gmail.com

no leída,
22 feb 2019, 12:45:00 p.m.22/2/2019
para Gremlin-users

Hi Graham,

Your contribution to Spring Data Gremlin is very useful.
We are using Gremlin our current project with Azure Cosmos DB.

I had one question, does Gremlin also support transitive persistence.
I mean , If there are 2 classes  Person and Car
Inside Person i have List<Car> with relationship as "OWNS"

then if i populate values in Person, and save it will it save   Person, OWNS and Car.
I had this question because currently that is not happening , we need to save Person, OWNS and Car separately.

Just wanted to understand, if this is an issue with Azure Cosmos, or are you looking at transitive persistence in Spring-data-gremlin in future

Asha Anandhi

no leída,
25 may 2020, 4:37:15 a.m.25/5/2020
para Gremlin-users
Hi Graham,

Is there any plan to include indexing for multiple properties?

Thanks,
Asha Sekar
Responder a todos
Responder al autor
Reenviar
0 mensajes nuevos