TL;DR: A deductive object-oriented database language, LLO, is presented together with its supporting data model, which uses meta variables as an abstract mechanism to build type/class hierarchies.
Abstract: Integrating value-oriented and object-oriented data models is one of the active research directions in database field. Current Horn clause languages do not have the concept of methods and there is no polymorphism. In this paper, we consider Horn clause programs from an object-oriented perspective. Our observation is that Horn clause languages can be extended and object-oriented features can be integrated with the support of a proper data model. Based on this observation, we present a deductive object-oriented database language, LLO, together with its supporting data model, which uses meta variables as an abstract mechanism to build type/class hierarchies. Methods are defined by rules and method inheritance is achieved through typing and unification mechanisms. Procedural semantics is also presented and several related issues are addressed.
TL;DR: A logic for objects that captures the knowledge represented with the LAURE object-oriented language and two algorithms are proposed that achieve a sound and complete resolution, either for a bottom-up evaluation or a top-down resolution.
Abstract: We propose a logic for objects that captures the knowledge represented with the LAURE object-oriented language. The work is oriented toward efficient implementation and compilation of queries. A data model for object-oriented databases is presented, with a declarative logic language used to perform queries and positive updates on the database. The expressiveness of this language is reduced, compared to other propositions in the same field, by the use of purely Horn clauses. An equivalent relational algebra is given, from which a formal technique for performing positive updates, called differentiation, is obtained. Two algorithms are proposed that achieve a sound and complete resolution, either for a bottom-up evaluation or a top-down resolution. An efficient implementation of constraint resolution is presented in this framework.
TL;DR: A new approach to a solution for Human Genome Project database problems is described by means of a deductive language for expressing database transformations and constraints.
Abstract: Human Genome Project databases present a confluence of interesting database challenges: rapid schema and data evolution, complex data entry and constraint management, and the need to integrate multiple data sources and software systems which range over a wide variety of models and formats. While these challenges are not necessarily unique to biological databases, their combination, intensity and complexity are unusual and make automated solutions imperative. We illustrate these problems in the context of the Philadelphia Genome Center for Human Chromosome 22, and describe a new approach to a solution for these problems, by means of a deductive language for expressing database transformations and constraints.
TL;DR: The basic ROCK & ROLL system provides comprehensive modelling and programming facilities, but recent work has extended it with both active rules and spatial data types.
Abstract: ROCK & ROLL is a deductive object oriented database system that supports two languages, one imperative and the other deductive, both derived from the same object oriented data model. As the languages share a common type system, they can be integrated without manifesting impedance mismatches, and thus programmers can conveniently exploit both deductive and imperative features in a single application. The components of ROCK & ROLL are as follows: data model OM-OM supports a range of conventional modelling constructs, such as sets, sequences, aggregations and (both single and multiple) inheritance; deductive language ROLL-ROLL is a conventional first order deductive database language, which differs from Datalog with negation in being strictly typed (through type inference), having a structured clause base that associates rules with classes, and in that the extensional database is that of OM, rather than the relational model; and imperative language ROCK-ROCK is a conventional imperative object oriented programming language, with facilities for creating and manipulating OM objects, iteration, I/O, etc. The use of two languages has allowed us to keep the logic language ROLL simple, as facilities such as updates are not handled within ROLL, but rather in the closely integrated imperative language ROCK. The basic ROCK & ROLL system provides comprehensive modelling and programming facilities, but recent work has extended it with both active rules and spatial data types.