Daniel J. Buehrer, Yi-Huang Liu, Ting-Yue Hong, Jeng-Jong Jou
A class algebra has been used to model the query and data manipulation language for a prototype object-oriented database system which is being implemented for the World- Wide Web. The class algebra includes a Boolean algebra for class union, intersection, and complement (i.e. difference with any). This Boolean algebra is extended with dot (partof), cross product, projection, and selection to make it subsume relational algebra. All classes which are defined with these class expressions have an extent which is the set of all objects that are described by the class expression. As such, this class algebra is a kind of description logic. Moreover, subclass definition, variable and function declaration, data assignment, function and relation definition, and other side-effect operators such as insert/delete are defined for this class algebra. A comparison is made between this class algebra and ODMG-93’s OQ, SQL, Prolog, and first-order predicate logic.