XPath-Logic, XPathLog, and LoPiX: a Logical Approach to XML and
XML Data Integration (2000-2004)
The XPathLog/LoPiX project (2000-2003) is the continuation
and migration of the F-Logic/Florid
project to XML. 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.
XPath-Logic and XPathLog
XPathLogic is a logic which is interpreted
wrt. XML documents. Its Horn fragment, XPathLog, provides a logic-based language for
manipulating and integrating XML data.
- Technical Report/Habilitation Thesis
Logic-Based Approach to XML Data Integration (2001).
- Journal version of XPathLog:
XPath-Logic and XPathLog: A
Logic-Programming Style XML Data Manipulation Language,
Theory and Practice of Logic Programming 4(3), pp. 239-287,
- the Mondial Case Study:
XML Information Integration
- A first, short presentation of the language appeared in
XPathLog: A Declarative, Native
XML Data Manipulation Language, Wolfgang May;
International Database Engineering & and Applications Workshop
(IDEAS), July 2001; IEEE CS Press.
- LoPiX has been presented at
Intl. Conf. on Very
Large Databases (VLDB) - Demonstration Track,
- The formal aspects of the language:
A Rule-based Querying and Updating Language for XML,
Workshop on Databases and Programming Languages (DBPL),
Sept. 2001 (Springer LNCS 2397).
- Considerations on a data model for updating XML:
On an XML Data Model for Data
Wolfgang May, Erik Behrends;
Intl. Workshop on Foundations of Models and Languages for
Data and Objects (FMLDO), Sept. 2001.
- First considerations on XML data integration have been discussed in
Integration of XML
Data in XPathLog, Wolfgang May,
CAiSE Workshop Data Integration over the Web (DIWeb),
- Aspects of generic data integration have been investigated in
A Framework for Generic
Integration of XML Data Sources,
International Workshop on Knowledge Representation meets
- A short report in german language has been published in
Datenintegration in XML -
ein regelbasierter Ansatz, Wolfgang May;
XPathLog and LoPiX have been used in 2002/03 for a first prototype
for evaluating XLinks in the LinXIS project.
LoPiX: Logic Programming in 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, but not in the public
The .tar-file comes along with the executable (for different operating
systems, currently solaris, SuSe Linux, and RedHat Linux),
documentation, and examples.
- Download lopix.tar.gz (Version 3.0)
Note that this version 3.0 required gcc and glibc in the 2000-2003 versions.
- The successor, Florid 4.x, still optionally supports the complete
LoPiX behavior. Its homepage can be found at
University (maintenance ended about 2007).
First unpack the compressed archive with the command
Then you get the file lopix.tar which is extracted with
tar xf lopix.tar
After this you get the following directory structure
lopix/bin contains binaries for
solaris and linux. Rename the one you intend to use to lopix.
lopix/lopix-doc contains a
postscript version of the user manual (lopix.ps).
Instructions for installing LoPiX on your system can be found in
the user manual.
- lpx2tex.pl: A perl script for producing
a LaTeX documentation from LoPiX programs.