Finding Equivalent Rewritings in the Presence of Arithmetic Comparisons

Size: px
Start display at page:

Download "Finding Equivalent Rewritings in the Presence of Arithmetic Comparisons"

Transcription

1 Finding Equivalent Rewritings in the Presence of Arithmetic Comparisons Foto Afrati 1, Rada Chirkova 2, Manolis Gergatsoulis 3, and Vassia Pavlaki 1 1 Department of Electrical and Computing Engineering, National Technical University of Athens (NTUA), Athens, Greece {afrati,vpavlaki}@softlab.ntua.gr 2 Computer Science Department, North Carolina State University Campus Box 7535, Raleigh, NC chirkova@csc.ncsu.edu 3 Department of Archive and Library Sciences, Ionian University, Palea Anaktora, Plateia Eleftherias, Corfu, Greece manolis@ionio.gr Abstract. The problem of rewriting queries using views has received significant attention because of its applications in a wide variety of datamanagement problems. For select-project-join SQL (a.k.a. conjunctive) queries and views, there are efficient algorithms in the literature, which find equivalent and maximally contained rewritings. In the presence of arithmetic comparisons (ACs) the problem becomes more complex. We do not know how to find maximally contained rewritings in the general case. There are algorithms which find maximally contained rewritings only for special cases such as when ACs are restricted to be semi-interval. However, we know that the problem of finding an equivalent rewriting (if there exists one) in the presence of ACs is decidable, yet still doubly exponential. This complexity calls for an efficient algorithm which will perform better on average than the complete enumeration algorithm. In this work we present such an algorithm which is sound and complete. Its efficiency lies in that it considers fewer candidate rewritings because it includes a preliminary test to decide for each view whether it is potentially useful in some rewriting. 1 Introduction The problem of answering queries using views (i.e. rewriting queries using views) is as follows. Suppose we are given a query Q over a database schema, and a set of view definitions V 1, V 2,..., V k over the same schema. We want to know whether and how we can answer the query Q using only the answers to the views The project is co-funded by the European Social Fund (75%) and National Resources (25%)- Operational Program for Educational and Vocational Training II (EPEAEK II) and particularly the program PYTHAGORAS. This author s work on this material has been supported by the National Science Foundation under Grant No

2 V 1, V 2,..., V k. The problem has recently received significant attention because of its applications in a wide variety of data management problems, query optimization, maintenance of physical data independence, data integration, data warehousing, global information systems and mobile computing. When answering queries using views we often need either find equivalent rewritings for a query or maximally contained rewriting (MCR). In data integration, where views describe a set of autonomous heterogenous data sources, we search for a maximally-contained rewriting, which provides the best answer, given the available sources. In query optimization or maintenance of physical data independence we search for a solution that uses the views and is equivalent (instead of contained) to the original query. When the query and views are conjunctive (i.e., select-project-join) without comparison predicates, the maximallycontained rewriting is a union of conjunctive queries over the views [2]. The original definition of conjunctive queries does not allow for comparisons between data values. However, in practice users often ask select-project-join queries that do involve comparisons in the selection condition (e.g. price 100). For this reason, we extend the class of conjunctive queries by allowing built-in predicates which are arithmetic comparisons (ACs). So the problem of answering queries using views in the presence of arithmetic comparisons becomes more important, yet more complex. The following example illustrates this complexity. Example 1. Consider the following query Q and set of views V 1, V 2 : Q : q(x, X) :- a(x, X), b(x), X < 7 V 1 : v 1 (T, U) :- a(s, T ), b(u), T S, S U V 2 : v 2 (T, U) :- a(s, T ), b(u), T S, S < U The query Q : q(a, A) :- v 1 (A, A), A < 7 is an equivalent rewriting of Q using V 1. To see why, suppose we expand Q by replacing the view subgoal v 1 (A, A) by its definition. We get the expansion Q exp : q(a, A) :- a(s, A), b(a), A S, S A, A < 7. By equating S and A we see that the expansion is equivalent to Q. Notice that the definitions of the views V 1, V 2 differ only on their second inequalities. However V 2 can not be used to answer Q. Thus, it is the comparison predicate that affects the existence of the rewriting. Equivalent and contained rewritings use the containment test. Several algorithms have been proposed for testing containment in the presence of arithmetic comparisons [12, 10, 25, 4]. Some of these algorithms [10, 25] first normalize the queries by replacing constants and shared variables, each with new unique variables, and add arithmetic comparisons to equate those new variables to the original constants or shared variables. The containment is tested by checking a logical implication using multiple containment mappings. Another containment test existing in the literature is based on canonical databases [17, 12]. The problem of finding an equivalent rewriting (if there exists one) in the general case of ACs is decidable, yet still doubly exponential [3]. This complexity calls for an efficient algorithm which will perform better on average than the complete enumeration algorithm. In this work we present an algorithm that, given a query and a set of views which are conjunctive queries with arithmetic comparisons, finds an equivalent 2

3 rewriting if there exists one. The algorithm is sound and complete. Its efficiency lies in that it considers fewer candidate rewritings because it includes a preliminary test to decide for each view whether it is potentially useful in some rewriting. One of the challenges of our work consists in finding the relationship between the two problems; a) finding equivalent rewritings in the case of conjunctive queries with arithmetic comparisons and b) finding equivalent rewritings in the case of simple conjunctive queries. Such relation would allow us to leverage on existing algorithms for the latter problem. However this is not easy as we explain in detail in Subsection 3.1. Another challenge comes from the following observation. In the case of conjunctive queries, if an equivalent rewriting exists in the language of union of conjunctive queries, then there exists one which is a single conjunctive query. However, in the case of conjunctive queries with arithmetic comparisons this property does not hold. Indeed even for very simple cases of conjunctive queries and views with arithmetic comparisons, it is often not possible to find equivalent rewritings in the form of a single conjunctive query with arithmetic comparisons. Instead, it is possible to find equivalent rewritings in the form of unions of conjunctive queries with arithmetic comparisons, as the following example illustrates. Example 2. Consider the following query Q and set of views V 1, V 2 : Q : q() :- p(x), X 0 V 1 : v 1 () :- p(x), X = 0 V 2 : v 2 () :- p(x), X > 0 It is easy to see that there is no conjunctive query which is an equivalent rewriting of Q using V 1, V 2. Instead, the following union of conjunctive queries is an equivalent rewriting: r 0 () :- v 1 () r 0 () :- v 2 () 1.1 Related work The problem of answering queries using views is closely related to the problem of testing for query containment. Chandra and Merlin [6] have shown that the problems of containment, minimization, and equivalence of conjunctive queries are NP-complete. Klug in [12] showed that the containment problem for the class of conjunctive queries with arithmetic comparisons is in Π2 P which is the second level of the polynomial hierarchy introduced by Stockmeyer [23]. In the same work was also proved that when only left (or right) semi-interval comparisons are used, the containment problem is shown to be in NP. In a more recent work Afrati et al. [4] showed more classes of conjunctive queries with arithmetic comparisons for which the problem of query containment is in NP. Van der Meyden in [24] proved Klug s conjecture that containment for conjunctive queries with inequality arithmetic comparisons is Π2 P -complete. He also pointed out that the containment problem for conjunctive queries with inequalities ( ) is also Π2 P -complete. The work in [13] studies the computational complexity of the 3

4 query containment problem of queries with inequality ( ). In fact, Kolaitis et al. proved that the complexity for the containment problem for safe conjunctive queries with inequalities ranges between conp and Π P 2 -completeness depending on how many times each database predicate occurs in the body of the contained query. They also showed that when one of the two queries is fixed the problem can be DB-complete, where DB is the class of all decision problems that are the conjunction of a problem in NP and a problem in conp. The problem of finding whether there exists an equivalent rewriting for a query using views was studied in [14]. An efficient algorithm for finding equivalent rewritings with the smallest number of subgoals is given in [5]. The work in [16] considers the problem of answering conjunctive queries using infinite sets of views and they extend their results to cases when the query and the views use the built-in predicates <,, = and. The work in [1] shows how to find a Datalog maximally-contained rewriting (MCR) for a special case of Datalog queries and views that are unions of conjunctive queries. Several algorithms have been developed for finding rewritings of queries using views. The bucket algorithm [9, 15], the inverse-rule algorithm [8, 21, 1], the MiniCon algorithm [20], and the Shared-Variable-Bucket algorithm [18] are some of them (see [11] for a survey.) These algorithms aim at generating contained rewritings for a query that compute a subset of the answer to the query, and take the open-world assumption. Afrati et al. in [2, 3] study the problem of query rewriting in the presence of arithmetic comparisons. They show that it is decidable to tell whether there exists an equivalent rewriting which is the union of conjunctive queries with arithmetic comparisons. They also investigate the existence of maximally contained rewritings in the presence of arithmetic comparisons and prove that for a special case of semi-interval comparisons there is a maximally contained rewriting. 2 Preliminaries In this section we review the problem of query rewriting using views and summarize results in the literature on conjunctive queries with arithmetic comparisons. In the remainder of the paper we shall use names beginning with lower-case letters for constants and relations, and names beginning with upper-case letters for variables. We use V, V 1,..., V m to denote views that are defined by conjunctive queries on the base relations. Moreover, for the sake of simplicity, we use CQ to represent conjunctive query, AC for arithmetic comparison, and CQAC for conjunctive query with arithmetic comparisons. 2.1 Answering Queries using Views We start by reviewing the problem of answering queries using views for conjunctive queries (i.e., select-project-join queries). A conjunctive query CQ is a query of the form: h(x) :- e 1 (X 1 ),..., e k (X k ), where the head h(x) represents the 4

