A practical approach to handling tabular data in logic
summary
KeBAP (Knowledge‑Base API for Python) converts CSVs and other tables into FO(.) structures and produces IDP specs for IDP-Z3 for FO(.); it derives types (ints, floats, custom ranged subtypes), maps row keys to column-valued functions, and merges sources by creating supertype/subtype merging when values overlap. Primary keys come from heuristics or an automatic index. Missing values become partial functions plus a defined predicate so propagation and model expansion behave predictably. A laptop demo built from two CSVs shows filtering reducing 60 products to 4 when internal memory is set to 32 GB.
AI-written summary · about
chapters (12)
- 0:00Tabular data in logic
- 1:47Interactive consultant
- 4:18From scripts to automated logic
- 5:48Translate tables to logic
- 8:40Overlapping types in tables
- 10:30Primary keys for rows
- 11:33CSV to logic with Python
- 12:38Merging data specifications
- 14:42User choices and constraints
- 17:08Missing values in data
- 19:37Conclusion
- 20:20Q&A
related talks
02h 46mData analysis with SQLite and Python
29mHow to make public data more accessible with "baked" data and DuckDB
42mBayesDB: Query the Probable Implications of Data
28mIbis framework, Making data science work at any scale
01h 17mIbis: A fast, flexible, and portable tool for data analytics
44mIbis- Expressive analytics in Python at any scale
29mInside a Database A Code Level Walkthrough of an RDBMS I Built in Python
58mData Wrangling [for Python or R] Like a Boss With DuckDB
