pub enum Op {
Show 21 variants
BGP(OpBGP),
Triple(OpTriple),
Join(OpJoin),
LeftJoin(OpLeftJoin),
RightJoin(OpRightJoin),
CrossJoin(OpCrossJoin),
Filter(OpFilter),
Union(OpUnion),
Project(OpProject),
Distinct(OpDistinct),
Reduced(OpReduced),
Slice(OpSlice),
Order(OpOrder),
Group(OpGroup),
Extend(OpExtend),
Minus(OpMinus),
Intersect(OpIntersect),
Table(OpTable),
Sequence(OpSequence),
Disjunction(OpDisjunction),
Null(OpNull),
}Expand description
Core algebraic operator type
Variants§
BGP(OpBGP)
Basic graph pattern (set of triples)
Triple(OpTriple)
Single triple pattern
Join(OpJoin)
Inner join
LeftJoin(OpLeftJoin)
Left outer join (OPTIONAL)
RightJoin(OpRightJoin)
Right outer join
CrossJoin(OpCrossJoin)
Cross join (Cartesian product)
Filter(OpFilter)
Filter
Union(OpUnion)
Union
Project(OpProject)
Project to variables
Distinct(OpDistinct)
Distinct
Reduced(OpReduced)
Reduced (remove adjacent duplicates)
Slice(OpSlice)
Offset/Limit
Order(OpOrder)
Order by
Group(OpGroup)
Group by
Extend(OpExtend)
Extend (bind expression to variable)
Minus(OpMinus)
Set difference
Intersect(OpIntersect)
Set intersection
Table(OpTable)
Inline data
Sequence(OpSequence)
Sequential execution
Disjunction(OpDisjunction)
Disjunction (OR patterns)
Null(OpNull)
Empty pattern
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Op
impl RefUnwindSafe for Op
impl Send for Op
impl Sync for Op
impl Unpin for Op
impl UnsafeUnpin for Op
impl UnwindSafe for Op
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request