5 results of the query, and e 1... e k are database relations. Each atom in the body of a conjunctive query is said to be a subgoal. Every argument in the subgoal is either a variable or a constant. The variables in X are called head or distinguished variables, while the variables in X i are called body variables of the query. A conjunctive query is said to be safe if all its distinguished variables also occur in its body. A query Q 1 is contained in a query Q 2, denoted Q 1 Q 2, if for any database D of the base relations, the answer computed by Q 1 is a subset of the answer computed by Q 2, i.e., Q 1 (D) Q 2 (D). The two queries are equivalent, denoted Q 1 Q 2, if Q 1 Q 2 and Q 2 Q 1. Chandra and Merlin [6] show that a conjunctive query Q 1 is contained in another conjunctive query Q 2 if and only if there is a containment mapping from Q 2 to Q 1. The containment mapping maps the head and all the subgoals in Q 2 to Q 1. It maps each variable to either a variable or a constant, and maps each constant to the same constant. Concerning unions of CQs, the following containment test is from [22]; a union of CQs P 1... P k, is contained in a union of CQs Q 1... Q n, denoted P 1... P k Q 1... Q n, iff for all P i there exists some Q j such that P i Q j. Let Q be a query defined on a database schema S, V be a set of views defined on S, and D be a database with the schema S. A query R is a rewriting of the query Q using the views in V if the subgoals of R are only view predicates defined in V or interpreted predicates. The expansion of a query P on a set of views V, denoted by P exp, is obtained from P by replacing all the views in P with their corresponding base relations. Note that in the case of union of CQs the following holds: if R = R i, then R exp (R exp i ). Given a query Q and a view set V, a query P is a contained rewriting of query Q using V if P uses only the views in V, and P exp Q. That is, P computes a partial answer to the query. Given a rewriting language L (e.g., unions of conjunctive queries), we call P an equivalent rewriting of Q using V w.r.t. L if P is in L, and P exp Q. We call P a maximally-contained rewriting (MCR) of Q w.r.t. L if (1) P is a contained rewriting (in L) of Q, and (2) there is no contained rewriting P 1 (in L) of Q such that P 1 properly contains P. 2.2 Conjunctive Queries with Arithmetic Comparisons In this work we study the problem of rewriting a query using views when both the query and the views are of the following form: h(x) :- e 1 (X 1 ),..., e k (X k ), C 1,..., C m where each C i is an arithmetic comparison in the form A 1 θa 2, where A 1 and A 2 are variables or constants. The operator θ is one of the following: <,, =, >, or. We call an arithmetic comparison open if its operator is < or > and closed if its operator is or. We call the e i s ordinary subgoals, and the C i s arithmetic comparison subgoals (AC subgoals). In addition, the following assumptions must hold: 1) Values for the arguments in the arithmetic comparisons are chosen from an infinite, totally densely ordered set, such as the rationals or reals. 5

6 2) The arithmetic comparisons are not contradictory; that is, there exists an instantiation of the variables such that all the arithmetic comparisons are true. 3) All the comparisons are safe, i.e., each variable in the comparisons also appears in some ordinary subgoal. 2.3 Testing containment of CQACs When the queries and views are expressed as conjunctive queries (without arithmetic comparisons), we know how to find equivalent rewritings (if they exist) and maximally-contained rewritings (MCRs) that are unions of conjunctive queries (see [11] for a survey). However, arithmetic comparisons introduce many complications to the problem. In particular, both the containment mapping theorem [6] and the theorem for unions of CQs [22] no longer hold. Let Q 1 and Q 2 be two conjunctive queries with arithmetic comparisons (CQACs). To test whether Q 2 Q 1 there are two most popular methods: a) the test of canonical databases [17, 12] and b) the test of Gupta and Zhang- Ozsoyoglu [10, 25]. In the following paragraphs we shortly review the first test, which we use extensively throughout the paper. Due to space limit, we refer the reader to [4] for more details about the second test. Before presenting the test, we briefly explain how to obtain a canonical database D given a query Q: we turn each ordinary subgoal into a fact by replacing each variable in the body by a distinct constant, and treating the resulting subgoals as the only tuples in D. We now describe the test of canonical databases [17, 12]. When dealing with CQACs we must consider the set of values in the database as belonging to a totally ordered set, e.g. the rationals or reals. This test produces an exponential number of canonical databases any one of which could be a counterexample to the containment. Suppose we want to test Q 1 Q 2. We do the following: 1) Consider all partitions of the variables of Q 1. For each partition P consider all possible total orders of the members of the partition and assign to each member b i of P a unique positive integer n i such that if b k, b l P and b k < b l, then n k < n l. Then, substitute (freeze) every variable in each member b i of P by the corresponding constant n i. Thus we obtain a number of canonical databases D 1, D 2,..., D n, one database for each different order in each partition. Each D i consists of the frozen subgoals of Q 1 excluding the subgoals having comparison predicates. 2) Test whether for all D i that make the body of Q 1 true, Q 2 (D i ) includes the frozen head of Q 1. The frozen head of Q 1 is obtained by making the same substitution of constants for variables that yielded D i. 3) Q 1 Q 2 if and only if (2) holds. 2.4 Known decidability results The following two theorems from [2] prove the decidability of the problem we study in this work. 6

7 Theorem 1. (CQAC equivalent rewritings) For a query and views that are conjunctive queries with arithmetic comparisons, it is decidable whether there is an equivalent rewriting for the query using the views, where the rewriting is also a conjunctive query with arithmetic comparisons. If such an equivalent rewriting exists, there is an algorithm to find it. Theorem 2. (Union of CQAC equivalent rewritings) For a query and views that are conjunctive queries with arithmetic comparisons, it is decidable whether there is an equivalent rewriting for the query using the views, where the rewriting is a finite union of conjunctive queries with comparisons. If such an equivalent rewriting exists, there is an algorithm to find it. 2.5 Technical Details This subsection contains some technical points that are needed to understand the details of our algorithm. Let D be the canonical database of the query Q when ignoring the ACs and let V (D) be the result of applying the view definitions V on database D. For each tuple in V (D), we unfreeze each introduced constant back to the original variable of Q, and obtain a set of view tuples T (V ). A head homomorphism [20] of the head variables in a view is a partitioning of these variables, such that all the variables in each member of the partition are equated to a single variable. For a specific view, different head homomorphisms result in different view tuples. Now we consider containment mappings from the ordinary subgoals of the query to the ordinary subgoals of the view. Let µ be one such mapping from some query subgoals to view subgoals. The definition of the shared variable property for µ is the following: whenever a query variable X is mapped on a nondistinguished view variable, then all query subgoals that contain X are in the domain of the mapping. Definition 1. We assume that the sets of variables in the query and the view definitions are disjoint. An MCD mapping (MiniCon Description [20]) µ is an one-to-one 4 containment mapping from the ordinary subgoals of the query to the ordinary subgoals of view V which satisfies the shared variable property. Let S be the set of query variables that are mapped to head variables of view V under µ. We rename each variable X in µ(s) to µ 1 (X). Let v be the head of view V after this renaming. Then, we say that µ is an MCD mapping for view tuple v. Intuitively, an MCD mapping represents a fragment of a containment mapping from the query to the expansion of the rewriting. The way in which MCDs are constructed guarantees that these fragments can be combined seamlessly. Definition 2. Let υ i and υ j be view tuples of V such that there is a containment mapping from υ i to υ j. We say that υ i is a more relaxed form of υ j. 4 This is the only difference with the algorithm in [20]. Here we consider one-to-one mappings because we are searching for equivalent rewritings whereas in [20] they are searching for MCR s. 7

