Java graph databases compared
Graph databases implemented in Java.
18 active java graph databases are in the catalogue. They are written mostly in Java, 14 are open source, and 10 carry survey feature scores. Apache Giraph, Apache Rya, BlazeGraph are no longer active and listed separately below.
| Attribute | | | | | | |
|---|---|---|---|---|---|---|
| At a glance | ||||||
| Rank | #1 | #5 | #20 | #21 | #29 | #35 |
| Score | 78.8 | 63.8 | 58.7 | 57.8 | 55.6 | 53.2 |
| GitHub stars | 17k | 5k | — | 1.1k | — | 5.8k |
| Popularity | 93.8 | 75.4 | 43.2 | 56.1 | 29.1 | 79.3 |
| Activity | 82.8 | 65.8 | 98.6 | 80.8 | 68.0 | 40.9 |
| Community | 77.2 | 65.5 | 57.8 | 36.6 | 68.0 | 37.1 |
| Research | 98.6 | 64.8 | 50.2 | 70.3 | 95.6 | 63.4 |
| Fundamentals | ||||||
| Description | A property graph database that stores data as fixed-size records in linked lists for index-free adjacency traversal. Offers community and commercial editions with an extensive graph algorithms library. | A distributed multi-model database combining graph and document models with TinkerPop support. Features sharding for horizontal scaling and ACID transactions. | An RDF-based knowledge graph database with OWL 2 reasoning and property graph extensions. Includes Voicebox, an OpenAI-compatible natural language query interface via LLM integration. | A multi-model database inspired by OrientDB, supporting graphs, documents, key-value, time-series, and search. Uses RAFT-based replication for high availability. | Oracle's graph database capabilities within Oracle Database, supporting both property graphs (SQL/PGQ and PGQL) and RDF/SPARQL. Includes in-memory graph analytics with 60+ built-in algorithms. | An open-source distributed property graph database forked from the Titan codebase. Supports pluggable storage backends (Cassandra, HBase, BerkeleyDB) with ACID transactions and native TinkerPop integration. |
| Vendor | Neo4j Inc | OrientDB Community | Stardog Union | ArcadeDB | Oracle | The Linux Foundation |
| Model | Property Graph | Multiple | RDF | Multiple | Multiple | Property Graph |
| Kind | database | database | database | database | database | database |
| Category | Established | Enterprise | Enterprise | Growing | Enterprise | Established |
| First released | 2007 | 2010 | 2011 | 2021-09 | 2005 | 2017-04 |
| Status | active | active | active | active | active | active |
| License | GPL-3.0 | Apache-2.0 | Proprietary | Apache-2.0 | Proprietary | Apache-2.0 |
| Written in | Java | Java | Java | Java | Java | Java |
| Query languages | Cypher, GQL | SQL, Gremlin | SPARQL, SQL, GraphQL | SQL, openCypher, Gremlin, GraphQL | SQL/PGQ, PGQL, SPARQL | Gremlin |
| gdotv support | yes | no | yes | yes | yes | yes |
Feature scores 31 of 46 rows differ
| Feature | Neo4j | OrientDB | Stardog | ArcadeDB | Oracle Graph | JanusGraph |
|---|---|---|---|---|---|---|
| Community & Business | ||||||
| Active development | ✓ | ✓ | 0.5 | ✓ | ✓ | ✓ |
| Commercial support | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| Live community | ✓ | 0.5 | ✓ | ✓ | 0.5 | ✓ |
| Open Source | ✓ | ✓ | · | ✓ | · | ✓ |
| Pricing | 0.5 | · | · | ✓ | ✓ | ✓ |
| Trendiness | ✓ | 0.25 | ✓ | · | ✓ | 0.5 |
| Deployment | ||||||
| Containerization | ✓ | ✓ | ✓ | ✓ | 0.5 | ✓ |
| Work as dedicated instance | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Work as embedded | ✓ | ✓ | · | ✓ | · | ✓ |
| Testing in-memory version | ✓ | ✓ | · | · | · | ✓ |
| Platform | ||||||
| Operating on Linux | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Operating on Windows | ✓ | ✓ | · | ✓ | ✓ | ✓ |
| SaaS offering | ✓ | · | ✓ | · | ✓ | ✓ |
| Operations | ||||||
| Automatic updates | · | · | · | ✓ | ✓ | · |
| Client side caching | · | · | · | · | ✓ | · |
| Data versioning support | · | · | · | · | ✓ | · |
| Live backups | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Distribution | ||||||
| Cluster Re-balancing | · | · | · | · | 0.5 | · |
| Data Distribution | ✓ | ✓ | · | · | ✓ | ✓ |
| High-Availability | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Query Distribution | ✓ | 0.5 | ✓ | · | ✓ | · |
| Replication support | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Developer Experience | ||||||
| Data types defined | ✓ | ✓ | 0.5 | ✓ | 0.5 | ✓ |
| Logging/Auditing | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Object-Graph Mapper | ✓ | · | · | · | ✓ | · |
| Reactive programming | ✓ | · | ✓ | ✓ | ✓ | · |
| Documentation up-to-date | ✓ | 0.5 | ✓ | ✓ | ✓ | 0.75 |
| Binary protocol | ✓ | ✓ | · | ✓ | ✓ | ✓ |
| CLI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GUI | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| Data Model | ||||||
| Multi-database | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Graph-native data | ✓ | · | · | ✓ | ✓ | ✓ |
| REST API | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Query Language | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Transactions | ||||||
| Granular locking | ✓ | · | ✓ | · | ✓ | 0.5 |
| Multiple isolation levels | ✓ | ✓ | ✓ | ✓ | ✓ | 0.5 |
| Read committed transaction | ✓ | ✓ | · | ✓ | ✓ | 0.5 |
| Transaction support | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Schema & Security | ||||||
| Constraints | ✓ | · | ✓ | ✓ | ✓ | ✓ |
| Schema support | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Secondary indexes | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Server side procedures | ✓ | ✓ | ✓ | ✓ | 0.5 | · |
| Triggers | ✓ | ✓ | · | ✓ | ✓ | 0.5 |
| Authentication | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Authorization | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Data encryption | · | ✓ | · | ✓ | ✓ | · |
All 18 engines
| Name | Vendor | Model | Category | GitHub stars | License | Written in | Query languages | Rank |
|---|---|---|---|---|---|---|---|---|
| TinkerGraph | Apache TinkerPop | Property Graph | Established | 2.1k | Apache-2.0 | Java | Gremlin | #16 |
| YouTrackDB | JetBrains | Property Graph | Emerging | 426 | Apache-2.0 | Java | Gremlin, SQL | #18 |
| Ontop | Ontopic | RDF | Established | 895 | Apache-2.0 | Java | SPARQL | #19 |
| Eclipse RDF4J | Eclipse Foundation | RDF | Established | 409 | BSD-3-Clause | Java | SPARQL | #25 |
| Apache Jena Fuseki | Apache Software Foundation | RDF | Established | 1.4k | Apache-2.0 | Java | SPARQL | #28 |
| Apache HugeGraph | Apache Software Foundation | Property Graph | Established | 3.1k | Apache-2.0 | Java | Gremlin, openCypher | #37 |
| DataStax Enterprise | IBM | Property Graph | Established | — | Proprietary | Java | Gremlin, CQL | #47 |
| Gaffer | GCHQ | Other | Established | 1.8k | Apache-2.0 | Java | Custom API | #54 |
| Ontotext GraphDB | Ontotext | RDF | Enterprise | — | Proprietary | Java | SPARQL | #58 |
| Bitsy | LambdaZen | Property Graph | Emerging | 150 | Apache-2.0 | Java | Gremlin | #96 |
| ONgDB | Graph Foundation | Property Graph | Emerging | 437 | GPL-3.0 OR AGPL-3.0 | Java | Cypher | #122 |
| DozerDB | Graph Foundation | Property Graph | Emerging | 145 | GPL-3.0 | Java | Cypher | #142 |
No longer active
- Apache Giraph — Retired to the Apache Attic in October 2023. Repository is archived and read-only.
- Apache Rya — No development activity since December 2020.
- BlazeGraph — Last release in 2019. Project largely dormant, though still used by Wikidata.
- ZipG — Academic research prototype from AMPLab Berkeley. No active development.
- Halyard — No development activity since mid-2022.
- Apache Marmotta KiWi — Project retired to the Apache Attic. Repository archived in May 2021.
- HyperGraphDB — Sporadic maintenance only since 2024
- HGraphDB — No human development activity since 2024
- InfiniteGraph — Objectivity Inc ceased operations in late 2023.
- Parliament — Last release v2.8.1 in June 2022. Limited recent activity.
- Mulgara — No significant development activity in recent years.
- Strabon — Minimal development activity in recent years.
- Graphflow — Research prototype from University of Waterloo. Succeeded by Kuzu.
- ChronoGraph — Last meaningful commit several years ago. Minimal community.