Researchers at the Institut für Informatik, Universität Freiburg are developing the XPathLog/LoPiX project as a continuation and migration of F-Logic/Florid to XML. The LoPiX system "is an implementation of the XML querying and data manipulation language XPathLog; it is free for evaluation, research and teaching purposes. XPathLogic is a logic which is interpreted with respect to XML documents. Its Horn fragment, XPathLog, provides a logic-based language for manipulating and integrating XML data. Due to many similarities between the F-Logic and XPath languages, F-Logic is a natural candidate for a migration to XML/XPath: The XPathLog language is a crossbreed between XPath and F-Logic, i.e., it extends XPath with variable bindings to an XML querying and data manipulation language. XPathLog assigns a declarative constructive semantics to XPath expressions for specifying database updates. The LoPiX system which implements XPathLog is based on the Florid system. The research on data integration is now continued with LoPiX. One of the main results -- apart from the fact that XPathLog/LoPiX is the first implementation of updates in an XML database language, is that the DOM/XML Query Data Model is not suitable for updating and integrating XML data. Instead, XPathLog/LoPiX use the XTreeGraph data model which allows for representing multiple, overlapping XML trees in an internal database. Result trees are then defined as views over the XTreeGraph database."
From the technical report: "In this work, a logic-based framework for XML data integration is proposed. XPath-Logic extends the XPath language with variable bindings and embeds it into first-order logic, interpreted over an edge-labeled graph-based data model. XPathLog is then the Horn fragment of XPath-Logic, providing a Datalog-style, rule-based language for manipulating and integrating XML data. In contrast to other approaches, the XPath syntax and semantics is also used for a declarative specification [expressing] how the database should be updated: when used in rule heads, XPath filters are interpreted as specifications of elements and properties which should be added to the database. Due to the close relationship with XPath, the semantics of rules is easy to grasp. In addition to the logic-based semantics of XPath-Logic, we give an algebraic semantics for evaluating XPathLog queries based on answer-sets. The formal semantics is defined in terms of a graph-based model which covers the XML data model, tailored to the requirements of XML data integration. It is not based on the notion of XML trees, but represents an XML-style (i.e., based on elements and attributes) database which simultaneously represents individual, overlapping XML trees as views of the database. The 'pure' XPathLog data model is extended with expressive modeling concepts such as a class hierarchy, nonmonotonic inheritance, and a lightweight signature concept. Information integration in this approach is based on linking elements from the sources into one or more result trees, creating elements, fusing elements, and dening access paths by synonyms. By these operations, the separate source trees are developed into a multiply linked graph database in which one or more result tree views can be distinguished by projections. The combination of data and metadata reasoning is supported by seamlessly adding XML Schema trees and even ontology descriptions to the internal database. XPathLog has been implemented in LoPiX. The practicability of the approach is demonstrated by a case study which also serves as a running example. The first part of the essay is dedicated to an overview of the development of XML-related concepts which also motivates the design decisions of the XPathLog framework."
From the User Manual: "The evaluation of programs in LoPiX is based on a set-oriented bottom-up computation, as an extension of the algorithm well known from Datalog. Here, the evaluation component of the Florid system is employed. We assume that the reader is familiar with the basic notions of XPath and Logic Programming. The structure of this manual is as follows: The first part describes the installation and the environment of LoPiX: First, we describe the installation of LoPiX for working from the unix shell or from within emacs. Section 1 describes how to run LoPiX in the unix shell or working with emacs. Section 2 gives an overview of the structure of LoPiX programs: Section 3 describes how XML documents in the Web can be accessed and presents the XPathLog query language. The syntax and semantics of XPathLog rules is described in Section 4. Section 5 describes additional built-in features, mainly concerning datatypes. Section 6 gives an overview of the theory of program semantics and evaluation..."
Principal references:
- XPath-Logic, XPathLog, and LoPiX
- LoPiX manual. 24 pages. January 2001. [cache, PDF]
- "A Logic-Based Approach to XML Data Integration." Technical Report. By Wolfgang May. 262 pages. [cache Postscript, cache PDF]
- The LoPiX-Mondial Case Study: Data Integration in XML
- F-Logic/Florid project
- Download LoPiX and the perl script for producing a LaTeX documentation from LoPiX programs ['lpx2tex.pl'].
- "Integration of XML Data in XPathLog." By Wolfgang May. Presented at the CAiSE Workshop Data Integration over the Web (DIWeb'01) June, 4/5, 2001, Interlaken, Switzerland. 15 pages. [cache, PDF]