Graphs for Everyone http://neo4j.org
  • Java 70.4%
  • Scala 15.1%
  • JavaScript 5.8%
  • CSS 2.1%
  • CoffeeScript 2.1%
  • Other 4.2%
Find a file
2014-12-16 16:38:43 +01:00
advanced 2.1.6-SNAPSHOT -> 2.1.7-SNAPSHOT 2014-11-25 13:21:11 +01:00
cla-management added script to detect unauthorized contributors 2014-04-29 12:12:17 +02:00
code-analysis Address PMD import warnings. 2013-09-12 15:00:31 +01:00
community Merge pull request #3675 from chrisvest/2.2-fewer-exceptions 2014-12-16 16:38:43 +01:00
docs/images Add RepositoryOverview 2013-07-10 15:27:02 +02:00
enterprise Store migrator sets base tx checksum if migrating empty store 2014-12-15 20:36:33 +01:00
integrationtests 2.1.6-SNAPSHOT -> 2.1.7-SNAPSHOT 2014-11-25 13:21:11 +01:00
manual Improvements to unmanged extention and neo4j-harness docs. 2014-12-08 17:23:53 +01:00
packaging Stop pointing to the installer script. Update download links. 2014-12-04 16:35:32 +01:00
stresstests Back to development version. 2014-12-02 19:13:41 +00:00
.gitignore Remove configuration change restarts 2014-12-05 11:12:35 +01:00
pom.xml 2.1.6-SNAPSHOT -> 2.1.7-SNAPSHOT 2014-11-25 13:21:11 +01:00
README.asciidoc Added notes on ubuntu 14.04 NPM, and MacOSX grunt for browser build dependencies 2014-09-22 16:26:57 +02:00
RepositoryOverview.asciidoc Update references to docs.neo4j.org to point to neo4j.com/docs. 2014-12-04 14:40:48 +01:00
skipped-tests.py testing anonymous commits: changed a comment 2014-04-29 13:40:07 +02:00

= Neo4j: Graphs for Everyone =

http://neo4j.com[Neo4j] is the world's leading Graph Database. It is a high performance graph store with all the features expected of a mature and robust database, like a friendly query language and ACID transactions. The programmer works with a flexible network structure of nodes and relationships rather than static tables -- yet enjoys all the benefits of enterprise-quality database. For many applications, Neo4j offers orders of magnitude performance benefits compared to relational DBs.

Learn more on the http://neo4j.com[Neo4j website].

== Using Neo4j ==

Neo4j is available both as a standalone server, or an embeddable component. You can http://neo4j.com/download/[download] or http://console.neo4j.org[try online].

== Extending Neo4j ==

We encourage experimentation with Neo4j. You can build extensions to Neo4j, develop library or drivers atop the product, or make contributions directly to the product core. You'll need to sign a Contributor License Agreement in order for us to accept your patches.

For a quick overview of the components in this repository,
you can read the link:RepositoryOverview.asciidoc[RepositoryOverview.asciidoc].

NOTE: This GitHub repository contains mixed GPL and AGPL code. Our Community edition (in the link:community/[community/] directory) is GPLv3. Our Enterprise edition (link:enterprise/[enterprise/]) is differently licensed under the AGPLv3.

== Dependencies ==

Neo4j is built using http://maven.apache.org/[Apache Maven] version 3.0.x and a recent version of http://www.oracle.com/technetwork/java/javase/downloads/index.html[Java 7]. Bash and Make is also required. Note that maven needs more memory than the standard configuration, this can be achieved with `export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=128m”`.

The Neo4j Browser module is built using http://nodejs.org[Node.js]. For skipping that part of the build, see below. Building the manual requires Python, graphviz and make.

OSX users need to have http://brew.sh/[Homebrew] installed.

=== With brew on OSX ===

  brew install graphviz libtool maven node.js

Node.js and npm are required to build the neo4j browser. In addition, on some machines it was necessary to install grunt-cli:

  npm install grunt-cli

If you don't plan to build the browser (for example by using -DskipBrowser), then don't worry about this step.

=== With apt-get on Ubuntu ===

  sudo apt-get install graphviz maven nodejs make

Due to a file naming collision, the http://packages.debian.org/nodejs[nodejs] package contained within Debian and Ubuntu repositories provides an executable named `nodejs` instead of the expected `node`. Once installed, you may therefore need to create an alias for this script as follows:

  cd ~/bin
  ln -s /usr/bin/nodejs node

On Ubuntu 14.04 it seems the nodejs package does not include npm, so you should install that too:

  sudo apt-get install graphviz maven nodejs npm make

== Building Neo4j ==

* A plain `mvn clean install` will only build the individual jar files. 
* Test execution is, of course, part of the build.
* To add execution of integration tests, use: `mvn clean install -DrunITs`.
* In case you just want the jars, without compiling the tests, this is for you: `mvn clean install -DminimalBuild`.
* To skip building the browser module, use `-DskipBrowser` (note that you might not be able to build the server without it).
* To build everything, including running all tests, producing documentation and assembling product packages, use `mvn clean install -DfullBuild`.
* To build the documentation see the link:manual/[Neo4j manual].
* When building on Windows, use `-Dlicensing.skip` to avoid problems related to line endings.
* The license header check can be skipped by appending the following to the command line: `-Dlicense.skip=true`.
* If you are running into problems building on Windows you can try building Neo4j in a Ubuntu virtual machine.

== Running Neo4j ==

After running a `mvn clean install -DfullBuild` cd into `packaging/standalone/target` and extract the version you want, then

  bin/neo4j start

in the extracted folder to start Neo4j on `localhost:7474`. On Windows you want to run

  bin\Neo4j.bat

instead.

Or, if you are not interested in the tarballs and just want to run Neo4j you can instead run a `mvn clean install -DminimalBuild` and then cd into `community/server` and run

  mvn clean compile exec:java

to start Neo4j.

== Licensing ==

Neo4j is an open source product. We support a Community edition under the GPLv3 license. The Enterprise edition is available under the AGPLv3 license for open source projects otherwise under a commercial license from http://info.neotechnology.com/contactus.html[Neo Technology].