Theory and Practice of Logic Programming

Regular Papers

Experimenting with recursive queries in database and logic programming systems

G. TERRACINAa1, N. LEONEa1, V. LIOa1 and C. PANETTAa1

a1 Dipartimento di Matematica, Università della Calabria, Via P. Bucci, 87030, Rende (CS), Italy (e-mail: terracina@mat.unical.it, leone@mat.unical.it, lio@mat.unical.it, panetta@mat.unical.it)

Abstract

This article considers the problem of reasoning on massive amounts of (possibly distributed) data. Presently, existing proposals show some limitations: (i) the quantity of data that can be handled contemporarily is limited, because reasoning is generally carried out in main-memory; (ii) the interaction with external (and independent) Database Management Systems is not trivial and, in several cases, not allowed at all; and (iii) the efficiency of present implementations is still not sufficient for their utilization in complex reasoning tasks involving massive amounts of data. This article provides a contribution in this setting; it presents a new system, called DLVDB, which aims to solve these problems. Moreover, it reports the results of a thorough experimental analysis we have carried out for comparing our system with several state-of-the-art systems (both logic and databases) on some classical deductive problems; the other tested systems are LDL++, XSB, Smodels, and three top-level commercial Database Management Systems. DLVDB significantly outperforms even the commercial database systems on recursive queries.

(Received October 16 2006)

(Revised March 12 2007)

(Accepted April 20 2007)

KEYWORDS:

  • Deductive Database Systems;
  • Answer Set Programming/Declarative Logic Programming;
  • recursive queries;
  • benchmarks