oxigraph

SPARQL graph database

https://github.com/oxigraph/oxigraph

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 17 committers (11.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.5%) to scientific vocabulary

Keywords

graph-database rdf-store sparql
Last synced: 6 months ago · JSON representation ·

Repository

SPARQL graph database

Basic Info
  • Host: GitHub
  • Owner: oxigraph
  • License: apache-2.0
  • Language: Rust
  • Default Branch: main
  • Homepage:
  • Size: 7.51 MB
Statistics
  • Stars: 1,307
  • Watchers: 32
  • Forks: 87
  • Open Issues: 95
  • Releases: 0
Topics
graph-database rdf-store sparql
Created almost 8 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Funding License Citation

README.md

Oxigraph

Latest Version Released API docs PyPI npm tests status artifacts status dependency status Gitter Twitter URL

Oxigraph is a graph database implementing the SPARQL standard.

Its goal is to provide a compliant, safe, and fast graph database based on the RocksDB key-value store. It is written in Rust. It also provides a set of utility functions for reading, writing, and processing RDF files.

Oxigraph is in heavy development and SPARQL query evaluation has not been optimized yet. The development roadmap is using GitHub milestones. Oxigraph internal design is described on the wiki.

Oxigraph implements the following specifications:

It is split into multiple parts:

Also, some parts of Oxigraph are available as standalone Rust crates: * oxrdf, datastructures encoding RDF basic concepts (the oxigraph::model module). * oxrdfio, a unified parser and serializer API for RDF formats (the oxigraph::io module). It itself relies on: * oxttl, N-Triple, N-Quad, Turtle, TriG and N3 parsing and serialization. * oxrdfxml, RDF/XML parsing and serialization. * spareval, a SPARQL evaluator. * spargebra, a SPARQL parser. * sparesults, parsers and serializers for SPARQL result formats. * sparopt, a SPARQL optimizer. * oxsdatatypes, an implementation of some XML Schema datatypes.

The library layers in Oxigraph. The elements above depend on the elements below: Oxigraph libraries architecture diagram

A preliminary benchmark is provided. There is also a document describing Oxigraph technical architecture.

When cloning this codebase, don't forget to 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.

Help

Feel free to use GitHub discussions or the Gitter chat to ask questions or talk about Oxigraph. Bug reports 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.

License

This project is licensed under either of

  • Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
  • MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)

at your option.

Contribution

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

And others. Many thanks to them!

Owner

  • Name: Oxigraph
  • Login: oxigraph
  • Kind: organization

Home of Oxigraph, a SPARQL database and some utility libraries

Citation (CITATION.cff)

cff-version: 1.2.0
abstract: "Oxigraph is a graph database implementing the SPARQL standard."
authors:
  - given-names: Thomas
    family-names: Pellissier Tanon
    email: thomas@pellissier-tanon.fr
    orcid: "https://orcid.org/0000-0002-0620-6486"
doi: 10.5281/zenodo.7408022
license:
  - Apache-2.0
  - MIT
message: "If you use this software, please cite it as below."
repository-code: "https://github.com/oxigraph/oxigraph"
title: Oxigraph
type: software
url: "https://oxigraph.org"

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 1,330
  • Total Committers: 17
  • Avg Commits per committer: 78.235
  • Development Distribution Score (DDS): 0.277
Past Year
  • Commits: 272
  • Committers: 7
  • Avg Commits per committer: 38.857
  • Development Distribution Score (DDS): 0.085
Top Committers
Name Email Commits
Tpt t****t@h****r 962
Tpt t****s@p****r 249
dependabot[bot] 4****]@u****m 42
Thomas Tanon T****t@u****m 16
Dustin Whitney d****y@g****m 13
Tpt t****n@h****i 12
Vincent Emonet v****t@g****m 10
Pierre-Antoine Champin p****n@l****r 8
Yuri Astrakhan Y****n@g****m 4
Benedikt Seidl b****l@g****e 3
Edmond Chuc 3****c@u****m 2
Jeremiah 4****s@u****m 2
Maximilian Goisser m****x@f****m 2
maxlath k@m****u 2
Christoph Herzog c****s@t****t 1
dependabot-preview[bot] 2****]@u****m 1
tpltnt 1****t@u****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 197
  • Total pull requests: 1,170
  • Average time to close issues: 4 months
  • Average time to close pull requests: 6 days
  • Total issue authors: 71
  • Total pull request authors: 25
  • Average comments per issue: 2.27
  • Average comments per pull request: 0.51
  • Merged pull requests: 880
  • Bot issues: 0
  • Bot pull requests: 176
