Deductive database languages: problems and solutions

Deductive databases result from the integration of relational database and logic programming techniques. However, significant problems remain inherent in this simple synthesis from the language point of view. In this paper, we discuss these problems from four different aspects: complex values, object orientation, higher-orderness, and updates. In each case, we examine four typical languages that address the corresponding issues.

[1]  Won Kim,et al.  Object-Oriented Databases: Definition and Research Directions , 1990, IEEE Trans. Knowl. Data Eng..

[2]  Ming-Chien Shan,et al.  Iris: An Object-Oriented Database Management System , 1989, ACM Trans. Inf. Syst..

[3]  David Scott Warren,et al.  C-logic of complex objects , 1989, PODS '89.

[4]  David J. DeWitt,et al.  A data model and query language for EXODUS , 1988, SIGMOD '88.

[5]  Michael Kifer,et al.  HILOG: A Foundation for Higher-Order Logic Programming , 1993, J. Log. Program..

[6]  David Maier,et al.  Magic sets and other strange ways to implement logic programs (extended abstract) , 1985, PODS '86.

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

[8]  Carlo Zaniolo,et al.  Magic counting methods , 1987, SIGMOD '87.

[9]  Jeffrey D. Ullman,et al.  A survey of deductive database systems , 1995, J. Log. Program..

[10]  Elisa Bertino,et al.  Towards a Logical-Object Oriented Programming Language for Databases , 1992, EDBT.

[11]  Kenneth A. Ross,et al.  The well-founded semantics for general logic programs , 1991, JACM.

[12]  Konstantinos Sagonas,et al.  XSB as an efficient deductive database engine , 1994, SIGMOD '94.

[13]  Lee Naish,et al.  Concurrent Database Updates in PROLOG , 1987, ICLP.

[14]  John W. Lloyd Relationlog: A Typed Extension to Datalog with Sets and Tuples (Extended Abstract) , 1995 .

[15]  Christophe Lécluse,et al.  The O2 Database Programming Language , 1989, Building an Object-Oriented Database System, The Story of O2.

[16]  David Harel,et al.  First-Order Dynamic Logic , 1979, Lecture Notes in Computer Science.

[17]  V. S. Subrahmanian Paraconsistent disjunctive deductive databases , 1990, Proceedings of the Twentieth International Symposium on Multiple-Valued Logic.

[18]  Stanley Modeling lntegrated Manufacturing Data with SAM , 1986, Computer.

[19]  Adrian Walker,et al.  Towards a Theory of Declarative Knowledge , 1988, Foundations of Deductive Databases and Logic Programming..

[20]  Michael J. Maher,et al.  Toward Practical Constraint Databases , 1993, VLDB.

[21]  Ling Liu,et al.  LogicBase: a deductive database system prototype , 1994, CIKM '94.

[22]  David Maier,et al.  Development of an object-oriented DBMS , 1986, OOPSLA 1986.

[23]  Raymond Reiter,et al.  On Specifying Database Updates , 1995, J. Log. Program..

[24]  Kenneth A. Ross,et al.  Modular stratification and magic sets for Datalog programs with negation , 1994, JACM.

[25]  Michael Kifer,et al.  Transaction Logic Programming , 1993, ICLP.

[26]  V. S. Subrahmanian Paraconsistent Disjunctive Deductive Databases , 1992, Theor. Comput. Sci..

[27]  Letizia Tanca,et al.  Logic Programming and Databases , 1990, Surveys in Computer Science.

[28]  Victor W. Marek Book review: The Art of Prolog Advanced Programming Techniques by L. Sterling and E. Shapiro (The MIT Press) , 1988, SGAR.

[29]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[30]  O. Deux,et al.  The O2 system , 1991 .

[31]  John Grant,et al.  The impact of logic programming on databases , 1992, CACM.

[32]  Jeffrey D. Uuman Principles of database and knowledge- base systems , 1989 .

[33]  Henry F. Korth,et al.  SQL/NF: a query language for ¬1 NF relational databases , 1987, Inf. Syst..

[34]  Bharat Jayaraman Implementation of Subset-Equational Programs , 1992, J. Log. Program..

[35]  Sanjay Manchanda Declarative expression of deductive database updates , 1989, PODS '89.

[36]  Serge Abiteboul,et al.  Datalog Extensions for Database Queries and Updates , 1991, J. Comput. Syst. Sci..

[37]  Eric Simon,et al.  Modelling Non Deterministic Queries and Updates in Deductive Databases , 1988, VLDB.

[38]  Tom Atwood,et al.  Object Database Standard: ODMG-93, Release 1.2 , 1995 .

