https://github.com/oxigraph/oxigraph
SPARQL graph database
https://github.com/oxigraph/oxigraph
graph-database rdf-store sparql
Last synced: 4 days ago
JSON representation
SPARQL graph database
- Host: GitHub
- URL: https://github.com/oxigraph/oxigraph
- Owner: oxigraph
- License: apache-2.0
- Created: 2018-05-16T15:29:28.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2026-10-12T16:19:59.000Z (11 days ago)
- Last Synced: 2026-10-14T07:58:47.532Z (9 days ago)
- Topics: graph-database, rdf-store, sparql
- Language: Rust
- Homepage:
- Size: 8.49 MB
- Stars: 1,989
- Watchers: 32
- Forks: 181
- Open Issues: 155
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE-APACHE
- Citation: CITATION.cff
Awesome Lists containing this project
- awesome-graph-universe - Oxigraph - active-brightgreen)  - An RDF graph database offering an in-memory store that can compile to WebAssembly and a RocksDB-based backend. It is designed for both server environments and embedded applications. (Graph Databases / Triple Stores (RDF Databases))
- awesome-starred - oxigraph/oxigraph - SPARQL graph database (others)
- awesome-rust - oxigraph/oxigraph - graph database implementing the [SPARQL](https://www.w3.org/TR/sparql11-overview/) standard  (Applications / Database)
- trackawesomelist - oxigraph/oxigraph (⭐1k) - graph database implementing the [SPARQL](https://www.w3.org/TR/sparql11-overview/) standard  (Recently Updated / [Oct 31, 2024](/content/2024/10/31/README.md))
- fucking-awesome-rust - oxigraph/oxigraph - graph database implementing the 🌎 [SPARQL](www.w3.org/TR/sparql11-overview/) standard  (Applications / Database)
- awesome-semantic-web - Oxigraph - (OS) a graph database implementing the SPARQL standard and written in Rust. (Databases / Data Cube extensions)
- awesome-knowledge-graph - Oxigraph - a light wight triple store written in Rust. (Infrastructure / Triple Stores)
- awesome-ccamel - oxigraph/oxigraph - SPARQL graph database (Rust)
- awesome-rust-with-stars - oxigraph/oxigraph - 01-25 | (Applications / Database)
- awesome-list - oxigraph
README
# Oxigraph
[](https://crates.io/crates/oxigraph)
[](https://docs.rs/oxigraph)
[](https://pypi.org/project/pyoxigraph/)
[](https://www.npmjs.com/package/oxigraph)
[](https://github.com/oxigraph/oxigraph/actions)
[](https://github.com/oxigraph/oxigraph/actions)
[](https://deps.rs/repo/github/oxigraph/oxigraph)
[](https://gitter.im/oxigraph/community)
[](https://twitter.com/oxigraph)
Oxigraph is both a graph database and a [RDF](https://www.w3.org/TR/rdf11-primer/) and [SPARQL](https://www.w3.org/TR/sparql11-overview/) toolkit.
Its goal is to provide a compliant, safe, and fast graph database based on the [RocksDB](https://rocksdb.org/) key-value store.
It also provides a set of utilities for RDF basic manipulation (parsing, serialization, canonicalization) and building SPARQL implementations (SPARQL results parsers/serializers, SPARQL parser...).
Oxigraph is in heavy development and SPARQL query evaluation has not been optimized yet.
Oxigraph internal design [is described on the wiki](https://github.com/oxigraph/oxigraph/wiki/Architecture).
Oxigraph implements the following specifications:
- [SPARQL Query](https://www.w3.org/TR/sparql-query/), [SPARQL Update](https://www.w3.org/TR/sparql-update/), and [SPARQL Federated Query](https://www.w3.org/TR/sparql-federated-query/).
- [Turtle](https://www.w3.org/TR/turtle/), [TriG](https://www.w3.org/TR/trig/), [N-Triples](https://www.w3.org/TR/n-triples/), [N-Quads](https://www.w3.org/TR/n-quads/), [RDF/XML](https://www.w3.org/TR/rdf-syntax-grammar/) and [JSON-LD](https://www.w3.org/TR/json-ld/) RDF serialization formats for both data ingestion and retrieval.
- [SPARQL Query Results XML Format](https://www.w3.org/TR/rdf-sparql-XMLres/), [SPARQL Query Results JSON Format](https://www.w3.org/TR/sparql-results-json/) and [SPARQL Query Results CSV and TSV Formats](https://www.w3.org/TR/sparql-results-csv-tsv/).
- [RDF Dataset Canonicalization](https://www.w3.org/TR/rdf-canon/).
Most implementations are nearly fully conformant with the latest recommendations (1.1 for RDF, SPARQL and JSON-LD) with preliminary support for 1.2 RDF and SPARQL drafts.
It is split into multiple parts:
- [The database written as a Rust library](./lib/oxigraph). Its source code is in the `lib` directory.
[](https://crates.io/crates/oxigraph)
[](https://docs.rs/oxigraph)
- [`pyoxigraph` that exposes Oxigraph to the Python world](./python). Its source code is in the `python` directory. [](https://pypi.org/project/pyoxigraph/)
- [JavaScript bindings for Oxigraph](./js). WebAssembly is used to package Oxigraph into a NodeJS compatible NPM package. Its source code is in the `js` directory.
[](https://www.npmjs.com/package/oxigraph)
- [Oxigraph binary](./cli) that provides a standalone command-line tool allowing to manipulate RDF data and spawn a web server implementing the [SPARQL 1.1 Protocol](https://www.w3.org/TR/sparql11-protocol/) and the [SPARQL 1.1 Graph Store Protocol](https://www.w3.org/TR/sparql11-http-rdf-update/). Its source code and instructions (including Docker) are in the `cli` directory.
Note that it was previously named [Oxigraph server](https://crates.io/crates/oxigraph-server).
[](https://crates.io/crates/oxigraph-cli)
Also, some parts of Oxigraph are available as standalone Rust crates to be reused in other Rust projects:
* [`oxrdf`](./lib/oxrdf), datastructures encoding RDF basic concepts (the [`oxigraph::model`](crate::model) module).
* [`oxrdfio`](./lib/oxrdfio), a unified parser and serializer API for RDF formats (the [`oxigraph::io`](crate::io) module). It itself relies on:
* [`oxttl`](./lib/oxttl), N-Triple, N-Quad, Turtle, TriG and N3 parsing and serialization.
* [`oxrdfxml`](./lib/oxrdfxml), RDF/XML parsing and serialization.
* [`oxjsonld`](./lib/oxjsonld), JSON-LD RDF serialization/deserialization algorithms.
* [`spareval`](./lib/spareval), a SPARQL evaluator.
* [`spargebra`](./lib/spargebra), a SPARQL parser.
* [`sparesults`](./lib/sparesults), parsers and serializers for SPARQL result formats.
* [`sparopt`](./lib/sparopt), a SPARQL optimizer.
* [`oxsdatatypes`](./lib/oxsdatatypes), an implementation of some XML Schema datatypes.
* [`spargeo`](./lib/spargeo), a partial implementation of [GeoSPARQL](https://docs.ogc.org/is/22-047r1/22-047r1.html).
The library layers in Oxigraph. The elements above depend on the elements below:

There is [a document describing Oxigraph technical architecture](https://github.com/oxigraph/oxigraph/wiki/Architecture).
## Help
Feel free to use [GitHub discussions](https://github.com/oxigraph/oxigraph/discussions) or [the Gitter chat](https://gitter.im/oxigraph/community) to ask questions or talk about Oxigraph.
[Bug reports](https://github.com/oxigraph/oxigraph/issues) are also very welcome.
If you need advanced support or are willing to pay to get some extra features, feel free to reach out to [Tpt](https://github.com/Tpt/).
## License
This project is licensed under either of
- Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
- MIT license ([LICENSE-MIT](LICENSE-MIT) or
http://opensource.org/licenses/MIT)
at your option.
### Contribution
When cloning this codebase, clone the submodules using
`git clone --recursive https://github.com/oxigraph/oxigraph.git` to clone the repository including submodules or
`git submodule update --init` to add the submodules to the already cloned repository.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Oxigraph by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
## Sponsors
* [Zazuko](https://zazuko.com/), a knowledge graph consulting company.
* [RelationLabs](https://relationlabs.ai/) that is building [Relation-Graph](https://github.com/relationlabs/Relation-Graph), a SPARQL database module for the [Substrate blockchain platform](https://substrate.io/) based on Oxigraph.
* [Field 33](https://field33.com) that was building [an ontology management platform](https://plow.pm/).
* [Magnus Bakken](https://github.com/magbak) who is building [Data Treehouse](https://www.data-treehouse.com/), a time-series + RDF datalake platform, and [chrontext](https://github.com/magbak/chrontext), a SPARQL query endpoint on top of joint RDF and time series databases.
* [DeciSym.AI](https://www.decisym.ai/) a cybersecurity consulting company providing RDF-based software.
* [ACE IoT Solutions](https://aceiotsolutions.com/), a building IOT platform.
* [Albin Larsson](https://byabbe.se/) who is building [GovDirectory](https://www.govdirectory.org/), a directory of public agencies based on Wikidata.
And [others](https://github.com/sponsors/Tpt). Many thanks to them!