Sophia
A Rust toolkit for RDF and Linked Data.
It comprises the following crates:
sophia_apidefines a generic API for RDF and linked data, as a set of core traits and types; more precisely, it provides traits for describing- terms, triples and quads,
- graphs and datasets,
- parsers and serializers
sophia_iriprovides functions, types and traits for validating and resolving IRIs.sophia_inmemdefines in-memory implementations of theGraphandDatasettraits fromsophia_api.sophia_termdefines various implementations of theTermtrait fromsophia_api.sophia_turtleprovides parsers and serializers for the Turtle-family of concrete syntaxes.sophia_xmlprovides parsers and serializers for RDF/XML.sophia_jsonldprovides preliminary support for JSON-LD.sophia_c14nimplements RDF canonicalization.sophia_resourceprovides a resource-centric API.sophia_riois a lower-level crate, used by the ones above.
and finally:
sophiais the “all-inclusive” crate, re-exporting symbols from all the crates above. (actually,sophia_xmlis only available if thexmlfeature is enabled)
Licence
CECILL-B (compatible with BSD)
Testing
The test suite depends on the [the JSON-LD test-suite
which is included as a git submodule.
In order to run all the tests, you need to execute the following commands:
Citation
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:
Third-party crates
The following third-party crates are using or extending Sophia
History
An outdated comparison of Sophia with other RDF libraries is still available here.