pub enum LogicalOperator {
Show 41 variants
NodeScan(NodeScanOp),
EdgeScan(EdgeScanOp),
Expand(ExpandOp),
Filter(FilterOp),
Project(ProjectOp),
Join(JoinOp),
Aggregate(AggregateOp),
Limit(LimitOp),
Skip(SkipOp),
Sort(SortOp),
Distinct(DistinctOp),
CreateNode(CreateNodeOp),
CreateEdge(CreateEdgeOp),
DeleteNode(DeleteNodeOp),
DeleteEdge(DeleteEdgeOp),
SetProperty(SetPropertyOp),
AddLabel(AddLabelOp),
RemoveLabel(RemoveLabelOp),
Return(ReturnOp),
Empty,
TripleScan(TripleScanOp),
Union(UnionOp),
LeftJoin(LeftJoinOp),
AntiJoin(AntiJoinOp),
Bind(BindOp),
Unwind(UnwindOp),
Merge(MergeOp),
ShortestPath(ShortestPathOp),
InsertTriple(InsertTripleOp),
DeleteTriple(DeleteTripleOp),
Modify(ModifyOp),
ClearGraph(ClearGraphOp),
CreateGraph(CreateGraphOp),
DropGraph(DropGraphOp),
LoadGraph(LoadGraphOp),
CopyGraph(CopyGraphOp),
MoveGraph(MoveGraphOp),
AddGraph(AddGraphOp),
VectorScan(VectorScanOp),
VectorJoin(VectorJoinOp),
CreatePropertyGraph(CreatePropertyGraphOp),
}Expand description
A logical operator in the query plan.
Variants§
NodeScan(NodeScanOp)
Scan all nodes, optionally filtered by label.
EdgeScan(EdgeScanOp)
Scan all edges, optionally filtered by type.
Expand(ExpandOp)
Expand from nodes to neighbors via edges.
Filter(FilterOp)
Filter rows based on a predicate.
Project(ProjectOp)
Project specific columns.
Join(JoinOp)
Join two inputs.
Aggregate(AggregateOp)
Aggregate with grouping.
Limit(LimitOp)
Limit the number of results.
Skip(SkipOp)
Skip a number of results.
Sort(SortOp)
Sort results.
Distinct(DistinctOp)
Remove duplicate results.
CreateNode(CreateNodeOp)
Create a new node.
CreateEdge(CreateEdgeOp)
Create a new edge.
DeleteNode(DeleteNodeOp)
Delete a node.
DeleteEdge(DeleteEdgeOp)
Delete an edge.
SetProperty(SetPropertyOp)
Set properties on a node or edge.
AddLabel(AddLabelOp)
Add labels to a node.
RemoveLabel(RemoveLabelOp)
Remove labels from a node.
Return(ReturnOp)
Return results (terminal operator).
Empty
Empty result set.
TripleScan(TripleScanOp)
Scan RDF triples matching a pattern.
Union(UnionOp)
Union of multiple result sets.
LeftJoin(LeftJoinOp)
Left outer join for OPTIONAL patterns.
AntiJoin(AntiJoinOp)
Anti-join for MINUS patterns.
Bind(BindOp)
Bind a variable to an expression.
Unwind(UnwindOp)
Unwind a list into individual rows.
Merge(MergeOp)
Merge a pattern (match or create).
ShortestPath(ShortestPathOp)
Find shortest path between nodes.
InsertTriple(InsertTripleOp)
Insert RDF triples.
DeleteTriple(DeleteTripleOp)
Delete RDF triples.
Modify(ModifyOp)
SPARQL MODIFY operation (DELETE/INSERT WHERE). Evaluates WHERE once, applies DELETE templates, then INSERT templates.
ClearGraph(ClearGraphOp)
Clear a graph (remove all triples).
CreateGraph(CreateGraphOp)
Create a new named graph.
DropGraph(DropGraphOp)
Drop (remove) a named graph.
LoadGraph(LoadGraphOp)
Load data from a URL into a graph.
CopyGraph(CopyGraphOp)
Copy triples from one graph to another.
MoveGraph(MoveGraphOp)
Move triples from one graph to another.
AddGraph(AddGraphOp)
Add (merge) triples from one graph to another.
VectorScan(VectorScanOp)
Scan using vector similarity search.
VectorJoin(VectorJoinOp)
Join graph patterns with vector similarity search.
Computes vector distances between entities from the left input and a query vector, then joins with similarity scores. Useful for:
- Filtering graph traversal results by vector similarity
- Computing aggregated embeddings and finding similar entities
- Combining multiple vector sources with graph structure
CreatePropertyGraph(CreatePropertyGraphOp)
Define a property graph schema (SQL/PGQ DDL).
Trait Implementations§
Source§impl Clone for LogicalOperator
impl Clone for LogicalOperator
Source§fn clone(&self) -> LogicalOperator
fn clone(&self) -> LogicalOperator
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for LogicalOperator
impl RefUnwindSafe for LogicalOperator
impl Send for LogicalOperator
impl Sync for LogicalOperator
impl Unpin for LogicalOperator
impl UnwindSafe for LogicalOperator
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
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>
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>
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 more