Graph Databases Use Cases

Example use cases from the O'Reilly Graph Databases book
Alternatives To Graph Databases Use Cases
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Dgraph19,12234a day ago174January 05, 2022262otherGo
Native GraphQL Database with graph backend
Sonic17,891
19 days ago24July 10, 202266mpl-2.0Rust
🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.
Gun17,00124612317 days ago235August 09, 2022286otherJavaScript
An open source cybersecurity protocol for syncing decentralized graph data.
Arangodb12,872
6 hours ago240May 23, 2018758apache-2.0C++
🥑 ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions.
Neo4j11,219966179a day ago374August 11, 2022310otherJava
Graphs for Everyone
Nebula8,907110 hours ago1December 17, 2019433apache-2.0C++
A distributed, fast open-source graph database featuring horizontal scalability and high availability
Titan5,035165326 years ago20September 19, 2015191apache-2.0Java
Distributed Graph Database
Awesome Data Engineering4,819
a month ago51
A curated list of data engineering tools for software developers
Orientdb4,569328543 days ago209September 14, 2022261apache-2.0Java
OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries.
Typedb3,366657 hours ago24December 13, 2018172agpl-3.0Java
TypeDB: a strongly-typed database
Alternatives To Graph Databases Use Cases
Select To Compare


Alternative Project Comparisons
Readme

Graph Databases Use Cases

Example use case implementations from the O'Reilly book Graph Databases by @iansrobinson, @jimwebber and @emileifrem.

Setup

This repository contains a submodule, neode, which is used to build the performance datasets. After cloning the repository, you will need to initialize the submodule:

git submodule init

and then:

git submodule update

To run the use case queries:

mvn clean install

Overview

Queries are developed in a test-driven fashion against small, well-known representative graphs (as described pp.83-87 of the book). The queries can then be run against a much larger, randomly-generated graph (typically, 1-2 million nodes and several million relationships), to test their relative performance. (Note: these performance tests do not test production-like scenarios; rather, they act as a sanity check, ensuring that queries that run fast against a very small graph are still reasonably performant when run against a larger graph.)

The project contains 3 modules (in addition to the neode submodule):

  • queries

    Contains the use case queries and the unit tests used to develop the queries.

  • dataset_builders

    Builds larger, randomly-generated sample datasets.

  • performance_tests

    Runs the queries against the large sample datasets.

Running the Performance Tests

First, build the project as described in Setup.

Before you run the performance tests you will need to generate sample datasets. To create a sample dataset run:

mvn test -pl data-generation -DargLine="-Xms2g -Xmx2g" -Dtest=AccessControl|Logistics|SocialNetwork

For example, to generate a sample dataset for the Logistics queries, run:

mvn test -pl data-generation -DargLine="-Xms2g -Xmx2g" -Dtest=Logistics

WARNING: Building the sample datasets takes a long time (several tens of minutes in some cases).

To execute the performance tests against a sample dataset, run:

mvn test -pl performance-testing -DargLine="-Xms2g -Xmx2g" -Dtest=AccessControl|Logistics|SocialNetwork
Popular Database Projects
Popular Graph Projects
Popular Data Storage Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Database
Dataset
Graph
Performance