Oxigraph

active

by Oxigraph community (Tpt) · since 2018

Small, fast SPARQL database in Rust that embeds in Rust, Python and JavaScript or runs as a server.

rdf / triple storedatabase engineopen source (permissive)growing

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

✓Transactions
✓In-memory
✓Durable persistence
✓Compression
✓Runs in WebAssembly
–Joins
–Secondary indexes
–Full-text search
–Vector search
–Geospatial
–JSON
–Change data capture
–Triggers
–Stored procedures
–Materialized views
–TTL / expiry
–Pub/Sub
–Columnar storage
–Encryption at rest
–Role-based access
–Time travel
–Branching
–Online schema changes
–Streaming ingest
–Offline sync

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

Self-hosted Vendor-managed cloud Serverless Embedded Edge Kubernetes operator

Ecosystem

apis & protocolsSPARQL HTTP protocol, Graph Store Protocol, Rust API
client languagesRust, Python, JavaScript

Alternatives to Oxigraph

Compare all→
Apache Jena TDBRDF / Triple Store18.9

Apache Jena's native RDF store, embeddable in Java or served over SPARQL with Fuseki.

oxigraph vs apache-jena-tdb →
QLeverRDF / Triple Store17.9

Fast open-source SPARQL engine that serves all of Wikidata or OpenStreetMap from one machine.

oxigraph vs qlever →
OpenLink VirtuosoRDF / Triple Store19.5

Hybrid SQL/RDF engine that runs many of the largest public SPARQL endpoints.

oxigraph vs virtuoso →
Graphwise GraphDB (Ontotext)RDF / Triple Store15.6

Standards-compliant RDF triplestore with reasoning, connectors and MCP support for GraphRAG.

oxigraph vs ontotext-graphdb →
RDFoxRDF / Triple Store3.4

In-memory RDF store with incremental Datalog reasoning, now owned by Samsung.

oxigraph vs rdfox →
Eclipse RDF4JRDF / Triple Store10.6

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.