1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
//! This meta-crate aims to provide a comprehensive toolkit
//! for working with [RDF] and [Linked Data] in Rust.
//!
//! It provides a unified access to a number of smaller crates,
//! that make the Sophia toolkit:
//!
//! * [`api`]
//! * [`c14n`]
//! * [`inmem`]
//! * [`iri`]
//! * [`isomorphism`]
//! * [`jsonld`]
//! * [`resource`]
//! * [`turtle`]
//! * [`term`]
//! * [`xml`] (with the `xml` feature enabled)
//!
//! # Getting Started
//!
//! See the [Sophia book](https://pchampin.github.io/sophia_rs/ch01_getting_started.html)
//!
//!
//! [RDF]: https://www.w3.org/TR/rdf-primer/
//! [Linked Data]: http://linkeddata.org/
#![deny(missing_docs)]
pub use sophia_api as api;
pub use sophia_c14n as c14n;
pub use sophia_inmem as inmem;
pub use sophia_iri as iri;
pub use sophia_isomorphism as isomorphism;
#[cfg(feature = "jsonld")]
pub use sophia_jsonld as jsonld;
pub use sophia_resource as resource;
pub use sophia_term as term;
pub use sophia_turtle as turtle;
#[cfg(feature = "xml")]
pub use sophia_xml as xml;
/// Including tests from all code snippets in the book
/// from https://github.com/rust-lang/mdBook/issues/706#issuecomment-1085137304
#[cfg(doctest)]
mod booktest {
macro_rules! booktest {
($i:ident) => {
#[doc = include_str!(concat!("../../book/src/", stringify!($i), ".md"))]
mod $i {}
};
}
booktest!(ch01_getting_started);
booktest!(ch02_rdf_terms);
booktest!(ch03_rdf_statements);
booktest!(ch04_rdf_graphs);
booktest!(ch05_term_matchers);
booktest!(ch06_rdf_datasets);
booktest!(ch07_parsing_and_serializing);
booktest!(ch90_changes_since_07);
}