Extending the ASP System DLVDB to Support Complex Terms and Procedural Sub-tasks
View/ Open
Creato da
De Francesco, Erika
Terracina, Giorgio
Leone, Nicola
Metadata
Show full item recordDescrizione
Format
/
Dottorato di Ricerca in Matematica ed Informatica,XXII Ciclo,a.a. 2009-2010; In many scientific and business scenarios, large amounts of data are generated and stored at
increasing speed in local or distributed databases. Scientific experiments generating petabytes
of data are daily performed in many laboratories all around the world. A growing number of ecommerce
and e-business applications store and manage huge databases about products, clients
and transactions. This explosive growth of data has raised an urgent need for new techniques and
tools to intelligently and automatically infer useful information and knowledge from available
data.
In this context, Disjunctive Logic Programming (DLP) under the answer set semantics, often
referred to as Answer Set Programming (ASP), has gained lot of interest during the last few years,
since it represents a powerful method for declarative Knowledge Representation and Reasoning
(KRR) tasks, which are critical to perform effective data analysis. The success of this method is
demonstrated by the wide number of real-word applications that include, among others, information
integration, frauds detection, diagnostics and planning, also motivating the implementation
of several systems supporting DLP.
The DLP language is very expressive and allows for modeling complex problems. However,
despite the high expressiveness of this language, current DLP systems do not cope well with real
world scenarios. In particular, the main limitations of current DLP systems can be summarized in
four main issues [62]: (i) they are not capable of handling data intensive applications, since they
work in main memory only; (ii) they provide a limited interoperability with external DBMSs;
(iii) they are not well suited for modelling inherently procedural problems; (iv) they cannot
reason about recursive data structures such as XML/HTML documents.
The DLVDB system [41] has been conceived to overcome the above-mentioned limitations,
by increasing the cooperation between ASP systems and databases. DLVDB allows substantial
improvements in both the evaluation of logic programs and the management of input and output
data distributed on several databases. Moreover, DLVDB presents enhanced features to improve
its efficiency and usability for an effective exploitation of DLP in real-world scenarios. These
features include:
• Full support to disjunctive datalog with unstratified negation, and aggregate functions.
• An evaluation strategy devoted to carry out as much as possible of the reasoning tasks
in mass memory, thus enabling complex reasonings in data intensive applications without
degrading performances.
• Primitives to integrate data from different databases, in order to easily specify which data
are to be considered as input or as output for the program.
i
In its early implementation, DLVDB did not support external predicates, list terms, and function
symbols, which are of fundamental importance to enhance knowledge representation and
reasoning capabilities of a DLP language. In particular, function symbols and lists terms allow
the aggregation of atomic data, the manipulation of complex data structures and the generation
of new symbols, while external predicates allow the isolation of procedural code units for calling
them within declarative logic programs. The main goal of this thesis is to extend the DLVDB system
to let it support the above mentioned language constructs, in order to improve its knowledge
modelling power. By providing support to external predicates, list terms, and functional symbols,
DLVDB allows to directly reason about recursive data structures, such as lists, semi-structured
documents, and so on. This is a very important feature, both for standard knowledge-based tasks
and for emerging applications, such as those manipulating XML documents.
The main results of this thesis can be summarized as follows:
• The DLVDB system has been extended to provide full support to external predicates. Since
DLVDB transforms logic programs into SQL statements to enable database-oriented processing,
we implemented external predicates by calls to database stored functions. This
feature significantly improves the processing capabilities of DLVDB when the program includes
inherently procedural subtasks that would be inefficiently solved in a declarative
way.
• Another extension to DLVDB has been designed and implemented to support list terms.
We handle list terms through a rewriting of the rules using suitable external predicates. In
particular, programs containing list terms are automatically rewritten to contain only terms
and external predicates. The possibility to use lists allows programs to efficiently reason
about recursive data structures, a feature that is required by many real-world applications.
• A third extension to the DLVDB system has been realized to support programs with functional
symbols. Similarly to list terms, rules are rewritten by replacing each functional
term definition with calls to external predicates. Support to functional terms represents an
important added value to DLVDB, since they are a very convenient means for generating
domains and objects, allowing a more natural representation of problems in such domains.
• A rich library of database stored functions for lists manipulation has been realized to facilitate
the use of list terms in DLVDB through the use of external functions. Each function
has been implemented for the DBMSs used as working databases for DLVDB, namely
SQLServer, PostgreSQL, MySQL and Oracle.
• Finally, a wide set of experiments has been performed to evaluate our extensions to the
DLVDB system. All three extensions significantly improve the expressiveness of the supported
language. The experimental results show that such extensions also significantly
reduce the execution times as compared to DLVDB programs that do not support them.
This thesis is organized as follows. Chapter 2 discusses the Answer Set Programming (ASP)
framework based on a DLP language extended with aggregates, external predicates, functional
terms and list terms. The chapter first defines the syntax of this language and its associated
semantics, i.e., the answer set semantics. Then, it illustrates the usage of ASP as a formalism for
knowledge representation and reasoning.
ii
Chapter 3 describes the DLVDB system. The chapter starts by introducing objectives and the
architecture of DLVDB. Then, it focuses on the auxiliary directives the user can specify to let
DLVDB interact with external databases. Finally, the chapter describes the evaluation strategy of
DLP rules and their translation into SQL statements.
Chapter 4 analyzes and compares the most recent ASP systems that support unstratified negation
and other advanced constructs like disjunction, and various forms of constraints. The ASP
systems are compared on the basis of two main aspects: the expressiveness of the supported language
(e.g., its ability to express views, recursive rules, etc.), and the efficiency to answer a query
(i.e., the quantity of data to be analyzed for answering a query, and the intrinsic complexity of
the query itself).
Chapter 5 describes the extensions that have been implemented to support external predicates,
list terms, and functional terms in DLVDB. The chapter starts by providing the basic notions of
database stored functions, which are used in our approach to implement the external predicates
in DLVDB. Then, the evaluation strategies used for supporting external predicates, lists, and
functional terms are described in detail.
Chapter 6 presents an experimental evaluation of our extensions to the DLVDB system. The
chapter provides a set of test cases to evaluate the benefits, in terms of performance and expressiveness,
deriving from the use of our extensions (support to external predicates, lists, and
functional terms) in DLVDB.
Finally, Chapter 7 concludes the thesis by summarizing the main results achieved and by
outlining future work, while Appendix A includes the source code of the implemented library for
lists manipulations.; Università della CalabriaSoggetto
Programmazione logica; Linguaggio di programmazione
Relazione
INF/01;