pub enum Query {
Select {
dataset: Option<QueryDataset>,
pattern: GraphPattern,
base_iri: Option<Iri<String>>,
},
Construct {
template: Vec<TriplePattern>,
dataset: Option<QueryDataset>,
pattern: GraphPattern,
base_iri: Option<Iri<String>>,
},
Describe {
dataset: Option<QueryDataset>,
pattern: GraphPattern,
base_iri: Option<Iri<String>>,
},
Ask {
dataset: Option<QueryDataset>,
pattern: GraphPattern,
base_iri: Option<Iri<String>>,
},
}
Expand description
A parsed SPARQL query.
use spargebra::Query;
let query_str = "SELECT ?s ?p ?o WHERE { ?s ?p ?o . }";
let query = Query::parse(query_str, None)?;
assert_eq!(query.to_string(), query_str);
assert_eq!(
query.to_sse(),
"(project (?s ?p ?o) (bgp (triple ?s ?p ?o)))"
);
Variants§
Select
Construct
Fields
§
template: Vec<TriplePattern>
The query construction template.
§
dataset: Option<QueryDataset>
§
pattern: GraphPattern
The query selection graph pattern.
Describe
Ask
ASK.
Implementations§
Source§impl Query
impl Query
Sourcepub fn parse(
query: &str,
base_iri: Option<&str>,
) -> Result<Self, SparqlSyntaxError>
pub fn parse( query: &str, base_iri: Option<&str>, ) -> Result<Self, SparqlSyntaxError>
Parses a SPARQL query with an optional base IRI to resolve relative IRIs in the query.
pub fn dataset(&self) -> Option<&QueryDataset>
pub fn dataset_mut(&mut self) -> Option<&mut QueryDataset>
pub fn base_iri(&self) -> Option<&Iri<String>>
Sourcepub fn to_sse(&self) -> String
pub fn to_sse(&self) -> String
Formats using the SPARQL S-Expression syntax.
Trait Implementations§
impl Eq for Query
impl StructuralPartialEq for Query
Auto Trait Implementations§
impl Freeze for Query
impl RefUnwindSafe for Query
impl Send for Query
impl Sync for Query
impl Unpin for Query
impl UnwindSafe for Query
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