Module aggregation

Module aggregation 

Source
Expand description

Aggregation support for backward chaining queries

Provides aggregate functions like COUNT, SUM, AVG, MIN, MAX for use in backward chaining queries.

§Example

use rust_rule_engine::backward::*;

let mut engine = BackwardEngine::new(kb);

// Count all employees
let count = engine.query_aggregate(
    "count(?x) WHERE employee(?x)",
    &mut facts
)?;

// Sum of all salaries
let total = engine.query_aggregate(
    "sum(?salary) WHERE salary(?name, ?salary)",
    &mut facts
)?;

// Average salary
let avg = engine.query_aggregate(
    "avg(?salary) WHERE salary(?name, ?salary) AND ?salary > 50000",
    &mut facts
)?;

Structs§

AggregateQuery
Parsed aggregate query

Enums§

AggregateFunction
Aggregate function types

Functions§

apply_aggregate
Apply aggregate function to solutions
parse_aggregate_query
Parse an aggregate query string