Sophia v0.6: more modular, more generic


I finally released a new version of Sophia (http://crates.io/crates/sophia), the linked data toolkit for the Rust programming language.

The primary feature of this release is the new sophia_api crate, which contains all the core traits and types that make the abstract API of Sophia. This allows alternative implementations to only depend on sophia_api, without being encumbered by the implementations provided in sophia (or by their own dependencies). It is an important step towards having a unifying API for the Rust linked data ecosystem. Note that all the items of sophia_api are still accessible from the “all-included” sophia crate, so old code should still work despite this major change.

Another important change is the introduction of a new trait for RDF terms. This trait is named TTerm, and replaces the type Term<TD> in the API, making it more generic. This means that the Sophia API can now be implemented with virtually no type conversion. Of course, the old type Term<TD> is still available, and it does implement TTerm, so that again, old code should still work.

Thanks again to the all the contributors. The encouragements and enthusiasm around this project are really a boost.