TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance
-
Upload
boris-glavic -
Category
Science
-
view
46 -
download
0
description
Transcript of TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance
![Page 1: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/1.jpg)
Properties Semantics Insensitivity Stability Conclusions
Reexamining some Holy Grails of Provenance
Boris Glavic Renee J. Miller
University of Toronto
UofT:DB Group
TaPP 2011, November 5, 2014
![Page 2: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/2.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Insensitivity
Insensitivity to Query Rewrite
Equivalent queries have the same provenance
Q ≡ Q ′ ⇒ P(Q, I , t) = P(Q ′, I , t)
Holy Grails
![Page 3: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/3.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Insensitivity
Insensitivity to Query Rewrite
Equivalent queries have the same provenance
Q ≡ Q ′ ⇒ P(Q, I , t) = P(Q ′, I , t)
Caveat: Which queries are equivalent?
Set vs. Bag semanticsQuery language / Operators
Holy Grails
![Page 4: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/4.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Stability
Stability with Respect to Query Language Extension
Extend query language with new operators ⇒ no change toprovenance of queries that do not use new operators
Holy Grails
![Page 5: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/5.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Where
Where [Buneman et al., 2003]
Captures which attribute values in the result of a query have beencopied from which attribute values in the instance.Representation: P(Attr(I ))
Where: Operator-level syntax-based annotation propagation
IWhere: Insensitive variant: Union of Where for all Q ′ withQ ′ ≡ Q
Holy Grails
![Page 6: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/6.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Where
Where
Sensitive, traditionally attributed to being based on querysyntax
Depends on the internal data-flow inside the query
How values are routed through the query
IWhere
Insensitive by combining Where for all equivalent queries
Counterintuitive effect that if (R, t,A) is in the provenancethen all (R, t ′,A) with t.A = t ′.A are in the provenance too.
Reason: Can construct equivalent query adding self-join on A
Holy Grails
![Page 7: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/7.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Where
Example
Qa = R
Qb = πA,B(R ./A=C πA→C ,B→D(R))
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
Qa & Qb
A Ba1 1 2a2 1 3a3 2 3a4 2 5
Provenance
Where(Qa, a1,A) = {(r1,A)}Where(Qb, a1,A) = {(r1,A), (r2,A)}IWhere(Qa, a1,A) = IWhere(Qb, a1,A) = {(r1,A), (r2,A)}
Holy Grails
![Page 8: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/8.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Arguments for Insensitivity
1 Traditionally observed as advantageous in database research⇒ Tradition not a solid argument
2 External implementation of sensitive semantics. Computingprovenance for a query different from the one that will beexecuted by DBMS⇒ No way to solve this, but provenance based on user queryseems to be reasonable
3 Implementation of sensitive semantics in DB-engine limitsoptimizer search space⇒ Insensitive semantics may be harder to compute⇒ Lack of practical experience⇒ “Realistic” sensitivity example?
Holy Grails
![Page 9: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/9.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Instability of IWhere
IWhere is union of Where for all equivalent queries
e.g., SPJ and USPJ equivalences are different
e.g., union Q with a join of Q with some other relation
Let UWhere be IWhere for USPJ queries
⇒ UWhere an attribute value is annotated with allannotations from attribute positions that have the same value
Holy Grails
![Page 10: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/10.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Instability of IWhere
IWhere is union of Where for all equivalent queries
e.g., SPJ and USPJ equivalences are different
e.g., union Q with a join of Q with some other relation
Let UWhere be IWhere for USPJ queries
⇒ UWhere an attribute value is annotated with allannotations from attribute positions that have the same value
Holy Grails
![Page 11: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/11.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Instability of IWhere
IWhere is union of Where for all equivalent queries
e.g., SPJ and USPJ equivalences are different
e.g., union Q with a join of Q with some other relation
Let UWhere be IWhere for USPJ queries
⇒ UWhere an attribute value is annotated with allannotations from attribute positions that have the same value
Holy Grails
![Page 12: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/12.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Instability of IWhere
IWhere is union of Where for all equivalent queries
e.g., SPJ and USPJ equivalences are different
e.g., union Q with a join of Q with some other relation
Let UWhere be IWhere for USPJ queries
⇒ UWhere an attribute value is annotated with allannotations from attribute positions that have the same value
Holy Grails
![Page 13: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/13.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Instability of IWhere
IWhere is union of Where for all equivalent queries
e.g., SPJ and USPJ equivalences are different
e.g., union Q with a join of Q with some other relation
Let UWhere be IWhere for USPJ queries
⇒ UWhere an attribute value is annotated with allannotations from attribute positions that have the same value
Holy Grails
![Page 14: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/14.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Instability of IWhere
Example
Qa = R
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
SC
s1 2s2 3
Qa & Qb
A Ba1 1 2a2 1 3a3 2 3a4 2 5
Provenance
Where(Qa, a3,A) = {(r3,A)}IWhere(Qa, a3,A) = {(r3,A), (r4,A)}UWhere(Qa, a3,A) = {(r3,A), (r4,A), (r1,B), (s1,C )}
Holy Grails
![Page 15: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/15.jpg)
UofT:DB Group
Properties Semantics Insensitivity Stability Conclusions
Conclusions
Take Away Messages
Be careful how to achieve a property
Insensitivity less applicable to semantics that address internaldata-flow
Queries with the same external but possibly different internalbehaviour have the same provenance
Some Things I’d Like to See
“Declarative” Semantics ⇒ derive operator-level construction
Semantics model processing, but have a insensitive “core”
The never-ending quest: Deal with Negation
Other data-models (order)
Holy Grails
![Page 16: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/16.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Questions
Semantics Sound
Complete
Responsible
Insensitive
(set)
Insensitive
(bag)
Stable
WhyWit - X - X X XWhy - X - - ? XIWhy - X X X X X
WhereWhere - - - - ? XIWhere - - - X X -
How - X - - X X
Lineage-basedLineage X X - - - XPI-CS X X - - - XC-CS X - - - - X
Causality - X X X X X
Reexamining some Holy Grails of Provenance
![Page 17: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/17.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Semantics Summary
RepresentationUsed by
P(Attr(I )) Where,IWhere
P(P(Tuple(I ))) Wit,Why,IWhy
N[Tuple(I )] How
{< R∗1 , . . . ,R∗n >| R∗i ⊆ Ri (Q)} Lineage
P({< t1, . . . , tn >| ti ∈ Ri (Q) ∨ ti =⊥}) PI-CS, C-CS
P(Tuple(I )) Causality
Reexamining some Holy Grails of Provenance
![Page 18: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/18.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Sound, Complete, Responsible
Sound, Complete, Responsible
Sound: Provenance of t produces nothing different from t.
t ′ 6= t ⇒ t ′ 6∈ Q(P(Q, I , t))
Reexamining some Holy Grails of Provenance
![Page 19: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/19.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Sound, Complete, Responsible
Sound, Complete, Responsible
Sound: Provenance of t produces nothing different from t.
t ′ 6= t ⇒ t ′ 6∈ Q(P(Q, I , t))
Caveat: Semantics of evaluating query over provenance
Reexamining some Holy Grails of Provenance
![Page 20: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/20.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Sound, Complete, Responsible
Sound, Complete, Responsible
Sound: Provenance of t produces nothing different from t.
t ′ 6= t ⇒ t ′ 6∈ Q(P(Q, I , t))
Complete: Provenance of t produces at least t
t ∈ Q(P(Q, I , t))
Reexamining some Holy Grails of Provenance
![Page 21: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/21.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Sound, Complete, Responsible
Sound, Complete, Responsible
Sound: Provenance of t produces nothing different from t.
t ′ 6= t ⇒ t ′ 6∈ Q(P(Q, I , t))
Complete: Provenance of t produces at least t
t ∈ Q(P(Q, I , t))
Caveat: Semantics of evaluating query over provenance
Reexamining some Holy Grails of Provenance
![Page 22: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/22.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Sound, Complete, Responsible
Sound, Complete, Responsible
Sound: Provenance of t produces nothing different from t.
t ′ 6= t ⇒ t ′ 6∈ Q(P(Q, I , t))
Complete: Provenance of t produces at least t
t ∈ Q(P(Q, I , t))
Responsible: Every tuple in the provenance of t is necessaryto derive t
Reexamining some Holy Grails of Provenance
![Page 23: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/23.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Sound, Complete, Responsible
Sound, Complete, Responsible
Sound: Provenance of t produces nothing different from t.
t ′ 6= t ⇒ t ′ 6∈ Q(P(Q, I , t))
Complete: Provenance of t produces at least t
t ∈ Q(P(Q, I , t))
Responsible: Every tuple in the provenance of t is necessaryto derive t
Caveat: . . . from every alternative derivation in theprovenance . . .
⇒ factor provenance into alterative derivations
Caveat: Different ways to model that.
E.g., ∀t ′ ∈ P(Q, I , t) : t /∈ Q(P(Q, I , t)− {t ′})
Reexamining some Holy Grails of Provenance
![Page 24: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/24.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Sound, Complete, Responsible
Sound, Complete, Responsible
Example
Qb = πA,B(R ./A=C πA→C ,B→D(R))
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
Qb
A Ba1 1 2a2 1 3a3 2 3a4 2 5
Provenance
P(Qb, I , a1) = {r1, r2}
Reexamining some Holy Grails of Provenance
![Page 25: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/25.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Lineage-based
Lineage-based [Cui et al., 2000]
Operator-level declarative semantics similar to Why. Provenance ismodeled as a list of subsets of the relations accessed by the query(leafs of the algebra tree of Q)Representation: {< R∗1 , . . . ,R
∗n >| R∗i ⊆ Ri (Q)}
Lineage: List of subsets of the algebra-tree nodes
Reexamining some Holy Grails of Provenance
![Page 26: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/26.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Lineage-based
Lineage-based [Glavic et al., 2009]
Provenance is modeled as a set of witness lists. A witness list is alist of tuples - one from each relation accessed by the query.Representation: P({< t1, . . . , tn >| ti ∈ Ri (Q) ∨ ti =⊥})
PI-CS: Lineage with different representation and broaderquery language coverage
C-CS: Similar to Where but with tuple granularity
Reexamining some Holy Grails of Provenance
![Page 27: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/27.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Lineage-based
Example
Qc = πA(R) ∪ πB(R)
Qd = πA(R ./B=C S)
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
SC
s1 2s2 3
Qc
Ac1 1c2 2c3 3c4 5
Qd & Qe
Ad1 1d2 2
Provenance
PI − CS(Qc , c2) = {<⊥, r1 >,< r3,⊥>,< r4,⊥>}PI − CS(Qd , d1) = {< r1, s1 >,< r2, s2 >}C − CS(Qd , d1) = {< r1,⊥>,< r2,⊥>}Lineage(Qd , d1) =< {r1, r2}, {s1, s2} >
Reexamining some Holy Grails of Provenance
![Page 28: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/28.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Why
Why [Buneman et al., 2003]
Why-provenance models provenance as a set of witnesses. Awitness w for a tuple t is a subset of the instance I wheret ∈ Q(w).Representation: P(P(Tuple(I )))
Wit: Set of all witnesses
Why: Query-syntax based “proof-witnesses”
IWhy: Minimal elements from Wit resp. Why
Example
Qa = R
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
Qa
A Ba1 1 2a2 1 3a3 2 3a4 2 5
Provenance
Wit(Qa, a1) = {J | J ⊂ R ∧ r1 ∈ J}Why(Qa, a1) = {{r1}}IWhy(Qa, a1) = {{r1}}
Reexamining some Holy Grails of Provenance
![Page 29: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/29.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Why
Example
Qa = R
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
Qa
A Ba1 1 2a2 1 3a3 2 3a4 2 5
Provenance
Wit(Qa, a1) = {J | J ⊂ R ∧ r1 ∈ J}Why(Qa, a1) = {{r1}}IWhy(Qa, a1) = {{r1}}
Reexamining some Holy Grails of Provenance
![Page 30: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/30.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
How
Provenance Semirings [Green et al., 2007]
Tuples of relations annotated with elements from a semiring.Annotation propagation defined for positive relational algebra asoperations of the semiring (set difference and aggregration later).Representation: N(Tuple(I ))
How: Most general form of annotations: polynomials overvariable representing the instance tuples. Addition indicatesalternative use of tuples; multiplication conjunctive use.
Reexamining some Holy Grails of Provenance
![Page 31: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/31.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
How
Example
Qb = πA,B(R ./A=C πA→C ,B→D(R))
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
Qb
A Ba1 1 2a2 1 3a3 2 3a4 2 5
Provenance
How(Qb, a1) = r21 + r1 × r2
Reexamining some Holy Grails of Provenance
![Page 32: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/32.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Causality
Causality [Meliou et al., 2010]
Provenance is modeled as a set of causes. A cause c ∈ I for atuple t is defined as follows:
1 t 6∈ Q(I − {c})2 there exists a set C ⊂ I called contingency so that
t ∈ Q(I − C ) and t 6∈ Q(I − C − {c})Representation: P(Tuple(I ))
Causality: Set of all causes
Reexamining some Holy Grails of Provenance
![Page 33: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/33.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Causality
Example
Qa = R
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
Qa
A Ba1 1 2a2 1 3a3 2 3a4 2 5
Provenance
Causality(Qa, a1) = {r1}
Reexamining some Holy Grails of Provenance
![Page 34: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/34.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Insensitivity to Query Rewrite
Insensitivity to Query Rewrite
Equivalent queries have the same provenance
Q ≡ Q ′ ⇒ P(Q, I , t) = P(Q ′, I , t)
Set resp. Bag semantics
Overview
Insensitive (Set, Bag) Wit, IWhy, IWhere, Causality
Insensitive (Bag) How
Sensitive: Lineage, PI-CS, C-CS, Where
Reexamining some Holy Grails of Provenance
![Page 35: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/35.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Why
Wit
Defined over black-box behaviour of query ⇒ triviallyinsensitive
Why
Sensitive, traditionally attributed to being based on querysyntax
Why may contain tuples that do not contribute to t
⇒ Equivalent queries that apply redundant computations maycontain larger provenance
Caveat: But why does this argument not apply to Wit?
Positive queries: super-set of a witness is also a witness ⇒tuples used by redundant computations are in Wit
IWhy
Minimal elements of Why
⇒ also insensitive
Reexamining some Holy Grails of Provenance
![Page 36: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/36.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Why
Example
Qa = R
Qb = πA,B(R ./A=C πA→C ,B→D(R))
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
Qa & Qb
A Ba1 1 2a2 1 3a3 2 3a4 2 5
Provenance
Wit(Qa, a1) = Wit(Qb, a1) = {J | J ⊂ R ∧ r1 ∈ J}Why(Qa, a1) = {{r1}}Why(Qb, a1) = {{r1}, {r1, r2}}IWhy(Qa, a1) = IWhy(Qb, a1) = {{r1}}
Reexamining some Holy Grails of Provenance
![Page 37: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/37.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Lineage-based
Provenance representation based on query syntax
Trivial examples for sensitivity based on reordering of thearguments of commutative operators
Reexamining some Holy Grails of Provenance
![Page 38: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/38.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Lineage-based
Example
Qd = πA(R ./B=C S)
Qe = πA(S ./B=C R)
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
SC
s1 2s2 3
Qd & Qe
Ad1 1d2 2
Provenance
Lineage(Qd , d1) =< {r1, r2}, {s1, s2} >Lineage(Qe , d1) =< {s1, s2}, {r1, r2} >PI − CS(Qd , d1) = {< r1, s1 >,< r2, s2 >}PI − CS(Qe , d1) = {< s1, r1 >,< s2, r2 >}
Reexamining some Holy Grails of Provenance
![Page 39: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/39.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
How
Sensitive (Set):
Insensitive (Bag): Operator semantics defined to take bagsemantics into account
Reexamining some Holy Grails of Provenance
![Page 40: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/40.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
How
Example
Qa = R
Qb = πA,B(R ./A=C πA→C ,B→D(R))
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
Qa & Qb
A Ba1 1 2a2 1 3a3 2 3a4 2 5
Provenance
How(Qa, a1) = r1
How(Qb, a1) = r21 + r1 × r2
Reexamining some Holy Grails of Provenance
![Page 41: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/41.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Causality
Trivially insensitive: Defined over the black-box behaviour of aquery
Reexamining some Holy Grails of Provenance
![Page 42: TaPP 2011 Talk Boris - Reexamining some Holy Grails of Provenance](https://reader038.fdocuments.in/reader038/viewer/2022103017/558424bdd8b42a0b6d8b46a8/html5/thumbnails/42.jpg)
UofT:DB Group
Questions Overview Properties Semantics Insensitivity
Causality
Example
Qa = R
Qb = πA,B(R ./A=C πA→C ,B→D(R))
RA B
r1 1 2r2 1 3r3 2 3r4 2 5
Qa & Qb
A Ba1 1 2a2 1 3a3 2 3a4 2 5
Provenance
Causality(Qa, a1) = Causality(Qb, a1) = {r1}
Reexamining some Holy Grails of Provenance