8 Definition 3. We call a nondistinguished variable X in a view V exportable if there is a head homomorphism h for V, such that the inequalities in h(v ) imply that X is equal to a distinguished variable in V. To find exportable nondistinguished variables in a view V, we use the ACs in V to construct its inequality graph [12], denoted by G(V ). That is, for each variable or constant A in ACs we create a node in the graph labelled with A. Then, for every comparison predicate AθB where θ is < or, we introduce an edge labeled θ from A to B. If there is a path from node A to C, we have A C. If there is a <-labeled edge on any path between A and C, then A < C. We need the following concepts to show how to export a nondistinguished view variable. Definition 4. Let X be a nondistinguished variable in a view V. The leq-set (less-than-or-equal-to set) of X, denoted by S (V, X), includes all distinguished variables Y of V that satisfy the following conditions. There exists a path from Y to X in the inequality graph G(V ), and all edges on all paths from Y to X are labeled. In addition, in all paths from Y to X, there is no other distinguished variable except Y. Correspondingly, we define the geq-set (greater-than-or-equal-to set) of a variable X, denoted by S (V, X). The following lemma from [2] can help us decide if a variable in a view V is exportable. Lemma 1. A nondistinguished variable X in view V is exportable if and only if both S (V, X) and S (V, X) are nonempty. 3 Finding Equivalent Rewritings of CQAC Queries Using CQAC Views In the following paragraphs we present an algorithm that finds an equivalent rewriting (if there exists one) for queries that are CQAC using views that are also CQAC. Our algorithm consists of two phases. In the first phase we find all candidate rewritings that contain the query, while in the second phase we add constraints to the rewritings (obtained in the first phase) and we check whether these rewritings are contained in the query. The efficiency of our algorithm is mainly based on the observations that if there exists an equivalent rewriting then there exists one which uses view subgoals out of a restricted search space of potentially useful view subgoals. These useful view subgoals are found by using techniques for finding rewritings of queries and views without arithmetic comparisons. In more detail, we use chase-like techniques [7, 19, 5] to find candidate useful subgoals and then we prune the space even further by using techniques used in finding maximally contained rewritings [20]. The main challenge of our algorithm however comes from the presence of arithmetic comparisons and the complications in testing query containment in this case. Due to these complications, existing algorithms cannot be used without modification as the discussion in the next subsection shows. 8

9 3.1 Technical Challenges In the first phase of our algorithm we find rewritings using the views V that contain the query Q. We begin by considering query Q and view V which result from Q and V after dropping the ACs. Then, we find maximally contained rewritings of Q using V and we ensure that these are also equivalent rewritings of Q using V by deleting the view tuples that are not more relaxed. In particular, we use the algorithm proposed in [20] adjusted to our setting as described in Subsection 3.2. Other known algorithms which compute either equivalent rewritings or maximally contained rewritings might also be used. In any case it is not straightforward how they can be useful. The reason is that these algorithms focus on rewritings which do not use redundant view subgoals or that are containment minimal [5]. The following two examples illustrate this point. Example 3. Consider query Q and set of views V = {V 1, V 2, V 3 }: Q : q() :- a(x 1, X 2 ), a(x 2, X 3 ), a(x 3, X 4 ), a(x 4, X 5 ), a(x 5, X 6 ), a(x 6, X 7 ), a(x 7, X 1 ), X 2 > 5, X 7 < 8 V 1 : v 1 (X 1, X 4 ) :- a(x 1, X 2 ), a(x 2, X 3 ), a(x 3, X 4 ), a(x 4, X 5 ), a(x 5, X 6 ), a(x 6, X 7 ), a(x 7, X 1 ), X 3 > 5 V 2 : v 2 (X 3, X 5 ) :- a(x 1, X 2 ), a(x 2, X 3 ), a(x 3, X 4 ), a(x 4, X 5 ), a(x 5, X 6 ), a(x 6, X 7 ), a(x 7, X 1 ), X 4 < 8 V 3 : v 3 (X, Y ) :- a(x, X 2 ), a(x 2, Y ) Note that Q evaluates to true whenever there exists a closed path of length 7 in the database D such that the conditions shown in Figure 1(a) hold for that path. We consider also the query Q which is defined as Q with the ACs dropped and the views V 1, V 2, and V 3 (with predicates v 1, v 2 and v 3 respectively) which are the views V i without the ACs in their definition. For this last query Q the CoreCover algorithm [5] will find an equivalent rewriting R where: R : r() :- v 1(X, Y ) However, if we use this rewriting and simply add ACs, we will not find an equivalent rewriting of the original query Q using views V i. Note that such an equivalent rewriting R does exist and is the following: R : r() :- v 1 (X, Y ), v 2 (Z, X), v 3 (Y, Z) This comes easily from Figure 1(b) which shows the two heptagons corresponding to the (expansions of the) atoms v 1 (X, Y ) and v 2 (Z, X) with a common vertex labelled X. Notice also the path formed by the arcs Y X 2 and X 2 Z corresponding to the (expansion of the) atom v 3 (Y, Z). Thus the Figure 1(b) represents the expansion of R. It is easy to see that Q R since whenever Q evaluates to true then so does R (we can check it by considering twice the heptagon corresponding to instance of the body of Q). To check that R Q notice that the heptagon with vertices Z, X 4, X, X 2, X 3, Y, X 2 which is formed by the expansion of R satisfies the properties required by the query Q. It is not straightforward that the heptagon fulfills the conditions of Q. The rewriting: R : r() :- v 1(X, Y ), v 2(Z, X), v 3(Y, Z) is an equivalent rewriting of Q using V and in fact it is the rewriting that our algorithm needs to use in order to find an equivalent rewriting of the given CQAC 9

10 X 1 ' X 7 ' X 2 ' v 2 (Z,X) X 1 X 6 ' Z X 7 <8 X 2 >5 X X 4 '<8 q() X 7 X 2 X 6 X 3 X 6 v 1 (X,Y) X 3 >5 X 2 '' X 5 X 4 X 5 Y (A) (B) Fig. 1. Example 3. Q using the views V. However, this rewriting would not have been computed by the existing algorithms since it contains the redundant subgoals v 2(Z, X) and v 3(Y, Z). Example 4. Suppose we are given the following query and set of views: Q : q(x, Y ) : a(x, Z 1 ), a(z 1, 2), b(2, Z 2 ), b(z 2, Y ), Z 1 < 5, Z 2 > 8 V 1 : v 1 (X, Y ) : a(x, Z 1 ), a(z 1, 2), b(2, Z 2 ), b(z 2, Y ), Z 1 < 5 V 2 : v 2 (X, Y ) : a(x, Z 1 ), a(z 1, 2), b(2, Z 2 ), b(z 2, Y ), Z 2 > 8 Note that an equivalent rewriting is R : r(x, Y ) :- v 1 (X, Y ), v 2 (X, Y ) We consider the query Q which is defined as query Q with the ACs dropped and the views V 1 and V 2 which are the two views again without the ACs in their definition. In this case the rewriting of Q using V does not contain redundant subgoals. Still, it is not a containment minimal rewriting [5], i.e. there is another equivalent rewriting of Q using V which is the following: R : r(x, Y ) :- v 1 (X, Y ). However we cannot obtain from R an equivalent rewriting of Q using V. Therefore we cannot use the algorithm in [5]. 3.2 Phase 1: construct rewritings that contain the query In Phase 1 we begin by creating all canonical databases of the query. For this we consider all total orders of the variables of the query and the constants of both the query and the views. Thus we obtain a number of canonical databases. Notice that the number of canonical databases is exponential in the number of variables. From these canonical databases we keep only those that compute the head of the query, or if the query is boolean, that make the body of the query true. Suppose D 1, D 2,..., D k are these canonical databases. For every D i, i = 1,..., k 10

11 we compute the view tuples T i (V ) by applying the view definitions V on D i and restoring back the variables in the tuples. Note that the total order of each canonical database must satisfy the ACs of views; otherwise we omit the view tuples corresponding to the specific canonical database and view definition. Example 5. Suppose we are given the following query Q and the view V : Q : q(a) :- r(a), s(a, A), A 8 V : v(y, Z) :- r(x), s(y, Z), Y X, X Z (Note that P : p(a) :- v(a, A), A 8 is an equivalent rewriting of Q). To compute the sets of view tuples we first construct the canonical databases of Q by considering all variables of Q and all constants of both query and views: D 1 = {r(a), s(a, a)} : a < 8 D 2 = {r(a), s(a, a)} : a = 8 D 3 = {r(a), s(a, a)} : a > 8 From these canonical databases we keep only D 1, D 2 as they compute (taking also into account the comparison predicates) the head of the query. To compute the view tuples corresponding to D 1 we apply the view definitions to D 1. We get V (D 1 ) = {v(a, a)}. Then, by restoring the constant a back to the variable A we get the set of view tuples T 1 (V ) = {v(a, A)}. Similarly, for the canonical database D 2, we get T 2 (V ) = {v(a, A)}. Having computed T i (V ) we proceed as follows. Let Q 0 be the query obtained by deleting the comparisons from Q, and let V 0 be the view obtained by deleting the comparisons from V and exporting in the head of the view definition the exportable variables (Subsection 2.5, or see [4] for more details). Due to the different ways of exporting variables, it is possible that to one view in V may correspond more than one view in V 0. The following example illustrates this point. Example 6. Suppose we are given the following view definition: V : v(x, Y, W ) :- a(x, Z 1 ), a(z 1, Z 2 ), b(z 2, Y, W ), X Z 1, W Z 1, Z 1 Y. By equating variable X to variable Y we obtain the view tuple v 1 and by equating variable Y to variable W we obtain the view tuple v 2. In both cases we export variable Z 1, in v 1 by equating Z 1 to X and in v 2 by equating Z 1 to Y. That is: V 1 : v 1 (X, X, W ) :- a(x, X), a(x, Z 2 ), b(z 2, X, W ) V 2 : v 2 (X, Y, Y ) :- a(x, Y ), a(y, Z 2 ), b(z 2, Y, Y ) We continue with an overview of the algorithm presented by Pottinger and Levy in [20] in order to make clear the contribution of our work. The algorithm in [20] consists of two phases. The first phase computes MCDs and populates the buckets accordingly. In the second phase the algorithm combines the content of the buckets to create MCRs. Our algorithm starts as the first phase of [20] but after this we do not proceed directly to the second phase. First, we delete those view tuples in the buckets that are not more relaxed forms of view tuples in T i (V ). Then, we proceed to the second phase of [20] but only to get an answer to whether there exists an MCR. If it does not exist, our algorithm stops. If it does 11

