We present a query language, called the Datalog++ , for deductive object-oriented databases. While a direct semantics for inheritance with overriding and encapsulation is desirable, an alternative method for capturing these two features in Datalog++ based on the idea of program transformation and compilation is proposed. A reduction technique for Datalog++ programs to Datalogneg is discussed. The elegance of the proposed reduction technique is that the transformed programs use purely deductive means to capture these two important features in Datalogneg without the need for stratification or non-monotonic reasoning. The strength of the reduction technique rests on the so called i-completion and context resolution schemes that respectively handle overriding and encapsulation. We also outline a prototype implementation of Datalog++ on CORAL deductive database system. Unlike most others, our implementation does not require meta-interpretation and consequently readily exploits the rich se...
Hasan M. Jamil