pub enum GraphPattern {
Show 17 variants
QuadPattern {
subject: GroundTermPattern,
predicate: NamedNodePattern,
object: GroundTermPattern,
graph_name: Option<NamedNodePattern>,
},
Path {
subject: GroundTermPattern,
path: PropertyPathExpression,
object: GroundTermPattern,
graph_name: Option<NamedNodePattern>,
},
Join {
left: Box<Self>,
right: Box<Self>,
algorithm: JoinAlgorithm,
},
LeftJoin {
left: Box<Self>,
right: Box<Self>,
expression: Expression,
algorithm: LeftJoinAlgorithm,
},
Lateral {
left: Box<Self>,
right: Box<Self>,
},
Filter {
expression: Expression,
inner: Box<Self>,
},
Union {
inner: Vec<Self>,
},
Extend {
inner: Box<Self>,
variable: Variable,
expression: Expression,
},
Minus {
left: Box<Self>,
right: Box<Self>,
algorithm: MinusAlgorithm,
},
Values {
variables: Vec<Variable>,
bindings: Vec<Vec<Option<GroundTerm>>>,
},
OrderBy {
inner: Box<Self>,
expression: Vec<OrderExpression>,
},
Project {
inner: Box<Self>,
variables: Vec<Variable>,
},
Distinct {
inner: Box<Self>,
},
Reduced {
inner: Box<Self>,
},
Slice {
inner: Box<Self>,
start: usize,
length: Option<usize>,
},
Group {
inner: Box<Self>,
variables: Vec<Variable>,
aggregates: Vec<(Variable, AggregateExpression)>,
},
Service {
name: NamedNodePattern,
inner: Box<Self>,
silent: bool,
},
}
Expand description
A SPARQL query graph pattern.
Variants§
QuadPattern
Fields
§
subject: GroundTermPattern
§
predicate: NamedNodePattern
§
object: GroundTermPattern
§
graph_name: Option<NamedNodePattern>
Path
Fields
§
subject: GroundTermPattern
§
path: PropertyPathExpression
§
object: GroundTermPattern
§
graph_name: Option<NamedNodePattern>
Join
Join.
LeftJoin
Lateral
Lateral join i.e. evaluate right for all result row of left
Filter
Union
Extend
Minus
Values
A table used to provide inline values
OrderBy
Project
Distinct
Reduced
Slice
Group
Service
Implementations§
Source§impl GraphPattern
impl GraphPattern
pub fn empty() -> Self
pub fn empty_singleton() -> Self
pub fn is_empty_singleton(&self) -> bool
pub fn join(left: Self, right: Self, algorithm: JoinAlgorithm) -> Self
pub fn lateral(left: Self, right: Self) -> Self
pub fn left_join( left: Self, right: Self, expression: Expression, algorithm: LeftJoinAlgorithm, ) -> Self
pub fn minus(left: Self, right: Self, algorithm: MinusAlgorithm) -> Self
pub fn union(left: Self, right: Self) -> Self
pub fn union_all(args: impl IntoIterator<Item = Self>) -> Self
pub fn filter(inner: Self, expression: Expression) -> Self
pub fn extend(inner: Self, variable: Variable, expression: Expression) -> Self
pub fn values( variables: Vec<Variable>, bindings: Vec<Vec<Option<GroundTerm>>>, ) -> Self
pub fn order_by(inner: Self, expression: Vec<OrderExpression>) -> Self
pub fn project(inner: Self, variables: Vec<Variable>) -> Self
pub fn distinct(inner: Self) -> Self
pub fn reduced(inner: Self) -> Self
pub fn slice(inner: Self, start: usize, length: Option<usize>) -> Self
pub fn group( inner: Self, variables: Vec<Variable>, aggregates: Vec<(Variable, AggregateExpression)>, ) -> Self
pub fn service(inner: Self, name: NamedNodePattern, silent: bool) -> Self
pub fn lookup_used_variables<'a>( &'a self, callback: &mut impl FnMut(&'a Variable), )
Trait Implementations§
Source§impl Clone for GraphPattern
impl Clone for GraphPattern
Source§fn clone(&self) -> GraphPattern
fn clone(&self) -> GraphPattern
Returns a copy 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 moreSource§impl Debug for GraphPattern
impl Debug for GraphPattern
Source§impl From<&GraphPattern> for GraphPattern
impl From<&GraphPattern> for GraphPattern
Source§fn from(pattern: &AlGraphPattern) -> Self
fn from(pattern: &AlGraphPattern) -> Self
Converts to this type from the input type.
Source§impl From<&GraphPattern> for GraphPattern
impl From<&GraphPattern> for GraphPattern
Source§fn from(pattern: &GraphPattern) -> Self
fn from(pattern: &GraphPattern) -> Self
Converts to this type from the input type.
Source§impl Hash for GraphPattern
impl Hash for GraphPattern
Source§impl PartialEq for GraphPattern
impl PartialEq for GraphPattern
impl Eq for GraphPattern
impl StructuralPartialEq for GraphPattern
Auto Trait Implementations§
impl Freeze for GraphPattern
impl RefUnwindSafe for GraphPattern
impl Send for GraphPattern
impl Sync for GraphPattern
impl Unpin for GraphPattern
impl UnwindSafe for GraphPattern
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