Query Answering Using Views for Data Integration over the Web

Query answering using views amounts to computing the answer to a query having information only on the extension of a set of views. This problem is a central one in data integration: a typical integration process results in a set of precomputed views, and the query evaluation mechanism can only rely on such views in order to derive correct answers to queries. Two approaches to data integration have been investigated, called virtual and materialized. In the virtual approach, the precomputed views represent the data sources that are integrated, whereas in the materialized approach (generally adopted in data warehousing), the precomputed views represent the result of the integration activity carried out over the sources. In both cases, the problem of answering queries using views is crucial. When integrating data over the web, data are typically modeled by means of semi-structured mechanisms. Semi-structured data do not fit into rigid, predefined schemas, and are best described by graphbased data models [1]. Methods for extracting information from semi-structured data on the web necessarily incorporate special mechanisms that are not common in traditional database systems. If one looks at the various proposals for query languages over the web [14] and over structured documents [11], one realizes that they all have a common core. Namely, the fundamental querying mechanism that retrieves all pairs of nodes in the graph connected by a path conforming to a regular expression (regular path queries). In this paper we address the problem of query answering using views in the context of integrating data over the web. According to the above observation, we concentrate on the common core of any query language over the web, and therefore we assume that both the query and the views are expressed in terms of regular paths. In particular, this means that both may contain a (limited) form of recursion. Our goal is to study the computational complexity of the problem, under different assumptions, namely, closed and open domain, and sound, complete, and exact information on view extensions. Suppose we want to know whether the pair (c, d) is in the answer to the query Q over the database DB having only information on the extension of the views V1, . , Vn. The closed domain assumption states that the database DB contains exactly the objects stored in the views. In other words, although we do not know the exact form of DB , we know the set of objects stored in it. On the contrary, the open domain assumption leaves the possibility open that DB contains other objects besides those stored in the views. Consider now view Vi and its extension ext(Vi). We say that Vi is sound if ext(Vi) is a subset of the objects in DB that satisfy the definition def (Vi) of Vi. In other words, when a view is sound we know a subset of the pairs of objects in DB that satisfy the view, but we cannot exclude that other pairs of objects satisfy the view as well. The case of complete view is the dual one: if Vi is complete, then ext(Vi) is a superset of the pairs of objects in DB that satisfy the definition of Vi. Finally, we say that a view is exact if it is both sound and complete. As pointed out in [15], in data integration, a sound view Vi corresponds to a data source which is known to produce only (not necessarily all) the answers to the associated query def(Vi). On the other hand, a complete view models a source which is known to produce all answers to the associated query, and maybe more. Finally, an exact view is known to produce exactly the answers to the associated query. The framework we consider in the paper allows the specification of which assumption to adopt for the domain of the database, and of which one to adopt for each of the available views. Within this framework, we have devised the following results: