pchampin/sophia_rs

Sophia: a Rust toolkit for RDF and Linked Data

Rust

331

982 commits

updated Aug 20, 2026

See the code

README

Sophia

A Rust toolkit for RDF and Linked Data.

Actions Status Latest Version Documentation

It comprises the following crates:

  • Core crates:
    • sophia_api defines a generic API for RDF 1.2 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_bcp47 provides functions and types for validating BCP47 language tags.
    • sophia_iri provides functions, types and traits for validating and resolving IRIs.
    • sophia_term defines various implementations of the Term trait from sophia_api.
    • sophia_inmem defines in-memory implementations of the Graph and Dataset traits from sophia_api.
  • Parsers and serializers
    • sophia_turtle provides parsers and serializers for the Turtle-family of concrete syntaxes (for RDF 1.2).
    • sophia_jsonld provides parsers and serializers for JSON-LD 1.1.
    • sophia_xml provides parsers and serializers for RDF/XML 1.2.
  • Other
  • All-inclusive
    • sophia re-exports symbols from all the crates above, with the following provisio:
      • sophia_jsonld is only available with the jsonld feature
      • sophia_sparql is only available with the sparql feature
      • sophia_sparql_client is only available with the http_client feature
      • sophia_xml is only available with the xml feature

In addition to the API documentation, a high-level user documentation is available (although not quite complete yet).

Licence

This project is licensed under either or

at your option.

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

  • hdt provides an implementation of Sophia's traits based on the HDT format.
  • manas is a modular framework for implementing Solid compatible servers
  • nanopub is a toolkit for managing nanopublications

History

An outdated comparison of Sophia with other RDF libraries is still available here.

Contributors

pchampin

782 commits

MattesWhite

94 commits

althonos

53 commits

mkatychev

18 commits

pchampin/sophia_rs

Sophia: a Rust toolkit for RDF and Linked Data

Rust

331

982 commits

updated Aug 20, 2026

See the code

README

Sophia

A Rust toolkit for RDF and Linked Data.

Actions Status Latest Version Documentation

It comprises the following crates:

  • Core crates:
    • sophia_api defines a generic API for RDF 1.2 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_bcp47 provides functions and types for validating BCP47 language tags.
    • sophia_iri provides functions, types and traits for validating and resolving IRIs.
    • sophia_term defines various implementations of the Term trait from sophia_api.
    • sophia_inmem defines in-memory implementations of the Graph and Dataset traits from sophia_api.
  • Parsers and serializers
    • sophia_turtle provides parsers and serializers for the Turtle-family of concrete syntaxes (for RDF 1.2).
    • sophia_jsonld provides parsers and serializers for JSON-LD 1.1.
    • sophia_xml provides parsers and serializers for RDF/XML 1.2.
  • Other
  • All-inclusive
    • sophia re-exports symbols from all the crates above, with the following provisio:
      • sophia_jsonld is only available with the jsonld feature
      • sophia_sparql is only available with the sparql feature
      • sophia_sparql_client is only available with the http_client feature
      • sophia_xml is only available with the xml feature

In addition to the API documentation, a high-level user documentation is available (although not quite complete yet).

Licence

This project is licensed under either or

at your option.

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

  • hdt provides an implementation of Sophia's traits based on the HDT format.
  • manas is a modular framework for implementing Solid compatible servers
  • nanopub is a toolkit for managing nanopublications

History

An outdated comparison of Sophia with other RDF libraries is still available here.

Contributors

pchampin

782 commits

MattesWhite

94 commits

althonos

53 commits

mkatychev

18 commits

Languages

Rust

100.0%