pub struct PreparedQuery<'a> { /* private fields */ }Expand description
A prepared SPARQL query.
Allows customizing things like the evaluation dataset and substituting variables.
Usage example:
use oxrdf::{Dataset, Literal, Variable};
use spareval::{QueryEvaluator, QueryResults};
use spargebra::SparqlParser;
let query = SparqlParser::new().parse_query("SELECT ?v WHERE {}")?;
let evaluator = QueryEvaluator::new();
let prepared_query = evaluator
.prepare(&query)
.substitute_variable(Variable::new("v")?, Literal::from(1));
if let QueryResults::Solutions(mut solutions) = prepared_query.execute(&Dataset::new())? {
assert_eq!(
solutions.next().unwrap()?.get("v"),
Some(&Literal::from(1).into())
);
}Implementations§
Source§impl PreparedQuery<'_>
impl PreparedQuery<'_>
Sourcepub fn substitute_variable(
self,
variable: impl Into<Variable>,
term: impl Into<Term>,
) -> Self
pub fn substitute_variable( self, variable: impl Into<Variable>, term: impl Into<Term>, ) -> Self
Substitute a variable with a given RDF term in the SPARQL query.
Usage example:
use oxrdf::{Dataset, Literal, Variable};
use spareval::{QueryEvaluator, QueryResults};
use spargebra::SparqlParser;
let query = SparqlParser::new().parse_query("SELECT ?v WHERE {}")?;
let evaluator = QueryEvaluator::new();
let prepared_query = evaluator
.prepare(&query)
.substitute_variable(Variable::new("v")?, Literal::from(1));
if let QueryResults::Solutions(mut solutions) = prepared_query.execute(&Dataset::new())? {
assert_eq!(
solutions.next().unwrap()?.get("v"),
Some(&Literal::from(1).into())
);
}Sourcepub fn dataset(&self) -> &QueryDatasetSpecification
pub fn dataset(&self) -> &QueryDatasetSpecification
Returns the query dataset specification of this prepared query.
Sourcepub fn dataset_mut(&mut self) -> &mut QueryDatasetSpecification
pub fn dataset_mut(&mut self) -> &mut QueryDatasetSpecification
Returns the query dataset specification of this prepared query.
Sourcepub fn execute<'b>(
self,
dataset: impl QueryableDataset<'b>,
) -> Result<QueryResults<'b>, QueryEvaluationError>
pub fn execute<'b>( self, dataset: impl QueryableDataset<'b>, ) -> Result<QueryResults<'b>, QueryEvaluationError>
Execute the SPARQL query against the given QueryableDataset.
pub fn explain<'b>( self, dataset: impl QueryableDataset<'b>, ) -> (Result<QueryResults<'b>, QueryEvaluationError>, QueryExplanation)
Trait Implementations§
Source§impl<'a> Clone for PreparedQuery<'a>
impl<'a> Clone for PreparedQuery<'a>
Source§fn clone(&self) -> PreparedQuery<'a>
fn clone(&self) -> PreparedQuery<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<'a> Freeze for PreparedQuery<'a>
impl<'a> !RefUnwindSafe for PreparedQuery<'a>
impl<'a> Send for PreparedQuery<'a>
impl<'a> Sync for PreparedQuery<'a>
impl<'a> Unpin for PreparedQuery<'a>
impl<'a> !UnwindSafe for PreparedQuery<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more