Past Year
  • Issues: 62
  • Pull requests: 544
  • Average time to close issues: 9 days
  • Average time to close pull requests: 5 days
  • Issue authors: 24
  • Pull request authors: 9
  • Average comments per issue: 1.1
  • Average comments per pull request: 0.53
  • Merged pull requests: 341
  • Bot issues: 0
  • Bot pull requests: 153
Top Authors
Issue Authors
  • Tpt (33)
  • jonassmedegaard (17)
  • jeswr (10)
  • tpluscode (10)
  • majidaldo (10)
  • hoijui (8)
  • ashleysommer (7)
  • ch-sander (5)
  • MarcAntoine-Arnaud (5)
  • nyurik (5)
  • hobofan (4)
  • pchampin (4)
  • joepie91 (4)
  • MadsHolten (4)
  • donpellegrino (3)
Pull Request Authors
  • Tpt (880)
  • dependabot[bot] (176)
  • nyurik (43)
  • jeswr (21)
  • hoijui (6)
  • magbak (6)
  • etiennept (5)
  • GregHanson (4)
  • AhmedLukman (4)
  • yarikoptic (3)
  • minorg (2)
  • heringerp (2)
  • KonradHoeffner (2)
  • chanijjani (2)
  • nichtich (2)
Top Labels
Issue Labels
enhancement (82) bug (79) question (11) help wanted (4) good first issue (2)
Pull Request Labels
dependencies (176) javascript (129) python (14) rust (14) github_actions (14)

Packages

  • Total packages: 24
  • Total downloads:
    • cargo 819,348 total
    • npm 6,471 last-month
    • pypi 53,291 last-month
  • Total docker downloads: 83
  • Total dependent packages: 71
    (may contain duplicates)
  • Total dependent repositories: 78
    (may contain duplicates)
  • Total versions: 597
  • Total maintainers: 3
pypi.org: pyoxigraph

Python bindings of Oxigraph, a SPARQL database and RDF toolkit

  • Versions: 63
  • Dependent Packages: 10
  • Dependent Repositories: 13
  • Downloads: 52,330 Last month
  • Docker Downloads: 83
Rankings
Dependent packages count: 1.6%
Stargazers count: 2.1%
Downloads: 2.8%
Average: 3.5%
Dependent repos count: 4.0%
Docker downloads count: 4.6%
Forks count: 5.5%
Maintainers (1)
Tpt
Last synced: 6 months ago
npmjs.org: oxigraph

JavaScript bindings of Oxigraph

  • Versions: 63
  • Dependent Packages: 3
  • Dependent Repositories: 3
  • Downloads: 6,471 Last month
Rankings
Stargazers count: 2.5%
Downloads: 2.7%
Forks count: 3.7%
Average: 4.2%
Dependent packages count: 5.9%
Dependent repos count: 6.4%
Maintainers (1)
Last synced: 6 months ago
proxy.golang.org: github.com/oxigraph/oxigraph
  • Versions: 63
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.7%
Average: 5.9%
Dependent repos count: 6.0%
Last synced: 6 months ago
crates.io: oxrdf

Basic data structures related to RDF

  • Documentation: https://docs.rs/oxrdf/
  • License: MIT OR Apache-2.0
  • Latest release: 0.2.4
    published about 1 year ago
  • Versions: 27
  • Dependent Packages: 22
  • Dependent Repositories: 13
  • Downloads: 129,863 Total
Rankings
Dependent packages count: 3.0%
Stargazers count: 6.3%
Average: 7.1%
Dependent repos count: 7.2%
Forks count: 8.2%
Downloads: 10.8%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: oxigraph

SPARQL database and RDF toolkit

  • Versions: 62
  • Dependent Packages: 9
  • Dependent Repositories: 14
  • Downloads: 93,499 Total
Rankings
Stargazers count: 6.3%
Dependent repos count: 6.9%
Dependent packages count: 7.4%
Average: 8.1%
Forks count: 8.2%
Downloads: 11.7%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: spargebra

SPARQL parser

  • Versions: 31
  • Dependent Packages: 7
  • Dependent Repositories: 12
  • Downloads: 85,146 Total
