* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Query Answering Under Exact View Assumption in Local As View
Survey
Document related concepts
Encyclopedia of World Problems and Human Potential wikipedia , lookup
Oracle Database wikipedia , lookup
Commitment ordering wikipedia , lookup
Global serializability wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Ingres (database) wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Relational algebra wikipedia , lookup
Functional Database Model wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
ContactPoint wikipedia , lookup
Versant Object Database wikipedia , lookup
Clusterpoint wikipedia , lookup
Transcript
Query Answering Under Exact View Assumption in Local As View Data Integration System.? Andrei Lopatenko1,2 1 Free University of Bozen–Bolzano, Faculty of computer Science, Italy, [email protected] 2 University of Manchester, Department of Computer Science, UK Abstract. In this paper we thoroughly analyze a problem of query answering under Exact View Assumption (EVA) in a data integration system. We propose an algorithm to build a representation of all legal global database instances using conditional tables. Other approaches for query answering as well data and program complexity are analyzed. We found a few tractable cases of answering under EVA using reduction to Constraint Satisfaction Problem. 1 Introduction There is an increasing number of available information sources, many of them providing access to data in different formats. Data Integration systems (DIS) aim to provide a uniform query interface to all information sources. One of the views is to view such system as Local As View approach: 1) to postulate a global schema that provides a unifying data model for all information sources, 2) to model each sources as a materialized view defined in terms of global schema, which are virtual. Such approach defines a Query Answering problem: given a query in terms of global schema, answer it using data from data sources. There are different assumptions maybe given in data integration systems about the quality of information contained in data sources. One of the criteria of the quality of information is a completeness and correctness of information: under Sound View Assumption (SVA) it is assumed that data source contains only correct information, but it maybe incomplete; under Exact View Assumption (EVA) it is assumed that a data source contains complete and correct information (EVA = SVA + Closed World Assumption). In this paper we will work on the query answering under Exact View Assumption, where information contained in views is complete and correct. At first step, we provide a reduction from query answering under EVA to query answering under SVA, and under special kind of integrity constraints. At next step, we will construct a chase procedure, which is being applied a representation of all databases legal under SVA, constructs a database representation of all databases valid under EVA. Using this chase procedure we will get else one proof of upper bounds for query answering under EVA. At next step we consider a logical programming approach for solving query answering ? This work is done under supervision by Prof. Enrico Franconi, Free University of BozenBolzano under EVA problem. Developing this approach, we get some characterization of legal databases under EVA And finally, we will find some tractable cases of query answering problem using reduction to Constraint Satisfaction Problem. 1.1 Preliminaries To formalize a notion of Data Integration System we use a framework proposed in [Lenzerini, 2002], [Abiteboul & Duschka, 1998]. Definition 1 Data integration system. A data integration system I is a triple hG, S, Mi, where – G is the global schema expressed in the relational model with integrity constraints. Henceforth, we indicate with AG the alphabet of the relation symbols of G and with CG the set of integrity constraints specified on AG . – S is the source schema, constituted by the schemata of the various sources that are part of the integration system. Henceforth, we indicate with AS the alphabet of the relation symbols (also sometimes called materialized views or simply views) on of S. Is is disjoint of AG . – M is the mapping between the global and source schema. The mapping is a set of assertions of the form hQG ζ QS i, where QG and QS are queries of the same arity, respectively over the global schema G and over the source schema S. Queries Q G are expressed in a query language LM,G and queries QS are expressed in a query language LM,S . The symbol ζ is a symbol from the alphabet {⊂, ⊆, ≡, ⊇, ⊃}. Definition 2 Source database. A source database DS for I is a database DS that conforms to the source schema S and satisfies all constraints in S. We will often use a term view to denote source database. Definition 3 Global database. A global database B for I is any database for G. A global database B is legal with respect to DS , if: – B is legal with respect to G, i.e. B satisfies all the constraints in G; – B satisfies the mappings M with respect to DS . A global database which is legal with respect to given data integration system may be also called retrieved database. Definition 4 Local-As-View approach (LAV). The mapping in data integration system is given by associating each source relation symbol with a view over global relation symbols. In LAV the mapping given as a set of triples hAS Q(AG ) ζi where ζ is a symbol of the alphabet {sound, complete, exact} and ζ means which assumption is valid for given view. Sound views assumption, SWA. The extension of the view contains a subset of tuples derived from database. EVi ⊆ QVGi (D) or, in other words, ∀x̄ s(x̄) → qGs (x̄), where s is a source relation symbol, qGs is a query over global schema relation symbols, associated with the view s, x̄ denotes a set of variables of arity of s. Complete views assumption, CWA. The extension of the view contains all tuples derived from database. EVi ⊇ QGVi (D) or, in other words, ∀x̄ s(x̄) ← qGs (x̄). Exact views assumption, EVA. The extention of view contains all and only tuples derived from database. Both sound and complete assumptions. E Vi = QVGi (D) or, in other words, ∀x̄ s(x̄) ↔ qGs (x̄). Definition 5 A tuple t is a certain answer for a query Q in respect to DIS I if t is an answer to Q for every legal global database of I. This term is synonym to ’a sceptical answer’ term used in AI community. A tuple t is a possible answer for a query Q in respect to DIS I, if t is an answer to Q for at least one legal global database of I. ”A possible answer” is a synonym for ”a credulous answer” in AI. Clearly there exist databases providing different answers under EVA and SVA, Example 1. A data integration system with global schema containing one relation student(name, supervisor) and two data sources with data mapping student1 (X) : −student(X, Y ) and prof essor2 (Y ) : −student(X, Y ). Data source student1 contains data {hjohni}, and data source prof essor2 contains data {hmagdai}. Then for a query Q(X,Y) :- student(X,Y), the query answer under EVA is {hjohn, magdai}, but the query answer under SVA is an empty set. 1.2 Contributions and related work A problem of query answering under Exact View Assumption was analyzed in [Abiteboul & Duschka, 1998]. In that article it was proofed that the problem is coNP-hard for conjunctive queries and views defined as conjunctive queries. The problems is in coNP for view as union of conjunctive queries and DATALOG-defined queries.a The description of the algorithm given in that article is very incomplete and lacks many important details, actually, instead of algorithm, the example of algorithm running for simple database is given.In this paper we provide a detailed description of the algorithm and another definition of semantic for it. Our algorithm is based on a chase procedure, which simplifies proof techniques and gives complexity results for the algorithm . Reduction to SVA query answering with additional constraints simplifies ’high-level’ reasoning problems like 1) composition of mappings, which are of interest for peer-to-peer community and 2) query containment, which is important for query optimization. In [Grahne & Mendelzon, 1999] an algorithm based on tableaux representation of a global database is given. The algorithm, described in that article handles only conjunctive queries and views. Our and [Abiteboul & Duschka, 1998] algorithms handle positive (disjunctive) queries. In case of Exact Views Assumption algorithm [Grahne & Mendelzon, 1999] provides only possible answers instead of certain. [Flesca & Greco, 2001] suggests algorithm for query answering in the presence of negative goals (both a query and a view definitions may contain negative atoms). They propose a method of a query answering, which works only under Exact View Assumption and contains some specific features of EVA like derivation of negative information, but this fact is not explicitly mentioned in the article. In case of algorithm of [Flesca & Greco, 2001] not all information is extracted in general case (for Example 1 algorithm provides empty answer) In [Imielinski & Lipski, 1983] a problem of “inverting relational expressions”, which is equivalent to the problem of reconstructing global database is considered. The algorithm for reconstructing database instance representing all legal databases under OWA is given. The problem of reconstructing a database instance under EVA, which is in the original article called as CWA(Closed World Assumption) is defined. In [Fagin et al., 2003] a problem of ”data exchange” is considered. [Fagin et al., 2003] construct ”an universal solution” which is conditional table representation of all databases legal under SVA. In [Bravo & Bertossi, 2004] an answer set approach is proposed for query answering under EVA. Closed World assumption is implemented as denial constraints in logic program. Proposed approach is hard to extend for disjunctive queries because it construct models using new additional null values. The predefined number of null values makes results of [Bravo & Bertossi, 2004] valid only for conjunctive queries. 2 A representation of legal databases by conditional tables In this section we use such tool as conditional tables[Imielienski & Witold Lipski, 1984][Abiteboul, Hull, & Vianu, 1995] to represent a set of databases. Conditional tables are relations with marked null values and local (at the level of a tuple) and global (relational level) conditions. It is powerful enough tool to represent disjunctive and some kinds of negative information. Let us try to reduce a problem of query answering under EVA to query answering under SVA with some special conditions. In general, query answering under EVA is not reducible to query answering under SVA. It can be proofed by 1) complexity arguments, query answering under EVA is coNP-complete, but query answering under SVA is in PTIME in data complexity; or by 2) monotonicity arguments: query answering under EVA is not monotonic in respect to extension of data sources, while query answering under SVA is monotonic. We introduce conjunctive implication constraints, which are of them form r1 (x1 ), r2 (x2 ), ..., rn (xn ) ⊆ r(y) I |= r1 (x1 ), r2 (x2 ), ..., rn (xn ) ⊆ r(y) if f I(r1 )(x1 )I(r2 )(x2 ) · · · I(rn )(xn ) ⊆ I(r)(y) Definition 6 A sound view analog of DIS I is a DIS denoted as SV A(I), constructed by the following procedure: – copy to SV A(I) all global and local schemata from I, with all view definitions and view extensions – for each view V under EVA of I, create in the global schema of SV A(I) a relation symbol rV and in mapping schema of SV A(I), create a LAV mapping V (X) ⊂ rV (X) – for each view V under EVA, for a view definition V (X) = r1 (X), ..., rn (X) of I, create in the global schema of SV A(I) an integrity constraint rV (X) ⊃ r1 (X), ..., rn (X) Example 2. Continue example 1. A transformed DIS is R Global schema : student(X, Y ), studentR 1 (X), prof essor2 (Y ) R Global IC : student(X, Y ) ⊆ studentR 1 (X), student(X, Y ) ⊆ prof essor2 (Y ) A Local schemata : student1 (X), prof essor2 (Y ), studentA 1 (X), prof essor2 (Y ) M appings : student1 (X) : −student(X, Y ), prof essor2 (Y ) : −student(X, Y ) Data : R A R studentA 1 (X) : −student1 (X), prof essor2 (Y ) : −prof essor2 (Y ) student1 = < john >, studentA 1 = < john >, prof essor2 = < magda >, prof essor2A = < magda > Definition 7 A database D is legal in respect to DIS I with conjunctive implication dependencies, if 1) it is legal in respect to DIS I without constraints; 2) for every relation symbol r contained at the head of on the constraints an extension of in D is equal to related view extention Remark 1 This definition of database legal in respect to mapping and integrity constraints is like definition provided in [Cali, Lembo, & Rosati, 2003], with the only additional condition that databases extending relations which are in the heads of integrity constraints formula are not considered as legal. Lemma 1 For any DIS I its set of legal global instances is co-initially equivalent to a set of legal global instances represented its sound view analog SV A(I) Remark 2 As in [Imielienski & Witold Lipski, 1984], two sets of databases are coinitially equivalent, if they have the same set of minimal (in respect to set inclusion) elements So, now we have to solve a problem: once we have a DIS under SVA and integrity constraints, how we can construct a representation of all possible global instances. Assume that we are given a set of relation symbols R, a set of conjunctive implication integrity constraints IC, such that all relation symbols in IC belongs to R, and an incomplete database instance D which represents all databases legal under SVA. We assume that as incomplete database formalism conditional tables of [Imielienski & Witold Lipski, 1984] (with marked nulls and conditions) are used. As such database instance an universal solution from [Fagin et al., 2003] can be taken. Definition 8 An exact view chase is called the described below procedure. A result of application of an exact view chase to a database D (a set of conditional tables) is denoted by Ch(D). A chase: for each integrity constraint r ⊃ π(σ(r1 o n ··· o n rn )), do (till the end of the chase description we use a view instead of integrity constraint language): n ... o n Each view definition is represented in a canonical form vi = πX i σFi (Ri1 o Rik ). For each view vi the sequence of actions o n −step → σ − step → π − step is performed. Definition 9 Two values x and y are called unifiable, iff both of them are the same constants or at least on of them is a variable. Tuples t1 ∈ Ri , andt2 ∈ Rj are called unifiable in respect to o n-expression Ri o nG Rj , if for each condition X1 = X2 ∈ G, values πX1 t1 and πX2 t2 are unifiable. A tuple t1 is unifiable with a tuple t2 in respect to π-expession πX , if each projects attribute of t is unifiable with adequate attribute of t1 . A tuple t1 is unifiable with tuple t2 in respect to πσR1 o n ... o n Rn expression if Definition 10 A tuple t ∈ R is satisfiable by σF -expression, if for each attribute X of R, which is in F, πX t is unifiable with F condition. Ao n-step. Input: a database instance and o n expression. Create Ric as a relation representing maximal view extention possible to get from a database instance I. For any set of tuples t1 ∈ R1 , ..., Im ∈ Rm if they are unifiable in respect to o n condition, create a tuple t. Associate with a new tuple t, condition V o (x = xj ), whenever xi and xj participate in a join. ∧ ... ∧ c cn = c i tm t1 t A σ-step. Input: a table Ric and σ-expression. With each tuple of Ric a view associate σ-condition as a set of equality conditions o for its attributes. A new condition cσt for a tuple t is cn t ∧ cF . A π-step. Input. A table Ric , π-expression and view extention Ei For each tuple t ∈ Ric assume the projection πXRc has m variables xi1 , ..., xim . I Then create a condition for a tuple t as the following ct = cπt ∧ cσt , where cπt = _ πX t = t e , te ∈E,te ≤t (1) , Then in a relation Ric , for each tuple t, a condition ct is replaced by ¬ct = ¬cπt ∨ o ∨ ¬cn t . Then condition ¬ct is distributed to original database instance by the following procedure. To each original tuple a set of atoms which contains original variebles is distributed. Assume the projection is the one column projection v = πX R. Let X = x1 , ..., xm is a set of variables in projected attribute of database instance, abd A = a 1 , ..., an is a set of constants in a view extention. If X = ∅ and πX (R) ⊃ A, then inconsistent. ¬cσt If m = n, then create a global condition (of the size O(m2 × n) ) (x1 = a1 ∨ ... ∨ xm = an ) ∧ ... ∧ (x1 = an ∨ ... ∨ xm = an ). If m < n, then for each i ∈ {n − m, ..., n}, create a new variable xi , and for each tuple haxbi unifiable with view, create a new tuple haxi bi. Disjoint all tuples for a variable xi by disjoint condition. Then apply π-step as for m = n. In case when the projection is the multicolumn projection v = πX R then use step is done over tuples of varieables and vectors. Denote each tuple t i from a view as a variable ti , and each unifiable with some tuple from view a tuple from database instance as xj . Then perform chase as for one attribute projection case using new variables. Finally rewrite xj = ti → (xj1 = ti1 ∧ ... ∧ xjk = tik ) If for a tuple t ∈ e, unifiable tuple t in database instance does not exists, then inconsistent. For each tuple t ∈ Ric , check if πX Ric ⊆ Ei . If not then inconsistent. Theorem 2 A chase will always terminate for any conditional table D and a set of constraints IC. A result of a chase is a conditional table D 0 which represents a full subset of database instances represented by D, which satisfy IC. Corollary 3 For monotone queries a set of certain answers in respect to DIS I will be equivalent to a set of certain answers in respect to a database instance represented by Ch(SV A(I)) Theorem 4 A size of Ch(SV A(I))is polynomial in respect to a size of I and chase procedure is PTIME in data complexity And then using results [Grahne, 1989] about complexity of certain answering using conditional tables. Corollary 5 The answering is in NP for DIS under Exact View assumption 3 Query Answering using Logical Programming paradigm There are two paradigms in methods of data integration: query answering and query rewriting. Query answering assumes that it is possible to retrieve all data from data sources into one global database, then process them by some algorithm like our chase, and finally get an answer to the query. Another method is a query rewriting is a reformulation of a query with predicates in a global database into a query with predicates of local databases. Definition 11 A view operator V for DIS I is defined in the following way. The domain of V is a set of databases with schema of the global database of I. The range of V is a set of databases with a schema as union of all schemata of views in I. V(D 1 ) = D2 , if D2 is a result of application of queries of the mappings of I to D1 For DIS I, as E(I) we denote an union of extensions of views in I. Lemma 6 Let a database D is an union of all legal databases for DIS I. A tuple t is a certain iff E(I) \ V(D \ {t}) 6= ∅ Remark 3 In other words, a tuple t is a certain iff after removal of it from a database which is union of all legal databases, some tuples in computed view extensions will be lost in respect to original extensions Remark 4 It is crucial that a tuple is deleted from an union of all databases which are legal under EVA. In case if all legal databases for SVA are taken (they are easy to construct), then lemma is not valid. Assuming that a logical program Pposs which answers all possible answers, it is possible to construct a program Pcert which selects a certain answers from possible. A Pcert is not given here, because of strong limitations on a length of the article. 4 Tractable instances of Query Answering under EVA problem As it was proofed by [Abiteboul & Duschka, 1998] the Query Answering under EVA is NP-complete in data complexity problems. It makes the problem in general intractable. It would be interesting to find tractable cases. To do this we try to reduce a query answering to uniform Constraint Satisfaction Problem [Kolaitis & Vardi, 1998], for which a number of tractable cases is known. In our work with homomorphism based definition of CSP as in [Kolaitis & Vardi, 1998] We use a conditional table representation of legal databases received by applying a chase to universal solution of [Fagin et al., 2003]. At this part we are interested in answering conjunctive queries without built-in predicates. As a domain of CSP problem denoted as Dom we use a set consisting of active domain of all view enriched with one additional constant. Dom = adom(V) ∪ null. Let denote D a set of conditional tables, which are result of algorithm in ch. ”A representation ...”. As Va∇, we denote a set of variables of D. Lemma 7 For a DIS with query language is conjunctive queries without built-in predicates and the same view definition language, a set of certain answers for any query is equal to a set of certain answers in respect to a set of databases, which domain Dom as defined about satisfying conditional table. At next step we are constructing a CSP which finds all possible assignments to variables which satisfy conditional tables . A condition for variable assignment will be a conjunction of all global and local conditions in D, which in conjunctive normal formal is a conjunction of disjuncts of atoms in the form X op Y , where X is an variable from Va∇, op is ”=” or ”6=”, and Y is a variable or constant. the construction is quite straitforward and in the spirit of [Kolaitis, 2003]. We are constructing two structures A and B needed to define a CSP. 1. for each atom of the form X 6= a, transform it into the form X = b1 ∨ X = b2 ∨ · · · ∨ X = bn where b1 , · · · bn are all values from Dom \ {a}. 2. for each combination of variables x1 , · · · , xn used in a disjunct create a relation rx1 ···xn in A and B 3. for each disjunct (a) put into a relation rx1 ···xn of a structure A a tuple of variables x1 , · · · , xn . (b) put into a relation rx1 ···xn of a structure B a set of tuples of constants satisfying disjunct (in case if relation is not empty, delete from it all tuples not satisfying current disjunct). 4. define homomorphism requirement Lemma 8 For any conditional database D a relevant CSP problem will be polynomial in size of D. Using results of [Fagin et al., 2003], Theorem 9 A query answering under EVA problem is in PTIME in data complexity if a tree-width of relevant CSP structures is bounded. 5 Future work We found a tractable case of query answering using a reduction to CSP problem. Currently tractability condition is expressed as boundness of a tree-width of a graph. Only some simple condition on a database expressed in database language were found. We are trying to find how boundness of a tree-width can be expressed as a restriction on an arity of views, view definitions, etc. Also we are trying to find tractable cases by reducing the query answering problem to other problems with known tractable cases. We have provided a logical programming paradigm for answering with conjunctive queries and views. We are trying to find an analog for positive queries with built-in predicates. The problem of query answering with integrity constraints was investigated at [Cali, Lembo, & Rosati, 2003] only under Sound Views Assumption. It would be interesting to investigate an interaction of conjunctive implication constraints with implication and key constraints and develop a theory of query answering under EVA and integrity constraints. We are interested to apply our results in EVA answering to P2P and DB system, which we developed [Franconi et al., 2004], [Franconi et al., 2003]. Our autoepistemic semantic [Franconi et al., 2003] makes computation complexity of query answering in P2P DB lower (PTIME instead of undecidable for cyclic networks), and we would like to understand complexity of query answering under EVA and cyclic dependencies. This a study of query answering under exact view assumption for a knowledge bases using Description Logic ontologies[Calvanese, Giacomo, & Lenzerini, 2000]; where the situation is more sophisticated; mainly computtaional complexity is higher and the query answering is EXPTIME-complete, and automata techniques are needed. We are going to find a rewriting techniques for answering in Description Logic using some expressive languages capturing EXPTIME data complexity. Acknowledgment: I am grateful to my PhD supervisor Prof. Enrico Franconi for his support and technical conversations. References [Abiteboul & Duschka, 1998] Abiteboul, S., and Duschka, O. M. 1998. Complexity of answering queries using materialized views. In ACM Symp. on Principles of Database Systems (PODS), 254–263. [Abiteboul, Hull, & Vianu, 1995] Abiteboul, S.; Hull, R.; and Vianu, V. 1995. Foundations of Databases. Addison-Wesley. [Bravo & Bertossi, 2004] Bravo, L., and Bertossi, L. 2004. Disjunctive deductive databases for computing certain and consistent answers to queries from mediated data integration systems. Journal of Applied Logic. [Cali, Lembo, & Rosati, 2003] Cali, A.; Lembo, D.; and Rosati, R. 2003. On the decidability and complexity of query answering over inconsistent and incomplete databases. In Proc. of the 22nd ACM SIGACT SIGMOD SIGART Symp. on Principles of Database Systems (PODS2003), 260–271. [Calvanese, Giacomo, & Lenzerini, 2000] Calvanese, D.; Giacomo, G. D.; and Lenzerini, M. 2000. Answering queries using views over description logics knowledge bases. In AAAI/IAAI, 386–391. [Fagin et al., 2003] Fagin, R.; Kolaitis, P.; Miller, R.; and Popa, L. 2003. Data exchange: Semantics and query answering. In ICDT 2003, Siena, Italy. [Flesca & Greco, 2001] Flesca, S., and Greco, S. 2001. Rewriting queries using views. In Database and Expert Systems Applications, 10th International Conference, DEXA ’99, volume 10, 352–361. [Franconi et al., 2003] Franconi, E.; Kuper, G.; Lopatenko, A.; and Serafin, L. 2003. A robust logical and computational characterisation of peer-to-peer database system. In International Workshop On Databases, Information Systems and Peer-to-Peer Computing, collocated with VLDB’03. [Franconi et al., 2004] Franconi, E.; Kuper, G.; Lopatenko, A.; and Zaihraeu, I. 2004. A distributed algorithm for robust data sharing and updates in p2p database networks. In ”International Workshop on Peer-to-Peer Computing and Databases” (in conjunction with EDBT 2004). [Grahne & Mendelzon, 1999] Grahne, G., and Mendelzon, A. O. 1999. Tableau techniques for querying information sources through global schemas. Lecture Notes in Computer Science 1540:332–347. [Grahne, 1989] Grahne, G. 1989. Horn tables-an efficient tool for handling incomplete information in databases. In Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, 75–82. ACM Press. [Imielienski & Witold Lipski, 1984] Imielienski, T., and Witold Lipski, J. 1984. Incomplete information in relational databases. Journal of the ACM (JACM) 31(4):761–791. [Imielinski & Lipski, 1983] Imielinski, T., and Lipski, W. 1983. Inverting relational expressions - a uniform and natural technique for various database problems. In Proceedings of the Second ACM SIGACT-SIGMOD Symposium on Principles of Database Systems, March 21-23, 1983, Colony Square Hotel, Atlanta, Georgia, 305–311. ACM. [Kolaitis & Vardi, 1998] Kolaitis, P. G., and Vardi, M. Y. 1998. Conjunctive-query containment and constraint satisfaction. In Proceedings of the seventeenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, 205–213. ACM Press. [Kolaitis, 2003] Kolaitis, P. 2003. Course on constraint satisfaction, complexity, and logic. In ESSLLI, Vienna, Austria, 2003. [Lenzerini, 2002] Lenzerini, M. 2002. Data integration: A theoretical perspective. In Popa, L., ed., Proceedings of the Twenty-first ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, 233–246.