computing k-rank answers with ontological cp-nets
DESCRIPTION
First Workshop on Logics for Reasoning about Preferences, Uncertainty, and Vagueness.TRANSCRIPT
COMPUTING K-RANK ANSWERS
WITH ONTOLOGICAL CP-NETS
* University of Oxford ** Politecnico di Bari
Tommaso Di Noia**, Thomas Lukasiewicz *, Maria Vanina Martinez*, Gerardo I Simari *,
Oana Tifrea-Marciuska *
PRUV 2014
Web 3.0
Semantic Data Social Data
Web 3.0 Search
Semantic Data Social Data Precise and rich results Personalised access
Personalized Information Access
CONJUNCTIVE QUERY
ORDER BY user’s preferences
LIMIT k
Personalized Information Access
CONJUNCTIVE QUERY
ORDER BY user preferences
LIMIT k
Datalog +/- CQ
Ontological CP-Net
Top-k
Personalized Information Access
CONJUNCTIVE QUERY
ORDER BY user preferences
LIMIT k
Datalog +/- CQ
Ontological CP-Net
Top-k
Datalog +/-
¨ Database instances
¨ class(b); class(e); ¨ Datalog ∀X ∀Y Θ(X,Y) → Ψ(X)
¨ book(F,P,C) →class(C) ¨ TGD’s ∀X ∀Y Θ(X,Y) → ∃Z Ψ(X,Z)
¨ flight(F,D,A) → ∃C dPlace(C,D) ¨ Negative constraints ∀X Θ(X) → ⊥
¨ flight(F,D,D) → ⊥
Personalized Information Access
CONJUNCTIVE QUERY
ORDER BY user preferences
LIMIT k
Datalog +/- CQ
Ontological CP-Net
Top-k
Personalized Information Access
CONJUNCTIVE QUERY
ORDER BY user preferences
LIMIT k
Datalog +/- CQ
Ontological CP-Net
Top-k
Conditional Preferences (CP)-Nets
Compact qualitative specification of preferences ma na
preferred
Variable
Conditional Preferences (CP)-Nets
Unconditional Preferences
Conditional Preferences
Parents condition that preference depends on
Conditional Preferences (CP)-Nets
Ceteris paribus All other things being equal E.g. if I fly on business class and on a night arrival time then I
always prefer morning departure over night departure.
Reasoning with CP nets
¨ Worsening flip ¤ Changing value of a variable so that it is less
preferred in some outcome (direct dominance)
md ma e ≻ md ma b md na e ≻ md ma e
Reasoning with CP nets
¨ Ordering on outcomes ¤ o1 is preferred to o2 (o1 ≻ o2) iff there is a sequence of
worsening flips from o1 to o2
¨ Partial order ¤ o1 and o2 can be incomparable
Preference Graph
md ma b
md ma e
md na e nd ma e
md na b nd na e
nd na b
nd ma b
Direct Dominance md ma e
md ma b md na e nd ma e
md na b nd na e
nd na b
nd ma b
o1
o2
Personalized Information Access
CONJUNCTIVE QUERY
ORDER BY user’s preferences
LIMIT k
Datalog +/- CQ
Ontological CP-Net
Top-k
Ontological CP-Nets ¨ Datalog +/- ontology O ¨ CP-net variables P are predicates p ¨ dom(P) = {p(t11,... , t1k),..., p(tn1,... , tnk)}
Consistent Ontological CP-Nets
¨ Datalog +/- ontology O ¨ CP-net variables P are predicates p ¨ dom(P) = {p(t11,... , t1k),..., p(tn1,... , tnk)} constraint by O ¨ Outcomes equivalent
¤ aircraft(X) →airplane(X)
¨ Inconsistent CP-net ¤ airplane(a1) →⊥
aircraft airplane a1 ≻ a2 a2 ≻ a1 {aicraft(a1),airplane(a2)} {aircraft(a2), airplane(a1)}
Personalized Information Access
CONJUNCTIVE QUERY
ORDER BY user preferences
LIMIT k
Datalog +/- CQ
Ontological CP-Net
Top-k
Query Answering
Q(X,Y)→ ∃Z class(Z) ^dTime(X) ^ aTime(Y) <md,ma,e>
the undominated outcome
Query Answering md ma e
md ma b md na e nd ma e
md na b nd na e
nd na b
nd ma b
Top-k Query Answering with Ontological CP-nets Q(X,Y)→ ∃Z class(Z) ^ dTime(X) ^ aTime(Y)
Top-1 answer to Q: <md,ma>
o1
Query Answering md ma e
md ma b md na e nd ma e
md na b nd na e
nd na b
nd ma b
Top-k Query Answering with Ontological CP-nets Q(X,Y)→ ∃Z class(Z) ^ dTime(X) ^ aTime(Y)
Top-2 answers to Q: {<md,ma>,…}
o1
Query Answering
md ma b md na e nd ma e
md na b nd na e
nd na b
nd ma b
Top-k Query Answering with Ontological CP-nets Q(X,Y)→ ∃Z class(Z) ^ dTime(X) ^ aTime(Y)
Top-2 answers to Q: {<md,ma>,…}
o2 o3
Query Answering
md na e nd ma e
md na b nd na e
nd na b
nd ma b
Top-k Query Answering with Ontological CP-nets Q(X,Y)→ ∃Z class(Z) ^ dTime(X) ^ aTime(Y)
Top-2 answers to Q: {<md,ma>,<md,na>}
o3
o4
Query Answering
nd ma e
md na b nd na e
nd na b
nd ma b
Top-k Query Answering with Ontological CP-nets Q(X,Y)→ ∃Z class(Z) ^ dTime(X) ^ aTime(Y)
Top-3 answers to Q: {<md,ma>,<md,na>, <nd,ma>}
o4 o5
Query Answering
Theorems q Computing the k-rank is PSpace (resp. 2EXPTIME) complete for linear (resp.
guarded) Datalog+/- . Computing k-rank is data complete for PSPACE. • TGD is guarded iff it contains an atom in its body that contains all universally quantified
variables. σ1 :P(X)∧R(X,Y)∧Q(Y)→∃Z R(Y,Z) YES. σ2 :R(X,Y)∧R(Y,Z)→R(X,Z) NO.
• TGD is linear: rules with one body-atom
σ3 :R(X,Y) →∃Z R(X,Z)
Top-k Query Answering with Ontological CP-nets
Query Answering
Theorems If the CP-net is a polytree, the query has bounded width and the Datalog+/- ontology is guarded or linear top-k can be done in polynomial time.
Top-k Query Answering with Ontological CP-nets
Conclusion
D
O
Database
Ontology
User’s preferences
Knowledge base
Top-k CQ
l Combining Knowlege and Preference Representation l A framework for Top-k Query Answering with preferences in Datalog +/-
Query Answering md ma e
md ma b md na e nd ma e
md na b nd na e
nd na b
nd ma b
Top-2 answers to Q: {<md,ma>,<md,na>}
Top-k Query Answering with Ontological CP-nets Q(X,Y)→ ∃Z class(Z) ^ dTime(X) ^ aTime(Y)
Checked: {<md,ma,e>} Outcomes: {<md,ma,e>, <md,ma,b>, <md,na,e>} Outcomes / Checked: {<md,ma,b>, <md,na,e>}
Query Answering md ma e
md ma b md na e nd ma e
md na b nd na e
nd na b
nd ma b
Top-3 answers to Q: {<md,ma>,<md,na>…}
Q(X,Y)→ ∃Z class(Z) ^ dTime(X) ^ aTime(Y) Top-k Query Answering with Ontological CP-nets
Query Answering md ma e
md ma b md na e nd ma e
md na b nd na e
nd na b
nd ma b
Top-3 answers to Q: {<md,ma>,<md,na>…}
Q(X,Y)→ ∃Z class(Z) ^ dTime(X) ^ aTime(Y) Top-k Query Answering with Ontological CP-nets
Query Answering md ma e
md ma b md na e nd ma e
nd na e
nd na b
nd ma b
Top-k Query Answering with Ontological CP-nets
md na b
Top-3 answers to Q: { <md,ma>, <md,na>, <nd,ma>}
Q(X,Y)→ ∃Z class(Z) ^ dTime(X) ^ aTime(Y)
Query Answering md ma e
md ma b md na e nd ma e
nd na e
nd na b
nd ma b
Top-k Query Answering with Ontological CP-nets
md na b
Checked: {<md,ma,e>, <md,ma,b>, <md,na,e>, <md,na,b>, <nd,ma,b>} Outcomes: <md,ma,e>, <md,ma,b>, <md,na,e>, <nd,ma,b>, <md,na,b>} Outcomes / Checked: {<nd,ma,b>}
Top-3 answers to Q: { <md,ma>, <md,na>, <nd,ma>}
Q(X,Y)→ ∃Z class(Z) ^ dTime(X) ^ aTime(Y)