Functional queries in Datalog |
| |
Authors: | Stefano Basta Sergio Flesca Sergio Greco |
| |
Affiliation: | (1) ISI-CNR, via P.Bucci, 87036 Rende, Italy;(2) DEIS-Università della Calabria, via P.Bucci, 87036 Rende, Italy |
| |
Abstract: | A ‘functional’ query is a query whose answer is always defined and unique i.e. it is either true or false in all models. It has been shown that the expressive powers of the various types of stable models, when restricted to the class of DATALOG¬ functional queries, do not in practice go beyond those of well-founded semantics, except for the least undefined stable models which, instead, capture the whole boolean hierarchyBH. In this paper we present a ‘functional’ language which, by means of a disciplined use of negation, achieves the desired level of expressiveness up toBH. Although the semantics of the new language is partial, all atoms in the source program are defined and possibly undefined atoms are introduced in a rewriting phase to increase the expressive power. We show that the language satisfies ‘desirable’ properties better than classical languages with (unstratified) negation and stable model semantics. We present an algorithm for the evaluation of functional queries and we show that exponential time resolution is required for hard problems only. Finally we present the architecture of a prototype of the language which has been developed. |
| |
Keywords: | Logic Programming Datalog Stable Models Functional Queries Expressive Power Data Complexity |
本文献已被 SpringerLink 等数据库收录! |
|