= 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 ==
== 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.3 and a recent version of supported VM. Bash and Make are also required. Note that maven needs more memory than the standard configuration, this can be achieved with
OS X users need to have http://brew.sh/[Homebrew] installed.
=== With brew on OS X ===
brew install maven
Please note that we do not support building Debian packages on OS X.
=== With apt-get on Ubuntu ===
apt install maven openjdk-8-jdk
On top of that, to build Debian packages and Neo4j Desktop:
apt install debhelper devscripts dos2unix dpkg make xmlstarlet
You will need a license for install4j, which is only needed for Neo4j Desktop
curl -O http://download-keycdn.ej-technologies.com/install4j/install4j_linux_6_1_4.deb dpkg -i install4j_linux_6_1_4.deb
== Building Neo4j ==
- A plain
mvn clean installwill 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 running tests, this is for you:
mvn clean install -DskipTests.
- 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 and assembling product packages, use
mvn clean install -DfullBuild.
- To build product packages, do
export PATH="bin:$PATH" && make clean allin the packaging directory after building artifacts with Maven
- To build the documentation see the link:manual/[Neo4j manual].
- When building on Windows, use
-Dlicensing.skipto avoid problems related to line endings.
- The license header check can be skipped by appending the following to the command line:
- If you are running into problems building on Windows you can try building Neo4j in a Ubuntu virtual machine.
- You may need to increase the memory available to Maven:
== Running Neo4j ==
After running a
mvn clean install -DfullBuild cd into
packaging/standalone/target and extract the version you want, then
in the extracted folder to start Neo4j on
localhost:7474. On Windows you want to run
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].