Decomposition of linear recursive logic programs

  • Dietmar Seipel
Graphs, Languages And Databases
Part of the Lecture Notes in Computer Science book series (LNCS, volume 484)


In practise, most recursive logic queries to a deductive database are expressed by linear recursive datalog programs with exactly one linear recursive rule, so-called linear datalog sirups.

The notion of k-sided linear datalog sirups has been introduced by Naughton, who characterized one-sided linear datalog sirups based on a graph model. We use another graph representation of linear datalog sirups for extending this characterization to arbitrary sidedness k. It is shown that 0 ≤ kn′, where n′ is the dimension of the sirup, i.e. the arity of its recursive predicate symbol. An efficient (quadratic time) algorithm for the determination of the sidedness k is presented.

We will define the canonicalk-sided normal form (CKNF) for linear datalog sirups. Every k-sided linear datalog sirup can be normalized to an equivalent k-sided CKNF sirup. Every k-sided CKNF sirup can be decomposed by counting techniques into k lower-dimensional linear sirups in a very simple normal form for non-datalog sirups, the generalized form for transitive closure, which allows for the usage of very efficient query evaluation algorithms.


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. [AgDe 88]
    R. Agrawal, P. Devanbu: Moving Selections into Linear Least Fixpoint Queries, Proc. Intl. Conf. on Data Engineering, 1988.Google Scholar
  3. [BaMaSaUl 86]
    F. Bancilhon, D. Maier, Y. Sagiv, J. Ullman: Magic Sets and Other Strange 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. [BeeRa 87]
    C. Beeri, R. Ramakrishnan: On the Power of Magic, Poc. PODS 1987.Google Scholar
  6. [BiSt 88]
    J. Biskup, H. Steifeling: Transitive Closure Algorithms for Very Large Databases, Proc. Intl. Workshop on Graph-Theoretic Concepts in Computer Science 1988 (WG'88), LNCS 344, Springer, 1989.Google Scholar
  7. [GüKiBa 87]
    U. Güntzer, W. Kiessling, R. Bayer: On the Evaluation of Recursion in (Deductive) Database Systems by Efficient Differential Fixpoint Iteration, Proc. Intl. Conf. on Data Engineering 1987.Google Scholar
  8. [HaHe 87]
    J. Han, L. Henschen: Handling Redundancy in the Processing of Recursive Database Queries, Proc. ACM SIGMOD 1987.Google Scholar
  9. [HaLu 86]
    J. Han, H. Lu: Some Performance Results on Recursive Query Processing in Relational Database Systems, Proc. Intl. Conf. on Data Engineering 1986.Google Scholar
  10. [HaNa 88]
    R. Haddad, J. Naughton: Counting Methods for Cyclic Relations, Proc. PODS 1988.Google Scholar
  11. [HeNa 84]
    L. Henschen, S. Naqvi: On Compiling Queries in Recursive First-Order Data Bases, JACM, vol. 31(1), 1984.Google Scholar
  12. [Io 85]
    Y. Ioannidis: A Time Bound on the Materialization of Some Recursively Defined Views, Proc. VLDB 1985.Google Scholar
  13. [IoWo 86]
    Y. Ioannidis, E. Wong: An Algebraic Approach to Recursive Inference, in: L. Kerschberg: Expert Database Systems, Proc. First Intl. Workshop 1986, Benjamin-Cummings, Menlo Park, CA, 1987.Google Scholar
  14. [JaAgNe 87]
    H. Jagadish, R. Agrawal, L. Ness: A Study of Transitive Closure as a Recursion Mechanism, Proc. ACM SIGMOD 1987.Google Scholar
  15. [KiLo 86]
    M. Kifer, E. Lozinskii: Filtering Data Flow in Deductive Databases, Proc. ICDT 1986.Google Scholar
  16. [Lo 84]
    J. Lloyd: Foundations of Logic Programming, Springer, 1984.Google Scholar
  17. [Na 87]
    J. Naughton: One-Sided Recursions, Proc. PODS 1987.Google Scholar
  18. [Na 89]
    J. Naughton: Minimizing Function-Free Recursive Inference Rules, JACM, vol. 36(1), 1989.Google Scholar
  19. [NaSa 87]
    J. Naughton, Y. Sagiv: A Decidable Class of Bounded Recursions, Proc. PODS 1987.Google Scholar
  20. [Sa 87]
    Y. Sagiv: Optimizing Datalog Programs, Proc. PODS 1987.Google Scholar
  21. [SaZa 87]
    D. Sacca, C. Zaniolo: Magic Counting Methods, Proc. ACM SIGMOD 1987.Google Scholar
  22. [Sei 88]
    D. Seipel: A Graph-Based Decomposition Approach for Recursive Query Processing, Proc. Intl. Workshop on Graph-Theoretic Concepts in Computer Science 1988 (WG'88), LNCS 344, Springer, 1989.Google Scholar
  23. [Sei 89]
    D. Seipel: Decomposition in Database and Knowledge-Base Systems, Doctoral Dissertation, University of Würzburg, 1989.Google Scholar
  24. [SiSo 88]
    S. Sippu, E. Soisalon-Soininen: A Generalized Transitive Closure for Relational Queries, Proc. PODS 1988. (and: Research Report 183, Univ. Karlsruhe, Dept. of CS, 1987).Google Scholar
  25. [Ul 85]
    J. Ullman: Implementation of Logical Query Languages for Databases, ACM TODS, vol. 10(3), 1985.Google Scholar
  26. [YoHeHa 88]
    C. Youn, L. Henschen, J. Han: Classification of Recursive Formulas in Deductive Databases, Proc. ACM SIGMOD 1988.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Dietmar Seipel
    • 1
  1. 1.Wilhelm-Schickard-Institut für InformatikUniversität TübingenTübingenWest-Germany

Personalised recommendations