Fork of https://github.com/oxigraph/oxigraph.git for the purpose of NextGraph project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Yuri Astrakhan 405b95b4bd Minor linting fixes 10 months ago
.clusterfuzzlite Migrates RDF/XML parser from Rio 1 year ago
.github oxttl: Exposes the base IRI 10 months ago
bench Renames oxigraph-server to oxigraph(-cli) 1 year ago
cli Simplify complex strings with raw literals, readme fix 10 months ago
docs Architecture diagram 10 months ago
fuzz Parsers: adds "unchecked" option for faster parsing 10 months ago
js Use `Self::AssocName` to simplify declarations 10 months ago
lib Minor linting fixes 10 months ago
lints Add debug print to test_debian_compatibility 10 months ago
oxrocksdb-sys Turtle: fixes parsing bug with escaped dot at the end of a local name 10 months ago
python Turtle: fixes parsing bug with escaped dot at the end of a local name 10 months ago
testsuite Use `Self::AssocName` to simplify declarations 10 months ago
.dockerignore Fixes a style problem in pyoxigraph Cargo.toml 4 years ago
.gitignore Auto generates pyoxigraph type stubs 2 years ago
.gitmodules Run RDF canon tests to check isomorphism 1 year ago
.mailmap Make all Thomases into one 2 years ago
.readthedocs.yaml ReadTheDocs: updates Rust version 1 year ago
CHANGELOG.md Releases v0.4.0-alpha.2 10 months ago
CITATION.cff Adds DOI to CITATION.cff 2 years ago
Cargo.lock Turtle: fixes parsing bug with escaped dot at the end of a local name 10 months ago
Cargo.toml Enables cargo semver-checks again 10 months ago
LICENSE-APACHE Initial commit 7 years ago
LICENSE-MIT Update LICENSE-MIT 5 years ago
README.md Fix CI status badges 10 months ago
clippy.toml XSD type structs: use by-value instead of by-ref in methods 1 year ago
deny.toml Upgrades RocksDB to 7.0 3 years ago
logo.svg Adds Oxigraph logo 4 years ago
rustfmt.toml Improves Rustfmt and Clippy configuration 2 years ago
server Renames oxigraph-server to oxigraph(-cli) 1 year ago
typos.toml Adds a typo linter as part of the CI 2 years ago

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.
  • 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

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!