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 9 carry survey feature scores. Apache Giraph, Titan, HyperGraphDB are no longer active and listed separately below.
| Attribute | Neo4j | ArcadeDB | OrientDB | Stardog | JanusGraph | Oracle Graph |
|---|---|---|---|---|---|---|
| At a glance | ||||||
| Rank | #1 | #9 | #12 | #23 | #31 | #38 |
| Score | 88.8 | 65.4 | 62.0 | 55.7 | 53.4 | 49.7 |
| GitHub stars | 17.4k | 1.2k | 5k | — | 5.9k | — |
| Popularity | 98.6 | 54.7 | 82.9 | 53.2 | 72.7 | 35.2 |
| Activity | 86.5 | 76.8 | 60.7 | 63.1 | 42.3 | 51.7 |
| Community | 73.8 | 59.0 | 35.4 | 52.9 | 36.6 | 62.6 |
| Research | 98.7 | 74.7 | 67.6 | 50.2 | 64.7 | 53.3 |
| 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 multi-model database inspired by OrientDB, supporting graphs, documents, key-value, time-series, and search. Uses RAFT-based replication for high availability. | 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. | 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. | 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. |
| Vendor | Neo4j Inc | ArcadeDB | OrientDB Community | Stardog Union | The Linux Foundation | Oracle |
| Model | Property Graph | Multiple | Multiple | RDF | Property Graph | Multiple |
| Kind | database | database | database | database | database | database |
| Category | Established | Growing | Enterprise | Enterprise | Established | Enterprise |
| First released | 2007 | 2021-09 | 2010 | 2011 | 2017-04 | 2005 |
| Status | active | active | active | active | active | active |
| License | GPL-3.0 | Apache-2.0 | Apache-2.0 | Proprietary | Apache-2.0 | Proprietary |
| Written in | Java | Java | Java | Java | Java | Java |
| Query languages | Cypher, GQL | SQL, openCypher, Gremlin, GraphQL | SQL, Gremlin | SPARQL, SQL, GraphQL | Gremlin | SQL/PGQ, PGQL, SPARQL |
| gdotv support | yes | yes | no | yes | yes | yes |
Feature scores 31 of 46 rows differ
| Feature | Neo4j | ArcadeDB | OrientDB | Stardog | JanusGraph | Oracle Graph |
|---|---|---|---|---|---|---|
| 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.2k | Apache-2.0 | Java | Gremlin | #17 |
| Ontop | Ontopic | RDF | Established | 1k | Apache-2.0 | Java | SPARQL | #18 |
| Apache Jena Fuseki | Apache Software Foundation | RDF | Established | 1.5k | Apache-2.0 | Java | SPARQL | #22 |
| Eclipse RDF4J | Eclipse Foundation | RDF | Established | 423 | BSD-3-Clause | Java | SPARQL | #27 |
| YouTrackDB | JetBrains | Property Graph | Emerging | 442 | Apache-2.0 | Java | Gremlin, SQL | #32 |
| Apache HugeGraph | Apache Software Foundation | Property Graph | Established | 3.2k | Apache-2.0 | Java | Gremlin, openCypher | #45 |
| Aerospike Graph | Aerospike | Property Graph | Enterprise | 1.4k | Apache-2.0 | Java | Gremlin | #46 |
| Ontotext GraphDB | Graphwise | RDF | Enterprise | — | Proprietary | Java | SPARQL | #68 |
| DataStax Enterprise | IBM | Property Graph | Established | — | Proprietary | Java | Gremlin, CQL | #69 |
| Bitsy | LambdaZen | Property Graph | Emerging | 151 | Apache-2.0 | Java | Gremlin | #114 |
| ONgDB | Graph Foundation | Property Graph | Emerging | 439 | GPL-3.0 OR AGPL-3.0 | Java | Cypher | #130 |
| DozerDB | Graph Foundation | Property Graph | Emerging | 147 | GPL-3.0 | Java | Cypher | #154 |
No longer active
- Apache Giraph — Retired to the Apache Attic in October 2023. Repository is archived and read-only.
- Titan — No releases since 1.0 in September 2015. Development continued as JanusGraph.
- HyperGraphDB — Sporadic maintenance only since 2024
- Gaffer — Repository archived by GCHQ; last change June 2025.
- BlazeGraph — Last release in 2019. Project largely dormant, though still used by Wikidata.
- Apache Rya — No development activity since December 2020.
- Halyard — No development activity since mid-2022.
- Apache Marmotta KiWi — Project retired to the Apache Attic. Repository archived in May 2021.
- HGraphDB — No human development activity since 2024
- InfiniteGraph — Objectivity Inc ceased operations in late 2023.
- Kowari — No longer developed. Continued as the Mulgara fork from 2005.
- 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.