Results 1  10
of
75
Logical foundations of objectoriented and framebased languages
 JOURNAL OF THE ACM
, 1995
"... We propose a novel formalism, called Frame Logic (abbr., Flogic), that accounts in a clean and declarative fashion for most of the structural aspects of objectoriented and framebased languages. These features include object identity, complex objects, inheritance, polymorphic types, query methods, ..."
Abstract

Cited by 880 (64 self)
 Add to MetaCart
(Show Context)
We propose a novel formalism, called Frame Logic (abbr., Flogic), that accounts in a clean and declarative fashion for most of the structural aspects of objectoriented and framebased languages. These features include object identity, complex objects, inheritance, polymorphic types, query methods, encapsulation, and others. In a sense, Flogic stands in the same relationship to the objectoriented paradigm as classical predicate calculus stands to relational programming. Flogic has a modeltheoretic semantics and a sound and complete resolutionbased proof theory. A small number of fundamental concepts that come from objectoriented programming have direct representation in Flogic; other, secondary aspects of this paradigm are easily modeled as well. The paper also discusses semantic issues pertaining to programming with a deductive objectoriented language based on a subset of Flogic.
HiLog: A foundation for higherorder logic programming
 JOURNAL OF LOGIC PROGRAMMING
, 1993
"... We describe a novel logic, called HiLog, and show that it provides a more suitable basis for logic programming than does traditional predicate logic. HiLog has a higherorder syntax and allows arbitrary terms to appear in places where predicates, functions and atomic formulas occur in predicate calc ..."
Abstract

Cited by 247 (42 self)
 Add to MetaCart
(Show Context)
We describe a novel logic, called HiLog, and show that it provides a more suitable basis for logic programming than does traditional predicate logic. HiLog has a higherorder syntax and allows arbitrary terms to appear in places where predicates, functions and atomic formulas occur in predicate calculus. But its semantics is firstorder and admits a sound and complete proof procedure. Applications of HiLog are discussed, including DCG grammars, higherorder and modular logic programming, and deductive databases.
What you always wanted to know about Datalog (and never dared to ask)
 IEEE TRANSACTIONS KNOWLEDGE AND DATA ENGINEERING
, 1989
"... Datalog is a database query language based on the logic programming paradigm; it has been designed and intensively studied over the last five years. We present the syntax and semantics of Datalog and its use for querying a relational database. Then, we classify optimization methods for achieving eff ..."
Abstract

Cited by 196 (3 self)
 Add to MetaCart
(Show Context)
Datalog is a database query language based on the logic programming paradigm; it has been designed and intensively studied over the last five years. We present the syntax and semantics of Datalog and its use for querying a relational database. Then, we classify optimization methods for achieving efficient evaluations of Datalog queries, and present the most relevant methods. Finally, we discuss various exhancements of Datalog, currently under study, and indicate what is still needed in order to extend Datalog’s applicability to the solution of reallife problems. The aim of this paper is to provide a survey of research performed on Datalog, also addressed to those members of the database community who are not too familiar with logic programming concepts.
On The Power Of Languages For The Manipulation Of Complex Objects
 In Proceedings of International Workshop on Theory and Applications of Nested Relations and Complex Objects
, 1993
"... Various models and languages for describing and manipulating hierarchically structured data have been proposed. Algebraic, calculusbased and logicprogramming oriented languages have all been considered. This paper presents a general model for complex objects, and languages for it based on the thre ..."
Abstract

Cited by 133 (6 self)
 Add to MetaCart
(Show Context)
Various models and languages for describing and manipulating hierarchically structured data have been proposed. Algebraic, calculusbased and logicprogramming oriented languages have all been considered. This paper presents a general model for complex objects, and languages for it based on the three paradigms. The algebraic language generalizes those presented in the literature; it is shown to be related to the functional style of programming advocated by Backus. The notion of domain independence familiar from relational databases is defined, and syntactic restrictions (referred to as safety conditions) on calculus queries are formulated, that guarantee domain independence. The main results are: The domainindependent calculus, the safe calculus, the algebra, and the logicprogramming oriented language have equivalent expressive power. In particular, recursive queries, such as the transitive closure, can be expressed in each of the languages. For this result, the algebra needs the pow...
The Magic of Duplicates and Aggregates
 VLDB
, 1990
"... We present a formal treatment of multisets (that arise when duplicates are not eliminated) and aggregate operators for deductive and relational databases. We define the semantics rigorously and extend the magicsets technique to programs containing multisets and aggregates. The work presented here i ..."
Abstract

Cited by 66 (5 self)
 Add to MetaCart
We present a formal treatment of multisets (that arise when duplicates are not eliminated) and aggregate operators for deductive and relational databases. We define the semantics rigorously and extend the magicsets technique to programs containing multisets and aggregates. The work presented here is an important step in demonstrating the applicability of the magicsets technique for optimizing queries in commercial query languages such as SQL.
Towards A Deductive ObjectOriented Database Language
 Data & Knowledge Engineering
, 1990
"... A language for databases with sets, tuples, lists, object identity and structural inheritance is proposed. The core language is logicbased with a fixpoint semantics. Methods with overloading and methods evaluated externally providing extensibility of the language are considered. Other important iss ..."
Abstract

