Traversal recursion: a practical approach to supporting recursive applications

Many capabilities that are needed for recursive applications in engineering and project management are not well supported by the usual formulations of recursion. We identify a class of recursions called “traversal recursions” (which model traversals of a directed graph) that have two important properties they can supply the necessary capabilities and efficient processing algorithms have been defined for them. First we present a taxonomy of traversal recursions based on properties of the recursion on graph structure and on unusual types of metadata. This taxonomy is exploited to identify solvable recursions and to select an execution algorithm. We show how graph traversal can sometimes outperform the more general iteration algorithm. Finally we show how a conventional query optimizer architecture can be extended to handle recursive queries and views.

[1]  Jeffrey D. Ullman,et al.  Implementation of logiclal query languages for databases (abstract only) , 1985, SIGMOD Conference.

[2]  Moshé M. Zloof Query by example , 1975, AFIPS '75.

[3]  David W. Shipman,et al.  The functional data model and the data languages DAPLEX , 1981, TODS.

[4]  David W. Shipman The functional data model and the data language DAPLEX , 1979, SIGMOD '79.

[5]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[6]  Matthias Jarke,et al.  Data Constructors: On the Integration of Rules and Relations , 1985, VLDB.

[7]  Eric K. Clemons Design of an external schema facility to define and process recursive structures , 1981, TODS.

[8]  Sandra Heiler,et al.  An Example of Knowledge-Based Query Processing in a CAD/CAM DBMS , 1984, VLDB.

[9]  T H Merrett,et al.  Relational Information Systems , 1983 .

[10]  Lawrence J. Henschen,et al.  On compiling queries in recursive first-order databases , 1984, JACM.

[11]  Jack A. Orenstein Spatial query processing in an object-oriented database system , 1986, SIGMOD '86.

[12]  Sandra Heiler,et al.  G-WHIZ, a Visual Interface for the Functional Model with Recursion , 1985, VLDB.

[13]  Umeshwar Dayal,et al.  PROBE: A Knowledge-Oriented Database Management System , 1986, On Knowledge Base Management Systems.

[14]  Alfred V. Aho,et al.  Universality of data retrieval languages , 1979, POPL.

[15]  Jack Minker,et al.  Interfacing Predicate Logic Languages and Relational Databases , 1982, ICLP.

[16]  Matthias Jarke,et al.  An optimizing prolog front-end to a relational query system , 1984, SIGMOD '84.

[17]  Susumu Kunifuji,et al.  An enhanced inference mechanism for generating relational algebra queries , 1984, PODS '84.