In this demo, we will present Tiresias, the first how-to query engine. How-to queries represent fundamental data analysis questions of the form: "How should the input change in order to achieve the desired output". They exemplify an important Reverse Data Management problem: solving constrained optimization problems over data residing in a DBMS. Tiresias, named after the mythical oracle of Thebes, has complex under-workings, but includes a simple interface that allows users to load datasets and interactively design optimization problems by simply selecting actions, key performance indicators, and objectives. The user choices are translated into a declarative query, which is then processed by Tiresias and translated into a Mixed Integer Program: we then use an MIP solver to find a solution. The solution is then presented to the user as an interactive data instance. The user can provide feedback by rejecting certain tuples and/or values. Then, based on the user feedback, Tiresias automatically refines the how-to query and presents a new set of results.
[1]
Peter J. Haas,et al.
MCDB: a monte carlo approach to managing uncertain data
,
2008,
SIGMOD Conference.
[2]
John Mylopoulos,et al.
Design Requirements Engineering: A Ten-Year Perspective
,
2009
.
[3]
Brian W. Kernighan,et al.
AMPL: A Modeling Language for Mathematical Programming
,
1993
.
[4]
Pericles Loucopoulos.
Design Requirements Engineering: A Ten-Year Perspective - Design Requirements Workshop, Revised and Invited Papers
,
2009
.
[5]
Dan Olteanu,et al.
From complete to incomplete information and back
,
2007,
SIGMOD '07.
[6]
Dan Suciu,et al.
Tiresias: the database oracle for how-to queries
,
2012,
SIGMOD Conference.