[39]  Michael Kifer,et al.  F-logic: a higher-order language for reasoning about objects, inheritance, and scheme , 1989, SIGMOD '89.

[40]  Serge Abiteboul,et al.  A rule-based language with functions and sets , 1991, TODS.

[41]  Agostino Dovier,et al.  A Language for Programming in Logic with Finite Sets , 1996, J. Log. Program..

[42]  Paolo Mancarella,et al.  Database Updates through Abduction , 1990, VLDB.

[43]  Qiming Chen,et al.  Nested relation based database knowledge representation , 1991, SIGMOD '91.

[44]  R. G. G. Cattell,et al.  The Object Database Standard: ODMG-93 (Release 1.1) , 1994 .

[45]  Won Kim,et al.  Introduction to Object-Oriented Databases , 1991, Computer systems.

[46]  J. D. Uiiman,et al.  Principles of Database Systems , 2004, PODS 2004.

[47]  Raghu Ramakrishnan Applications of Logic Databases , 1995, The Kluwer International Series in Engineering and Computer Science 296.

[48]  Michael L. Brodie,et al.  On Conceptual Modelling , 1984, Topics in Information Systems.

[49]  Jack Minker,et al.  Logic and Data Bases , 1978, Springer US.

[50]  Serge Abiteboul,et al.  IFO: a formal semantic database model , 1987, TODS.

[51]  Michael Kifer,et al.  An Overview of Transaction Logic , 1994, Theor. Comput. Sci..

[52]  Serge Abiteboul,et al.  COL: A Logic-Based Language for Complex Objects , 1988, EDBT.

[53]  Hassan Aït-Kaci,et al.  LOGIN: A Logic Programming Language with Built-In Inheritance , 1986, J. Log. Program..

[54]  Juliana Freire,et al.  XSB: A System for Effciently Computing WFS , 1997, LPNMR.

[55]  Alexander Borgida,et al.  Modeling class hierarchies with contradictions , 1988, SIGMOD '88.

[56]  John W. Lloyd,et al.  The Gödel programming language , 1994 .

[57]  Serge Abiteboul,et al.  Updates, A New Frontier , 1988, ICDT.

[58]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[59]  Allen Van Gelder,et al.  The Alternating Fixpoint of Logic Programs with Negation , 1993, J. Comput. Syst. Sci..

[60]  Burkhard Freitag,et al.  Capturing Database Dynamics by Deferred Updates , 1997, ICLP.

[61]  Mats Carlsson,et al.  Guest Editors' Introduction: High-Performance Implementations of Logic Programming Systems , 1996, J. Log. Program..

[62]  Catriel Beeri,et al.  Set Constructors in a Logic Database Language , 1991, J. Log. Program..

[63]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[64]  Katsumi Inoue,et al.  Hypothetical Reasoning in Logic Programs , 1994, J. Log. Program..

[65]  Alain Colmerauer Prolog in 10 figures , 1985, CACM.

[66]  Mark A. Roth,et al.  Sql/nf: a Query Language for , 1985 .

[67]  Hamid Pirahesh,et al.  Magic conditions , 1996, TODS.

[68]  Latha S. Colby A recursive algebra and query optimization for nested relations , 1989, SIGMOD '89.

[69]  Anthony J. Bonner Hypothetical Datalog: Complexity and Expressibility , 1990, Theor. Comput. Sci..

[70]  Kim,et al.  Object-Oriented Databases : Defin ition and Research Directions , 2001 .

[71]  Robert A. Kowalski,et al.  The early years of logic programming , 1988, CACM.

[72]  Mark A. Roth,et al.  Extended Algebra and Calculus for , 1984 .

[73]  Grigoris Antoniou,et al.  Well-Founded Semantics , 1997 .

[74]  Mengchi Liu ROL: A Deductive Object Base Language , 1996, Inf. Syst..

[75]  K. A. Ross Modular stratification and magic sets for DATALOG programs with negation , 1990, PODS 1990.

[76]  Catriel Beeri,et al.  On the power of magic , 1987, PODS '87.

[77]  Carlo Zaniolo,et al.  The LDL System Prototype , 1990, IEEE Trans. Knowl. Data Eng..

[78]  Catriel Beeri,et al.  Formal Models for Object Oriented Databases , 1989, DOOD.

[79]  Georg Lausen,et al.  FLORID: a prototype for F-logic , 1997, Proceedings 13th International Conference on Data Engineering.

[80]  John Mylopoulos,et al.  A language facility for designing database-intensive applications , 1980, TODS.

[81]  Serge Abiteboul,et al.  Object identity as a query language primitive , 1989, SIGMOD '89.

