Spring Data and Neo4j

Spring Data and Neo4j

A serious obstacle for the adoption of alternative (‘nosql’) databases such as graph databases today is the limited support in middleware for multiple database backends.

In the Neo4j team, we’ve seen this over and over with community members and customers: while few developers LOVE relational databases, the support in popular middleware and development environments for using an RDBMS is just better and more mature than anything out there for the nosql alternatives.

Well, we think nosql databases deserve to be first-class members in modern software development. So we set out to change that by joining up with VMware’s SpringSource to build truly great support for graph databases and other nosql stores into Spring — the dominant middleware for the JVM platform.

Announcing the Neo4j Spring Data collaboration

Today, here at the annual Spring conference SpringOne 2GX in Chicago, SpringSource is showing for the first time the work they have been doing together with the Neo4j team around Spring Data.

Spring Data is a project to provide convenient support from the Spring framework for non-relational databases. In his keynote today, Rod Johnson, CEO of SpringSource and SVP of Middleware at VMware, introduced Spring Data and demonstrated how the Neo4j graph database is used in Spring Data!

Here’s a copy of the deck (well, the Spring Data and Neo4j part of the deck) that Rod used in the keynote. It’s brief (10 slides) but it does a good job of introducing the basics of what Spring Data is and what it means for developers wanting to use for example Neo4j in a Spring environment.

What is Neo4j Spring Data?

The work we’ve been doing with SpringSource/VMware is split into two projects:

  • Datastore Graph, which provides an annotation-driven POJO-graph mapping library. It is to Neo4j what Hibernate is to an RDBMS.
  • The Neo4j Roo Add-On, which provides a plugin that enables users to easily build Roo applications that are backed by Neo4j.

While these projects are not considered GA quite yet, the Datastore Graph project is rapidly maturing and is already being used in a commercial context. Both Datastore Graph and the Roo Add-On are expected to reach 1.0 before the end of the year.

How do I get started?

The projects are developed in the open on public git repositories with regularly pushed maven builds. So it’s easy to get your hands on this software.

For detailed instructions, please check out Neo4j and SpringOne on our wiki. It will quickly get you up and running with either one of these two projects.