Often users of database systems submit queries reflecting certain assumptions that they have made about the information contained in the system. For example, a user may ask the question: "Is Jack's brother older than 25 years?" The query is clearly based on the presumption that Jack has a brother. Consider the case in which Jack has no brothers. Then the answer "no" this query is misleading because it may be interpreted by the user as "Jack has a brother who is not older than 25 years of age." The SEAVE mechanism described in this paper attempts to address this problem by extracting presuppositions from the queries that result in a null value. By finding the presuppositions, the system is capable of providing informative answers (more than just null) to those queries that are based on erroneous assumptions. The paper gives a lengthy introduction to the problem, describes how presuppositions may be extracted from queries, presents a method for testing presuppositions against the contents of the database, and finally provides algorithms for the implementation of SEAVE with a relational database system. The paper is informal and does not contain any proof of correctness. The obvious advantage of SEAVE is the improvement of communication between users and systems. However, the improvement is achieved at a high cost of computing and testing presuppositions.
ACM Computing Reviews