For a friendly introduction to Spring Data Graph we’re hosting a free webinar with VMware and presented by Neo Technology’s CEO Emil Eifrem on April 20 at two convenient times for the Americas and Europe. [Update: Webinar video available on Youtube.]

Now that Spring is in the air, the Neo4j and Spring Data teams are happy that almost a year’s worth of work has produced our 1.0 version of the Spring Data Graph library. The Spring Data project aims to bring the convenient programming model of the Spring Framework to NOSQL databases. Spring Data Graph supports graph databases within Spring Data and builds in support for Neo4j as its first supported implementation.

The best way of getting to know Spring Data Graph is by using it, so we’d like to encourage you to read our Spring Data Graph Guide Book, check out the examples and sources on github and tell us what you think.

Spring Data Graph provides simple and convenient access to graph databases from any Spring application. Originally, Spring Data Graph was the brainchild of SpringSource CEO Rod Johnson and Neo Technology CEO Emil Eifrem. Together Rod and Emil refined the design philosophy, and some foundation technologies like AspectJ (used to transparently map POJOs to an underlying graph).

Spring Data Graph debuted publicly at a presentation at JAOO Aarhus 2010, when Rod invited Michael Hunger of Neo Technology to demonstrate cross-store persistence as part of his SpringSource presentation. Later in October there were several sessions at the SpringOne conference that discussed different aspects of the Spring Data and Spring Data Graph projects.

Throughout the past year, we’ve taken regular feedback from our community and have responded with frequent iterative releases, each release improving and extending the scope and functionality of the library. In all, we’ve built support for detached entities, in-graph type representation strategies, repository support and a Neo4jTemplate implementation. We’ve also developed preliminary support for Spring Roo as an add-on.

Here is an overview of Spring Data Graph features:
  • Support for property graphs (nodes connected via relationships, each with arbitrary properties)
  • Transparent mapping of annotated POJO entities
  • Neo4jTemplate with convenient API, exception translation and optional transaction management
  • Different type representation strategies for keeping type information in the graph
  • Dynamic type projections (duck typing)
  • Spring Data Commons Repositories Support
  • Cross-store support for partial JPA – Graph Entities
  • Neo4j Traversal support on dynamic fields and via repository methods
  • Neo4j Indexing support (including full-text and numeric range queries)
  • Support for JSR-303 (Bean Validation)
  • Support for the Neo4j Server
  • Support for running as extensions in the Neo4j Server
We’re very pleased with our Spring Data Graph Guide Book “Good Relationships” that comes as a Duplex Book with a narrative tutorial and a reference , with forewords by both Rod and Emil.

Another highlight is the social movie database which is part of an extensive tutorial in building real-world systems with Spring and Spring Data Graph. The application runs on Spring Framework, Spring Data Graph and the Neo4j Graph Database, and uses movie data from the free and open

Our community has also been busy building productive and interesting systems atop Spring Data Graph. For example Spring Data Graph has been used for a large and sophisticated energy market simulation at the Technical University of Delft.

Spring Data Graph is released under the Apache Software License. Its source code is hosted on github. Several examples can also be found there. Issue tracker and forums are provided at You can follow @SpringData and @Neo4j on twitter and also subscribe to the Neo4j mailing list for more information.

Thanks to all the people that supported the development of Spring Data Graph with their experience, skills and time!

Want to learn more about graph databases? Click below to get your free copy of O’Reilly’s Graph Databases ebook and discover how to use graph technologies for your application today.

Download My Ebook



Anonymous says:

I wonder how the licence works out for a closed source non-web project when using Spring Data Graph and neo4j as backend.<br />Is it really like MySQL where I can sell/distribute my software without neo4j and do not have to buy a commercial licence?

Mark Pollack says:

I presume you haven&#39;t seen the recent change in the license here..

Sandeep says:

Thanks for this great article<br /><a href="; rel="nofollow">Extreme Java</a>

Anonymous says:

Thanks, mark. I Read it but it is still unclear to me if Spring datagraph and neo4j usage is Concidered as &quot;Embedded&quot; As Stated in <br /><br />Gould Be Great if it could be cleared up.

It depends if you actually physicall _ship_ a product/software to customers. Only then the GPL applies, in all the other cases – hosted webapp, internal use, development, open source – Neo4j is free to use.<br /><br />Michael

garpinc-aim says:

What if you want to write your own integration with a different quad store. It seems like the spring integration all the way up to the top level of in spring-data-neo4j-aspects is tied to neo4j.<br /><br />I assume that&#39;s why name was changed from Spring Data Graph.<br /><br />That&#39;s not the normal spring way of doing

garpinc says:

Perhaps integration layer should be based of Rdf2Go<br /><br />Then neo4j can maintain their own RDF2Go adapter.

Leave a Reply

Your email address will not be published. Required fields are marked *