Rankings
Stargazers count: 6.3%
Dependent repos count: 7.4%
Dependent packages count: 7.4%
Average: 8.2%
Forks count: 8.2%
Downloads: 11.7%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: sparesults

SPARQL query results formats parsers and serializers

  • Versions: 30
  • Dependent Packages: 5
  • Dependent Repositories: 12
  • Downloads: 93,942 Total
Rankings
Stargazers count: 6.3%
Dependent repos count: 7.4%
Dependent packages count: 7.4%
Forks count: 8.2%
Average: 8.4%
Downloads: 12.8%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: oxsdatatypes

An implementation of some XSD datatypes for SPARQL implementations

  • Versions: 11
  • Dependent Packages: 5
  • Dependent Repositories: 4
  • Downloads: 49,089 Total
Rankings
Stargazers count: 6.3%
Forks count: 8.2%
Dependent packages count: 9.2%
Dependent repos count: 10.4%
Average: 10.9%
Downloads: 20.3%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: oxrocksdb-sys

Rust bindings for RocksDB for Oxigraph usage.

  • Versions: 46
  • Dependent Packages: 1
  • Dependent Repositories: 7
  • Downloads: 74,311 Total
Rankings
Stargazers count: 6.3%
Forks count: 8.2%
Dependent repos count: 8.7%
Average: 11.1%
Downloads: 14.3%
Dependent packages count: 18.2%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: oxigraph_server

Deprecated Oxigraph SPARQL HTTP server, use oxigraph-cli instead

  • Versions: 37
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 40,571 Total
Rankings
Stargazers count: 6.2%
Forks count: 8.5%
Average: 20.3%
Downloads: 23.4%
Dependent repos count: 29.3%
Dependent packages count: 33.8%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: oxigraph_wikibase

SPARQL server based on Oxigraph for Wikibase instances

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 10,390 Total
Rankings
Stargazers count: 6.2%
Forks count: 8.5%
Average: 22.7%
Dependent repos count: 29.3%
Dependent packages count: 33.8%
Downloads: 35.6%
Maintainers (1)
Tpt
Last synced: 6 months ago
conda-forge.org: pyoxigraph
  • Homepage: https://oxigraph.org
  • License: Apache-2.0 OR MIT
  • Latest release: 0.3.2
    published almost 4 years ago
  • Versions: 4
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Stargazers count: 14.2%
Forks count: 24.7%
Average: 25.4%
Dependent packages count: 28.8%
Dependent repos count: 34.0%
Last synced: 6 months ago
pypi.org: oxigraph

Oxigraph CLI tool and SPARQL HTTP server

  • Versions: 6
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 961 Last month
Rankings
Dependent packages count: 9.1%
Average: 30.3%
Dependent repos count: 51.4%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: sparql-smith

SPARQL test cases generator

  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 12,693 Total
Rankings
Stargazers count: 6.2%
Forks count: 8.5%
Dependent repos count: 29.3%
Average: 30.6%
Dependent packages count: 33.8%
Downloads: 74.9%
Maintainers (1)
Tpt
Last synced: 6 months ago
conda-forge.org: oxigraph-server
  • Homepage: https://oxigraph.org
  • License: Apache-2.0 OR MIT
  • Latest release: 0.3.2
    published almost 4 years ago
  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 14.2%
Forks count: 24.7%
Average: 31.0%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 6 months ago
conda-forge.org: oxigraph-wikibase
  • Homepage: https://oxigraph.org
  • License: Apache-2.0 OR MIT
  • Latest release: 0.2.5
    published over 4 years ago
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 14.2%
Forks count: 24.7%
Average: 31.0%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 6 months ago
crates.io: oxjsonld

Parser and serializer for the JSON-LD 1.0 format

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 8,738 Total
Rankings
Dependent repos count: 21.7%
Dependent packages count: 28.7%
Average: 48.4%
Downloads: 94.8%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: spareval

SPARQL evaluator

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 14,042 Total
Rankings
Dependent repos count: 23.7%
Dependent packages count: 31.4%
Average: 50.1%
Downloads: 95.3%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: spargeo

GeoSPARQL functions

  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 6,558 Total
Rankings
Dependent repos count: 24.8%
Dependent packages count: 32.8%
Average: 51.2%
Downloads: 96.0%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: oxigraph-cli

