This paper presents an experimental functional database language Fudal which is a further development of our group's work on persistent functional database languages. In this latest work we consider how unknown or partially known information can be treated in the functional context. The language we have implemented, Fudal, includes certainty and possibility operators. We outline the problems that are caused by the use of null values and truth functional logic in conventional database languages, and show how these problems can be overcome by defining the semantics of queries of a database containing partial information in terms of its 'completions'. If D is a database containing partial information then a completion of D is a database which is consistent with D and contains no partial information. We demonstrate that, even when a database has a large number of completions, sensible queries can be constructed using certainty and possibility operators. Finally we show how these operators can be implemented and discuss the use of Fudal in practical contexts.
['David R. Sutton', 'Peter J. H. King']
Incomplete Information and the Functional Data Model