Introducing GraphAware Neo4j Framework

Michal Bachman

by Michal Bachman
· 1 min read

In this short blog post, I would like to introduce the GraphAware Neo4j Framework. Its goal is very ambitious: we’d like to make it as useful for Neo4j developers, as the Spring Framework is for Java developers. The Framework aims at speeding up development with Neo4j by providing a platform for building useful generic as well as domain-specific functionality, analytical capabilities, graph algorithms, and more.

Features Overview

On a high level, there are two key pieces of functionality, GraphAware Server and GraphAware Runtime. GraphAware Server is a Neo4j server extension that allows developers to build (REST) APIs on top of Neo4j using Spring MVC, rather than JAX-RS. GraphAware Runtime is a runtime environment for both embedded and server deployments, which allows the use of pre-built as well as custom modules called “GraphAware Runtime Modules”. These modules typically extend the core functionality of the database by transparently enriching/modifying/preventing ongoing transactions in real-time.

Additionally, for Java developers only, there is additional functionality, such as:

  • GraphUnit - a library for simple graph unit-testing
  • a Performance Testing Library
  • an API Testing Library
  • Improved Neo4j Transaction API
  • convenient Transaction Executor and a Batch Transaction Executor
  • plus a few miscellaneous utilities

What’s Next?

Some of the Framework features will be introduced in detail in subsequent blog posts - this one is here just to whet your appetite. In the meantime, feel free to:

  • have a look at the GitHub repository
  • try to crunch through some of the documentation there (very much work in progress!)
  • have a look at the Javadoc
  • Download the framework and play around with it
  • feel free to contact us if you would like to contribute of if you have any feedback at all
  • come to the today’s GraphPub, if you’re based in or around London, I’ll be introducing GraphUnit in a lightning talk
  • stay tuned!

UPDATE: Next post in the series: GraphUnit: Testing Neo4j Code

Share this blog post: