Module optimizer

Module optimizer 

Source
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§

JoinOptimizer
Join ordering optimizer
OptimizationStats
Statistics for query optimization
OptimizerConfig
Configuration for the query optimizer
QueryOptimizer
Query optimizer for backward chaining