/sophia_rs

Sophia: a Rust toolkit for RDF and Linked Data

Primary LanguageRustOtherNOASSERTION

Sophia

A Rust toolkit for RDF and Linked Data.

Build Status Latest Version Coverage Status

It comprises the following crates:

  • sophia_api defines 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_iri provides functions for validating and resolving IRIs.
  • sophia_term defines implementations of the TTerm trait.
  • sophia is the “all-included” crate, re-exporting symbols from all the crates above and also providing additional implementations:
    • optimized in-memory graphs and datasets,
    • parsers and serializers for various RDF formats (Turtle-family and RDF/XML).
  • sophia_jsonld provides preliminary support for JSON-LD.

Licence

CECILL-B (compatible with BSD)

Performances

A comparison of Sophia with other RDF libraries is available here.

Testing

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 execute the following commands:

$ git submodule init
$ git submodule update

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}
}