Skip to content
This repository has been archived by the owner on May 6, 2021. It is now read-only.
Michal Bachman edited this page May 30, 2014 · 8 revisions

GraphAware Neo4j Framework

GraphAware Framework speeds up development with Neo4j by providing a platform for building useful generic as well as domain-specific functionality, analytical capabilities, graph algorithms, etc.

Features

On a high level, there are two key pieces of functionality:

  • GraphAware Server is a Neo4j server extension that allows developers to rapidly 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.

Java Developers

Additionally, for Java developers only (i.e., for embedded mode, managed/unmanaged extensions development, GraphAware Runtime Modules and framework-powered Spring MVC Controllers), the following functionality is provided:

Usage

### Server Mode

When using Neo4j in the standalone server mode, deploying the GraphAware Framework (and any code using it) is a matter of downloading the appropriate .jar files, copying them into the plugins directory in your Neo4j installation, and restarting the server. The framework and modules are then used via calls to their REST APIs, if they provide any.

Note that you need at least version 2.0.3 of the Neo4j Server in order to use the GraphAware Framework as a plugin. Older versions of Neo4j have an outdated implementation of org.neo4j.server.Bootstrapper that is not backwardly-compatible with the latest plugins. If you see a java.lang.IllegalAccessError when starting up the server, then you're most likely using a version of Neo4j older than 2.0.3.

Embedded Mode / Java Development

Java developers that use Neo4j in embedded mode and those developing Neo4j server plugins, unmanaged extensions, GraphAware Runtime Modules, or Spring MVC Controllers can include use the framework as a dependency for their Java project and use it as a library of useful tested code, in addition to the functionality provided for server mode.

Clone this wiki locally