Expand description
GraphPlanLowerer — converts a GraphPlan operator pipeline into a
DataFusion LogicalPlan.
§Scope (M12 #575 + #576)
GraphOp | DataFusion node |
|---|---|
Filter { predicate } | Filter |
Project { items, distinct } | Projection (+ optional Distinct) |
Aggregate { group_by, aggs } | Aggregate |
Sort { keys } | Sort |
Limit { count } | Limit (skip=0, fetch=count) |
Skip { count } | Limit (skip=count, fetch=None) |
NodeScan { var, ty } | TableScan("var_N") + optional Filter(type_id) |
TypedEdgeScan { var, rel_ty } | TableScan("edges_NAME") or exploratory fallback |
EdgeScan { var, ty } | TableScan("edges__exploratory") + optional filter |
Expand { .. min_hops=1, max_hops=Some(1) } | provider-backed ExpandNode (relational fallback for schema-only/bound-edge plans) |
Expand { variable-length } | VarLenExpandNode (graphforge-plan Extension stub) |
Optional { child } | OptionalMatchNode (graphforge-plan Extension stub) |
Exists { child, .. } | LeftSemi / LeftAnti join; correlated key union for alternatives |
PatternComprehension { child, .. } | correlated aggregate + left join |
ListElementPatternComprehension { .. } | ordinal unwind + correlated aggregate + regroup |
Unwind { list_expr, alias } | UnwindNode (graphforge-plan Extension stub) |
Graph-native operators (#578) lower to graphforge-plan logical stub nodes wrapped
as LogicalPlan::Extension; their physical execution is deferred to M13.
Structs§
- Graph
Plan Lowerer - Converts a
GraphPlanoperator pipeline into a DataFusionLogicalPlan.