GithubHelp home page GithubHelp logo

neo4j-framework's Introduction

GraphAware Neo4j Framework ==========================

Build Status | Downloads | Javadoc | Latest Release: 2.3.2.37

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

See the announcement on our blog.

Upgrading to Neo4j 2.3

Please note that a number of things have changed in Neo4j 2.3 and consequently in the GraphAware Framework. Notably:

  • There is now only one .jar file for both enterprise and community deployments.
  • You need to add org.neo4j.server.thirdparty_jaxrs_classes=com.graphaware.server=/graphaware to neo4j-server.properties to make the Framework work.

Features Overview

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
    • performing continuous computations on the graph in the background

Whether or not you use the code in this repository as a framework or runtime as described above, you can always use it as a software library by adding it as a dependency to your project, and take advantage of its useful features. For Java developers only(1), the following functionality is provided:

(1) i.e., for embedded mode users, managed/unmanaged extensions developers, GraphAware Runtime Module developers and framework-powered Spring MVC controller developers

Please take a look at the provided examples.

Framework 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
  • adding org.neo4j.server.thirdparty_jaxrs_classes=com.graphaware.server=/graphaware to neo4j-server.properties
  • restarting the server

The framework and modules are then used via calls to their REST APIs, if they provide any.

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.

Getting GraphAware Framework ----------------------------

Releases

To use the latest release, download the appropriate version and put it the plugins directory in your Neo4j server installation and restart the server (server mode), or on the classpath (embedded mode).

The following downloads are available:

Releases are synced to Maven Central repository. When using Maven for dependency management, include one or more dependencies in your pom.xml. To find out which ones, read further by clicking on one of the sub-modules of this project.

Snapshots

To use the latest development version, just clone this repository and run mvn clean install. This will produce 2.3.2.38-SNAPSHOT jar files. If you need standalone .jar files with all dependencies, look into the target folders in the build directory.

Note on Versioning Scheme

The version number has two parts. The first three numbers indicate compatibility with a Neo4j version. The last number is the version of the framework. For example, version 2.2.0.28 is version 28 of the framework compatible with Neo4j 2.2.0

Data Collection

Note that framework sends a POST request to Google Analytics every 5 minutes after start just so we know how many people actually use it. The only data transmitted are module class names, version and edition of the framework, and an anonymous UUID that changes with restart.

License

Copyright (c) 2013-16 GraphAware

GraphAware is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

neo4j-framework's People

Contributors

alenegro81 avatar atg103 avatar bachmanm avatar ikwattro avatar johnfreier avatar k-jo avatar luanne avatar mictech avatar vojtahavlicek avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.