6 releases
| 0.9.0 | Nov 21, 2024 |
|---|---|
| 0.8.0 | Jan 8, 2024 |
| 0.8.0-alpha.3 | Oct 24, 2023 |
| 0.8.0-alpha.2 | Sep 15, 2023 |
| 0.8.0-alpha.0 | Feb 10, 2023 |
#2140 in Web programming
16,232 downloads per month
Used in 32 crates
(via sophia)
515KB
11K
SLoC
Sophia
A Rust toolkit for RDF and Linked Data.
It comprises the following crates:
- Core 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_termdefines various implementations of theTermtrait fromsophia_api.sophia_inmemdefines in-memory implementations of theGraphandDatasettraits fromsophia_api.
- Parsers and serializers
sophia_turtleprovides parsers and serializers for the Turtle-family of concrete syntaxes.sophia_jsonldprovides parsers and serializers for JSON-LD.sophia_xmlprovides parsers and serializers for RDF/XML.sophia_riois a lower-level crate, used by the ones above.
- Other
sophia_c14nimplements RDF canonicalization.sophia_isomorphismprovides functions to determine if two graphs or datasets are isomorphic.sophia_sparqlprovides a (currently partial) implementation of the SPARQL 1.1 Query Language.sophia_sparql_clientprovides a client for the SPARQL 1.1 Protocol.sophia_resourceprovides a resource-centric API.
- All-inclusive
sophiare-exports symbols from all the crates above, with the following provisio:sophia_jsonldis only available with thejsonldfeaturesophia_sparqlis only available with thesparqlfeaturesophia_sparql_clientis only available with thehttp_clientfeaturesophia_xmlis only available with thexmlfeature
In addition to the API documentation, a high-level user documentation is available (although not quite complete yet).
Licence
CECILL-B (compatible with BSD)
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:
@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}
}
Third-party crates
The following third-party crates are using or extending Sophia
hdtprovides an implementation of Sophia's traits based on the HDT format.manasis a modular framework for implementing Solid compatible serversnanopubis a toolkit for managing nanopublications
History
An outdated comparison of Sophia with other RDF libraries is still available here.
Dependencies
~3–5MB
~98K SLoC