Expand description
Physical operators that actually execute queries.
These are the building blocks of query execution. The optimizer picks which operators to use and how to wire them together.
Graph operators:
ScanOperator- Read nodes/edges from storageExpandOperator- Traverse edges (the core of graph queries)VariableLengthExpandOperator- Paths of variable lengthShortestPathOperator- Find shortest paths
Relational operators:
FilterOperator- Apply predicatesProjectOperator- Select/transform columnsHashJoinOperator- Efficient equi-joinsHashAggregateOperator- Group by with aggregationSortOperator- Order resultsLimitOperator- SKIP and LIMIT
The push submodule has push-based variants for pipeline execution.
Re-exports§
pub use accumulator::AggregateExpr;pub use accumulator::AggregateFunction;pub use accumulator::HashableValue;pub use push::AggregatePushOperator;pub use push::DistinctMaterializingOperator;pub use push::DistinctPushOperator;pub use push::FilterPushOperator;pub use push::LimitPushOperator;pub use push::ProjectPushOperator;pub use push::SkipLimitPushOperator;pub use push::SkipPushOperator;pub use push::SortPushOperator;pub use push::SpillableAggregatePushOperator;pub use push::SpillableSortPushOperator;pub use single_row::EmptyOperator;pub use single_row::NodeListOperator;pub use single_row::SingleRowOperator;
Modules§
- accumulator
- Shared accumulator types for both pull-based and push-based aggregate operators.
- push
- Push-based operator implementations.
- single_
row - Single row, empty, and node list operators.
- value_
utils - Shared value comparison and conversion utilities.
Structs§
- AddLabel
Operator - Operator that adds labels to nodes.
- AndPredicate
- Composite predicate combining multiple predicates with AND.
- Apply
Operator - Apply (lateral join) operator.
- Column
Predicate - A simple column value predicate for factorized data.
- Create
Edge Operator - Operator that creates new edges.
- Create
Node Operator - Operator that creates new nodes.
- Delete
Edge Operator - Operator that deletes edges.
- Delete
Node Operator - Operator that deletes nodes.
- Distinct
Operator - Distinct operator.
- Equality
Condition - A simple equality condition for nested loop joins.
- Except
Operator - EXCEPT operator: rows in left that are not in right.
- Expand
Operator - An expand operator that traverses edges from source nodes.
- Expand
Step - Configuration for a single expand step in a lazy chain.
- Expression
Predicate - An expression-based predicate that evaluates logical expressions.
- Factorized
Aggregate Operator - An aggregate operator that works directly on factorized data.
- Factorized
Expand Chain - Builder for chaining multiple factorized expansions.
- Factorized
Expand Operator - An expand operator that produces factorized output.
- Factorized
Filter Operator - A filter operator that applies predicates to factorized data without flattening.
- Filter
Operator - A filter operator that applies a predicate to filter rows.
- Flat
Data Wrapper - Wrapper to treat a flat DataChunk as FactorizedData.
- Hash
Aggregate Operator - Hash-based aggregate operator.
- Hash
Join Operator - Hash join operator.
- Horizontal
Aggregate Operator - Per-row aggregation over a list-valued column.
- Intersect
Operator - INTERSECT operator: rows common to both inputs.
- Lazy
Factorized Chain Operator - A lazy operator that executes a factorized expand chain when next() is called.
- Lazy
Value - A lazily-computed, cloneable value.
- Leapfrog
Join Operator - Leapfrog TrieJoin operator for worst-case optimal multi-way joins.
- Limit
Operator - Limit operator.
- Limit
Skip Operator - Combined Limit and Skip operator.
- Load
Data Operator - Operator that reads a data file and produces one row per record.
- MapCollect
Operator - Collects key-value pairs from child rows into a single Map value.
- Merge
Config - Configuration for a node merge operation.
- Merge
Operator - Merge operator for MERGE clause.
- Merge
Relationship Config - Configuration for a relationship merge operation.
- Merge
Relationship Operator - Merge operator for relationship patterns.
- Nested
Loop Join Operator - Nested loop join operator.
- OrPredicate
- Composite predicate combining multiple predicates with OR.
- Otherwise
Operator - OTHERWISE operator: use left result if non-empty, otherwise use right.
- Parameter
Scan Operator - Operator that emits a single row from externally injected parameter values.
- Parameter
State - Shared state between
ApplyOperatorandParameterScanOperator. - Project
Operator - A project operator that selects and transforms columns.
- Property
Predicate - A property-based predicate for factorized data.
- Remove
Label Operator - Operator that removes labels from nodes.
- Scan
Operator - A scan operator that reads nodes from storage.
- Session
Context - Session-level context passed to the filter evaluator for introspection functions.
- SetProperty
Operator - Operator that sets properties on nodes or edges.
- Shortest
Path Operator - Operator that finds shortest paths between source and target nodes.
- Simple
Aggregate Operator - Simple (non-grouping) aggregate operator for global aggregations.
- Skip
Operator - Skip operator.
- SortKey
- A sort key specification.
- Sort
Operator - Sort operator.
- Union
Operator - Union operator that combines results from multiple inputs.
- Unwind
Operator - Unwind operator that expands a list column into individual rows.
- Variable
Length Expand Operator - An expand operator that handles variable-length path patterns like
*1..3. - Vector
Join Operator - Vector join operator for hybrid graph + vector queries.
- Vector
Scan Operator - A scan operator that finds nodes by vector similarity.
Enums§
- Binary
Filter Op - Binary operators for filter expressions.
- Entity
Kind - Whether the horizontal aggregate operates on edges or nodes.
- Execution
Path Mode - Path traversal mode controlling which paths are allowed.
- Factorized
Aggregate - Types of aggregates that can be computed on factorized data.
- Factorized
Compare Op - Comparison operators for column predicates.
- Filter
Expression - A filter expression that can be evaluated.
- HashKey
- A hash key that can be hashed and compared for join operations.
- Join
Type - The type of join to perform.
- List
Predicate Kind - The kind of list predicate function.
- Load
Data Format - File format for the load data operator.
- Null
Order - Null ordering.
- Operator
Error - Error during operator execution.
- Project
Expr - A projection expression.
- Property
Source - Source for a property value.
- Sort
Direction - Sort direction.
- Unary
Filter Op - Unary operators for filter expressions.
Traits§
- Constraint
Validator - Trait for validating schema constraints during mutation operations.
- Factorized
Data - Trait for data that can be in factorized or flat form.
- Factorized
Operator - Trait for operators that can provide factorized output.
- Factorized
Predicate - A predicate that can be evaluated on factorized data at a specific level.
- Join
Condition - Trait for join conditions.
- Operator
- The core trait for pull-based operators.
- Predicate
- A predicate for filtering rows.
- Write
Tracker - Trait for recording write operations during query execution.
Type Aliases§
- Factorized
Result - Result type for factorized operations.
- Operator
Result - Result of executing an operator.
- Shared
Write Tracker - Type alias for a shared write tracker.