A query language and optimization techniques for unstructured data
- 1 June 1996
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGMOD Record
- Vol. 25 (2), 505-516
- https://doi.org/10.1145/235968.233368
Abstract
A new kind of data model has recently emerged in which the database is not constrained by a conventional schema. Systems like ACeDB, which has become very popular with biologists, and the recent Tsimmis proposal for data integration organize data in tree-like structures whose components can be used equally well to represent sets and tuples. Such structures allow great flexibility y in data representation.What query language is appropriate for such structures? Here we propose a simple language UnQL for querying data organized as a rooted, edge-labeled graph. In this model, relational data may be represented as fixed-depth trees, and on such trees UnQL is equivalent to the relational algebra. The novelty of UnQL consists in its programming constructs for arbitrarily deep data and for cyclic structures. While strictly more powerful than query languages with path expressions like XSQL, UnQL can still be efficiently evaluated. We describe new optimization techniques for the deep or "vertical" dimension of UnQL queries. Furthermore, we show that known optimization techniques for operators on flat relations apply to the "horizontal" dimension of UnQL.Keywords
This publication has 5 references indexed in Scilit:
- Comprehension syntaxACM SIGMOD Record, 1994
- Querying object-oriented databasesPublished by Association for Computing Machinery (ACM) ,1992
- GraphLogPublished by Association for Computing Machinery (ACM) ,1990
- F-logic: a higher-order language for reasoning about objects, inheritance, and schemePublished by Association for Computing Machinery (ACM) ,1989
- Stream processingPublished by Association for Computing Machinery (ACM) ,1984