- Mon 08 January 2024
- #rust, #linked-data
It took a very long time, but the new version of Sophia, v0.8, is finally out (https://crates.io/crates/sophia). Some of the reasons for this long delay were exepected and alreday explained in my previous blog post (two years ago...). The highlights of this new versions are:
- The traits in sophia_api have been largely refactored to make them easier to use and to implement, benefiting from the introduction of Generic Associated Types (GATs) in stable Rust.
- In addition to supporting generalized RDF, Sophia now also supports RDF-star.
- Sophia now fully supports parsing from and serializing to JSON-LD.
- Sophia implements the W3C RDF Dataset Canonicalization specification.
- The user documentation is shaping up (even if it is still far from complete).
I am also happy to see Sophia being used in different projects (see the dedicated section in the README).
Try it out
An Web-assembly demo of Sophia is available: https://champin.net/2023/sowasm/ .
What's next
- Hopefully, it will not be two more years before the next release of Sophia! We are now using milestones on Github to plan and prioritize the next features.
- I now consider the Sophia API to be stable enough to be implemented by third-party crates. My first take at this will be to propose an implementation of Sophia traits for Oxigraph.
Acklowledgements
Again, a huge thanks to the all the contributors of Sophia, as well as the maintainers of the crates of which Sophia critically relies, in particular Tpt for the Rio parsers and serializers, and timothee-haudebourg for the json-ld crate.