This preview shows pages 1–11. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: 1 Conjunctive Queries Containment Mappings Canonical Databases Sariayas Algorithm 2 Conjunctive Queries A CQ is a single Datalog rule, with all subgoals assumed to be EDB. Meaning of a CQ is the mapping from databases (the EDB) to the relation produced for the head predicate by applying that rule to the EDB. 3 Containment of CQs Q1 Q2 iff for all databases D , Q1( D ) Q2( D ). Example: Q1: p(X,Y) : arc(X,Z) & arc(Z,Y) Q2: p(X,Y) : arc(X,Z) & arc(W,Y) DB is a graph; Q1 produces paths of length 2, Q2 produces pairs of nodes with an arc out and in, respectively. 4 Example  Continued Whenever there is a path from X to Y , it must be that X has an arc out, and Y an arc in. Thus, every fact (tuple) produced by Q1 is also produced by Q2. That is, Q1 Q2. 5 Why Care About CQ Containment? Important optimization: if we can break a query into terms that are CQs, we can eliminate those terms contained in another. Especially important when we deal with integration of information: CQ containment is almost the only way to tell what information from sources we dont need. 6 Why Care?  Continued Containment tests imply equivalenceofprograms tests. Any theory of program (query) design or optimization requires us to know when programs are equivalent. CQs, and some generalizations to be discussed, are the most powerful class of programs for which equivalence is known to be decidable. 7 Why Care  Concluded Although CQ theory first appeared at a database conference, the AI community has taken CQs to heart. CQs, or similar logics like description logic, are used in a number of AI applications. Again  their design theory is really containment and equivalence. 8 Testing Containment Two approaches: 1. Containment mappings. 2. Canonical databases. Really the same in the simple CQ case covered so far. Containment is NPcomplete, but CQs tend to be small so here is one case where intractability doesnt hurt you. 9 Containment Mappings A mapping from the variables of CQ Q2 to the variables of CQ Q1, such that: 1. The head of Q2 is mapped to the head of Q1. 2. Each subgoal of Q2 is mapped to some subgoal of Q1 with the same predicate. 10 Important Theorem There is a containment mapping from Q2 to Q1 if and only if Q1 Q2....
View
Full
Document
This document was uploaded on 01/06/2012.
 Spring '09
 Databases

Click to edit the document details