#linked-data #semantic-web #rdf #w3c #query-language

sophia_isomorphism

A Rust toolkit for RDF and Linked Data - Graph and Dataset isomorphism

6 releases

new 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

#2075 in Web programming

Download history 294/week @ 2024-08-01 339/week @ 2024-08-08 618/week @ 2024-08-15 717/week @ 2024-08-22 528/week @ 2024-08-29 260/week @ 2024-09-05 167/week @ 2024-09-12 272/week @ 2024-09-19 95/week @ 2024-09-26 96/week @ 2024-10-03 61/week @ 2024-10-10 166/week @ 2024-10-17 99/week @ 2024-10-24 240/week @ 2024-10-31 238/week @ 2024-11-07 167/week @ 2024-11-14

858 downloads per month
Used in 10 crates (4 directly)

CECILL-B

495KB
11K SLoC

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 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, 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.
    • sophia_jsonld provides parsers and serializers for JSON-LD.
    • sophia_xml provides parsers and serializers for RDF/XML.
    • sophia_rio is a lower-level crate, used by the ones above.
  • 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

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

  • 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.

Dependencies

~2.7–4.5MB
~80K SLoC