data conflict resolution using trust mappings · 2020. 5. 26. · alice 50 glyph origin jar( t 2...
TRANSCRIPT
![Page 1: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/1.jpg)
Data Conflict Resolu0on Using Trust Mappings
Wolfgang Ga*erbauer & Dan Suciu University of Washington, Sea*le
June 8, Sigmod 2010
Project web page: h*p://db.cs.washington.edu/beliefDB
![Page 2: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/2.jpg)
Alice
Bob glyph origin
cow 1
glyph origin ship hull 1
arrow 3
arrow 3
fish 2
arrow 3
fish 2
arrow 3
100
50
80
“Implicit belief”
2
Conflicts & Trust mappings in Community DBs
* Current state of knowledge on the Indus Script: Rao et al., Science 324(5931):1165, May 2009
Alice ← Bob (100) Alice ← Charlie (50) Bob ← Alice (80)
ship hull cow jar fish knot arrow
glyph origin Alice Bob Charlie Bob Charlie Charlie
1
1
1
2
2
3
Orchestra [SIGMOD’06, VLDB’07] Youtopia [VLDB’09], BeliefDB [VLDB’09]
“Explicit belief”
Prioriees
“Beliefs”: annotated (key,value) pairs
Background 2: Trust mappings
Background 1: Confliceng beliefs
Recent work on community databases:
Charlie
fish 2
glyph origin jar 1
knot 2
arrow 3
fish 2
arrow 3
arrow 3
Indus script*
![Page 3: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/3.jpg)
glyph origin jar t1 jar
1. Incorrect inserts – Value depends on order of inserts
3
Problems due to transient effects
Alice
Charlie
Bob glyph origin
glyph origin jar t2
cow t3
Alice would have preferred Bob’s value over Charlie’s
100
50
![Page 4: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/4.jpg)
Alice 50
glyph origin jar t2
glyph origin jar t1 jar cow t4
1. Incorrect inserts – Value depends on order of inserts
2. Incorrect updates – Mis-‐handling of revokes
4
Problems due to transient effects
Charlie
Bob glyph origin
jar t3
jar
Automaec conflict resolueon with trust mappings: 1. How to define a globally consistent solueon? 2. How to calculate it efficiently? 3. Some extensions
Alice and Bob trust each other most, but have lost “juseficaeon” for their beliefs
This paper:
100 80
![Page 5: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/5.jpg)
5
Agenda
1. Stable solueons – how to define a unique and consistent solueon?
2. Resolueon algorithm – how to calculate the solueon efficiently?
3. Extensions – how to deal with “negaeve beliefs”?
![Page 6: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/6.jpg)
6
• Priority trust network (TN) – assume a fixed key – users (nodes): A, B, C – values (beliefs): v, w, u – trust mappings (arcs) from “parents”
• Stable solueon – assignment of values to each node*,
s.t. each belief has a “non-‐dominated lineage” to an explicit belief
Stable solu0ons
D:? C:?
B:w A:v
10
20 20
10
* each node with at least one ancestor with explicit belief
User C has no explicit belief
User D is user C’s “preferred parent”
User A believes value v
![Page 7: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/7.jpg)
7
• Priority trust network (TN) – assume a fixed key – users (nodes): A, B, C – values (beliefs): v, w, u – trust mappings (arcs) from “parents”
• Stable solueon – assignment of values to each node*,
s.t. each belief has a “non-‐dominated lineage” to an explicit belief
Stable solu0ons
* each node with at least one ancestor with explicit belief
Lineage
D:v C:v
B:w A:v
10
20 20
10
SS1=(A:v, B:w, C:v, D:v)
![Page 8: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/8.jpg)
8
• Priority trust network (TN) – assume a fixed key – users (nodes): A, B, C – values (beliefs): v, w, u – trust mappings (arcs) from “parents”
• Stable solueon – assignment of values to each node*,
s.t. each belief has a “non-‐dominated lineage” to an explicit belief
• Possible / Certain semanecs – a stable solueon determines, for each
node, a possible value (“poss”) – certain value (“cert”) = interseceon of
all stable solueons, per user
Stable solu0ons
D:w C:w
B:w A:v
10
20 20
10
* each node with at least one ancestor with explicit belief
X poss(X) cert(X)
A {v} B {w} C {v,w} D {v,w}
{v} {w} ∅ ∅
SS1=(A:v, B:w, C:v, D:v) SS2=(A:v, B:w, C:w, D:w)
![Page 9: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/9.jpg)
SS3=(A:v, B:w, C:u, D:u, E:u)
9
Stable solu0ons
* each node with at least one ancestor with explicit belief
• Priority trust network (TN) – assume a fixed key – users (nodes): A, B, C – values (beliefs): v, w, u – trust mappings (arcs) from “parents”
• Stable solueon – assignment of values to each node*,
s.t. each belief has a “non-‐dominated lineage” to an explicit belief
• Possible / Certain semanecs – a stable solueon determines, for each
node, a possible value (“poss”) – certain value (“cert”) = interseceon of
all stable solueons, per user
No!
X poss(X) cert(X)
A {v} B {w} C {v,w} D {v,w}
{v} {w} ∅ ∅
E {u} {u}
SS1=(A:v, B:w, C:v, D:v, E:u) SS2=(A:v, B:w, C:w, D:w, E:u)
D:u C:u
B:w A:v
10
20 20
10
E:u
5
Parent “B:w (10)” dominates and is inconsistent with “E:u (5)”
Is this a stable solueon?
Now how to calculate poss / cert ?
![Page 10: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/10.jpg)
10
Time [sec]
0
0
1
10
100
1,000
10,000
0 50 100 150 200
0.1
0.01 DLV
Logic programs (LP) with stable model seman0cs
State-‐of-‐the-‐art LP solver Previous work on consistent query answering & peer data exchange
LP & Stable model semanecs
Greco et al. [TKDE’03] Arenas et al. [TLP’03] Barcelo, Bertossi [PADL’03] Bertossi, Bravo [LPAR’07]
0 50 100 150 200
But solving LPs is hard
Brave (credulous) reasoning
Caueous (skepecal) reasoning ~ possible tuple semanecs
~ certain tuple semanecs Size of the network**
** size of the network = users + mappings; simple network of several “osciallators” (see paper)
How can we calculate poss / cert efficiently?
Natural correspondence
“Declaraeve imperaeve”*
* keynote Joe Hellerstein
![Page 11: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/11.jpg)
11
Agenda
1. Stable solueons – how to define a unique and consistent solueon?
2. Resolueon algorithm – how to calculate the solueon efficiently?
3. Extensions – how to deal with “negaeve beliefs”?
![Page 12: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/12.jpg)
12
Resolu0on Algorithm
closed
G
A{v} C{u}
D E F
H
J L
B{w}
X poss(X) cert(X)
A {v} B {w} C {u} D ? E ? F ? G ? H ? J ? K ? L ?
{v} {w} {u} ? ? ? ? ? ? ? ?
Iniealize closed with explicit beliefs Keep 2 sets: closed / open
open
K
Focus on binary trust network
preferred
non-‐preferred
![Page 13: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/13.jpg)
13
Resolu0on Algorithm
closed
open
X poss(X) cert(X)
A {v} B {w} C {u} D ? E ? F ? G ? H ? J ? K ? L ?
{v} {w} {u} ? ? ? ? ? ? ? ?
Iniealize closed with explicit beliefs Keep 2 sets: closed / open
MAIN Step 1: if ∃ preferred edges from
open to closed → follow
G
A{v}
D
J
E
H
B{w} C{u}
F
L K
![Page 14: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/14.jpg)
14
Resolu0on Algorithm
closed
X poss(X) cert(X)
A {v} B {w} C {u} D {v} E ? F ? G ? H ? J ? K ? L ?
{v} {w} {u} {v} ? ? ? ? ? ? ?
G
A{v}
J
E
H
B{w} C{u}
F
L
Iniealize closed with explicit beliefs Keep 2 sets: closed / open
MAIN Step 1: if ∃ preferred edges from
open to closed → follow
open
K
D{v}
![Page 15: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/15.jpg)
15
Resolu0on Algorithm
closed
X poss(X) cert(X)
A {v} B {w} C {u} D E {w} F ? G ? H ? J ? K ? L ?
{v} {w} {u}
{w} ? ? ? ? ? ?
G
A{v}
J
H
B{w} C{u}
F
L
Iniealize closed with explicit beliefs Keep 2 sets: closed / open
MAIN Step 1: if ∃ preferred edges from
open to closed → follow
open
{v} {v}
K
D{v} E{w}
![Page 16: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/16.jpg)
16
Resolu0on Algorithm
closed
X poss(X) cert(X)
A {v} B {w} C {u} D E F {u} G ? H ? J ? K ? L ?
{v} {w} {u}
{u} ? ? ? ? ?
G
A{v}
J
H
B{w} C{u}
F{u}
L
Iniealize closed with explicit beliefs Keep 2 sets: closed / open
MAIN Step 1: if ∃ preferred edges from
open to closed → follow
open
{w} {w} {v} {v}
K
D{v} E{w}
![Page 17: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/17.jpg)
17
Resolu0on Algorithm
closed
X poss(X) cert(X)
A {v} B {w} C {u} D E F G ? H {w} J ? K ? L ?
{v} {w} {u}
? {w} ? ? ?
A{v}
J
H{w}
B{w} C{u}
L
Iniealize closed with explicit beliefs Keep 2 sets: closed / open
MAIN Step 1: if ∃ preferred edges from
open to closed → follow
F{u} open
{u} {u} {w} {w} {v} {v}
G
K
D{v} E{w}
![Page 18: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/18.jpg)
Resolu0on Algorithm
D{v}
G
A{v} C{u}
H{w}
J K L
B{w}
18
closed
open
Step 2: else → construct SCC graph of open
X poss(X) cert(X)
A {v} B {w} C {u} D E F G H J ? K ? L ?
{v} {w} {u}
? ? ?
E{w} F{u}
For every cyclic or acyclic directed graph: - The Strongly Connected Components graph is a DAG - can be calculated in O(n) Tarjan [1972]
Iniealize closed with explicit beliefs MAIN Step 1: if ∃ preferred edges from
open to closed → follow
Keep 2 sets: closed / open
? {w}
? {w}
{u} {u} {w} {w} {v} {v}
“Minimal SCC” no incoming edge from other SCC
![Page 19: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/19.jpg)
Resolu0on Algorithm
D{v}
A{v} C{u}
H{w}
L
B{w}
19
closed
open
Step 2: else → construct SCC graph of open
X poss(X) cert(X)
A {v} B {w} C {u} D E F G H J {v,w} K {v,w} L ?
{v} {w} {u}
∅ ∅ ?
E{w} F{u}
For every cyclic or acyclic directed graph: - The Strongly Connected Components graph is a DAG - can be calculated in O(n) Tarjan [1972]
Iniealize closed with explicit beliefs MAIN Step 1: if ∃ preferred edges from
open to closed → follow
Keep 2 sets: closed / open
{v,w} {w}
∅ {w}
{u} {u} {w} {w} {v} {v}
“Minimal SCC” no incoming edge from other SCC
→ resolve minimum SCCs
J{v,w} K{v,w}
G{v,w}
![Page 20: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/20.jpg)
Resolu0on Algorithm
D{v}
A{v} C{u}
H{w}
L
B{w}
20
Step 2: else → construct SCC graph of open
X poss(X) cert(X)
A {v} B {w} C {u} D E F G H J {v,w} K {v,w} L ?
{v} {w} {u}
∅ ∅ ?
E{w} F{u}
Iniealize closed with explicit beliefs MAIN Step 1: if ∃ preferred edges from
open to closed → follow
Keep 2 sets: closed / open
{v,w} {w}
∅ {w}
{u} {u} {w} {w} {v} {v}
→ resolve minimum SCCs
J{v,w} K{v,w}
G{v,w}
closed
open
![Page 21: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/21.jpg)
21
Resolu0on Algorithm
L{v,w,u} closed
open PTIME resolueon algorithm O(n2) worst case O(n) on reasonable graphs
X poss(X) cert(X)
A {v} {v} B {w} {w} C {u} {u} D {v} {v} E {w} {w} F {u} {u} G {v,w} ∅ H {w} {w} J {v,w} ∅ K {v,w} ∅ L {v,w,u} ∅
D{v}
A{v} C{u}
H{w}
B{w}
E{w} F{u}
J{v,w} K{v,w}
Step 2: else → construct SCC graph of open
Iniealize closed with explicit beliefs MAIN Step 1: if ∃ preferred edges from
open to closed → follow
Keep 2 sets: closed / open
→ resolve minimum SCCs
G{v,w}
![Page 22: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/22.jpg)
22
Agenda
1. Stable solueons – how to define a unique and consistent solueon?
2. Resolueon algorithm – how to calculate the solueon efficiently?
3. Extensions – how to deal with “negaeve beliefs”?
![Page 23: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/23.jpg)
23
3 seman0cs for nega0ve beliefs
Agnos0c Eclec0c Skep0c
NP-‐hard** O(n2) NP-‐hard** w cycles
w/o cycles* O(n) O(n) O(n)
{w+} {v−,w−}
{v−} D
E
G H
F
J {u+,v−,w−}
{v−,w−}
{u+}
{w+} {v−}
{v−} D
E
G H
F
J {w+}
{w+}
{u+}
{w+}
G H
F
J {⊥}
{⊥}
{u+}
* assuming total order on parents for each node with a variaeon of resolueon algorithm
Our recommendaeon
{v+} C
A B
{v+} {w−}
{v+,w−} C
A B
{v+} {w−}
** checking if a belief is possible at a give node is NP-‐hard, checking if it is certain is co-‐NP-‐hard
{⊥}
{v+}
{v−} D
E
C
A B
{v+} {w−}
![Page 24: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/24.jpg)
Please visit us at the poster session Th, 3:30pm or at:
24
Take-‐aways automa0c conflict resolu0on
in the paper & TR
– bulk inserts – agreement checking – consensus value – lineage computaeon
Problem • Given explicit beliefs & trust mappings, how to assign
consistent value assignment to users?
Our solueon • Stable solueons with possible/certain value semanecs • PTIME algorithm [O(n2) worst case, O(n) experiments] • Several extensions
– negaeve beliefs: 3 semanecs, two hard, one O(n2)
h*p://db.cs.washington.edu/beliefDB
![Page 25: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/25.jpg)
25
poster
![Page 26: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/26.jpg)
1. Conflicts & Trust mappings in Community DBs
Alice
Bob glyph origin
cow 1
glyph origin ship hull 1
arrow 3
arrow 3
fish 2
arrow 3
fish 2
arrow 3
100
50
80
“Implicit belief”
* Current state of knowledge on the Indus Script: Rao et al., Science 324(5931):1165, May 2009
Alice ← Bob (100) Alice ← Charlie (50) Bob ← Alice (80)
ship hull cow jar fish knot arrow
glyph origin Alice Bob Charlie Bob Charlie Charlie
1
1
1
2
2
3
Orchestra [SIGMOD’06, VLDB’07] Youtopia [VLDB’09], BeliefDB [VLDB’09]
“Explicit belief”
Prioriees
“Beliefs”: annotated (key,value) pairs
Background 2: Trust mappings
Background 1: Confliceng beliefs*
Recent work on community databases:
Charlie
fish 2
glyph origin jar 1
knot 2
arrow 3
fish 2
arrow 3
arrow 3
How to unambiguously assign beliefs to all users?
![Page 27: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/27.jpg)
2. Stable solu0ons
D:v C:v
B:w A:v
10
20 20
10
* each node with at least one ancestor with explicit belief
• Priority trust network (TN) – assume a fixed key – users (nodes): A, B, C – values (beliefs): v, w, u – trust mappings (arcs) from “parents”
• Stable solueon – assignment of values to each node*,
s.t. each belief has a “non-‐dominated lineage” to an explicit belief
• Possible / Certain semanecs – a stable solueon determines, for each
node, a possible value (“poss”) – certain value (“cert”) = interseceon of
all stable solueons, per user
E:u
5
X poss(X) cert(X)
A {v} B {w} C {v,w} D {v,w}
{v} {w} ∅ ∅
E {u} {u}
SS1=(A:v, B:w, C:v, D:v, E:u) SS2=(A:v, B:w, C:w, D:w, E:u)
Lineage
![Page 28: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/28.jpg)
3. Logic programs with stable model seman0cs
E
A C
P(C,x) ← P(A,x) F(C,B,y) ← P(B,y), P(C,x), x≠y P(C,y) ← P(B,y), ¬F(C,B,y
F(C,A,y) ← P(A,y), P(C,x), x≠y P(C,y) ← P(A,y), ¬F(C,A,y)
F(C,B,y) ← P(B,y), P(C,x), x≠y P(C,y) ← P(B,y), ¬F(C,B,y)
20 10 30
B D
E’ E’’
E
A C B D
10
non-‐preferred parent
preferred parent
C
A B
C
A B
pareal order
1: accept all poss of preferred parent
2: accept poss from non-‐preferred parent, that are not confliceng with an exiseng value
Step 1: Binarizaeon
Step 2: Logic program
![Page 29: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/29.jpg)
4. Resolu0on Algorithm (1/2)
closed
X poss(X) cert(X)
A {v} B {w} C {u} D {v} E ? F ? G ? H ? J ? K ? L ?
{v} {w} {u} {v} ? ? ? ? ? ? ?
G
A{v}
J
E
H
B{w} C{u}
F
L
Iniealize closed with explicit beliefs Keep 2 sets: closed / open
MAIN Step 1: if ∃ preferred edges from
open to closed → follow
open
K
D{v}
![Page 30: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/30.jpg)
5. Resolu0on Algorithm (2/2)
D{v}
A{v} C{u}
H{w}
L
B{w}
closed
open
Step 2: else → construct SCC graph of open
X poss(X) cert(X)
A {v} B {w} C {u} D E F G H J {v,w} K {v,w} L ?
{v} {w} {u}
∅ ∅ ?
E{w} F{u}
Tarjan [1972]
Iniealize closed with explicit beliefs MAIN Step 1: if ∃ preferred edges from
open to closed → follow
Keep 2 sets: closed / open
{v,w} {w}
∅ {w}
{u} {u} {w} {w} {v} {v}
“Minimal SCC” can be calcu-‐lated in O(n)
→ resolve minimum SCCs
G
J K
PTIME resolueon algorithm O(n2) worst case O(n) on reasonable graphs
![Page 31: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/31.jpg)
6. Detail: Strongly Connected Components (SCCs)
“Minimal SCCs”: no incoming edge from other SCC = root node(s) in SCC graph A
C
E
G
B
D
F
H
SCC1
SCC2
SCC4 SCC3
A
C
E
G
B
D
F
H
SCC1
SCC2
SCC3
SCC4
For every cyclic or acyclic directed graph: - The Strongly Connected Components graph is a DAG - can be calculated in O(n) Tarjan [1972]
![Page 32: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/32.jpg)
7. Experiments on large network data
Web data set with 5.4m links between 270k domain names. Approach:
• Sample links with increasing raeo • Include both nodes in sample • Assign explicit beliefs randomly
Calculaeng poss / cert for fixed key - DLV: State-‐of-‐the art logic programming solver - RA: Resolueon algorithm
Network 1: “Oscillators”
Network 2: “Web link data” 8 16
…size 24
0
0
1
10
100
10 100 1,000 10,000 100,000 1,000,000
RA y = 1e-‐5 x
DLV
100 1,000 10,000 100,000 1,000,000 10 0.01
0.1
1
10
100
Time [sec]
0
0
1
10
100
10 100 1,000 10,000 100,000 1,000,000
RA y = 1e-‐5 x
DLV
100 1,000 10,000 100,000 1,000,000 10
0
0
1
10
100
10 100 1,000 10,000 100,000 1,000,000
RA y = 1e-‐7 x2
DLV
100 1,000 10,000 100,000 1,000,000 10 0.01
0.1
1
10
100
Time [sec]
0.1
1
10
100
0.01
Time [sec]
Size of the network [users + mappings]
Network 3: “Worst case” O(n2)
1
2
3 {v}
{w}
{v} {v} {v} {v} {v} {v} {v} {v} {v}
{v} {v} {v} {v} {v}
{w} {w} {w} {w}
{w} {w} {w} {w} {w} {w} {w} {w} {w}
![Page 33: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/33.jpg)
8. Three seman0cs for nega0ve beliefs
Agnos0c Eclec0c Skep0c
NP-‐hard** O(n2) NP-‐hard** w cycles
w/o cycles* O(n) O(n) O(n)
{w+} {v−,w−}
{v−} D
E
G H
F
J {u+,v−,w−}
{v−,w−}
{u+}
{w+} {v−}
{v−} D
E
G H
F
J {w+}
{w+}
{u+}
{w+}
G H
F
J {⊥}
{⊥}
{u+}
* assuming total order on parents for each node with a variaeon of resolueon algorithm
Our recommendaeon
{v+} C
A B
{v+} {w−}
{v+,w−} C
A B
{v+} {w−}
** checking if a belief is possible at a give node is NP-‐hard, checking if it is certain is co-‐NP-‐hard
{⊥}
{v+}
{v−} D
E
C
A B
{v+} {w−}
![Page 34: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/34.jpg)
9. Take-‐aways automa0c conflict resolu0on
Slides soon available on our project page: h*p://db.cs.washington.edu/beliefDB
not covered in the talk
– bulk inserts – agreement checking – consensus value – lineage computaeon
Problem • Given explicit beliefs & trust mappings, how to assign
consistent value assignment to users?
Our solueon • Stable solueons with possible/certain value semanecs • PTIME algorithm [O(n2) worst case, O(n) experiments] • Several extensions
– negaeve beliefs: 3 semanecs, two hard, one O(n2)
![Page 35: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/35.jpg)
35
backup
![Page 36: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/36.jpg)
D E F D’
36
Binariza0on for Resolu0on Algorithm*
70 30 20 100 60
20
120
80 100 E’
D E F
Example Trust Network (TN) 6 nodes, 9 arcs (size 15) 3 explicit beliefs: A:v, B:w, C:u
Corresponding Binary TN (BTN) 8 nodes, 12 arcs (size 20)
Size increase : ≤ 3
A{v} C{u} B{w} A{v} C{u} B{w}
* Note that binarizaeon is not necessary, but greatly simplifies the presentaeon
![Page 37: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/37.jpg)
37
Stable solu0ons: example 2
* each node with at least one ancestor with explicit belief
B:?
C:?
D:v
E:w
90
80
100
20
F:u
G:?
A:?
70 70 60
30
• Priority trust network (TN) – assume a fixed key – users (nodes): A, B, C – values (beliefs): v, w, u – trust mappings (arcs) from “parents”
• Stable solueon – assignment of values to each node*,
s.t. each belief has a “non-‐dominated lineage” to an explicit belief
• Certain values – all stable solueon determine, for each
node, a possible value (“poss”) – certain value (“cert”) = interseceon of
all stable solueons
![Page 38: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/38.jpg)
38
Stable solu0ons: example 2
* each node with at least one ancestor with explicit belief
B:v
C:∅
D:v
E:w
90
80
100
20
F:u
G:v
A:v
70 70 60
30
• Priority trust network (TN) – assume a fixed key – users (nodes): A, B, C – values (beliefs): v, w, u – trust mappings (arcs) from “parents”
• Stable solueon – assignment of values to each node*,
s.t. each belief has a “non-‐dominated lineage” to an explicit belief
• Certain values – all stable solueon determine, for each
node, a possible value (“poss”) – certain value (“cert”) = interseceon of
all stable solueons
poss(G) = {v,...}
![Page 39: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/39.jpg)
39
Stable solu0ons: example 2
* each node with at least one ancestor with explicit belief
B:w
C:∅
D:v
E:w
90
80
100
20
F:u
G:w
A:w
70 70 60
30
• Priority trust network (TN) – assume a fixed key – users (nodes): A, B, C – values (beliefs): v, w, u – trust mappings (arcs) from “parents”
• Stable solueon – assignment of values to each node*,
s.t. each belief has a “non-‐dominated lineage” to an explicit belief
• Certain values – all stable solueon determine, for each
node, a possible value (“poss”) – certain value (“cert”) = interseceon of
all stable solueons
poss(G) = {v,w,...}
![Page 40: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/40.jpg)
40
Stable solu0ons: example 2
* each node with at least one ancestor with explicit belief
B:u
C:∅
D:v
E:w
90
80
100
20
F:u
G:u
A:u
70 70 60
30
not stable! F→G dominated by E→G
• Priority trust network (TN) – assume a fixed key – users (nodes): A, B, C – values (beliefs): v, w, u – trust mappings (arcs) from “parents”
• Stable solueon – assignment of values to each node*,
s.t. each belief has a “non-‐dominated lineage” to an explicit belief
• Certain values – all stable solueon determine, for each
node, a possible value (“poss”) – certain value (“cert”) = interseceon of
all stable solueons cert(G) = ∅
poss(G) = {v,w}
![Page 41: Data Conflict Resolution Using Trust Mappings · 2020. 5. 26. · Alice 50 glyph origin jar( t 2 glyph origin jar( t 1 cow( t 4 1.(Incorrectinserts(– Value(depends(on(order(of(inserts(2.(Incorrectupdates(–](https://reader034.vdocuments.us/reader034/viewer/2022051906/5ff8f4fa99524948231ab06c/html5/thumbnails/41.jpg)
. . .
. . .
. . .
41
O(n2)-‐worst-‐case for Resolu0on Algorithm
{v}
{w}
{v}
{v}
{v}
{v}
{v}
{v}
{v}
{v}{w}
{w}
{w}
{w}
{w}
{w}
{v}{v} {v} {v}
{w} {w} {w} {w} {w}