neo4j is a free, open source databases project written in Java and released under GPL-3.0. It has 17,241 GitHub stars, 2,703 forks and 252 open issues, and was last pushed 7 days ago. On this registry it ranks #36 of 81 tracked projects in Databases, with 5 head-to-head comparisons available. It gained 14 stars over the last 3 tracked days.

What is neo4j?

Neo4j is a Java graph database released under GPL-3.0 that stores data as nodes and relationships and queries it with Cypher, aimed at developers, data engineers, and platform teams building connected-data applications who would otherwise model those relationships as tables and joins.

What it is

Neo4j is a graph database written in Java and distributed as Neo4j Community Edition under the GPL-3.0 licence. It sits in the graph-database and NoSQL part of the Infrastructure & Operations / Databases category, and its maintainers describe it as a high performance graph store with the features expected of a mature and robust database, including a friendly query language and ACID transactions. The data model is a flexible network of nodes and relationships rather than static tables. The project ships in two shapes: a standalone server that can be downloaded and run, and Neo4j Aura, a fully managed service. The repository is tagged with the topics cypher, database, graph, graph-database, graphdb, neo4j and nosql.

The concrete problem it solves is traversal of connected data. A relational database represents connected facts as rows and reconstructs the connections at query time through joins; Neo4j stores relationships as first-class structures alongside nodes, and the README claims orders of magnitude performance benefits compared to relational DBs for many applications. It therefore replaces the relational table-and-join approach for that class of workload while keeping the guarantees people expect from a production database, notably ACID transactions. Neo4j also offers a place to build on top: developers may create extensions, write libraries or drivers, or contribute directly to the product core, with the caveat that a Contributor License Agreement must be signed for patches to be accepted.

Key capabilities

  • Cypher query language for reading and writing the graph, described by the project as a friendly query language.
  • ACID transactions, giving the same transactional guarantees expected of a mature database.
  • A nodes-and-relationships data model rather than static tables, with relationships stored as part of the graph.
  • Neo4j Aura, a fully managed graph database that can be started for free with no credit card required.
  • Neo4j Desktop, a developer tool for working with local Neo4j databases, installed from the Neo4j Download Center.
  • Graph tools for querying, visualizing and analyzing data, available on Neo4j Aura and compatible with both managed AuraDB instances and self-managed Neo4j databases.
  • A standalone server distribution that starts on localhost:7474 and supports extensions, libraries and drivers built on the product core.

Who uses it and how

  • Individual developers who want a local graph database and install Neo4j Desktop from the Neo4j Download Center.
  • Teams that start on Neo4j Aura through the console, using the managed service and its graph tools without provisioning a server.
  • Operators who run the self-managed standalone server and connect it to the graph tools available on Aura, which the documentation covers under connecting a self-managed instance.
  • Contributors and integrators who build extensions, libraries or drivers on top of Neo4j, signing a Contributor License Agreement before patches are accepted.
  • Builders working from source, who need Apache Maven 3.8.2, a supported VM, Bash and Make, and who can choose between a full mvn clean install -T1C build and mvn clean install -DskipTests -T1C when only jars are wanted.

Getting started

The fastest route named in the README is Neo4j Aura, signed up for through the console at no cost and without a credit card, while the standalone server is available for download from the Neo4j deployment center. Building from source requires Maven, a JDK 17 install with JAVA_HOME set, and after mvn clean install the server is started from the extracted version in packaging/standalone/target with bin/neo4j-admin server start on Linux-like systems or bin\neo4j-admin server start on Windows.

How it compares

The facts provided name no competing products and no similar tools, so Neo4j stands alone in this registry. The relevant contrast available is internal to the project: the managed Neo4j Aura option against the downloadable standalone server, and the open source Community Edition against the commercial site the README points to for further products.

When to use it — and when not to

A self-hoster must operate a JVM database and meet real build and runtime prerequisites: Maven 3.8.2, a supported VM, Bash and Make, JAVA_HOME pointing at JDK 17, a raised open-file limit of at least 40K, and enough memory for Maven, set through MAVEN_OPTS="-Xmx2048m". Teams that do not want any of that operational load should use Neo4j Aura instead of the standalone build. The README excerpt also stops mid-sentence in its licensing section, so anyone choosing an edition should confirm the exact licence terms on the project site rather than relying on the repository text, and contributors should expect the Contributor License Agreement requirement before any patch is accepted.

project readme (upstream, from github) — read inline

= 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 as a fully managed solution where you can get started for free using https://console.neo4j.io[Neo4j Aura]. Neo4j is also available as a standalone server that you can https://neo4j.com/deployment-center[download].

== Neo4j Aura ==

https://neo4j.com/product/auradb[Neo4j Aura] is the fully managed graph database solution for Neo4j. You can quickly get started in seconds and use Neo4j for free - no credit card required. https://console.neo4j.io[Sign up to Neo4j Aura].

== 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.8.2 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="-Xmx2048m".

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-17-jdk

Be sure that the JAVA_HOME environment variable points to /usr/lib/jvm/java-17-openjdk-amd64 (you may have various java versions installed).

== 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 -T1C 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 -T1C.
  • You may need to increase the memory available to Maven: export MAVEN_OPTS="-Xmx2048m" (try this first if you get build errors).

== Running Neo4j ==

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

bin/neo4j-admin server start

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

bin\neo4j-admin server start

instead.

== Accessing Neo4j graph tools ==

Neo4j provides a number of tools for https://neo4j.com/docs/aura/query/introduction/[querying], https://neo4j.com/docs/aura/dashboards/[visualizing], and https://neo4j.com/docs/aura/explore/introduction/[analyzing] data. You can access graph tools on https://console.neo4j.io[Neo4j Aura] for free - no subscription required. Neo4j graph tools are compatible with both fully managed Neo4j AuraDB instances and self-managed Neo4j databases. https://neo4j.com/docs/aura/managing-instances/self-managed/[Learn more] on how to connect your instance.

== 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].

Frequently asked questions

Is neo4j free to use?

neo4j is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does neo4j do?

Graphs for Everyone

What is neo4j written in?

neo4j is primarily written in Java. Its source is publicly available at https://github.com/neo4j/neo4j, and it has 17,241 GitHub stars.