#![forbid(unsafe_code)]
#![warn(missing_docs)]
mod error;
mod model;
mod persist;
mod query;
mod world;
pub use error::{Error, Result};
pub use model::{Model, StatementMatches, StatementPattern};
pub use query::{Query, QueryResults};
pub use world::{FeatureValue, World};
pub mod terms {
pub use oxigraph::model::{
BlankNode, GraphName, GraphNameRef, Literal, NamedNode, NamedNodeRef, NamedOrBlankNode,
NamedOrBlankNodeRef, Quad, QuadRef, Term, TermRef, Triple, TripleRef, Variable,
};
use crate::{Error, Result};
pub fn named_node(iri: impl AsRef<str>) -> Result<NamedNode> {
NamedNode::new(iri.as_ref()).map_err(|error| Error::InvalidRdf(error.to_string()))
}
pub fn blank_node(id: Option<&str>) -> Result<BlankNode> {
match id {
Some(id) => BlankNode::new(id).map_err(|error| Error::InvalidRdf(error.to_string())),
None => Ok(BlankNode::default()),
}
}
}
pub mod io {
pub use oxigraph::io::{RdfFormat, RdfParser, RdfSerializer};
}
pub mod sparql {
pub use oxigraph::sparql::{QueryResults, QuerySolution, QuerySolutionIter, SparqlEvaluator};
}