Graph data is an emerging model for representing a variety of database contexts ranging from object-oriented databases to hyper-text data. Also many of the recursive queries that arise in relational databases are, in practice, graph traversals. In this paper we present a language for searching graph-like databases. The language permits us to express paths in a graph by means of extended regular expressions. The proposed extension is based on the introduction of constructs which permit us i) to define a partial order on the paths used to search the graph and, consequently, on the answers of queries, and ii) to cut off, nondeterministically, tuples with low priority. We present an algebra for partially ordered relations and an algorithm for the computation of path queries. Finally, we present applications to hypertext databases such as the Web.
Querying Graph Databases
FLESCA, Sergio;GRECO, Sergio
2000-01-01
Abstract
Graph data is an emerging model for representing a variety of database contexts ranging from object-oriented databases to hyper-text data. Also many of the recursive queries that arise in relational databases are, in practice, graph traversals. In this paper we present a language for searching graph-like databases. The language permits us to express paths in a graph by means of extended regular expressions. The proposed extension is based on the introduction of constructs which permit us i) to define a partial order on the paths used to search the graph and, consequently, on the answers of queries, and ii) to cut off, nondeterministically, tuples with low priority. We present an algebra for partially ordered relations and an algorithm for the computation of path queries. Finally, we present applications to hypertext databases such as the Web.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.