GithubHelp home page GithubHelp logo

gzzyj / ongdb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from graphfoundation/ongdb

0.0 0.0 0.0 447.48 MB

ONgDB (Open Native Graph DB) - Neo4j fork with enterprise code base. ONgDB integrates Neo4j Open Core commits.

Home Page: https://www.graphfoundation.org/projects/ongdb/

License: GNU Affero General Public License v3.0

Roff 0.16% Java 81.35% Scala 17.61% Gherkin 0.31% Shell 0.22% Makefile 0.01% PowerShell 0.32% Batchfile 0.01% M4 0.01%

ongdb's Introduction

Build Status

ONgDB - fork of Neo4j Enterprise: Graphs for Everyone

Open Native Graph DB (ONgDB) is a fork of the neo4j project that continues development of the neo4j enterprise codebase as a fully open source project after Neo4j Inc’s Open Core Shift that closed ongoing development and removed existing source code.

ONgDB is a high performance, native graph store with everything you would expect from an enterprise-ready database, including high availability clustering, ACID transactions, and uses the intuitive, pattern-centric open cypher 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 about our open source mission at The Graph Foundation website.

Using ONgDB

ONgDB is available as a standalone server, an embeddable component or a Docker image. You can download distributions from our CDN or pull images from DockerHub.

Extending ONgDB

We encourage experimentation with ONgDB. You can build extensions to ONgDB, 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.

Note
This GitHub repository contains mixed GPL and AGPL code. The Community edition (in the community/ directory) is GPLv3. The Enterprise edition (enterprise/) is licensed under the AGPLv3.

Dependencies

ONgDB is built using 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 export MAVEN_OPTS="-Xmx512m".

macOS users need to have 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

apt install maven openjdk-8-jdk

On top of that, to build Debian packages:

apt install debhelper devscripts dos2unix dpkg make xmlstarlet

Building ONgDB

Before you start running the unit and integration tests in the ONgDB 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 ONgDB documentation.

  • If you are running into problems building on Windows you can try building ONgDB in a Ubuntu virtual machine.

  • You may need to increase the memory available to Maven: export MAVEN_OPTS="-Xmx512m".

Running ONgDB

After running a mvn clean install, cd into packaging/standalone/target and extract the version you want. If you are not building from source you can start from a published release.

Linux/macOS

On Linux/macOS you want to run:

bin/neo4j start

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

Windows

On Windows you want to run:

bin\neo4j start

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

Maven

If you are not interested in the tarballs and just want to run ONgDB you can instead run a mvn clean install -DminimalBuild and then cd into community/server and run:

mvn clean compile exec:java

to start ONgDB.

Docker

To run with Docker execute the following:

docker run \
   --publish=7474:7474 --publish=7687:7687 \
   --volume=$HOME/ongdb/data:/data \
   graphfoundation/ongdb:3.6

to start localhost:7474. See DockerHub for published release tags and more details.

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.

Misc

ONgDB IDE code style configs can be found at under the build/ folder of this repository.

ongdb's People

Contributors

apcj avatar benbc avatar boggle avatar burqen avatar chrisvest avatar cleishm avatar craigtaverner avatar davidegrohmann avatar digitalstain avatar fickludd avatar henriknyman avatar jakewins avatar jimwebber avatar johan-neo avatar klaren avatar lassewesth avatar lojjs avatar lutovich avatar martinfurmanski avatar mats-sx avatar mishademianenko avatar nawroth avatar oskarhane avatar pontusmelke avatar rickardoberg avatar sherfert avatar spacecowboy avatar systay avatar thobe avatar tinwelint avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.