Crate datafrog[−][src]
A lightweight Datalog engine in Rust
The intended design is that one has static Relation
types that are sets
of tuples, and Variable
types that represent monotonically increasing
sets of tuples.
The types are mostly wrappers around Vec<Tuple>
indicating sorted-ness,
and the intent is that this code can be dropped in the middle of an otherwise
normal Rust program, run to completion, and then the results extracted as
vectors again.
Structs
ExtendAnti | Wraps a Relation |
ExtendWith | Wraps a Relation |
FilterAnti | Wraps a Relation |
FilterWith | Wraps a Relation |
Iteration | An iterative context for recursive evaluation. |
PrefixFilter | A treefrog leaper that tests each of the tuples from the main
input (the “prefix”). Use like |
Relation | A static, ordered list of key-value pairs. |
ValueFilter | A treefrog leaper based on a predicate of prefix and value.
Use like |
Variable | An monotonically increasing set of |
Traits
JoinInput | An input that can be used with |
Leaper | Methods to support treefrog leapjoin. |
Leapers | Implemented for a tuple of leapers |
RelationLeaper | Extension method for relations. |