Expand description
GraphForge Graph IR — semantic, graph-native, semver-versioned.
The Graph IR is the stable contract between the parser/binder and the execution engine.
§Milestone status
- M11 #565 — Newtype IDs and core IR primitives
- M11 #566 — Expression arena
- M11 #567 — GraphOp enum and GraphPlan envelope
- M11 #568 — Binder (AST → Graph IR) ← this issue
- M11 #681 — RuntimeCatalog
Re-exports§
pub use binder::BindError;pub use binder::BindErrorKind;pub use binder::Binder;pub use catalog::RuntimeCatalog;pub use catalog::RuntimePropId;pub use catalog::RuntimeTypeId;pub use catalog::runtime_relation_type_id;pub use expr::BinaryOpKind;pub use expr::CaseArm;pub use expr::ExprArena;pub use expr::IrExpr;pub use expr::IrLiteral;pub use expr::UnaryOpKind;pub use plan::GraphOp;pub use plan::GraphPlan;pub use plan::GraphPlanBuilder;pub use plan::SortKey;pub use procedure::ProcedureDefinition;pub use procedure::ProcedureField;pub use procedure::ProcedureRegistry;pub use procedure::ProcedureYield;
Modules§
- binder
- Binder — lowers an
AstQueryto aGraphPlan. - catalog
RuntimeCatalog— auto-growing registry of observed entity types, relation types, and property names for GraphForge’s progressive ontology model.- expr
- IR-level expression types and the flat
ExprArenathat stores them. - plan
GraphPlanenvelope andGraphOpoperator enum.- procedure
- Procedure signatures and deterministic procedure fixtures.
Structs§
- AggExpr
- An aggregation expression inside an AGGREGATE operator.
- Create
Edge Spec - An edge to create, as bound from a
CREATEclause. - Create
Node Spec - A node to create, as bound from a
CREATEclause. - Create
Pattern - The nodes and edges described by a
CREATE(orMERGE) clause. - ExprId
- Identifies an expression node within an
ExprArena. - IrVersion
- Semver-like version for the Graph IR wire format.
- Label
Item - Labels added to or removed from a bound node variable.
- Ontology
Version - Wraps an ontology checksum or semver string for embedding in a
GraphPlan. - Project
Item - A single item in a PROJECT or WITH operator: an expression plus an optional alias.
- PropId
- Opaque integer identifier for a property type.
- Remove
Prop Item - A single
REMOVE n.propdeletion, as bound from aREMOVEclause (#791). - SetMap
Item - A bulk map assignment from
SET n += maporSET n = map(#800). - SetProp
Item - A single
SET n.prop = <expr>assignment, as bound from aSETclause (#791). - TypeId
- Opaque integer identifier for any ontology type (entity, relation, or property).
- VarId
- Identifies a bound variable within a query plan (e.g. the
nin(n:Person)).
Enums§
- AggFunc
- Aggregation function kind.
- Direction
- Edge traversal direction in a pattern or expand operator.
- GfError
- All errors produced by GraphForge.
- Merge
SetItem - One branch-specific action attached to a
MERGEclause (#959). - Ontology
Mode - The active ontology enforcement mode for this query plan.
- Quantifier
Kind - Which quantifier a
Quantifierpredicate applies. - Sort
Order - Sort direction for ORDER BY keys.