Expressing structural hypertext queries in graphlog

Abstract
GraphLog is a visual query language in which queries are formulated by drawing graph patterns. The hyperdocument graph is searched for all occurrences of these patterns. The language is powerful enough to allow the specification and manipulation of arbitrary subsets of the network and supports the computation of aggregate functions on subgraphs of the hyperdocument. It can support dynamically defined structures as well as inference capabilities, going beyond current static and passive hypertext systems.The expressive power of the language is a fundamental issue: too little power limits the applications of the language, while too much makes efficient implementation difficult and probably affects ease of use. The complexity and expressive power of GraphLog can be characterized precisely by using notions from deductive database theory and descriptive complexity. In this paper, from a practical point of view, we present examples of GraphLog queries applied to several different hypertext systems, providing evidence for the expressive power of the language, as well as for the convenience and naturalness of its graphical representation. We also describe an ongoing implementation of the language.