//!
//! 
//! This crate provides an implementation of the RDF abstract syntax along with a `Resource` type
//! that provides a builder-like experience for models.
//!
//! From [RDF 1.1 Concepts and Abstract Syntax](https://www.w3.org/TR/rdf11-concepts/);
//!
//! > The core structure of the abstract syntax is a set of triples, each consisting of a subject, a
//! > predicate and an object. A set of such triples is called an RDF graph. An RDF graph can be
//! > visualized as a node and directed-arc diagram, in which each triple is represented as a
//! > node-arc-node link.
//! >
//! > 
//! >
//! > There can be three kinds of nodes in an RDF graph: IRIs, literals, and blank nodes.
//!
//! In this library the triple, or statement, as well as subject, predicate, and object types are
//! in the module [`statement`](model/statement/index.html). Literal's as objects are supported in the
//! [`literal`](model/literal/index.html) module. Traits that describe graphs are provided by the
//! [`graph`](model/graph/index.html) module.
//!
//! Additional features are provided such as support for data sets (module [`data_set`](model/data_set/index.html))
//! as well as support for extensions to the core RDF abstract model such as
//! [RDF-star](https://w3c.github.io/rdf-star/cg-spec/editors_draft.html).
//!
//! # Example
//!
//! ```rust
//! use rdftk_core::model::data_set::DataSet;
//! use rdftk_core::model::graph::Graph;
//! use rdftk_core::model::literal::Literal;
//! use rdftk_core::model::statement::{
//! ObjectNode, Statement, SubjectNode,
//! };
//! use rdftk_iri::Iri;
//! use std::str::FromStr;
//!
//! let statement = Statement::new(
//! Iri::from_str("http://en.wikipedia.org/wiki/Tony_Benn").unwrap(),
//! Iri::from_str("http://purl.org/dc/elements/1.1/title").unwrap(),
//! Literal::from("Tony Benn"),
//! );
//!
//! let graph = Graph::from(statement);
//!
//! let data_set = DataSet::from(graph);
//! ```
//!
// ------------------------------------------------------------------------------------------------
// Modules
// ------------------------------------------------------------------------------------------------
#[macro_use]
pub mod error;
pub mod model;