Indexed on: 01 Sep '00Published on: 01 Sep '00Published in: Journal of Intelligent Information Systems
ROL is a deductive object-oriented database system that has been implemented at the University of Regina. It provides a uniform rule-based declarative language for defining, manipulating and querying databases, which integrates important features of both deductive databases and object-oriented databases. It supports object identity, complex objects, classes, class hierarchies, multiple inheritance with overriding and blocking, and schema definition. It also supports structured values such as functor objects and sets, treating them as first class citizens, and providing powerful mechanisms for representing both partial and complete information about sets. This paper describes its design and implementation. An important novel feature of the implementation is that it combines top-down and bottom-up evaluation strategies and automatically selects a strategy based on the nature of the query and data in the database.