pub enum LogicalOperator {
Show 38 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),
}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.
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 more