12 exist, then we output a rewriting P R i consisting of a conjunctive query with subgoals the content of all buckets. So to every canonical database corresponds only one rewriting. The above procedure is repeated for every canonical database. If there exists a canonical database D i for which there is no maximally contained rewriting, then the algorithm stops and there is no equivalent rewriting of the query. If there is at least one maximally contained rewriting, then the output of the first phase of our algorithm is a set of Pre-Rewritings (denoted P R 1, P R 2,..., P R k ), one for each canonical database. Figure 2 summarizes the steps of the first phase of our algorithm. Example 7. (Continued from Example 5) There are two Pre-Rewritings P R 1, P R 2 corresponding to the two canonical databases D 1, D 2 : P R 1 (A) : v(a, A) P R 2 (A) : v(a, A) Procedure Pre-Rewritings: Input: A CQAC Q and a set V of CQAC views. Output: A set of Pre-Rewritings P R 1, P R 2,..., P R k together with the corresponding canonical databases D 1, D 2,..., D k. Method: (1) Construct all canonical databases for Q by taking into account the variables of Q and all constants of the query and views. Construct also query Q 0 which is Q with the ACs dropped, and a set V 0 of CQ views which is V with the ACs dropped. (2) Keep only those canonical databases which compute the head of Q. (3) For every canonical database D i do: 1. Compute the view tuples T i (V ) by applying the view definitions V on D i. 2. If for a canonical database D i it holds T k (D k ) = then stop (as there is no rewriting). 3. Run the first phase of [20] with respect to Q 0 and V 0 which populates the buckets. 4. Delete from the buckets those tuples that are not more relaxed forms of view tuples in the T i (V ). 5. Run the second phase of [20]. If it produces an MCR continue, otherwise stop. 6. Produce a Pre-Rewriting whose subgoals are all view tuples contained in the buckets. 7. Output the Pre-Rewriting together with the corresponding canonical database. Fig. 2. Phase 1 of our algorithm In Proposition 1 we prove that each canonical database D i of the query must correspond to one CQAC P exp j of P which computes the query head on this canonical database. Proposition 1. Let Q be a CQAC query. If there exists a union of CQAC P = P i which is an equivalent rewriting of Q, then for every canonical database D i of Q, there exists a P j such that P exp j computes the head of Q in D i. 12

13 Proof. (sketch) The reason is that for every canonical database D i of the query, P exp must compute the head of the query on this canonical database. Therefore, there must exist a P j such that P exp j computes the head of the query. The view subgoals in the body of P j (the corresponding CQAC of canonical database D i ) as a consequence of Proposition 1 are necessarily more relaxed forms of view tuples in T i (V ). Therefore, it suffices to restrict our search to view tuples in more relaxed forms than tuples in T i (V ). Proposition 2 shows that by restricting ourselves to view tuples, that we compute in Phase 1, we do not lose solutions. Proposition 2. Let Q be a CQAC query. Suppose there is an equivalent rewriting P of Q in the language of unions of CQACs using a set of CQAC views V. Then, there is a P = P i which is an equivalent rewriting of Q using views V with the following property. There exists a canonical database D on which Q computes the head tuple such that any view (hence ordinary) subgoal of P i maps on a view tuple in D. Proposition 3 shows that by restricting ourselves to view tuples in their more relaxed form that are part of an MCR CQAC we do not lose solutions. Proposition 3. Let Q be a CQAC query. Suppose there is an equivalent rewriting P of Q in the language of union of CQACs using a set of CQAC views V. Then there is a P which is an equivalent rewriting of Q using views V with the following property. Let P i be a CQAC in P. Let P i = P i,0 + β i. Then P i,0 is a CQ in the MCR of Q 0 using V 0 possibly with redundant subgoals. Propositions 2 and 3 are partial results of the completeness of our algorithm and Lemma 2 is a partial result of soundness so far. Lemma 2. Let Q be a CQAC query and V a set of CQAC views. Let D i, with i = 1,..., k, be the canonical databases and P R i, with i = 1,..., k, the corresponding Pre-Rewritings obtained by procedure of Figure 2. Let P R exp,v i be the expansion of P R i wrt V. Then Q P R exp,v i. Proof. The proof of the lemma follows from the containment test for CQACs. 3.3 Phase 2: construct rewritings that are contained in the query The second phase performs two tasks: a) it constructs the candidate rewritings by adding constraints to the Pre-Rewritings P R i obtained in Phase 1, still preserving that the union of the new Pre-Rewritings still contains the query, b) it checks that the candidate rewritings are also contained in the query. In task a) to every P R i we add the constraints of the canonical database of Q to which this Pre-Rewriting corresponds. We call these new Pre-Rewritings P R i. Then, in task b) we check the containment in the query by considering the expansions of all P R i s w.r.t. V and constructing the canonical databases of these expansions. 13

14 We keep only those canonical databases that compute the head of the expansion (or if the expansion is boolean, that make the body true). Note that the expansion contains constraints coming from the bodies of the view definitions too. So fresh variables may also appear. However these variables are used only for checking the containment in the query. Example 8. (Continued from Example 7). To those Pre-Rewritings obtained in Phase 1 we add the total order of the corresponding canonical database. So we have the following Pre-Rewritings: P R 1(A) :- v(a, A), A < 8 P R 2(A) :- v(a, A), A = 8 We then consider the expansion of P R 1, and P R 2: P R exp 1 (A) :- r(x), s(a, A), A < 8, A X, X A which simplifies to P R exp 1 (A) :- r(a), s(a, A), A < 8 and, P R exp 2 (A) :- r(x), s(a, A), A = 8, A X, X A which simplifies to P R exp 2 (A) :- r(a), s(a, A), A = 8 We proceed to the construction of the canonical databases of every P R exp i by considering all variables and constants of the expansion. Here, both P R i s have the same set of canonical databases. D 1,1 = {r(a), s(a, a)} : a < 8 D 1,2 = {r(a), s(a, a)} : a = 8 D 1,3 = {r(a), s(a, a)} : a > 8 D 2,1 = {r(a), s(a, a)} : a < 8 D 2,2 = {r(a), s(a, a)} : a = 8 D 2,3 = {r(a), s(a, a)} : a > 8 We keep only the canonical databases that compute the head of the expansion of the rewriting. In this example we keep only the canonical databases D 1,1, D 2,2. The last step of Phase 2 consists in checking the constraints for each P R i through a two-column tableau constructed as follows. Each row corresponds to a canonical database of the expansion of P R i. We apply the query Q on this canonical database and if the expansion head is computed, we place the constraint corresponding to the total order of the canonical database in the left column of the tableau. Otherwise, we place the constraint in the right column. In the end, if there is at least one constraint on the right column of the tableau there is no equivalent rewriting to the query. Otherwise, the equivalent rewriting of Q is the union of P R i. Figure 3 presents the steps of Phase 2. Example 9. (Continued from Example 8). For every canonical database that we finally keep, we check the corresponding total order through the following tableau: 14

