#![deny(unsafe_code)]
#![deny(clippy::undocumented_unsafe_blocks)]
#![warn(missing_docs)]
mod error;
pub mod factory;
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::{
LayoutReaderPolicy, OpenOptions, StorageBackend, StorageBackendDescriptor, StorageCapabilities,
StorageFacade, compiled_backends, is_known_backend_name, supported_backends,
};
pub use world::{
BridgeToken, FeatureMap, FeatureValue, LogFacility, LogLevel, LogRecord, StorageFeatures, 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,
};
}