Institute for Informatics
Georg-August-Universität Göttingen

Databases and Information Systems

Uni Göttingen

International Database Engineering & and Applications Workshop (IDEAS'01),
Grenoble, France, July, 16-18, 2001. IEEE Computer Society Press, pp. 123-128.

XPathLog: A Declarative, Native XML Data Manipulation Language

Wolfgang May


XPathLog is a logic-based language for manipulating and integrating XML data. It extends the XPath query language with Prolog-style variables. Due to the close relationship with XPath, the semantics of rules is easy to grasp. In contrast to other approaches, the XPath syntax and semantics is also used for a declarative specification 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. The formal semantics is defined wrt. a graph Herbrand structure which covers the XML tree data model. XPathLog has been implemented in LoPiX.


Extended versions can be found in the Habilitation thesis and in Theory and Practice of Logic Programming, 2004.
Further documentation can be found on the LoPiX project homepage.