[82]  Abraham Silberschatz,et al.  Extended algebra and calculus for nested relational databases , 1988, TODS.

[83]  Michael Kifer,et al.  Logical foundations of object-oriented and frame-based languages , 1995, JACM.

[84]  Burkhard Freitag,et al.  LOLA - A Logic Language for Deductive Databases and its Implementation , 1991, DASFAA.

[85]  Anthony J. Bonner Hypothetical datalog negation and linear recursion , 1989, PODS '89.

[86]  Serge Abiteboul,et al.  IFO: A Formal Semantic Database Model , 1987, ACM Trans. Database Syst..

[87]  Stéphane Grumbach,et al.  Towards Practical Constraint Databases. , 1996, PODS 1996.

[88]  Serge Abiteboul,et al.  Foundations of Databases , 1994 .

[89]  Mengchi Liu,et al.  Introduction to the Relationlog System , 1998, DDLP.

[90]  Catriel Beeri,et al.  On the power of magic , 1987, J. Log. Program..

[91]  Serge Abiteboul,et al.  Nested Relations and Complex Objects in Databases , 1989, Lecture Notes in Computer Science.

[92]  Renzo Orsini,et al.  GALILEO: a strongly-typed, interactive conceptual language , 1985, TODS.

[93]  Weidong Chen Programming with Logical Queries, Bulk Updates, and Hypothetical Reasoning , 1997, IEEE Trans. Knowl. Data Eng..

[94]  François Bry,et al.  Intensional Updates: Abduction via Deduction , 1990, ICLP.

[95]  Jianwen Su,et al.  Towards practical constraint databases (extended abstract) , 1996, PODS.

[96]  Gabriel M. Kuper,et al.  Logic programming with sets , 1987, J. Comput. Syst. Sci..

[97]  Hiroshi Ishikawa,et al.  The model, language, and implementation of an object-oriented multimedia knowledge base management system , 1993, TODS.

[98]  Jeffrey D. Ullman,et al.  Principles of Database and Knowledge-Base Systems, Volume II , 1988, Principles of computer science series.

[99]  Shamim A. Naqvi,et al.  Database updates in logic programming , 1988, PODS.

[100]  Robert A. Kowalski,et al.  Database Updates in the Event Calculus , 1992, J. Log. Program..

[101]  Zoltan Somogyi,et al.  The Execution Algorithm of Mercury, an Efficient Purely Declarative Logic Programming Language , 1996, J. Log. Program..

[102]  Qiming Chen,et al.  HILOG: A High-Order Logic Programming Language for Non-1NF Deductive Databases , 1989, DOOD.

[103]  John Mylopoulos,et al.  A language facility for designing database-intensive applications , 1989 .

[104]  Leon Sterling,et al.  The Art of Prolog - Advanced Programming Techniques , 1986 .

[105]  Andreas Heuer,et al.  The LIVING IN A LATTICE rule language , 1993, Data Knowl. Eng..

[106]  Jeffrey D. Ullman,et al.  A Comparison between Deductive and Object-Oriented Database Systems , 1991, DOOD.

[107]  Stanley Y. W. Su Modeling Integrated Manufacturing Data with SAM* , 1986, Computer.

[108]  Michael Kifer,et al.  Database Programming in Transaction Logic , 1993, DBPL.

[109]  Raghu Ramakrishnan,et al.  Review - Magic Sets and Other Strange Ways to Implement Logic Programs , 1999, ACM SIGMOD Digit. Rev..

[110]  Matthias Jarke,et al.  Logic Programming and Databases , 1984, Expert Database Workshop.

[111]  Teodor C. Przymusinski Extended Stable Semantics for Normal and Disjunctive Programs , 1990, ICLP.

[112]  Serge Abiteboul,et al.  Papers from the Workshop ``Theory and Applications of Nested Relations and Complex Objects' on Nested Relations and Complex Objects , 1987 .

[113]  Mengchi Liu,et al.  Design and implementation of the Relationlog deductive database system , 1998, Proceedings Ninth International Workshop on Database and Expert Systems Applications (Cat. No.98EX130).

[114]  Barry E. Jacobs,et al.  On Database Logic , 1982, JACM.

[115]  E. F. Codd,et al.  A Relational Model for Large Shared Data Banks , 1970 .

[116]  Jack Minker,et al.  Disjunctive Deductive Databases , 1992, LPAR.

[117]  Gert Smolka,et al.  The Oz Programming Model , 1996, Computer Science Today.

[118]  Catriel Beeri,et al.  A Formal Approach to Object-Oriented Databases , 1990, Data Knowl. Eng..