Cited by 59 (0 self)
 Add to MetaCart
A language for databases with sets, tuples, lists, object identity and structural inheritance is proposed. The core language is logicbased with a fixpoint semantics. Methods with overloading and methods evaluated externally providing extensibility of the language are considered. Other important issues such as updates and the introduction of explicit control are discussed. 1 INTRODUCTION The success of the relational database model [19, 38, 27] is certainly due to technological advances such as fast query processing or reliable concurrency control. However, we believe that a major factor in that success has been the existence of simpletouse languages allowing the definition and manipulation of data. This has to be remembered while considering future generations of database systems. Objectoriented database systems are now being developed, e.g., [15, 12, 22, 39, 36]. An objectoriented approach [24] is used to answer the needs of a much wider variety of applications. Most of th...
The Power of Languages for the Manipulation of Complex Values
 VLDB Journal
, 1995
"... Abstract. Various models and languages for describing and manipulating hierarchically structured data have been proposed. Algebraic, calculusbased, and logicprogramming oriented languages have all been considered. This article presents a general model for complex values (i.e., values with hierarc ..."
Abstract

Cited by 51 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Various models and languages for describing and manipulating hierarchically structured data have been proposed. Algebraic, calculusbased, and logicprogramming oriented languages have all been considered. This article presents a general model for complex values (i.e., values with hierarchical structures), and languages for it based on the three paradigms. The algebraic language generalizes those presented in the literature; it is shown to be related to the functional style of programming advocated by Backus (1978). The notion of domain independence (from relational databases) is defined, and syntactic restrictions (referred to as safety conditions) on calculus queries are formulated to guarantee domain independence. The main results are: The domainindependent calculus, the safe calculus, the algebra, and the logicprogramming oriented language have equivalent expressive power. In particular, recursive queries, such as the transitive closure, can be expressed in each of the languages. For this result, the algebra needs the powerset operation. A more restricted version of safety is presented, such that the restricted safe calculus is equivalent to the algebra without the powerset. The results are extended to the case where arbitrary functions and predicates are used in the languages. Key Words. Database, query language, complex value, complex object, database model.
On the expressive power of database queries with intermediate types
 Journal of Computer and System Sciences
, 1991
"... The setheight of a complex object type is defined to be its level of nesting of the set construct. In a query of the complex object calculus which maps a database D to an output type T,anintermediate type is a type which is used by some variable of the query, but which is not present in D or T.Fore ..."
Abstract

Cited by 47 (2 self)
 Add to MetaCart
The setheight of a complex object type is defined to be its level of nesting of the set construct. In a query of the complex object calculus which maps a database D to an output type T,anintermediate type is a type which is used by some variable of the query, but which is not present in D or T.Foreachk, i ≥ 0 we define CALCk,i to be the family of calculus queries mapping from and to types with setheight ≤ k and using intermediate types with setheight ≤ i. In particular, CALC0,0 is the classical relational calculus, and CALC0,1 is equivalent to the family of secondorder (relational) queries. Several results concerning these families of languages are obtained. A primary focus is on the families CALC0,i, which map relations to relations. Upper and lower bounds in terms of hyperexponential time and space on the complexity of these families are provided. The CALC0,i hierarchy does not collapse with respect to expressive power. The union ∪0≤iCALC0,i is exactly the family of elementary queries, i.e., queries with hyperexponential complexity. The expressive power of queries from the complex object calculus interpreted using semantics based on the use of arbitrarily large finite or infinite set of invented values is studied. Under these semantics, the expressive power of the relational calculus is not increased, and the CALC0,i hierarchy collapses at CALC0,1. In general, queries with these semantics may not be computable. We also consider an alternative semantics which yields a family of queries equivalent to the computable queries. 1
Relationlog: A Typed Extension to Datalog with Sets and Tuples (Extended Abstract)
 Journal of Logic Programming
, 1995
"... ) Mengchi Liu Department of Computer Science University of Regina Regina, Saskatchewan, Canada S4S 0A2 mliu@cs.uregina.ca Abstract This paper presents a novel logicbased language for nested relations. It stands in the same relationship to the nested relation model as Datalog stands to the re ..."
Abstract

Cited by 40 (25 self)
 Add to MetaCart
) Mengchi Liu Department of Computer Science University of Regina Regina, Saskatchewan, Canada S4S 0A2 mliu@cs.uregina.ca Abstract This paper presents a novel logicbased language for nested relations. It stands in the same relationship to the nested relation model as Datalog stands to the relational model. The main novelties of the language are the mechanisms for representing both partial and complete information on sets and tuples, and the introduction of a new ordering on interpretations that captures the intended semantics for nested sets, tuples and relations. Under appropriate stratification restrictions, it is shown that the unique minimal and supported model, if it exists, can be computed bottomup, and therefore used as the intended semantics of the program. 1 Introduction In the past decade, there has been a lot of interest in nested relations, whose tuple components may be sets, tuples or even relations [2, 8, 11, 12, 14, 15]. The extended relational algebra and cal...