= ONgDB: Context Graphs for AI =

== What is ONgDB?  ==

https://graphfoundation.org[ONgDB] _/ Owen-Gee-Dee-Bee /_ which stands for Open Native Graph Database, is an open source, high performance, native graph store with everything you would expect from an enterprise-ready database, including high availability clustering, ACID transactions, and an intuitive, pattern-centric graph query language.
Developers use graph theory-based structures that we call nodes and relationships instead of rows and columns.
For many use cases, ONgDB will provide orders of magnitude performance benefits compared to non-native graph, relational and NoSQL databases.

Learn more on the https://graphfoundation.org/projects/ongdb[Graph Foundation ONgDB site].

== Using ONgDB ==

ONgDB is available both as a standalone server or an embeddable component.

== Extending ONgDB ==

We encourage experimentation with ONgDB.
You can build plugins to ONgDB, develop library or drivers atop the product, or make contributions directly to the product core.
You'll need to sign the Graph Foundation Contributor License Agreement to become a contributor.

NOTE: This GitHub repository contains mixed GPLv3 and AGPLv3 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 ==

ONgDB is built using http://maven.apache.org/[Apache Maven] version 3.6. Maven requires more memory than the standard configuration which can be achieved with `export MAVEN_OPTS="-Xmx512m"`.

== Building ONgDB ==

Before you start running the unit and integration tests in the ONgDB Maven project on a Linux-like system, you should ensure the 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.

* Run `mvn clean install -DfullBuild -Drevapi.skip=true -DcreateChecksum=true` to build end-to-end with all tests.
* In case you want to skip tests add the `-DskipTests` flag to the previous command.
* You may need to increase the memory available to Maven: `export MAVEN_OPTS="-Xmx512m"`.

== Running ONgDB ==

After building, cd into `packaging/standalone/target` and extract the edition you want, then

  bin/ongdb start

in the extracted folder to start ONgDB on `localhost:7474`.

On Windows you want to run

  bin\ongdb start

instead.

== Licensing ==

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

ONgDB Enterprise Edition expands the functionality of Community Edition with Enterprise-grade features.

ONgDB Enterprise Edition consists of modules from ONgDB Community Edition and modules licensed under AGPLv3 in this repository.

== Unaffiliated with Neo4j, Inc. ==
ONgDB is an independent fork of Neo4j® Enterprise Edition version 3.4.0.rc02 licensed under the AGPLv3 and/or Community Edition licensed under GPLv3. ONgDB and Graph Foundation, Inc. are not affiliated in any way with Neo4j, Inc. or Neo4j Sweden AB. Neo4j, Inc. and Neo4j Sweden AB do not sponsor or endorse ONgDB and Graph Foundation, Inc. Neo4j Sweden AB is the owner of the copyrights for Neo4j® software and commercial use of any source code from Neo4j® Enterprise Edition beyond Neo4j® Enterprise Edition version 3.2.14, Neo4j® Enterprise Edition version 3.3.10, and/or Neo4j® Enterprise Edition version 3.4.0.rc02 is prohibited and could subject the user to claims of copyright infringement.