15 Q satisfies db Q does not satisfy db D 1,1 : a < 8 D 2,2 : a = 8 Since no constraint appears on the right column of the tableau, then the equivalent rewriting R to the query Q consists of the union: r(a) :- v(a, A), A < 8 r(a) :- v(a, A), A = 8 Procedure Equivalent rewritings: (1) Input: A set of Pre-Rewritings P R 1, P R 2,..., P R k together with the corresponding canonical databases D 1, D 2,..., D k (2) Output: An equivalent rewriting R (3) Method: 1. For each P R i do: (a) Construct P R i by adding the ACs of the canonical database D i to which P R i corresponds. (b) Consider the expansion P R exp i wrt V of P R i and all its canonical databases. (c) Make a two-column tableau as follows: in the left column place the total order of all canonical databases created from the P R exp i in which Q computes the head variable of P R exp i. In the right column place the total order of the canonical databases created from the P R exp i s in which Q does not compute the head variable of P R exp i. 2. If a constraint appears on the right column of the tableau, then the algorithm fails (there is no rewriting). If not, then output R = P R i. Fig. 3. Phase 2 of our algorithm Example 10. This example illustrates the case when the algorithm detects that there is no equivalent rewriting and stops. Consider the query and view: Q : q(a) :- r(a), s(a, A), A 8 V : v(y, Z) :- r(x), s(y, Z), Y X, X < Z Phase 1: We construct the canonical databases of Q by considering all variables of Q and all constants of the query and views: D 1 = {r(a), s(a, a)} : a < 8 D 2 = {r(a), s(a, a)} : a = 8 D 3 = {r(a), s(a, a)} : a > 8 We keep those canonical databases on which we compute the head of the query. That is, we keep only D 1, D 2. As V (D 1 ) = V (D 2 ) =, the algorithm would stop in Phase 1, and the query has no equivalent rewriting. 15

16 3.4 Soundness and Completeness To prove soundness and completeness of our algorithm we use Lemma 2 and Propositions 2 and 3 from Phase 1. Proposition 4. Let P R i be the Pre-Rewriting computed in Phase 1 of the algorithm corresponding to the canonical database D i of Q. Then, every P R exp i constructed in Phase 2 still computes the head of Q in D i. Hence, Q P R exp i. Proof. (sketch) The P R i s in Phase 2 are constructed from P R is by adding the constraints implied by the total order of the corresponding canonical database D i of Q. So the new constraints do not harm, and i P R exp i still computes the head of Q in D i. So far we have proved that our algorithm is complete i.e. if there are rewritings equivalent to Q with respect to the views in V, then our algorithm finds at least one. Lemma 3 proves that whenever our algorithm produces a rewriting then this rewriting is equivalent to the query. Lemma 3. Let Q be a CQAC query and V a set CQAC views. Let P R = P R i be the set of Pre-Rewritings. When the algorithm does not fail then the output R of the algorithm in Figure 3 is an equivalent rewriting of Q using V. Theorem 3. Given a query and views that are CQACs, our algorithm finds an equivalent rewriting (if there exists one) in the language of unions of CQACs. Proof. (sketch) Completeness: a consequence of Propositions 2, 3 and 4. Soundness: a consequence of Lemma 3. 4 Experimental Results In this section we present some of the experiments conducted to evaluate the efficiency of our algorithm. All the experiments were run on a machine with 3GHz Intel Pentium 4 processor with 512MB RAM and a 80GB hard disk, running the Windows XP operating system. Figure 4(a), (b) and (c) show that the runtime of the algorithm depends strongly on the number of distinct variables and constants in the CQAC queries and CQAC views rather than on the number of views. Note that a completely naive full-enumeration algorithm would not have a chance because it would have to enumerate thousands of combinations of view tuples for a typical query. In simple words, we would not be able to draw the curves in the graphs as they would go nearly vertically. In more detail, Figure 4(a) shows the dependence of the runtime on the number of views where the number of variables is kept constant (6 variables and constants). The graphs in Figures 4(b) and 4(c) present the dependence of our algorithm on both the number of the variables and the number of views. To be more precise, graph (b) gives the dependence for views whereas graph (c) for views. 16

17 (a) (b) (c) Fig. 4. Experimental results. 5 Conclusions The problem of rewriting queries using views in the presence of arithmetic comparisons is an important problem since users often need to pose queries containing inequalities. However the presence of arithmetic comparisons adds more complexities. The problem of finding an equivalent rewriting (if there exists one) in the presence of ACs is decidable. The doubly exponential complexity though calls for an efficient algorithm which will perform better on average than the complete enumeration algorithm. In this work we present an algorithm which finds equivalent rewritings for conjunctive queries with arithmetic comparisons, and prove its correctness. Its efficiency lies in that it considers fewer candidate rewritings because it includes a preliminary test to decide for each view whether it is potentially useful in some rewriting. Experiments conducted to evaluate our algorithm proved its efficiency. In future work it would be interesting to investigate special cases in which our algorithm may have lower complexity, such as acyclic queries. Acknowledgments: The authors would like to thank the students Manik Chandrachud and Dongfeng Chen who ran the experiments presented in this work. References 1. F. Afrati, M. Gergatsoulis, and T. Kavalieros. Answering queries using materialized views with disjunctions. In ICDT, pages ,

18 2. F. Afrati, C. Li, and P. Mitra. Answering queries using views with arithmetic comparisons. In PODS, pages , F. Afrati, C. Li, and P. Mitra. Rewriting queries using views in the presence of arithmetic comparisons. Technical report, UC Irvine, F. Afrati, C. Li, and P. Mitra. On containment of conjunctive queries with arithmetic comparisons. In EDBT, pages , F. Afrati, C. Li, and J. D. Ullman. Generating efficient plans for queries using views. In SIGMOD, pages , A. K. Chandra and P. M. Merlin. Optimal implementation of conjunctive queries in relational data bases. In STOC, pages 77 90, A. Deutsch. XML Query Reformulation over Mixed and Redundant Storage. PhD thesis, University of Pennsylvania, O. M. Duschka and M. R. Genesereth. Answering recursive queries using views. In PODS, pages , G. Grahne and A. O. Mendelzon. Tableau techniques for querying information sources through global schemas. In ICDT, pages , A. Gupta, Y. Sagiv, J. D. Ullman, and J. Widom. Constraint checking with partial information. In PODS, pages 45 55, A. Y. Halevy. Answering queries using views: A survey. VLDB Journal, 10(4): , A. Klug. On conjunctive queries containing inequalities. Journal of the ACM, 35(1): , P. G. Kolaitis, D. L. Martin, and M. N. Thakur. On the complexity of the containment problem for conjunctive queries with built-in predicates. In PODS, pages , A. Levy, A. O. Mendelzon, Y. Sagiv, and D. Srivastava. Answering queries using views. In PODS, pages , A. Levy, A. Rajaraman, and J. J. Ordille. Querying heterogeneous information sources using source descriptions. In VLDB, pages , A. Levy, A. Rajaraman, and J. Ullman. Answering queries using limited external processors. In PODS, pages , A. Levy and Y. Sagiv. Queries independent of updates. In VLDB, pages , P. Mitra. An algorithm for answering queries efficiently using views. In Proceedings of the Australasian Database Conference, pages , L. Popa. Object/Relational Query Optimization with Chase and Backchase. PhD thesis, University of Pennsylvania, R. Pottinger and A. Halevy. A scalable algorithm for answering queries using views. VLDB Journal, 10(2-3): , X. Qian. Query folding. In ICDE, pages 48 55, Y. Sagiv and M. Yannakakis. Equivalences among relational expressions with the union and difference operators. Journal of the ACM, 27(4): , L. J. Stockmeyer. The polynomial-time hierarchy. Theoretical Computer Science, 3:1 22, R. van der Meyden. The complexity of querying indefinite data about linearly ordered domains. In PODS, pages , X. Zhang and M. Z. Ozsoyoglu. On efficient reasoning with implication constraints. In DOOD, pages ,

Designing Views to Answer Queries under Set, Bag,and BagSet Semantics

Designing Views to Answer Queries under Set, Bag,and BagSet Semantics Designing Views to Answer Queries under Set, Bag,and BagSet Semantics Rada Chirkova Department of Computer Science, North Carolina State University Raleigh, NC 27695-7535 chirkova@csc.ncsu.edu Foto Afrati

More information

Query Rewriting Using Views in the Presence of Inclusion Dependencies

Query Rewriting Using Views in the Presence of Inclusion Dependencies Query Rewriting Using Views in the Presence of Inclusion Dependencies Qingyuan Bai Jun Hong Michael F. McTear School of Computing and Mathematics, University of Ulster at Jordanstown, Newtownabbey, Co.

More information

Using Views to Generate Efficient Evaluation Plans for Queries

Using Views to Generate Efficient Evaluation Plans for Queries Using Views to Generate Efficient Evaluation Plans for Queries Foto N. Afrati a,chenli b, and Jeffrey D. Ullman c a School of Electrical and Computing Engineering, National Technical University of Athens,

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Lecture 1: Conjunctive Queries

Lecture 1: Conjunctive Queries CS 784: Foundations of Data Management Spring 2017 Instructor: Paris Koutris Lecture 1: Conjunctive Queries A database schema R is a set of relations: we will typically use the symbols R, S, T,... to denote

More information

Checking Containment of Schema Mappings (Preliminary Report)

