Oxigraph
activeby Oxigraph community (Tpt) · since 2018
Small, fast SPARQL database in Rust that embeds in Rust, Python and JavaScript or runs as a server.
Overview
Oxigraph is an open-source RDF graph database and SPARQL engine written in Rust. It stores quads in RocksDB (or in memory), implements SPARQL 1.1 Query, Update and Federated Query with early SPARQL 1.2/RDF 1.2 support, and ships as a Rust crate, a Python package (pyoxigraph), a JavaScript/WebAssembly package and a standalone HTTP server. It is a good default for embedding RDF in applications, notebooks and browsers, or for small-to-medium SPARQL endpoints. It is not a distributed or reasoning-heavy store, and its query optimizer is simpler than those in commercial triplestores.
Strengths & trade-offs
Strengths
- +Embeds in Rust, Python and browser/Node via WebAssembly with the same engine
- +Standards-compliant SPARQL 1.1 with early SPARQL 1.2 / RDF 1.2 work
- +Tiny operational footprint: one binary or one pip install
- +Dual Apache/MIT license
Trade-offs
- −No clustering or replication
- −No built-in OWL reasoning or full-text search
- −Pre-1.0 versioning with occasional storage format changes
Great for
- +Embedding RDF in Python or Rust apps
- +Client-side SPARQL in the browser
- +Small SPARQL endpoints for datasets and vocabularies
- +Testing RDF pipelines
Think twice for
- −Billion-triple public endpoints
- −Reasoning-heavy enterprise knowledge graphs
- −Property-graph workloads
Capabilities
Native or official first-party support · 5 of 25 tracked
Scale & consistency
- Comfortable data size
- Small · ≤ 100 GB
- Horizontal scaling
- None
- Multi-region
- No
- Transactions
- Full ACID
- Consistency
- Strong
- Schema
- Schemaless
- Architecture
- Embedded, Single node, Client server
- Query languages
- SPARQL
Single process on RocksDB; comfortable up to hundreds of millions of triples.
Deployment
Ecosystem
Alternatives to Oxigraph
Apache Jena's native RDF store, embeddable in Java or served over SPARQL with Fuseki.
oxigraph vs apache-jena-tdb →Fast open-source SPARQL engine that serves all of Wikidata or OpenStreetMap from one machine.
oxigraph vs qlever →Hybrid SQL/RDF engine that runs many of the largest public SPARQL endpoints.
oxigraph vs virtuoso →Standards-compliant RDF triplestore with reasoning, connectors and MCP support for GraphRAG.
oxigraph vs ontotext-graphdb →In-memory RDF store with incremental Datalog reasoning, now owned by Samsung.
oxigraph vs rdfox →Eclipse Foundation's Java RDF framework with native, LMDB and in-memory SPARQL stores.
oxigraph vs eclipse-rdf4j →Oxigraph FAQ
What is Oxigraph?
Oxigraph is a RDF / triple store database by Oxigraph community (Tpt), first released in 2018. Oxigraph is an open-source RDF graph database and SPARQL engine written in Rust. It stores quads in RocksDB (or in memory), implements SPARQL 1.1 Query, Update and Federated Query with early SPARQL 1.2/RDF 1.2 support, and ships as a Rust crate, a Python package (pyoxigraph), a JavaScript/WebAssembly package and a standalone HTTP server. It is a good default for embedding RDF in applications, notebooks and browsers, or for small-to-medium SPARQL endpoints. It is not a distributed or reasoning-heavy store, and its query optimizer is simpler than those in commercial triplestores.
Is Oxigraph open source?
Yes. Oxigraph is open source. License: Apache-2.0 OR MIT.
Does Oxigraph support ACID transactions?
Yes. Oxigraph supports full ACID transactions, with strong consistency.
Does Oxigraph scale horizontally?
Oxigraph does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).
How can I run Oxigraph?
You can self-host it and embed it in your application.
What is Oxigraph best for?
Oxigraph is a strong fit for embedding RDF in Python or Rust apps; client-side SPARQL in the browser; and small SPARQL endpoints for datasets and vocabularies. Think twice for billion-triple public endpoints.
What are the best alternatives to Oxigraph?
Common alternatives to Oxigraph include Apache Jena TDB, QLever, OpenLink Virtuoso, Graphwise GraphDB (Ontotext) and RDFox. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is Oxigraph?
Oxigraph ranks #223 of 844 databases on the WhichDB Score (15.1/100), and #6 among RDF / triple store databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.