This document lists the completed and planned features for Zodd.
Important
This roadmap is a work in progress and is subject to change.
-
Relation- sorted, deduplicated tuple collections -
Variable- incremental update lifecycle -
Iteration- fixed-point computation context -
gallop- exponential and binary search for filtering -
joinHelper- merge-join on key-value tuples -
joinInto- high-level join between variables -
Leaper- Treefrog Leapjoin interface -
ExtendWith- propose values from a relation -
FilterAnti- negation (filter out matching tuples) -
ExtendAnti- anti-join (filter to keep non-matching values)
- Negation primitives (anti-join and anti-extend)
- Aggregations
- Recursion limits
- Persistence
- Secondary indices
- Incremental maintenance support
- Parallel execution support
- CLI (
zodd run,querywith demand-driven evaluation,plan,explain, and arepl) - Streaming input
- Rule DSL (textual Datalog frontend with a parser, a builder API, stratified negation, and aggregates)
- Comparison operators (
<,<=,>,>=,=, and!=as body filters) - Arithmetic in comparison filters (
+,-,*,/, and parentheses on either side of a comparison) - Arithmetic assignments support
- Query planner
- Explain support
- Magic sets support
- Fact retraction support
- Unit tests in each module
- Integration, regression, property-based tests, etc. in
testsdirectory - Differential testing against Clingo
- Benchmarks