Graphs for Everyone
http://neo4j.org
- Java 70.4%
- Scala 15.1%
- JavaScript 5.8%
- CSS 2.1%
- CoffeeScript 2.1%
- Other 4.2%
|
|
||
|---|---|---|
| advanced | ||
| cla-management | ||
| code-analysis | ||
| community | ||
| docs/images | ||
| enterprise | ||
| integrationtests | ||
| manual | ||
| packaging | ||
| stresstests | ||
| .gitignore | ||
| pom.xml | ||
| README.asciidoc | ||
| RepositoryOverview.asciidoc | ||
| skipped-tests.py | ||
= 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].