Module com.darkcollective.relix.provenance


module com.darkcollective.relix.provenance
The provenance-semiring algebra for relix (K-relations).

This module defines a single pluggable extension point — Semiring — and the cheap, fixed-size built-in semirings that instantiate it: existence (BooleanSemiring), multiplicity / path-count (CountingSemiring), cheapest-derivation / shortest-path (TropicalSemiring), and trust / access-control (SecurityLattice).

Provenance (Green, Karvounarakis & Tannen, PODS 2007) annotates each tuple with a semiring element and threads ⊕/⊗ through every positive-algebra operator, so one mechanism yields set semantics, bag multiplicity, why-provenance lineage, trust levels, and semiring-weighted closure by swapping the semiring. This module is the algebra only; the annotated-relation model and the operator threading live in relix-processor.

The module deliberately has no relix dependencies, so it can sit at the bottom of the module graph and be required by the processor without introducing a cycle, while the plain evaluation path stays free of any provenance code.