Checking Containment of Schema Mappings (Preliminary Report) Checking Containment of Schema Mappings (Preliminary Report) Andrea Calì 3,1 and Riccardo Torlone 2 Oxford-Man Institute of Quantitative Finance, University of Oxford, UK Dip. di Informatica e Automazione,

More information

Conjunctive queries. Many computational problems are much easier for conjunctive queries than for general first-order queries.

Conjunctive queries. Many computational problems are much easier for conjunctive queries than for general first-order queries. Conjunctive queries Relational calculus queries without negation and disjunction. Conjunctive queries have a normal form: ( y 1 ) ( y n )(p 1 (x 1,..., x m, y 1,..., y n ) p k (x 1,..., x m, y 1,..., y

More information

The Inverse of a Schema Mapping

The Inverse of a Schema Mapping The Inverse of a Schema Mapping Jorge Pérez Department of Computer Science, Universidad de Chile Blanco Encalada 2120, Santiago, Chile jperez@dcc.uchile.cl Abstract The inversion of schema mappings has

More information

Query Containment for Data Integration Systems

Query Containment for Data Integration Systems Query Containment for Data Integration Systems Todd Millstein University of Washington Seattle, Washington todd@cs.washington.edu Alon Levy University of Washington Seattle, Washington alon@cs.washington.edu

More information

Designing and Using Views To Improve Performance of Aggregate Queries (September 9, 2004)

Designing and Using Views To Improve Performance of Aggregate Queries (September 9, 2004) Designing and Using Views To Improve Performance of Aggregate Queries (September 9, 2004) Foto Afrati 1, Rada Chirkova 2, Shalu Gupta 2, and Charles Loftis 2 1 Computer Science Division, National Technical

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

A Practical Algorithm for Reformulation of Deductive Databases

A Practical Algorithm for Reformulation of Deductive Databases A Practical Algorithm for Reformulation of Deductive Databases Michael Genesereth and Abhijeet Mohapatra Stanford University, Stanford, CA - 94305, USA {genesereth, abhijeet}@cs.stanford.edu Abstract.

More information

On the Hardness of Counting the Solutions of SPARQL Queries

On the Hardness of Counting the Solutions of SPARQL Queries On the Hardness of Counting the Solutions of SPARQL Queries Reinhard Pichler and Sebastian Skritek Vienna University of Technology, Faculty of Informatics {pichler,skritek}@dbai.tuwien.ac.at 1 Introduction

More information

Inverting Schema Mappings: Bridging the Gap between Theory and Practice

Inverting Schema Mappings: Bridging the Gap between Theory and Practice Inverting Schema Mappings: Bridging the Gap between Theory and Practice Marcelo Arenas Jorge Pérez Juan Reutter Cristian Riveros PUC Chile PUC Chile PUC Chile R&M Tech marenas@ing.puc.cl jperez@ing.puc.cl

More information

Structural Characterizations of Schema-Mapping Languages

Structural Characterizations of Schema-Mapping Languages Structural Characterizations of Schema-Mapping Languages Balder ten Cate University of Amsterdam and UC Santa Cruz balder.tencate@uva.nl Phokion G. Kolaitis UC Santa Cruz and IBM Almaden kolaitis@cs.ucsc.edu

More information

Access Patterns (Extended Version) Chen Li. Department of Computer Science, Stanford University, CA Abstract

Access Patterns (Extended Version) Chen Li. Department of Computer Science, Stanford University, CA Abstract Computing Complete Answers to Queries in the Presence of Limited Access Patterns (Extended Version) Chen Li Department of Computer Science, Stanford University, CA 94305 chenli@db.stanford.edu Abstract

More information

Logical Aspects of Massively Parallel and Distributed Systems

Logical Aspects of Massively Parallel and Distributed Systems Logical Aspects of Massively Parallel and Distributed Systems Frank Neven Hasselt University PODS Tutorial June 29, 2016 PODS June 29, 2016 1 / 62 Logical aspects of massively parallel and distributed

More information

An Algorithm for Answering Queries Efficiently Using Views Prasenjit Mitra Infolab, Stanford University Stanford, CA, 94305, U.S.A.

An Algorithm for Answering Queries Efficiently Using Views Prasenjit Mitra Infolab, Stanford University Stanford, CA, 94305, U.S.A. An Algorithm for Answering Queries Efficiently Using Views Prasenjit Mitra Infolab, Stanford University Stanford, CA, 94305, U.S.A. mitra@db.stanford.edu September, 1999 Abstract Algorithms for answering

More information

Complexity of Answering Queries Using Materialized Views

Complexity of Answering Queries Using Materialized Views Complexity of Answering Queries Using Materialized Views Serge Abiteboul, Olivier Duschka To cite this version: Serge Abiteboul, Olivier Duschka. Complexity of Answering Queries Using Materialized Views.

More information

Selecting and Using Views to Compute Aggregate Queries

Selecting and Using Views to Compute Aggregate Queries Selecting and Using Views to Compute Aggregate Queries Foto Afrati National Technical University of Athens 157 73 Athens, Greece afrati@cs.ece.ntua.gr Rada Chirkova Computer Science North Carolina State

More information

Scalable Query Rewriting: A Graph-Based Approach

Scalable Query Rewriting: A Graph-Based Approach Scalable Query Rewriting: A Graph-Based Approach George Konstantinidis Information Sciences Institute University of Southern California Marina Del Rey, CA 90292 konstant@usc.edu José Luis Ambite Information

More information

Processing Regular Path Queries Using Views or What Do We Need for Integrating Semistructured Data?

Processing Regular Path Queries Using Views or What Do We Need for Integrating Semistructured Data? Processing Regular Path Queries Using Views or What Do We Need for Integrating Semistructured Data? Diego Calvanese University of Rome La Sapienza joint work with G. De Giacomo, M. Lenzerini, M.Y. Vardi

More information

Schema Design for Uncertain Databases

Schema Design for Uncertain Databases Schema Design for Uncertain Databases Anish Das Sarma, Jeffrey Ullman, Jennifer Widom {anish,ullman,widom}@cs.stanford.edu Stanford University Abstract. We address schema design in uncertain databases.

More information

Answering Queries Using Views: A Survey. Alon Y. Halevy. Stanislav Angelov, CIS650 Data Sharing and the Web U. of Pennsylvania

Answering Queries Using Views: A Survey. Alon Y. Halevy. Stanislav Angelov, CIS650 Data Sharing and the Web U. of Pennsylvania MiniCon Answering Queries Using Views: A Survey. Alon Y. Halevy Stanislav Angelov, CIS650 Data Sharing and the Web U. of Pennsylvania Additional references: MiniCon: A Scalable algorithm for answering

More information

Computing Complete Answers to Queries in the Presence of Limited Access Patterns (Revision)

Computing Complete Answers to Queries in the Presence of Limited Access Patterns (Revision) Computing Complete Answers to Queries in the Presence of Limited Access Patterns (Revision) Chen Li Department of Information and Computer Science University of California at Irvine, CA 92697-3425 chenli@ics.uci.edu

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

General properties of staircase and convex dual feasible functions

General properties of staircase and convex dual feasible functions General properties of staircase and convex dual feasible functions JÜRGEN RIETZ, CLÁUDIO ALVES, J. M. VALÉRIO de CARVALHO Centro de Investigação Algoritmi da Universidade do Minho, Escola de Engenharia

More information

Foundations of Databases

Foundations of Databases Foundations of Databases Free University of Bozen Bolzano, 2004 2005 Thomas Eiter Institut für Informationssysteme Arbeitsbereich Wissensbasierte Systeme (184/3) Technische Universität Wien http://www.kr.tuwien.ac.at/staff/eiter

More information

I. Khalil Ibrahim, V. Dignum, W. Winiwarter, E. Weippl, Logic Based Approach to Semantic Query Transformation for Knowledge Management Applications,

I. Khalil Ibrahim, V. Dignum, W. Winiwarter, E. Weippl, Logic Based Approach to Semantic Query Transformation for Knowledge Management Applications, I. Khalil Ibrahim, V. Dignum, W. Winiwarter, E. Weippl, Logic Based Approach to Semantic Query Transformation for Knowledge Management Applications, Proc. of the International Conference on Knowledge Management

More information

A step towards the Bermond-Thomassen conjecture about disjoint cycles in digraphs

A step towards the Bermond-Thomassen conjecture about disjoint cycles in digraphs A step towards the Bermond-Thomassen conjecture about disjoint cycles in digraphs Nicolas Lichiardopol Attila Pór Jean-Sébastien Sereni Abstract In 1981, Bermond and Thomassen conjectured that every digraph

More information

Provable data privacy

Provable data privacy Provable data privacy Kilian Stoffel 1 and Thomas Studer 2 1 Université de Neuchâtel, Pierre-à-Mazel 7, CH-2000 Neuchâtel, Switzerland kilian.stoffel@unine.ch 2 Institut für Informatik und angewandte Mathematik,

More information

Scan Scheduling Specification and Analysis

Scan Scheduling Specification and Analysis Scan Scheduling Specification and Analysis Bruno Dutertre System Design Laboratory SRI International Menlo Park, CA 94025 May 24, 2000 This work was partially funded by DARPA/AFRL under BAE System subcontract

More information

ON CONSISTENCY CHECKING OF SPATIAL RELATIONSHIPS IN CONTENT-BASED IMAGE DATABASE SYSTEMS

ON CONSISTENCY CHECKING OF SPATIAL RELATIONSHIPS IN CONTENT-BASED IMAGE DATABASE SYSTEMS COMMUNICATIONS IN INFORMATION AND SYSTEMS c 2005 International Press Vol. 5, No. 3, pp. 341-366, 2005 004 ON CONSISTENCY CHECKING OF SPATIAL RELATIONSHIPS IN CONTENT-BASED IMAGE DATABASE SYSTEMS QING-LONG

More information

Winning Positions in Simplicial Nim

Winning Positions in Simplicial Nim Winning Positions in Simplicial Nim David Horrocks Department of Mathematics and Statistics University of Prince Edward Island Charlottetown, Prince Edward Island, Canada, C1A 4P3 dhorrocks@upei.ca Submitted:

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

Relational Database: The Relational Data Model; Operations on Database Relations

Relational Database: The Relational Data Model; Operations on Database Relations Relational Database: The Relational Data Model; Operations on Database Relations Greg Plaxton Theory in Programming Practice, Spring 2005 Department of Computer Science University of Texas at Austin Overview

More information

On Reconciling Data Exchange, Data Integration, and Peer Data Management

On Reconciling Data Exchange, Data Integration, and Peer Data Management On Reconciling Data Exchange, Data Integration, and Peer Data Management Giuseppe De Giacomo, Domenico Lembo, Maurizio Lenzerini, and Riccardo Rosati Dipartimento di Informatica e Sistemistica Sapienza

More information

A Retrospective on Datalog 1.0

A Retrospective on Datalog 1.0 A Retrospective on Datalog 1.0 Phokion G. Kolaitis UC Santa Cruz and IBM Research - Almaden Datalog 2.0 Vienna, September 2012 2 / 79 A Brief History of Datalog In the beginning of time, there was E.F.

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY KARL L. STRATOS Abstract. The conventional method of describing a graph as a pair (V, E), where V and E repectively denote the sets of vertices and edges,

More information

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

CHAPTER 8. Copyright Cengage Learning. All rights reserved. CHAPTER 8 RELATIONS Copyright Cengage Learning. All rights reserved. SECTION 8.3 Equivalence Relations Copyright Cengage Learning. All rights reserved. The Relation Induced by a Partition 3 The Relation

More information

Interleaving Schemes on Circulant Graphs with Two Offsets

Interleaving Schemes on Circulant Graphs with Two Offsets Interleaving Schemes on Circulant raphs with Two Offsets Aleksandrs Slivkins Department of Computer Science Cornell University Ithaca, NY 14853 slivkins@cs.cornell.edu Jehoshua Bruck Department of Electrical

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

On Covering a Graph Optimally with Induced Subgraphs

On Covering a Graph Optimally with Induced Subgraphs On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number

More information

Data Integration: A Theoretical Perspective

Data Integration: A Theoretical Perspective Data Integration: A Theoretical Perspective Maurizio Lenzerini Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza Via Salaria 113, I 00198 Roma, Italy lenzerini@dis.uniroma1.it ABSTRACT

More information

Core Membership Computation for Succinct Representations of Coalitional Games

Core Membership Computation for Succinct Representations of Coalitional Games Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity

More information

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models.

These notes present some properties of chordal graphs, a set of undirected graphs that are important for undirected graphical models. Undirected Graphical Models: Chordal Graphs, Decomposable Graphs, Junction Trees, and Factorizations Peter Bartlett. October 2003. These notes present some properties of chordal graphs, a set of undirected

More information

ROUGH MEMBERSHIP FUNCTIONS: A TOOL FOR REASONING WITH UNCERTAINTY

ROUGH MEMBERSHIP FUNCTIONS: A TOOL FOR REASONING WITH UNCERTAINTY ALGEBRAIC METHODS IN LOGIC AND IN COMPUTER SCIENCE BANACH CENTER PUBLICATIONS, VOLUME 28 INSTITUTE OF MATHEMATICS POLISH ACADEMY OF SCIENCES WARSZAWA 1993 ROUGH MEMBERSHIP FUNCTIONS: A TOOL FOR REASONING

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

following syntax: R ::= > n j P j $i=n : C j :R j R 1 u R 2 C ::= > 1 j A j :C j C 1 u C 2 j 9[$i]R j (» k [$i]r) where i and j denote components of r

following syntax: R ::= > n j P j $i=n : C j :R j R 1 u R 2 C ::= > 1 j A j :C j C 1 u C 2 j 9[$i]R j (» k [$i]r) where i and j denote components of r Answering Queries Using Views in Description Logics Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini Dipartimento di Informatica e Sistemistica, Universit a di Roma La Sapienza" Via Salaria 113,

More information

Data integration supports seamless access to autonomous, heterogeneous information

Data integration supports seamless access to autonomous, heterogeneous information Using Constraints to Describe Source Contents in Data Integration Systems Chen Li, University of California, Irvine Data integration supports seamless access to autonomous, heterogeneous information sources

More information

Lecture 9: Datalog with Negation

Lecture 9: Datalog with Negation CS 784: Foundations of Data Management Spring 2017 Instructor: Paris Koutris Lecture 9: Datalog with Negation In this lecture we will study the addition of negation to Datalog. We start with an example.

More information

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2017 CS 6820: Algorithms Lecture notes on the simplex method September 2017 1 The Simplex Method We will present an algorithm to solve linear programs of the form maximize subject

More information

Reconcilable Differences

Reconcilable Differences Theory of Computing Systems manuscript No. (will be inserted by the editor) Reconcilable Differences Todd J. Green Zachary G. Ives Val Tannen Received: date / Accepted: date Abstract In this paper we study

More information

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions.

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions. THREE LECTURES ON BASIC TOPOLOGY PHILIP FOTH 1. Basic notions. Let X be a set. To make a topological space out of X, one must specify a collection T of subsets of X, which are said to be open subsets of

More information

Describing and Utilizing Constraints to Answer Queries in Data-Integration Systems

Describing and Utilizing Constraints to Answer Queries in Data-Integration Systems Describing and Utilizing Constraints to Answer Queries in Data-Integration Systems Chen Li Information and Computer Science University of California, Irvine, CA 92697 chenli@ics.uci.edu Abstract In data-integration

More information

The External Network Problem

The External Network Problem The External Network Problem Jan van den Heuvel and Matthew Johnson CDAM Research Report LSE-CDAM-2004-15 December 2004 Abstract The connectivity of a communications network can often be enhanced if the

More information

Foundations of Schema Mapping Management

Foundations of Schema Mapping Management Foundations of Schema Mapping Management Marcelo Arenas Jorge Pérez Juan Reutter Cristian Riveros PUC Chile PUC Chile University of Edinburgh Oxford University marenas@ing.puc.cl jperez@ing.puc.cl juan.reutter@ed.ac.uk

More information

9.5 Equivalence Relations

9.5 Equivalence Relations 9.5 Equivalence Relations You know from your early study of fractions that each fraction has many equivalent forms. For example, 2, 2 4, 3 6, 2, 3 6, 5 30,... are all different ways to represent the same

More information

Expressive capabilities description languages and query rewriting algorithms q

Expressive capabilities description languages and query rewriting algorithms q The Journal of Logic Programming 43 (2000) 75±122 www.elsevier.com/locate/jlpr Expressive capabilities description languages and query rewriting algorithms q Vasilis Vassalos a, *, Yannis Papakonstantinou

More information

Rewriting Ontology-Mediated Queries. Carsten Lutz University of Bremen

Rewriting Ontology-Mediated Queries. Carsten Lutz University of Bremen Rewriting Ontology-Mediated Queries Carsten Lutz University of Bremen Data Access and Ontologies Today, data is often highly incomplete and very heterogeneous Examples include web data and large-scale

More information

Structural characterizations of schema mapping languages

Structural characterizations of schema mapping languages Structural characterizations of schema mapping languages Balder ten Cate INRIA and ENS Cachan (research done while visiting IBM Almaden and UC Santa Cruz) Joint work with Phokion Kolaitis (ICDT 09) Schema

More information

Data Exchange: Semantics and Query Answering

Data Exchange: Semantics and Query Answering Data Exchange: Semantics and Query Answering Ronald Fagin Phokion G. Kolaitis Renée J. Miller Lucian Popa IBM Almaden Research Center fagin,lucian @almaden.ibm.com University of California at Santa Cruz

More information

Answering Queries with Useful Bindings

Answering Queries with Useful Bindings Answering Queries with Useful Bindings CHEN LI University of California at Irvine and EDWARD CHANG University of California, Santa Barbara In information-integration systems, sources may have diverse and

More information

Query Evaluation using Overlapping Views: Completeness and Efficiency

Query Evaluation using Overlapping Views: Completeness and Efficiency Query Evaluation using Overlapping Views: Completeness and Efficiency Gang Gou, Maxim Kormilitsin, Rada Chirkova Computer Science Department, North Carolina State University Campus Box 8206, Raleigh, NC

More information

Math 5593 Linear Programming Lecture Notes

Math 5593 Linear Programming Lecture Notes Math 5593 Linear Programming Lecture Notes Unit II: Theory & Foundations (Convex Analysis) University of Colorado Denver, Fall 2013 Topics 1 Convex Sets 1 1.1 Basic Properties (Luenberger-Ye Appendix B.1).........................

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

EXTREME POINTS AND AFFINE EQUIVALENCE

EXTREME POINTS AND AFFINE EQUIVALENCE EXTREME POINTS AND AFFINE EQUIVALENCE The purpose of this note is to use the notions of extreme points and affine transformations which are studied in the file affine-convex.pdf to prove that certain standard

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

2017 SOLUTIONS (PRELIMINARY VERSION)

2017 SOLUTIONS (PRELIMINARY VERSION) SIMON MARAIS MATHEMATICS COMPETITION 07 SOLUTIONS (PRELIMINARY VERSION) This document will be updated to include alternative solutions provided by contestants, after the competition has been mared. Problem

More information

MiniCon: A scalable algorithm for answering queries using views

MiniCon: A scalable algorithm for answering queries using views The VLDB Journal (2001) 10: 182 198 / Digital Object Identifier (DOI) 10.1007/s007780100048 MiniCon: A scalable algorithm for answering queries using views Rachel Pottinger, Alon Halevy University of Washington,

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

P Is Not Equal to NP. ScholarlyCommons. University of Pennsylvania. Jon Freeman University of Pennsylvania. October 1989

P Is Not Equal to NP. ScholarlyCommons. University of Pennsylvania. Jon Freeman University of Pennsylvania. October 1989 University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science October 1989 P Is Not Equal to NP Jon Freeman University of Pennsylvania Follow this and

More information

Leveraging Transitive Relations for Crowdsourced Joins*

Leveraging Transitive Relations for Crowdsourced Joins* Leveraging Transitive Relations for Crowdsourced Joins* Jiannan Wang #, Guoliang Li #, Tim Kraska, Michael J. Franklin, Jianhua Feng # # Department of Computer Science, Tsinghua University, Brown University,

More information

Algebraic Processors

Algebraic Processors Algebraic Processors Algebraic Processors By Pouya Larjani, B.Sc. A Thesis Submitted to the School of Graduate Studies in partial fulfilment of the requirements for the degree of Master of Science Department

More information

Who won the Universal Relation wars? Alberto Mendelzon University of Toronto

Who won the Universal Relation wars? Alberto Mendelzon University of Toronto Who won the Universal Relation wars? Alberto Mendelzon University of Toronto Who won the Universal Relation wars? 1 1-a Who won the Universal Relation wars? The Good Guys. The Good Guys 2 3 Outline The

More information

K 4,4 e Has No Finite Planar Cover

K 4,4 e Has No Finite Planar Cover K 4,4 e Has No Finite Planar Cover Petr Hliněný Dept. of Applied Mathematics, Charles University, Malostr. nám. 25, 118 00 Praha 1, Czech republic (E-mail: hlineny@kam.ms.mff.cuni.cz) February 9, 2005

More information

Data integration lecture 2

Data integration lecture 2 PhD course on View-based query processing Data integration lecture 2 Riccardo Rosati Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza {rosati}@dis.uniroma1.it Corso di Dottorato

More information

XI International PhD Workshop OWD 2009, October Fuzzy Sets as Metasets

XI International PhD Workshop OWD 2009, October Fuzzy Sets as Metasets XI International PhD Workshop OWD 2009, 17 20 October 2009 Fuzzy Sets as Metasets Bartłomiej Starosta, Polsko-Japońska WyŜsza Szkoła Technik Komputerowych (24.01.2008, prof. Witold Kosiński, Polsko-Japońska

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Leveraging Set Relations in Exact Set Similarity Join

Leveraging Set Relations in Exact Set Similarity Join Leveraging Set Relations in Exact Set Similarity Join Xubo Wang, Lu Qin, Xuemin Lin, Ying Zhang, and Lijun Chang University of New South Wales, Australia University of Technology Sydney, Australia {xwang,lxue,ljchang}@cse.unsw.edu.au,

More information

Chordal deletion is fixed-parameter tractable

Chordal deletion is fixed-parameter tractable Chordal deletion is fixed-parameter tractable Dániel Marx Institut für Informatik, Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany. dmarx@informatik.hu-berlin.de Abstract. It

More information

A CSP Search Algorithm with Reduced Branching Factor

A CSP Search Algorithm with Reduced Branching Factor A CSP Search Algorithm with Reduced Branching Factor Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

}Optimization Formalisms for recursive queries. Module 11: Optimization of Recursive Queries. Module Outline Datalog

}Optimization Formalisms for recursive queries. Module 11: Optimization of Recursive Queries. Module Outline Datalog Module 11: Optimization of Recursive Queries 11.1 Formalisms for recursive queries Examples for problems requiring recursion: Module Outline 11.1 Formalisms for recursive queries 11.2 Computing recursive

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

Cantor s Diagonal Argument for Different Levels of Infinity

Cantor s Diagonal Argument for Different Levels of Infinity JANUARY 2015 1 Cantor s Diagonal Argument for Different Levels of Infinity Michael J. Neely University of Southern California http://www-bcf.usc.edu/ mjneely Abstract These notes develop the classic Cantor

More information

in this web service Cambridge University Press

in this web service Cambridge University Press 978-0-51-85748- - Switching and Finite Automata Theory, Third Edition Part 1 Preliminaries 978-0-51-85748- - Switching and Finite Automata Theory, Third Edition CHAPTER 1 Number systems and codes This

More information

}Optimization. Module 11: Optimization of Recursive Queries. Module Outline

}Optimization. Module 11: Optimization of Recursive Queries. Module Outline Module 11: Optimization of Recursive Queries Module Outline 11.1 Formalisms for recursive queries 11.2 Computing recursive queries 11.3 Partial transitive closures User Query Transformation & Optimization