[119]  Michael Kifer,et al.  Deductive and Object-Oriented Databases: Second International Conference, Dood '91 Munich, Germany, December 16-18, 1991 Proceedings , 1991 .

[120]  Mengchi Liu,et al.  Relationlog: A Typed Extension to Datalog with Sets and Tuples , 1998, J. Log. Program..

[121]  F KorthHenry,et al.  SQL/NF: a query language for 1NF relational databases , 1987 .

[122]  JOHN PAUL,et al.  Introduction to Life , 1970, Nature.

[123]  Gabriel M. Kuper,et al.  Logic programming with sets , 1987, PODS '87.

[124]  Laurian M. Chirica,et al.  The entity-relationship model: toward a unified view of data , 1975, SIGF.

[125]  J. W. Lloyd,et al.  Foundations of logic programming; (2nd extended ed.) , 1987 .

[126]  Raymond Reiter,et al.  Towards a Logical Reconstruction of Relational Database Theory , 1982, On Conceptual Modelling.

[127]  Shamim A. Naqvi,et al.  Towards a Real Horn Clause Language , 1988, VLDB.

[128]  Konstantinos Sagonas,et al.  Xsb as an Eecient Deductive Database Engine , 1994 .

[129]  Carlo Zaniolo,et al.  LDL: A Logic-Based Data Language , 1986, VLDB.

[130]  Bin Jiang,et al.  A suitable algorithm for computing partial transitive closures in databases , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[131]  John W. Lloyd,et al.  The Go¨del programming language , 1994 .

[132]  Jeffrey D. Ullman,et al.  Design Overview of the NAIL! System , 1986, ICLP.

[133]  Letizia Tanca,et al.  Integrating object-oriented data modelling with a rule-based programming paradigm , 1990, SIGMOD '90.

[134]  Z. Meral Özsoyoglu,et al.  A new normal form for nested relations , 1987, TODS.

[135]  Jack Minker,et al.  Semantics of Disjunctive Deductive Databases , 1992, ICDT.

[136]  E. F. Codd,et al.  Extending the database relational model to capture more meaning , 1979, ACM Trans. Database Syst..

[137]  Raghu Ramakrishnan,et al.  Efficient Transitive Closure Algorithms , 1988, VLDB.

[138]  Shamim A. Naqvi,et al.  A Logical Language for Data and Knowledge Bases , 1989 .

[139]  Dennis McLeod,et al.  Database description with SDM: a semantic database model , 1981, TODS.

[140]  Z. Meral Özsoyoglu,et al.  LLO: an object-oriented deductive language with methods and method inheritance , 1991, SIGMOD '91.

[141]  Michael Kifer,et al.  A Logic Programming with Complex Objects , 1993, J. Comput. Syst. Sci..

[142]  Shinichi Morishita,et al.  Design and implementation of the glue-nail database system , 1993, SIGMOD Conference.

[143]  Hassan Aït-Kaci An introduction to LIFE: Programming with Logic, Inheritance, Functions, and Equations , 1993, ILPS.

[144]  Teodor C. Przymusinski On the Declarative Semantics of Deductive Databases and Logic Programs , 1988, Foundations of Deductive Databases and Logic Programming..

[145]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[146]  Michael L. Brodie On the Development of Data Models , 1982, On Conceptual Modelling.

[147]  Jorge Lobo,et al.  Minimizing Indefinite Information in Disjunctive Deductive Databases , 1992, ICDT.

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

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

[150]  David Maier,et al.  Development of an object-oriented DBMS , 1986, OOPLSA '86.

[151]  Min Guo,et al.  ROL: A Prototype for Deductive and Object-Oriented Databases (Demo) , 1998, ICDE 1998.

[152]  Mark Levene,et al.  Semantics for null extended nested relations , 1993, TODS.

[153]  Mengchiliu Deductive database languages: Problems and solutions , 1999 .

[154]  David Jordan,et al.  The Object Database Standard: ODMG 2.0 , 1997 .

[155]  E. F. CODD,et al.  A relational model of data for large shared data banks , 1970, CACM.

[156]  D. Warren,et al.  Xsb -a System for Eeciently Computing Well Founded Semantics , 1997 .

[157]  Elisa Bertino,et al.  Transactions and Updates in Deductive Databases , 1997, IEEE Trans. Knowl. Data Eng..

[158]  O. Deux,et al.  The O2 system , 1991 .

[159]  Jeffrey D. Ullman,et al.  Bottom-up beats top-down for datalog , 1989, PODS '89.

[160]  David Scott Warren,et al.  A Logic-based Language for Database Updates , 1988, Foundations of Deductive Databases and Logic Programming..

[161]  David Maier,et al.  The Theory of Relational Databases , 1983 .