Tech Report CS-89-26

Object Identity As A Query Language Primitive

Serge Abiteboul and Paris Kanellakis

March 1989


We demonstrate the power of object identities (oid's) as a database query language primitive. We develop an object-based data model whose structural part generalizes most of the known complex-object data models: cyclicity is allowed in both its schemas and its instances. Our main contribution is the operational part of the data model, the query language IQL, which uses oid's for three critical purposes: (1) to represent data structures with sharing and cycles, (2) to manipulate sets and (3) to express any computable database query. IQL can be statically type checked, can be evaluated bottom-up and naturally generalizes most popular rule-based languages. The model can also be extended to incorporate type inheritance, without changes to IQL. Finally, we investigate an analogous value-based data model whose structural part is founded on regular infinite trees and whose operational part is IQL.

(complete text in pdf)