A Rust toolkit for RDF and Linked Data.
It comprises the following crates:
sophia
is currently the main crate, but will eventually become a "compilation" of the smaller, more specialized crates listed below. Currently, it defines- traits for describing RDF graphs and datasets,
- implementation of those traits (in-memory),
- traits for serializing and parsing various RDF formats,
- implementation of those traits for Turtle-like syntaxes and RDF/XML.
sophia_api
currently defines the trait for RDF terms, with its associated types; in the future it will contain all the core traits and types of the Sophia API.sophia_iri
provides functions for validating and resolving IRIssophia_term
defines implementations of theTTerm
trait.sophia_jsonld
preliminary support for JSON-LD
A comparison of Sophia with other RDF libraries is available here.
The test suite depends on the RDF test-suite and the JSON-LD test-suite
which is included as a git
submodule.
In order to run all the tests, you need to execude the following commands:
$ git submodule init
$ git submodule update
- CECILL-B (compatible with BSD) for core reusable components
- CECILL-C (compatible with GNU LGPL) for other components
When using Sophia, please use the following citation:
Champin, P.-A. (2020) ‘Sophia: A Linked Data and Semantic Web toolkit for Rust’, in Wilde, E. and Amundsen, M. (eds). The Web Conference 2020: Developers Track, Taipei, TW. Available at: https://www2020devtrack.github.io/site/schedule.
Bibtex:
@misc{champin_sophia_2020,
title = {{Sophia: A Linked Data and Semantic Web toolkit for Rust},
author = {Champin, Pierre-Antoine},
howpublished = {{The Web Conference 2020: Developers Track}},
address = {Taipei, TW},
editor = {Wilde, Erik and Amundsen, Mike},
month = apr,
year = {2020},
language = {en},
url = {https://www2020devtrack.github.io/site/schedule}
}