RDF triplestores compared
Databases built on the RDF data model and queried with SPARQL.
21 active rdf triplestores are in the catalogue. They are written mostly in C++ and Rust, 14 are open source, and 6 carry survey feature scores. Redland, RDF::Trine, Google Cayley are no longer active and listed separately below.
| Attribute | Stardog | Fluree | AllegroGraph | Ontotext GraphDB | Rapidminer Graph Lakehouse | CogDB |
|---|---|---|---|---|---|---|
| At a glance | ||||||
| Rank | #23 | #25 | #36 | #68 | #88 | #123 |
| Score | 55.7 | 55.4 | 50.0 | 44.1 | 39.2 | 27.5 |
| GitHub stars | — | 471 | — | — | — | 397 |
| Popularity | 53.2 | 50.3 | 44.0 | 43.9 | 44.9 | 41.1 |
| Activity | 63.1 | 74.6 | 63.8 | 52.8 | 53.1 | 67.6 |
| Community | 52.9 | 40.5 | 36.0 | 30.3 | 30.3 | 30.3 |
| Research | 50.2 | 52.0 | 57.5 | 50.0 | 50.0 | 50.0 |
| Fundamentals | ||||||
| Description | 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 immutable, append-only RDF graph database using JSON-LD as its data format. Features a blockchain-inspired ledger for data provenance and fine-grained access control policies. | An RDF triple store with built-in ontology reasoning capabilities. Supports OWL2 RL materialized reasoning for inferring new triples and federated queries across distributed stores. | An RDF triplestore with ACID transactions, available in free, standard, and enterprise editions. Supports semantic reasoning and inference with configurable rule sets. | An RDF graph OLAP database (formerly AnzoGraph DB) using massively parallel processing (MPP) for analytical workloads. Rebranded under Altair, it supports SPARQL 1.1 with extensions for window aggregates and advanced grouping, plus openCypher query support. | An embedded graph database for Python with built-in persistence, traversal, and semantic vector search. It runs entirely in-process, stores graph data as triples, and exposes Torque, a Python-native API for querying relationships. |
| Vendor | Stardog Union | Fluree | Franz Inc | Graphwise | Siemens | NodeFn Inc. |
| Model | RDF | RDF | RDF | RDF | RDF | RDF |
| Kind | database | database | database | database | database | embedded |
| Category | Enterprise | Growing | Established | Enterprise | Enterprise | Emerging |
| First released | 2011 | 2018-08 | 2004 | 2005 | 2018 | 2018-07 |
| Status | active | active | active | active | active | active |
| License | Proprietary | BUSL-1.1 | Proprietary | Proprietary | Proprietary | MIT |
| Written in | Java | Rust | Common Lisp | Java | C++ | Python |
| Query languages | SPARQL, SQL, GraphQL | FlureeQL, SPARQL, GraphQL | SPARQL, Prolog | SPARQL | SPARQL, openCypher | Custom API |
| gdotv support | yes | no | yes | yes | no | no |
Feature scores 41 of 46 rows differ
| Feature | Stardog | Fluree | AllegroGraph | Ontotext GraphDB | Rapidminer Graph Lakehouse | CogDB |
|---|---|---|---|---|---|---|
| Community & Business | ||||||
| Active development | 0.5 | ✓ | ✓ | ✓ | ✓ | ✓ |
| Commercial support | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| Live community | ✓ | 0.5 | · | ✓ | · | 0.5 |
| Open Source | · | ✓ | · | · | · | ✓ |
| Pricing | · | · | ✓ | · | ✓ | ✓ |
| Trendiness | ✓ | 0.5 | 0.5 | 0.75 | ✓ | · |
| Deployment | ||||||
| Containerization | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| Work as dedicated instance | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Work as embedded | · | ✓ | · | ✓ | · | ✓ |
| Testing in-memory version | · | · | · | · | ✓ | · |
| Platform | ||||||
| Operating on Linux | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Operating on Windows | · | ✓ | · | ✓ | · | 0.75 |
| SaaS offering | ✓ | ✓ | ✓ | · | · | ✓ |
| Operations | ||||||
| Automatic updates | · | ✓ | · | · | · | · |
| Client side caching | · | · | ✓ | · | · | · |
| Data versioning support | · | ✓ | ✓ | ✓ | ✓ | · |
| Live backups | ✓ | ✓ | ✓ | 0.5 | ✓ | · |
| Distribution | ||||||
| Cluster Re-balancing | · | · | ✓ | · | · | · |
| Data Distribution | · | · | ✓ | 0.75 | ✓ | · |
| High-Availability | ✓ | · | ✓ | ✓ | ✓ | · |
| Query Distribution | ✓ | · | ✓ | 0.75 | ✓ | · |
| Replication support | ✓ | · | ✓ | ✓ | ✓ | · |
| Developer Experience | ||||||
| Data types defined | 0.5 | ✓ | ✓ | ✓ | 0.5 | 0.5 |
| Logging/Auditing | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| Object-Graph Mapper | · | · | ✓ | ✓ | · | · |
| Reactive programming | ✓ | · | ✓ | · | · | · |
| Documentation up-to-date | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Binary protocol | · | · | · | · | · | · |
| CLI | ✓ | · | ✓ | ✓ | ✓ | · |
| GUI | ✓ | · | ✓ | ✓ | ✓ | · |
| Data Model | ||||||
| Multi-database | ✓ | · | ✓ | · | · | · |
| Graph-native data | · | ✓ | ✓ | ✓ | ✓ | ✓ |
| REST API | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Query Language | ✓ | ✓ | ✓ | ✓ | ✓ | 0.5 |
| Transactions | ||||||
| Granular locking | ✓ | · | · | · | · | · |
| Multiple isolation levels | ✓ | · | ✓ | · | · | · |
| Read committed transaction | · | ✓ | · | ✓ | · | · |
| Transaction support | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| Schema & Security | ||||||
| Constraints | ✓ | 0.75 | ✓ | ✓ | · | · |
| Schema support | ✓ | 0.5 | ✓ | 0.5 | ✓ | · |
| Secondary indexes | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| Server side procedures | ✓ | · | ✓ | ✓ | · | · |
| Triggers | · | · | ✓ | · | · | · |
| Authentication | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| Authorization | ✓ | ✓ | ✓ | ✓ | ✓ | · |
| Data encryption | · | ✓ | · | · | ✓ | · |
All 21 engines
| Name | Vendor | Model | Category | GitHub stars | License | Written in | Query languages | Rank |
|---|---|---|---|---|---|---|---|---|
| QLever | University of Freiburg | RDF | Emerging | 912 | Apache-2.0 | C++ | SPARQL | #6 |
| Oxigraph | Oxigraph Community | RDF | Emerging | 2k | Apache-2.0 OR MIT | Rust | SPARQL | #13 |
| Ontop | Ontopic | RDF | Established | 966 | Apache-2.0 | Java | SPARQL | #18 |
| RDFLib | RDFLib Community | RDF | Established | 2.5k | BSD-3-Clause | Python | SPARQL | #21 |
| Apache Jena Fuseki | Apache Software Foundation | RDF | Established | 1.5k | Apache-2.0 | Java | SPARQL | #22 |
| Eclipse RDF4J | Eclipse Foundation | RDF | Established | 420 | BSD-3-Clause | Java | SPARQL | #27 |
| Comunica | Comunica Association | RDF | Emerging | 610 | MIT | TypeScript | SPARQL, GraphQL | #28 |
| RDFox | Samsung | RDF | Enterprise | — | Proprietary | C++ | SPARQL | #60 |
| gStore | Peking University | RDF | Emerging | 841 | BSD-3-Clause | C++ | SPARQL | #67 |
| Attean | Gregory Todd Williams | RDF | Emerging | 20 | GPL-1.0-or-later OR Artistic-1.0-Perl | Perl | SPARQL | #101 |
| Duck RDF | Dan Bennett | RDF | Emerging | 39 | MIT | C++ | SPARQL | #104 |
| Quadstore | Jacopo Scazzosi | RDF | Emerging | 233 | MIT | TypeScript | SPARQL | #116 |
| Tentris | DICE Research Group, Paderborn University | RDF | Emerging | — | Proprietary | C++ | SPARQL | #140 |
| OxiRS | — | RDF | Emerging | 96 | Apache-2.0 | Rust | SPARQL | #144 |
| oxilite | Volodymyr Pavlyshyn | RDF | Emerging | 52 | MIT OR Apache-2.0 | Rust | SPARQL, openCypher | #151 |
No longer active
- Redland — Mature project with periodic maintenance. Last release 2.0.18 in October 2024.
- RDF::Trine — Deprecated in favour of the Attean framework. Last release was v1.019 in January 2018.
- Google Cayley — No significant development activity since 2020.
- 4store — Sporadic maintenance only. Originally developed circa 2009.
- BlazeGraph — Last release in 2019. Project largely dormant, though still used by Wikidata.
- BrightstarDB — No active development since 2015.
- SparkleDB — No evidence of activity since approximately 2018. Website defunct.
- Apache Rya — No development activity since December 2020.
- Dydra — Public SDK last updated 2012. Core engine is closed-source with limited visibility.
- Halyard — No development activity since mid-2022.
- Apache Marmotta KiWi — Project retired to the Apache Attic. Repository archived in May 2021.
- Parliament — Last release v2.8.1 in June 2022. Limited recent activity.
- Kowari — No longer developed. Continued as the Mulgara fork from 2005.
- Akutan — Repository archived February 2022. Never reached production readiness.
- Mulgara — No significant development activity in recent years.
- Strabon — Minimal development activity in recent years.
- RedStore — Mature project with minimal recent activity.