Java-Based NoSQL Graph Database Goes Spring
Neo Technology, the lead commercial sponsor of the Neo4j open-source NoSQL graph database implemented in Java, brought the database to the Spring framework this week with the launch of Spring Data Neo4j 2.0. The new version is designed to allow developers to build applications quickly on the Spring Framework that "leverage complex, connected data," the company said.
Neo4j is a fully transactional database that stores data as graphs. Spring Data Neo4j (formerly known as Spring Data Graph) is designed to enable plain old Java object (POJO) based development for Neo4j. As the SpringSource Community site explains it, Neo4j "extends annotated entity classes with transparent mapping functionality." The DB’s template programming model is "equivalent to well-known Spring templates and builds the basis for interaction with the graph and is also used for the advanced repository support."
Neo Technology, a Swedish company with offices in Menlo Park, Calif., unveiled the new version at the SpringOne 2GX 2011 Conference, underway this week in Chicago. But the company announced the availability of the first milestone release on the SpringSource Community blog last week. The post points to a major internal refactoring that split the framework into several sub-modules: spring-data-neo4j, made up of the Neo4jTemplate and Spring Data Repositories; spring-data-neo4j-aspects, which employs transparent object-graph-mapping using AspectJ; spring-data-neo4j-cross-store: which provides AspectJ-based cross-store-persistence between JPA and Neo4j; and spring-data-neo4j-rest, which provides transparent access to a remote Neo4j REST-Server.
"Spring Data" is actually an umbrella label for a group of open source Spring framework projects focused on databases. The group includes the Hadoop Apache project, the Gemfire distributed data management platform, the MongoDB document-oriented database, and Neo4j, among others.
The creator of the Spring Framework, Rod Johnson, who now serves as senior vice president of the Application Platform Division at VMware, has endorsed Neo4j. "I'm excited about Spring Data Neo4j," he said in a statement. "Spring Data Neo4j makes working with Neo4j amazingly easy, and therefore has the potential to make you more successful as a developer...I encourage you to explore Spring Data, and -- better still -- become involved in the community and contribute." Johnson is an investor in the company and chairman of its board.
The community edition of Neo4j is licensed under the GPLv3. Advanced enterprise editions are available under the AGPLv3 and a commercial license from Neo Technology. The community edition is available as a free download from the Neo4j download page.