probcomp / bayeslite

BayesDB on SQLite. A Bayesian database table for querying the probable implications of data as easily as SQL databases query the data itself.
http://probcomp.csail.mit.edu/software/bayesdb
Apache License 2.0
918 stars 64 forks source link

Engineering plan for restructuring software architecture of bayeslite #588

Closed fsaad closed 6 years ago

fsaad commented 6 years ago

Internal software and user facing language will be undergoing a dramatic makeover.

The changes outlined in this ticket:

Removing 'metamodel' concept in favor of 'backend'

Merge tables, populations, generators, into one concept

Updates to compiler and bqlfn

Clear up several items in the main schema.py

Simplify population schema definition.

Simplify half-implemented or confusing features

Ad-hoc issues

Related tickets that will be resolved: https://github.com/probcomp/bayeslite/issues/284 https://github.com/probcomp/bayeslite/issues/388 https://github.com/probcomp/bayeslite/issues/427 https://github.com/probcomp/bayeslite/issues/441 https://github.com/probcomp/bayeslite/issues/443 https://github.com/probcomp/bayeslite/issues/467 https://github.com/probcomp/bayeslite/issues/469 https://github.com/probcomp/bayeslite/issues/562

fsaad commented 6 years ago

https://github.com/probcomp/bayeslite/commit/d2376c134942f40b3305cdf972be708e7404f25a

Above merge commit contains a partial resolution of this ticket, clearing out roughly 50% of the work items. This commit is considered stable, and all unchecked issues in the list above are considered on hold until further notice.

fsaad commented 6 years ago

The unchecked items under heading "Merge tables, populations, generators, into one concept" have been mostly addressed by a user-facing workaround per #596, which keeps the full generality of the existing system while allowing "implicit" populations/generators that inherit names from their bases tables/populations.