datalog-structural-model 3.0.0

Typed Datalog rule IR, validation, and stratification
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! Rule-level stratification over complete tuple patterns.
//!
//! A producer precedes every consumer whose body can match its head. Negative
//! and aggregate dependencies require a strictly earlier stratum. A component
//! containing a strict dependency is rejected. Pure EDB inputs are closed before
//! rule evaluation starts. The dependency traversal uses a heap-backed stack.

mod entry;
mod graph;
mod pattern;
mod tarjan;
mod types;

#[cfg(test)]
mod tests;

pub(crate) use entry::stratify;
pub use types::{Stratification, StratificationError, Stratum};