More information

Lecture 22 Acyclic Joins and Worst Case Join Results Instructor: Sudeepa Roy

Lecture 22 Acyclic Joins and Worst Case Join Results Instructor: Sudeepa Roy CompSci 516 ata Intensive Computing Systems Lecture 22 Acyclic Joins and Worst Case Join Results Instructor: Sudeepa Roy uke CS, Fall 2016 CompSci 516: ata Intensive Computing Systems Announcements Final

More information

[Draft. Please do not distribute] Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic

[Draft. Please do not distribute] Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic [Draft Please do not distribute] Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic Sergey Berezin, Vijay Ganesh, and David L Dill Stanford University {berezin,vganesh,dill}@stanfordedu

More information

Graph Theory Questions from Past Papers

Graph Theory Questions from Past Papers Graph Theory Questions from Past Papers Bilkent University, Laurence Barker, 19 October 2017 Do not forget to justify your answers in terms which could be understood by people who know the background theory

More information

Discharging and reducible configurations

Discharging and reducible configurations Discharging and reducible configurations Zdeněk Dvořák March 24, 2018 Suppose we want to show that graphs from some hereditary class G are k- colorable. Clearly, we can restrict our attention to graphs

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH*

THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH* SIAM J. COMPUT. Vol. 1, No. 2, June 1972 THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH* A. V. AHO, M. R. GAREY" AND J. D. ULLMAN Abstract. We consider economical representations for the path information

More information

Philip A. Bernstein Microsoft Research One Microsoft Way Redmond, WA , USA.

Philip A. Bernstein Microsoft Research One Microsoft Way Redmond, WA , USA. Schema Merging and Mapping Creation for Relational Sources Rachel Pottinger University of British Columbia 201-2366 Main Mall Vancouver, BC V6T 1Z4, Canada rap@cs.ubc.ca Philip A. Bernstein Microsoft Research

More information

9 Connectivity. Contents. 9.1 Vertex Connectivity

9 Connectivity. Contents. 9.1 Vertex Connectivity 9 Connectivity Contents 9.1 Vertex Connectivity.............................. 205 Connectivity and Local Connectivity............... 206 Vertex Cuts and Menger s Theorem................. 207 9.2 The Fan

More information

Data Integration with Uncertainty

Data Integration with Uncertainty Noname manuscript No. (will be inserted by the editor) Xin Dong Alon Halevy Cong Yu Data Integration with Uncertainty the date of receipt and acceptance should be inserted later Abstract This paper reports

More information