Module disjunction

Module disjunction 

Source
Expand description

Disjunction (OR) support for backward chaining queries

This module implements OR patterns in queries, allowing multiple alternative conditions to be specified. The query succeeds if ANY of the alternatives succeed.

§Examples

// Find people who are either managers OR seniors
let results = engine.query(
    "eligible(?person) WHERE (manager(?person) OR senior(?person))",
    &mut facts
)?;

// Complex OR with multiple conditions
let results = engine.query(
    "discount(?customer) WHERE (vip(?customer) OR total_spent(?customer, ?amt) > 10000)",
    &mut facts
)?;

Structs§

Disjunction
Represents a disjunction (OR) of goals
DisjunctionParser
Parser for OR patterns in queries
DisjunctionResult
Result of evaluating a disjunction