Expand description
Query optimization for backward chaining
This module implements query optimization techniques to improve performance:
- Goal reordering based on selectivity
- Index selection for O(1) lookups
- Join ordering optimization
- Predicate pushdown
- Memoization of intermediate results
§Examples
ⓘ
use rust_rule_engine::backward::optimizer::QueryOptimizer;
let mut optimizer = QueryOptimizer::new();
// Before: item(?x) AND expensive(?x) AND in_stock(?x)
// After: in_stock(?x) AND expensive(?x) AND item(?x)
// (Evaluates most selective first)
let optimized = optimizer.optimize_query(query)?;Structs§
- Join
Optimizer - Join ordering optimizer
- Optimization
Stats - Statistics for query optimization
- Optimizer
Config - Configuration for the query optimizer
- Query
Optimizer - Query optimizer for backward chaining