X-DEVICE is a deductive object-oriented database for managing XML data. X-DEVICE is an extension of the active object-oriented knowledge base system DEVICE. X-DEVICE extends DEVICE by incorporating XML data into the OODB by automatically mapping XML document DTDs to object schemata, without loosing the document's original order of elements. XML elements are represented either as first-class objects or as attributes based on their complexity.
Furthermore, X-DEVICE extends the deductive rule language of DEVICE with new operators that are used for specifying complex queries and materialized views over the stored semi-structured data. Most of the new operators have a second-order syntax (i.e. variables range over class and attribute names), but they are implemented by translating them into first-order DEVICE rules (i.e. variables can range over class instances and attribute values), so that they can be efficiently executed against the underlying deductive object-oriented database.
The advantages of using a logic-based query language for XML data come from the well-understood mathematical properties and the declarative character of such languages, which both allow the use of advanced optimization techniques, such as magic-sets. Furthermore, X-DEVICE compared to other XML functional query languages (e.g. XQuery) has a more high-level, declarative syntax that allows users to express everything that XQuery can express, in a more compact and comprehensible way, with the powerful addition of general path expressions, which is due to fixpoint recursion and second-order variables. Using X-DEVICE, users can express complex XML document views, a fact that can greatly facilitate customizing information for e-commerce and/or e-learning. Furthermore, the X-DEVICE system offers an inference engine that supports multiple knowledge representation formalisms (deductive, production, active rules, as well as structured objects), which can play an important role as an infrastructure for the impending semantic Web.
The X-DEVICE system has been re-implemented in CLIPS. The new R-DEVICE system is capable of importing RDF data and running logic queries on them. The XML parser for the CLIPS implementation is under development.
For any comments regarding this page contact Nick Bassiliades.