#![forbid(unsafe_code)]
#![warn(missing_docs)]
mod error;
pub mod io;
mod model;
mod query;
pub mod storage;
pub mod utility;
mod world;
pub use error::{Error, ParseError, Result};
pub use model::{Model, ModelTransaction, StatementMatches, StatementPattern};
pub use query::{
Query, QueryResults, ResultsFormat, Update, serialize_graph_results_to_writer,
serialize_query_results_to_string, serialize_query_results_to_writer,
};
pub use storage::{
OpenOptions, StorageBackend, StorageCapabilities, compiled_backends, is_known_backend_name,
};
pub use world::{FeatureValue, LogFacility, LogLevel, LogRecord, 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 sparql {
pub use oxigraph::sparql::results::{QueryResultsFormat, QueryResultsSerializer};
pub use oxigraph::sparql::{
CancellationToken, QueryResults, QuerySolution, QuerySolutionIter, QueryTripleIter,
SparqlEvaluator,
};
}