neo4j

Graphs for Everyone

9844
2127
Java

= Neo4j: Graphs for Everyone =

https://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 https://neo4j.com[Neo4j website].

https://discord.gg/neo4j[image:https://img.shields.io/discord/787399249741479977?label=Chat&logo=discord&style=for-the-badge[Discord]]

https://community.neo4j.com[image:https://img.shields.io/discourse/users?label=Forums&logo=discourse&server=https%3A%2F%2Fcommunity.neo4j.com&style=for-the-badge[Discourse users]]

== Using Neo4j ==

Neo4j is available both as a standalone server, or an embeddable component. You can https://neo4j.com/download/[download] or https://neo4j.com/sandbox/[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.

== Dependencies ==

Neo4j is built using https://maven.apache.org/[Apache Maven] version 3.6.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 export MAVEN_OPTS="-Xmx512m".

macOS users need to have https://brew.sh/[Homebrew] installed.

=== With brew on macOS ===

brew install maven

Please note that we do not support building Debian packages on macOS.

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

sudo apt install maven openjdk-11-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 https://download-keycdn.ej-technologies.com/install4j/install4j_linux_6_1_4.deb
dpkg -i install4j_linux_6_1_4.deb

== Building Neo4j ==

Before you start running the unit and integration tests in the Neo4j Maven project on a Linux-like system, you should ensure your limit on open files is set to a reasonable value. You can test it with ulimit -n. We recommend you have a limit of at least 40K.

  • A plain mvn clean install will only build the individual jar files.
  • Test execution is, of course, part of the build.
  • In case you just want the jars, without running tests, this is for you: mvn clean install -DskipTests.
  • To build product packages, do export PATH="bin:$PATH" && make clean all in the packaging directory after building artifacts with Maven.
  • To build the documentation see the https://github.com/neo4j/neo4j-documentation/[Neo4j documentation].
  • 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: export MAVEN_OPTS="-Xmx512m".

== Running Neo4j ==

After running a mvn clean install, 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 start

instead.

== Neo4j Desktop ==

Neo4j Desktop is a convenient way for developers to work with local Neo4j databases.

To install Neo4j Desktop, go to https://neo4j.com/download-center/[Neo4j Download Center] and follow the instructions.

== Licensing ==

Neo4j Community Edition is an open source product licensed under GPLv3.

Neo4j Enterprise Edition includes additional closed-source components not available in this repository and requires a commercial license from Neo4j or one of its affiliates.

== Trademark ==

Neo4j’s trademark policy is available at https://neo4j.com/trademark-policy/[our trademark policy page].