Data Constructors: On the Integration of Rules and Relations

Although the goals and means of rule-based and data-based systems are too different to be fully integrated at the present time, it seems appropriate to investigate a closer integration of language constructs and a better cooperation of execution models for both kinds of approaches. In this paper we propose a new language construct called constructor that allows the definition of new relations from existing ones by means of recursion. The constructor is semantically defined by the least fixed point of a set expression and blends well both with a strongly typed modular programming language and with a relational calculus query formalism. Moreover, it is shown to provide expressive power at least equivalent to the declarative semantics of PROLOG while avoiding some disadvantages of it, for example, poor modularity and infinite loops. Furthermore, the constructor is set-oriented thus allowing more efficient implementation techniques than those available through proof-theoretic methods typical of a rule-based approach.

[1]  Winfried Lamersdorf,et al.  Recursive data models for non-conventional database applications , 1984, 1984 IEEE First International Conference on Data Engineering.

[2]  Michael Stonebraker,et al.  Heuristic Search in Data Base Systems , 1984, Expert Database Workshop.

[3]  Michael Stonebraker,et al.  Heuristic search in database systems , 1986 .

[4]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[5]  Edward Sciore,et al.  Towards an Integrated Database-Prolog System , 1984, Expert Database Workshop.

[6]  Claus-Peter Schnorr,et al.  An Algorithm for Transitive Closure with Linear Expected Time , 1978, SIAM J. Comput..

[7]  Manuel Reimer,et al.  Data Selection, Sharing, and Access Control In a Relational Scenario , 1982, On Conceptual Modelling.

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

[9]  Raymond Reiter On Closed World Data Bases , 1977, Logic and Data Bases.

[10]  Joachim W. Schmidt,et al.  Some high level language constructs for data of type relation , 1977, TODS.

[11]  Michael Stonebraker,et al.  Implementation of integrity constraints and views by query modification , 1975, SIGMOD '75.

[12]  John Miles Smith,et al.  Expert Database Systems: A Database Perspective , 1984, Expert Database Workshop.

[13]  Matthias Jarke,et al.  Range nesting: a fast method to evaluate quantified queries , 1982, SIGMOD '83.

[14]  Oded Shmueli,et al.  Rule Support in Prolog , 1984, Expert Database Workshop.

[15]  Matthew Morgenstern Constraint Equations: Declarative Expression of Constraints With Automatic Enforcement , 1984, VLDB.

[16]  Volker Linnemann,et al.  Higher Level relational Objects , 1985, BNCOD.

[17]  Carlo Zaniolo,et al.  Prolog: A Database Query Language for All Seasons , 1984, Expert Database Workshop.

[18]  David Harel,et al.  Horn clauses and the fixpoint query hierarchy , 1982, PODS.

[19]  Matthias Jarke,et al.  External Semantic Query Simplification: a Graph-Theoretic Approach and its Implementation in Prolog , 1984, Expert Database Workshop.

[20]  Jeffrey D. Ullman,et al.  Principles of Database Systems , 1980 .

[21]  Hector J. Levesque,et al.  What Makes a Knowledge Base Knowledgeable? A View of Databases from the Knowledge Level , 1984, Expert Database Workshop.

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

[23]  Niklaus Wirth,et al.  Programming in Modula-2 , 1985, Texts and Monographs in Computer Science.

[24]  Bernd Krieg-Brückner,et al.  Types in the Programming Language Ada , 1982, On Conceptual Modelling.

[25]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[26]  Winfried Lamersdorf,et al.  Language Support for Office Modelling , 1984, VLDB.

[27]  Jack Minker,et al.  On recursive axioms in deductive databases , 1983, Inf. Syst..

[28]  Jack Minker,et al.  Logic and Databases: A Deductive Approach , 1984, CSUR.

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