Oxigraph CLI tool and SPARQL HTTP server

  • Versions: 25
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 21,651 Total
Rankings
Dependent repos count: 30.3%
Dependent packages count: 35.6%
Average: 54.2%
Downloads: 96.8%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: oxrdfxml

Parser and serializer for the RDF/XML format

  • Versions: 19
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 47,958 Total
Rankings
Dependent repos count: 30.3%
Dependent packages count: 35.6%
Average: 54.2%
Downloads: 96.8%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: sparopt

SPARQL optimizer

  • Versions: 18
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 30,267 Total
Rankings
Dependent repos count: 30.3%
Dependent packages count: 35.6%
Average: 54.2%
Downloads: 96.8%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: oxttl

Parser and serializer for languages related to RDF Turtle (N-Triples, N-Quads, Turtle, TriG and N3)

  • Documentation: https://docs.rs/oxttl/
  • License: MIT OR Apache-2.0
  • Latest release: 0.1.8
    published 9 months ago
  • Versions: 21
  • Dependent Packages: 4
  • Dependent Repositories: 0
  • Downloads: 52,479 Total
Rankings
Dependent repos count: 30.3%
Dependent packages count: 35.6%
Average: 54.2%
Downloads: 96.8%
Maintainers (1)
Tpt
Last synced: 6 months ago
crates.io: oxrdfio

Parser and serializer for various RDF formats

  • Versions: 21
  • Dependent Packages: 2
  • Dependent Repositories: 0
  • Downloads: 48,151 Total
Rankings
Dependent repos count: 30.3%
Dependent packages count: 35.6%
Average: 54.2%
Downloads: 96.8%
Maintainers (1)
Tpt
Last synced: 6 months ago

Dependencies

.github/workflows/artifacts.yml actions
  • Swatinem/rust-cache v2 composite
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/metadata-action v4 composite
  • docker/setup-buildx-action v2 composite
  • docker/setup-qemu-action v2 composite
  • pypa/gh-action-pypi-publish release/v1 composite
  • softprops/action-gh-release v1 composite
.github/workflows/tests.yml actions
  • Swatinem/rust-cache v2 composite
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v4 composite
  • google/clusterfuzzlite/actions/build_fuzzers v1 composite
  • google/clusterfuzzlite/actions/run_fuzzers v1 composite
  • taiki-e/install-action wasmtime composite
Cargo.lock cargo
  • 219 dependencies
Cargo.toml cargo
fuzz/Cargo.toml cargo
js/Cargo.toml cargo
lib/Cargo.toml cargo
lib/oxrdf/Cargo.toml cargo
lib/oxsdatatypes/Cargo.toml cargo
lib/sparesults/Cargo.toml cargo
lib/spargebra/Cargo.toml cargo
lib/sparql-smith/Cargo.toml cargo
oxrocksdb-sys/Cargo.toml cargo
python/Cargo.lock cargo
  • 219 dependencies
python/Cargo.toml cargo
server/Cargo.toml cargo
  • assert_cmd =2.0.8 development
  • assert_fs =1.0.10 development
  • escargot =0.5.7 development
  • ignore =0.4.18 development
  • is-terminal =0.4.7 development
  • predicates 2 development
  • predicates-core =1.0.5 development
  • predicates-tree =1.0.7 development
  • tempfile =3.6.0 development
  • anyhow 1
  • clap =4.0
  • clap_lex =0.3.0
  • flate2 =1.0.26
  • oxhttp 0.1
  • oxigraph 0.3.19
  • oxiri 0.2
  • rand 0.8
  • rayon-core 1
  • sparesults 0.1.8
  • url 2
testsuite/Cargo.toml cargo
  • criterion 0.4 development
  • anyhow 1
  • clap 4
  • text-diff 0.4
  • time 0.3
.clusterfuzzlite/Dockerfile docker
  • gcr.io/oss-fuzz-base/base-builder-rust v1 build
.devcontainer/Dockerfile docker
  • mcr.microsoft.com/vscode/devcontainers/rust 0-${VARIANT} build
server/Dockerfile docker
  • gcr.io/distroless/cc-debian11 latest build
  • rust 1-bullseye build
js/package.json npm
  • @rdfjs/data-model ^2.0.1 development
  • mocha ^10.0.0 development
  • rome ^12.0.0 development
python/pyproject.toml pypi
python/requirements.dev.txt pypi
  • black * development
  • furo * development
  • maturin * development
  • mypy * development
  • ruff * development
  • sphinx * development