Expand description
GraphForge Graph IR → DataFusion relational lowering.
§Milestone status
- M12 #574 — IR expression lowering to DataFusion
Expr - M12 #573 — Wire SessionContext
- M12 #575 — Lower simple GraphOps (Filter, Project, …)
- M12 #576 — Lower NodeScan and Expand
- M12 #578 — Graph-native Extension stubs +
explain_logical← this issue
Re-exports§
pub use expr::ExprLowerer;pub use expr::LoweringError;pub use expr::VarMap;pub use expr::ir_literal_to_scalar;pub use expr::scalar_to_ir_literal;pub use lowerer::GraphPlanLowerer;
Modules§
- calendar
- A proleptic-Gregorian calendar on
i64days-since-epoch (#1011). - expr
- IR expression arena → DataFusion [
Expr] lowering. - lowerer
GraphPlanLowerer— converts aGraphPlanoperator pipeline into a DataFusionLogicalPlan.- temporal
- Cypher temporal-value construction, evaluated at lowering time.
Structs§
- Graph
Plan - A versioned, serialisable graph query plan.
Enums§
- GfError
- All errors produced by GraphForge.
Functions§
- explain_
logical - Render a
GraphPlan’s optimised DataFusionLogicalPlanas indented text (with per-node schemas) for theexplainLogicalPlan stage. - explain_
logical_ with - Like
explain_logicalbut lowers with an optionalOntologyHandleso that typed edge scans and variable-length expands can resolve relation-type names. Used by the logical-plan golden suite (which binds against a formal ontology for deterministic type IDs). - explain_
logical_ with_ catalog - Like
explain_logical_withbut also threads aGraphCatalogso property accesses (e.g.n.name) resolve to their column names via the catalog’sPropId → namemap instead of falling back toprop_<id>placeholders. Used by the engine facade’sexplain, which lowers against the instance’s runtime catalog. - lower
- Lower a
GraphPlanto a DataFusionLogicalPlan. - lower_
and_ optimize - Lower a
GraphPlanand run DataFusion’s analyzer + optimizer over it.
Type Aliases§
- Logical
Plan - A DataFusion
datafusion::logical_expr::LogicalPlanproduced by the relational lowering pass.