When a query fails, it is more cooperative to identify the cause of failure, rather than just to report the empty answer set. When there is not a cause per se for the query's failure, it is then worthwhile to report the part of the query which failed. To identify a minimal failing subquery (MFS) of the query is the best way to do this. (This MFS is not unique; there may be many of them.) Likewise, to identify a maximal succeeding subquery (XSS) can help a user to recast a new query that leads to a non-empty answer set. Database systems do not provide the functionality of these types of cooperative responses. This may be, in part, because algorithmic approaches to nding the MFSs and the XSSs to a failing query are not obvious. The search space of subqueries is large. Despite work on MFSs in the past, the algorithmic complexity of these identi cation problems had remained uncharted. This paper shows the complexity pro le of MFS and XSS identi cation. It is shown that there exists a simple algorithm for nding an MFS or an XSS by asking N subsequent queries, in which N is the length of the query. To nd more MFSs (or XSSs) can be hard. It is shown that to nd N MFSs (or XSSs) is NP-hard. To nd k MFSs (or XSSs), for a xed k, remains polynomial. An optimal algorithm for enumerating MFSs and XSSs, ISHMAEL, is developed and presented. The algorithm has ideal performance in enumeration, nding the rst answers quickly, and only decaying toward intractability in a predictable manner as further answers are found. The complexity results and the algorithmic approaches given in this paper should allow for the construction of cooperative facilities which identify MFSs and XSSs for database systems. These results are relevant to a number of problems outside of databases too, and may nd further application.
Godfrey has extensively investigated the problem of identifying the cause of a failing boolean-query REF .
Minimization in Cooperative Response to Failing Database Queries
Int. J. Cooperative Inf. Syst.
Computer Science