Expand description
Custom graph operators for DataFusion execution.
This module provides DataFusion ExecutionPlan implementations for graph-specific
operations that cannot be expressed in standard relational algebra:
GraphScanExec: Scans vertices/edges with property materializationGraphExtIdLookupExec: Looks up a vertex by external IDGraphTraverseExec: Single-hop edge traversal using CSR adjacencyGraphVariableLengthTraverseExec: Multi-hop BFS traversalGraphShortestPathExec: Shortest path computation
§Architecture
┌─────────────────────────────────────────┐
│ DataFusion ExecutionPlan Tree │
├─────────────────────────────────────────┤
│ ProjectionExec (DataFusion) │
│ │ │
│ FilterExec (DataFusion) │
│ │ │
│ GraphTraverseExec (CUSTOM) │
│ │ │
│ GraphScanExec (CUSTOM) │
│ │ │
│ UniTableProvider + UniMergeExec │
└─────────────────────────────────────────┘Graph operators use GraphExecutionContext to access:
- AdjacencyManager for O(1) neighbor lookups
- L0 buffers for uncommitted edge visibility
- Property manager for lazy property loading
Re-exports§
pub use apply::GraphApplyExec;pub use ext_id_lookup::GraphExtIdLookupExec;pub use mutation_common::MutationContext;pub use mutation_common::MutationExec;pub use mutation_create::MutationCreateExec;pub use mutation_delete::MutationDeleteExec;pub use mutation_foreach::ForeachExec;pub use mutation_merge::MutationMergeExec;pub use mutation_remove::MutationRemoveExec;pub use mutation_set::MutationSetExec;pub use optional_filter::OptionalFilterExec;pub use procedure_call::GraphProcedureCallExec;pub use scan::GraphScanExec;pub use shortest_path::GraphShortestPathExec;pub use traverse::GraphTraverseExec;pub use traverse::GraphTraverseMainExec;pub use unwind::GraphUnwindExec;pub use vector_knn::GraphVectorKnnExec;pub use locy_best_by::BestByExec;pub use locy_explain::ProofTerm;pub use locy_explain::ProvenanceAnnotation;pub use locy_explain::ProvenanceStore;pub use locy_fixpoint::DerivedScanEntry;pub use locy_fixpoint::DerivedScanExec;pub use locy_fixpoint::DerivedScanRegistry;pub use locy_fixpoint::FixpointClausePlan;pub use locy_fixpoint::FixpointExec;pub use locy_fixpoint::FixpointRulePlan;pub use locy_fixpoint::FixpointState;pub use locy_fixpoint::IsRefBinding;pub use locy_fixpoint::MonotonicFoldBinding;pub use locy_fold::FoldExec;pub use locy_priority::PriorityExec;pub use locy_program::DerivedStore;pub use locy_program::LocyProgramExec;pub use locy_traits::DerivedFactSource;pub use locy_traits::LocyExecutionContext;
Modules§
- apply
- Apply (correlated subquery) execution plan for DataFusion.
- bind_
fixed_ path - Fixed-length path binding execution plan for DataFusion.
- bind_
zero_ length_ path - Zero-length path binding execution plan for DataFusion.
- bitmap
- common
- Common helpers shared across graph execution plan implementations.
- comprehension
- expr_
compiler - ext_
id_ lookup - External ID lookup execution plan for DataFusion.
- locy_
abduce - Abductive reasoning (ABDUCE) via
LocyExecutionContext. - locy_
assume - ASSUME block evaluation via
LocyExecutionContext. - locy_
ast_ builder - Cypher AST building utilities for Locy native execution.
- locy_
best_ by - BEST BY operator for Locy.
- locy_
delta - Delta tracking and IS-reference parameter building for Locy native execution.
- locy_
derive - DERIVE command execution via
LocyExecutionContext. - locy_
errors - Error types for the Locy native execution engine.
- locy_
eval - In-memory expression evaluation for Locy commands.
- locy_
explain - EXPLAIN RULE derivation tree construction.
- locy_
fixpoint - Fixpoint iteration operator for recursive Locy strata.
- locy_
fold - FOLD operator for Locy.
- locy_
priority - PRIORITY operator for Locy.
- locy_
program - Top-level Locy program executor.
- locy_
query - Goal-directed QUERY evaluation via SLG resolution.
- locy_
slg - SLG (Selective Linear Definite clause) resolution for goal-directed evaluation.
- locy_
traits - Traits for native Locy command dispatch.
- mutation_
common - Common infrastructure for DataFusion mutation operators (CREATE, SET, REMOVE, DELETE).
- mutation_
create - DataFusion ExecutionPlan for Cypher CREATE clauses.
- mutation_
delete - DataFusion ExecutionPlan for Cypher DELETE and DETACH DELETE clauses.
- mutation_
foreach - DataFusion ExecutionPlan for Cypher FOREACH clauses.
- mutation_
merge - DataFusion ExecutionPlan for Cypher MERGE clauses.
- mutation_
remove - DataFusion ExecutionPlan for Cypher REMOVE clauses.
- mutation_
set - DataFusion ExecutionPlan for Cypher SET clauses.
- nfa
- optional_
filter - OPTIONAL MATCH filter with NULL row preservation.
- pattern_
comprehension - Vectorized pattern comprehension for Cypher
[(a)-[:REL]->(b) WHERE pred | expr]. - pred_
dag - procedure_
call - Procedure call execution plan for DataFusion.
- quantifier
- Vectorized quantifier expression for Cypher
ALL/ANY/SINGLE/NONE(x IN list WHERE pred). - recursive_
cte - Recursive CTE execution plan for DataFusion.
- reduce
- scan
- Graph scan execution plan for DataFusion.
- shortest_
path - Shortest path execution plan for DataFusion.
- traverse
- Graph traversal execution plans for DataFusion.
- unwind
- UNWIND execution plan for DataFusion.
- vector_
knn - Vector KNN search execution plan for DataFusion.
Structs§
- Graph
Execution Context - Shared context for graph operators.
- L0Context
- L0 buffer visibility context for MVCC reads.