to databases Wolfgang Gatterbauer Magda Balazinska Nodira Khoussainova and Dan Suciu University of Washington httpdbcswashingtonedubeliefDB August 25 VLDB 2009 2 Highlevel overview ID: 651350
Download Presentation The PPT/PDF document "Believe It or Not – Adding belief ann..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Believe It or Not – Adding belief annotations to databases
Wolfgang Gatterbauer, Magda Balazinska, Nodira Khoussainova, and Dan SuciuUniversity of Washingtonhttp://db.cs.washington.edu/beliefDB/
August 25, VLDB 2009Slide2
2
High-level overviewDBMS: manage consistent dataApplications need inconsistent DMScientific databasesInternet community databasesCommunity DBMS: manage inconsistent viewsThis work: Belief databasesmanage data and curationgrounded in modal and default logicimplemented on top of relational modelreason: disagreement !Slide3
3Agenda
Motivating exampleLogic foundations Relational implementationDiscussionSlide4
Observations
id
uid
species
date
location
comment
2
Alice
Crow
06-14-08
Lake Placid
found feathers
4
Motivating application
NatureMapping project
(http://depts.washington.edu/natmap/)
volunter contribute animal observations
one person curates the database
Sightings (S)
siduidspeciesdatelocations2AliceCrow06-14-08Lake Placid
Comments (C)cidcommentsidc1found featherss2
problem: does not scale!Slide5
Alice
Bob5
1. Distinct database instances
S
sid
uid
species
date
location
s2
Alice
Raven
06-14-08
Lake Placid
S
sid
uid
species
date
location
s2AliceCrow06-14-08Lake PlacidD1: Belief worlds: individually consistent, mutually possibly inconsistentSlide6
Alice
Bob
6
1. Distinct database instances
S
sid
uid
species
date
location
s2
Alice
Raven
06-14-08
Lake Placid
S
sid
uid
species
date
locations2AliceCrow06-14-08Lake PlacidBeliefSQLinsert into BELIEF ‘Alice’ Sightingsvalues (‘s2’,‘Alice’,‘Crow’,’06-14-08’,‘Lake Placid’)select U2.name, S1.species, S2.speciesfrom Users as U, BELIEF ‘Alice’ Sightings as S1, BELIEF U.uid Sightings as S2,where S1.sid = S2.sidand S1.species <> S2.speciesQ: Who believes something different than Alice and what?A: {(‘Bob’, ‘Crow’, ‘Raven’)}
I: Alice believes that she saw a crow.insert into BELIEF ‘Bob’ Sightingsvalues (‘s2’,‘Alice’,‘Raven’,’06-14-08’,‘Lake Placid’)I: Bob believes that she actually saw a raven.Slide7
Alice
Bob7
2. Open world assumption
S
sid
uid
species
date
location
s2
Alice
Raven
06-14-08
Lake Placid
S
sid
uid
species
date
location
s2AliceCrow06-14-08Lake PlacidCarolSsiduidspeciesdate
locations2AliceCrow06-14-08Lake Placids2Alice
Raven
06-14-08
Lake Placid
−
−
D2: Model incomplete knowledge with exlicit negative beliefs
Adapted key constraints !Slide8
Alice
Bob8
2. Open world assumption
S
sid
uid
species
date
location
s2
Alice
Raven
06-14-08
Lake Placid
S
sid
uid
species
date
location
s2AliceCrow06-14-08Lake PlacidCarolSsiduidspeciesdate
locations2AliceCrow06-14-08Lake Placids2Alice
Raven
06-14-08
Lake Placid
−
−
I: Carol does not believe that Alice saw a crow
nor a raven.
insert into
BELIEF
‘Carol’ not
Sightings
values (‘s2’,‘Alice’,‘Crow’,’06-14-08’,‘Lake Placid’)
insert into
BELIEF
‘Carol’ not
Sightings
values (‘s2’,‘Alice’,‘Raven’,’06-14-08’,‘Lake Placid’)Slide9
Alice
Bob9
2. Open world assumption
S
sid
uid
species
date
location
s2
Alice
Raven
06-14-08
Lake Placid
S
sid
uid
species
date
location
s2AliceCrow06-14-08Lake PlacidCarolSsiduidspeciesdate
locations2AliceCrow06-14-08Lake Placids2Alice
Raven
06-14-08
Lake Placid
−
−
Q: Who disagrees with a sighting from
‘06-14-08’ that Alice believes?
A: {(‘Bob’, ‘Crow’), (‘Carol’, ‘Crow’)}
select U.name, S1.species
from
Users as U
,
BELIEF
‘Alice’
Sightings as S1,
BELIEF
U.uid not
Sightings as S2
where S1.sid = S2.sid
and S1.uid = S2.uid
and S1.species = S2.species
and S1.date = ‘06-14-08’
and S2.date = ‘06-14-08’
and S1.location = S2.locationSlide10
Bob
Alice
Alice
Bob
10
3. Higher-order beliefs
C
cid
comment
sid
c1
purple-black feathers
s2
C
cid
comment
sid
c1
plain
black featherss2Ssiduidspeciesdatelocations2AliceRaven06-14-08Lake Placid
Ssiduidspeciesdatelocations2Alice
Crow
06-14-08
Lake Placid
D3: Beliefs about other user’s beliefs: allow discussion between usersSlide11
Bob
Alice
Alice
Bob
11
3. Higher-order beliefs
C
cid
comment
sid
c1
purple-black feathers
s2
C
cid
comment
sid
c1
plain
black featherss2Ssiduidspeciesdatelocations2AliceRaven06-14-08Lake Placid
Ssiduidspeciesdatelocations2Alice
Crow
06-14-08
Lake Placid
I: According to Bob, Alice believes that the
feathers of the sighted animal were plain black.
insert into
BELIEF
‘Bob’
BELIEF
‘Alice’
Comments
values (‘c1’, ‘plain black feathers’, ‘s2’)Slide12
Bob
Alice
Alice
Bob
12
3. Higher-order beliefs
C
cid
comment
sid
c1
purple-black feathers
s2
C
cid
comment
sid
c1
plain
black featherss2Ssiduidspeciesdatelocations2AliceRaven06-14-08Lake Placid
Ssiduidspeciesdatelocations2Alice
Crow
06-14-08
Lake Placid
select C1.cid, C1.comment
from
BELIEF
‘Bob’
BELIEF
‘Alice’
Comments as C1,
BELIEF
‘Bob’ not
Comments as C2
where C1.cid = C2.cid
and C1.comment = C2.comment
and C1.sid = C2.sid
Q: Which comments does Alice believe according
to Bob, which he does not believe himself?
A: {(‘c1’,‘plain-black feathers’)}Slide13
Bob
Alice
Alice
Bob
13
3. Higher-order beliefs
C
cid
comment
sid
c1
purple-black feathers
s2
C
cid
comment
sid
c1
plain
black featherss2Ssiduidspeciesdatelocations2AliceRaven06-14-08
Lake PlacidSsiduidspeciesdatelocations2
Alice
Crow
06-14-08
Lake Placid
select U.name, C1.sid, C1.comment
from
Users as U,
BELIEF
U.uid
BELIEF
‘Alice’
Comments as C1,
BELIEF
U.uid not
Comments as C2
where C1.cid = C2.cid
and C1.comment = C2.comment
and C1.sid = C2.sid
Q: Which comments does Alice believe according
to somebody, which (s)he does not believe themself?
A: {(‘Bob’, ‘c1’, ‘plain-black feathers’)}Slide14
C
cid
comment
sid
c1
purple-black feathers
s2
Bob
Alice
Alice
Bob
C
cid
comment
sid
c1
plain
black
feathers
s2Ssiduidspeciesdatelocations2AliceRaven06-14-08Lake Placid
144. Message board assumptionSsiduidspeciesdatelocations2
Alice
Crow
06-14-08
Lake Placid
S
sid
uid
species
date
location
s2
Alice
Crow
06-14-08
Lake Placid
D4: Default assumption: models a trusting attitude & avoids repeated insertsSlide15
15
4. Message board assumption
Alice
Bob
Bob
Alice
C
cid
comment
sid
c1
purple-black feathers
s2
C
cid
comment
sid
c1
plain
black featherss2Ssiduidspeciesdatelocations2AliceRaven06-14-08Lake Placid
Ssiduidspeciesdatelocations2Alice
Crow
06-14-08
Lake Placid
S
sid
uid
species
date
location
s2
Alice
Crow
06-14-08
Lake Placid
Q: Which animal sightings does Alice believe
according to Bob, which he does not
believe himself?
select S1.sid, S1.species
from
BELIEF
‘Bob’
BELIEF
‘Alice’
Sightings as S1,
BELIEF
‘Bob’ not
Sightings as S2
where S1.sid = S2.sid
and S1.uid = S2.uid
and S1.species = S2.species
and S1.date = S2.date
and S1.location = S2.location
A: {(‘s2’, ‘Crow’)}Slide16
16What we have seen so far
4 Design decisions for Belief Database modelDistinct belief worldsOpen world assumption (OWA)Higher-order beliefsMessage board assumptionBeliefSQLSQL + ‘BELIEF’ (+ ‘not’)Slide17
17Agenda
Motivating exampleLogic foundations Relational implementationDiscussionSlide18
Bob
AliceBob18Logic foundations: Belief statements
Carol
Alice
Carol
insert into
BELIEF
‘Alice’
S
values (‘s2’, ‘Alice’, ‘Crow’,…)
i:
☐
Alice
S
+
(‘s2’,‘Alice’,‘Crow’,…)belief statement = ☐w t
s
relational tuple (t)
sign (s)
modal operator
& belief path (w)BobCarolAliceBob………………AliceεBelief database D = {1, …, n}Alice
AliceSsiduidspecies…s2AliceCrow
…
“annotation of
ground tuple”Slide19
19
Logic foundations: Entailment
Carol
Carol
Alice
S
sid
uid
species
…
s2
Alice
Crow
…
Bob
Carol
Alice
Bob
…
…
………ε1=☐Alice S+(…‘Crow’,…)BobS
siduidspecies…s2AliceCrow…
Alice
Bob
Alice
…
Alice
select *
from
BELIEF
‘Bob’
BELIEF
‘Alice’
S
D
☐
Bob
A
lice
S
+
(…‘Crow’,…)
Bob
Alice
Alice
One belief annotation:
More than one entailed belief:
D =
{
1
}Slide20
20
Logic foundations: Message board assumption
If D ☐
w t
s
Message board assumption
then
D
☐
u
w
t
s
and ☐uw ts consistent with D : ☐u ☐u Default logicDExplicit beliefs(annotations)DEntailed beliefs(extension)
D \ D
Implicit beliefs
(assumptions)
non-monotonic reasoning !
belief database “contains” more than the explicit belief annotations !Slide21
21
“Semi-formal” problem statementi1: 1i2: 2
...in:
n
Belief statements
Message board
assumption
:
☐
u
☐
u
INPUTOUTPUTAdaptedkey constraintsD ?D ☐w1…wd R+(x1,…x
l) ?
Belief Conjunctive Queries (BCQ)
q(x) :
−
☐w Ri+(xi)q(x) :− ☐w1R1s1(x1), …, ☐wgRgsg(xg)Slide22
22Agenda
Motivating exampleLogic foundations Relational implementationDiscussionSlide23
{
s11−,s12−,s22+,c22+}
{s11+,s2
1+,
c11+
,
c2
1
+
}
{s1
1
+
}
{s1
1+,s21+,c11+}23Canonical Kripke structurei1: s11+i2: ☐Bob s11−i3: ☐Bob s12−i
4: ☐Alice s2
1+
i
5: ☐Alice
c11+i6: ☐Bob s22+i7: ☐BobAlice c21+i8: ☐Bob c22+Belief statements*Message board assumption : ☐i ☐i AliceBobBobCarolBobCarolAlice
#1#0#2* Running example from the paper
Carol
Carol
#3Slide24
24Relational representation
Comments_INTERNAL
tid
cid
comment
sid
c1.1
c1
found feathers
s2
c2.1
c2
plain black feathers
s2
c2.2
c2
purple-black feathers
s2
Sightings_INTERNAL
tid
siduidspeciesdatelocation
s1.1s1CarolBald eagle06-14-08Lake Forests1.2s1Carol
Fish eagle
06-14-08
Lake Forest
s2.1
s2
Alice
Crow
06-14-08
Lake Placid
s2.2
s2
Alice
Raven
06-14-08
Lake Placid
Sightings_V
wid
tid
sid
s
e
#0
s1.1
s1
+
y
#1
s1.1
s1
+
n
#1
s2.1
s2
+
y
#2
s1.1
s1
−
y
#2
s1.2
s1
−
y
#2
s2.2
s2
+
y
#3
s1.1
s1
+
n
#3
s2.1
s2
+
n
Comments_V
wd
tid
cid
s
e
#1
c1.1
c1
+
y
#2
c2.2
c2
+
y
#3
c1.1
c1
+
n
#3
c2.1
c2
+
y
E
wid1
uid
wid2
#0
Alice
#1
#0
Bob
#2
#0
Carol
#0
#1
Bob
#2
#1
Carol
#0
#2
Alice
#3
#2
Carol
#0
#3
Bob
#2
#3
Carol
#0
D
wid
d
#0
0
#1
1
#2
1
#3
2
S
wid1
wid2
#1
#0
#2
#0
#3
#1Slide25
25Example Translation of a Belief CQ (BCQ)
BeliefSQLselect U.name, S1.speciesfrom Users as U, BELIEF ‘Alice’ Sightings as S1, BELIEF U.uid not Sightings as S2where S1.sid = S2.sidand S1.uid = S2.uidand S1.species = S2.species
and S1.date = ‘06-14-08’and S2.date = ‘06-14-08’and S1.location = S2.location
Q: Who disagrees with a sighting from ’06-14-08’ that Alice believes?
select E1.uid as uid1, V.tid, V.sid, R.uid, R.species, R.date, R.location, V.sinto T2
from E as E1, Sightings_V as V, Sightings_STAR as R
where E1.wid1=0
and V.wid=E1.wid2
and V.tid=R.tid
and E1.uid='1';
select E1.uid as uid1, V.tid, V.sid, R.uid, R.species, R.date, R.location, V.s
into T1
from E as E1, Sightings_V as V, Sightings_STAR as R
where E1.wid1=0
and V.wid=E1.wid2and V.tid=R.tid; select T1.uid1, T2.speciesfrom T1 as T1, T2 as T2where T1.sid=T2.sidand ((T1.s=0 and T1.uid=T2.uid and T1.species=T2.species and T1.date='6-14-08' and T1.location=T2.location) or (T1.s=1 and (T1.uid<>T2.uid or T1.species<>T2.species or T1.date<>'6-14-08' or T1.location<>T2.location)))and T2.s=1and T2.date='6-14-08'; drop table T2;drop table T1;Translation into SQLq(x,y) :− ☐Alice S+(u,v,y,‘06-14-08’,z), ☐x S−(u,v,y,‘06-14-08’,z)Slide26
26Agenda
Motivating exampleLogic foundations Relational implementationDiscussionSlide27
27Experiments
Relative overhead ρ :=|R*|n
ρ = O(m
dmax
)
m … #users
d
max
… maximum
depth of belief
annotation
In theory: e.g. 100 users, max. depth 2
Experiments:
ρ
10,000ρ 21 – 1,009Size not limitation of semantics, but of relational implementation!SizeTimeDepends on type of query (3 types in paper)Experiments on 10,000 annotations (ρ =22.4):Considerable speed-up to come!Q1: ~0.1 sQ2: ~0.4 sQ3: ~4.5 sSlide28
28Inspirations and related work (excerpt)
AnnotationsBuneman et al. [ICDT 2001 / ICDT 2007]Bhagwat et al. [VLDBJ 2005], Geerts et al. [ICDE 2006]Srivastava & Velegrakis [SIGMOD 2007]Modal logicFagin et al. [1995] Calvanese et al. [IS 2008]Nguyen [LJ-IGPL 2008]Uncertain / incomplete informationSarma et al. [ICDE 2006]Green & Tannen [IEEE Data Eng. 2006]Dalvi & Suciu [PODS 2007] Inconsistency / key violationsArenas et al. [PODS 1999]Fuxman et al. [SIGMOD 2005]Peer-to-peer computing / collaborative data sharingBernstein et al. [WebDB 2002]Ives et al. [SIGMOD record 2008]Slide29
29Conclusions
Proposed BELIEF databasesGoal: manage, curate inconsistent dataImplementationLogical foundationsRelational translationCurrent workmaking it compact and fastSlide30
30
BACKUPSlide31
31Relative overhead of relational representation
Distribution of belief path depths (Pr[k=x])Slide32
32Query types and execution timesSlide33
33Belief Conjunctive Queries (BCQ)Slide34
34
Revisiting the semantics / the userBELIEF ’Alice’ (…,’eagle’,…)-> ’Alice’ASSERTS (…,’eagle’,…)
BELIEF ’Bob’ BELIEF ’Alice’ (…,’black feathers’,…)
-> ’Bob’SUGGESTS that the ASSUMPTION (…,’black feathers’,…) has led ‘Alice’ to her original observation
Standard relational model
Conflicts in belief worlds:
OWA, keys, ML, DA
-
> Structured discourse
(1) SQL
(2) BeliefSQL
(3) ?