A graph-based decomposition approach for recursive query processing

  • Dietmar Seipel
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 344)


In practice most recursive logic queries to a deductive database are linear. According to /JaAgNe 87/ every linearly recursive query can be expressed by one so-called transitive closure query and several non-recursive queries.

A transitive closure query TC refers to two binary relations R and Q. It corresponds to a so-called database digraph DG=(VR,R) and a set Vgoal of special nodes in DG. Given an arbitrary c ∈ VR. The major step in the bottom-up evaluation of TC is to efficiently compute the set of all (c,Y) ∈ R⋆, Y ∈ Vgoal.

The first technique clusters the database digraph, which yields a connection hypergraph CH, a clustergraph CG and a skeleton graph SG. CG is the homomorphic image of DG w.r.t. the clustering, SG is a small special subgraph of the transitive closure DG⋆=(VR,R⋆) of DG. Based on CG and CH the query TC is decomposed into auxiliary queries that refer only to the relevant parts of R. This reduces the amount of intermediate tuples generated during query evaluation. Augmenting the database by the edges of the skeleton graph speeds up the evaluation of the auxiliary queries for arbitrary constants ‘c’.

The second technique refines the decomposition approach by a further clustering technique using some special knowledge about the structure of R. Every cluster contains one prototypical element, such that it suffices to solve auxiliary queries for the prototypes, since the results for other elements can then be derived easily from the prototypical results.

The combination of both clustering techniques is implemented in a Prolog-based advanced deductive database system, that solves traversal recursion problems on very large relations R, e.g. computes connecting paths in DG.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. /Ahul 79/.
    A. Aho, J. Ullman: ‘Universality of Data Retrieval Languages', Proc. POPL 1979.Google Scholar
  2. /AgJa 87/.
    R. Agrawal, H. Jagadish: ‘Direct Algorithms for Computing the Transitive Closure of Database Relations', Proc. VLDB 1987.Google Scholar
  3. /BaMaSaUl 86/.
    F. Bancilhon, D. Maier, Y. Sagiv, J. Ullman: ‘Magic Sets and Other Strage Ways to Implement Logic Programs', Proc. PODS 1986.Google Scholar
  4. /BaRa 86/.
    F. Bancilhon, R. Ramakrishnan: ‘An Amateur's Introduction to Recursive Query Processing Strategies', Proc. ACM SIGMOD 1986.Google Scholar
  5. /BayGüKieStOb 87/.
    R. Bayer, U. Güntzer, W. Kiessling, W. StrauB, J. Obermaier: ‘Deduktions-und Datenbankunterstützung für Expertensysteme', GI-Fachtagung, ‘Datenbanksysteme für Büro, Technik und Wissenschaft', Informatik-Fachberichte 136, 1987.Google Scholar
  6. /GaMi 78/.
    H. Gallaire, J. Minker: ‘Logic and Databases', Plenum Press, New York, 1978.Google Scholar
  7. /GaMiNi78/.
    H. Gallaire, J. Minker, J. Nicolas: ‘An Overview and Introduction to Logic and Data Bases', in /GaMi 78/.Google Scholar
  8. /GaMiNi 81/.
    H. Gallaire, J. Minker, J. Nicolas: ‘Advances in Data Base Theory, Vol. 1', Plenum Press, New York, 1981.Google Scholar
  9. /GaMiNi 84/.
    H. Gallaire, J. Minker, J. Nicolas: ‘Advances in Data Base Theory, Vol. 2', Plenum Press, New York, 1984.Google Scholar
  10. /GaMiNi 84/.
    H. Gallaire, J. Minker, J. Nicolas: ‘Logic and Databases: A Deductive Approach', ACM Computing Surveys, vol. 16(2), 1984.Google Scholar
  11. /GüKieBay 87/.
    U. Güntzer, W. Kiessling, R. Bayer: ‘On the Evaluation of Recursion in (Deductive) Database Systems by Efficient Differential Fixpoint Iteration', Proc. Int. Conf. on Data Engineering 1987.Google Scholar
  12. /HaQaCh 88/.
    J. Han, G. Qadah, C. Chaou: ‘The Processing and Evaluation of Transitive Closure Queries', Proc. Intl. Conf. Extending Database Technology 1988, LNCS 303.Google Scholar
  13. /HaHe 87/.
    J. Han, L. Henschen: ‘Handling Redundancy in the Processing of Recursive Database Queries', Proc. ACM SIGMOD 1987.Google Scholar
  14. /HeNa 84/.
    L. Henschen, S. Naqvi: ‘On Compiling Queries in Recursive First-Order Data Bases', JACM, vol. 31(1), 1984.Google Scholar
  15. /HaLu 86/.
    J. Han, H. Lu: 'some Performance Results on Recursive Query Processing in Relational Database Systems', Proc. Int. Conf. on Data Engineering 1986.Google Scholar
  16. /Io 86/.
    Y. Ioanidis: ‘On the Computation of the Transitive Closure of Relational Operations', Proc. VLDB 1986.Google Scholar
  17. /JaAgNe 87/.
    H. Jagadish, R. Agrawal, L. Ness: ‘A Study of Transitive Closure as a Recursion Mechanism', Proc. ACM SIGMOD 1987.Google Scholar
  18. /KiLo 86/.
    M. Kifer, E. Lozinskii: ‘Filtering Data Flow in Deductive Databases', Proc. ICDT 1986.Google Scholar
  19. /KiLo 87/.
    M. Kifer, E. Lozinskii: ‘Implementing Logic Programs as a Database System', Proc. Int. Conf. on Data Engineering, 1987.Google Scholar
  20. /Lu 87/.
    H. Lu: ‘New Strategies for Computing the Transitive Closure of a Database Relation', Proc. VLDB 1987.Google Scholar
  21. /RoHeiDaMa 86/.
    A. Rosenthal, S. Heiler, U. Dayal, F. Manola: ‘Traversal Recursion: A Practical Approach to Supporting Recursive Applications', Proc. ACM SIGMOD 1986.Google Scholar
  22. /SaZa 86a/.
    D. Sacca, C. Zaniolo: ‘On the Implementation of a Simple Class of Logic Queries for Databases', Proc. PODS 1986.Google Scholar
  23. /SaZa 86b/.
    D. Sacca, C. Zaniolo: ‘The Generalized Counting Method for Recursive Logic Queries', Proc. ICDT 1986.Google Scholar
  24. /Ul 85/.
    J. Ullman: ‘Implementation of Logical Query Languages for Databases', ACM TODS, vol. 10(3), 1985.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1989

Authors and Affiliations

  • Dietmar Seipel
    • 1
  1. 1.Lehrstuhl für Informatik IUniversity at Wuerzburg Am HublandWuerzburgW.-Germany

Personalised recommendations