computing k-rank answers with ontological cp-nets

36
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

Upload: oana-tifrea-marciuska

Post on 20-Jun-2015

123 views

Category:

Technology


0 download

DESCRIPTION

First Workshop on Logics for Reasoning about Preferences, Uncertainty, and Vagueness.

TRANSCRIPT

Page 1: Computing k-rank Answers with Ontological CP-nets

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

Page 2: Computing k-rank Answers with Ontological CP-nets

Web 3.0

Semantic Data Social Data

Page 3: Computing k-rank Answers with Ontological CP-nets

Web 3.0 Search

Semantic Data Social Data Precise and rich results Personalised access

Page 4: Computing k-rank Answers with Ontological CP-nets

Personalized Information Access

CONJUNCTIVE QUERY

ORDER BY user’s preferences

LIMIT k

Page 5: Computing k-rank Answers with Ontological CP-nets

Personalized Information Access

CONJUNCTIVE QUERY

ORDER BY user preferences

LIMIT k

Datalog +/- CQ

Ontological CP-Net

Top-k

Page 6: Computing k-rank Answers with Ontological CP-nets

Personalized Information Access

CONJUNCTIVE QUERY

ORDER BY user preferences

LIMIT k

Datalog +/- CQ

Ontological CP-Net

Top-k

Page 7: Computing k-rank Answers with Ontological CP-nets

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) → ⊥

Page 8: Computing k-rank Answers with Ontological CP-nets

Personalized Information Access

CONJUNCTIVE QUERY

ORDER BY user preferences

LIMIT k

Datalog +/- CQ

Ontological CP-Net

Top-k

Page 9: Computing k-rank Answers with Ontological CP-nets

Personalized Information Access

CONJUNCTIVE QUERY

ORDER BY user preferences

LIMIT k

Datalog +/- CQ

Ontological CP-Net

Top-k

Page 10: Computing k-rank Answers with Ontological CP-nets

Conditional Preferences (CP)-Nets

Compact qualitative specification of preferences ma na

preferred

Variable

Page 11: Computing k-rank Answers with Ontological CP-nets

Conditional Preferences (CP)-Nets

Unconditional Preferences

Conditional Preferences

Parents condition that preference depends on

Page 12: Computing k-rank Answers with Ontological CP-nets

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.

Page 13: Computing k-rank Answers with Ontological CP-nets

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

Page 14: Computing k-rank Answers with Ontological CP-nets

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

Page 15: Computing k-rank Answers with Ontological CP-nets

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

Page 16: Computing k-rank Answers with Ontological CP-nets

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

Page 17: Computing k-rank Answers with Ontological CP-nets

Personalized Information Access

CONJUNCTIVE QUERY

ORDER BY user’s preferences

LIMIT k

Datalog +/- CQ

Ontological CP-Net

Top-k

Page 18: Computing k-rank Answers with Ontological CP-nets

Ontological CP-Nets ¨  Datalog +/- ontology O ¨  CP-net variables P are predicates p ¨  dom(P) = {p(t11,... , t1k),..., p(tn1,... , tnk)}

Page 19: Computing k-rank Answers with Ontological CP-nets

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)}

Page 20: Computing k-rank Answers with Ontological CP-nets

Personalized Information Access

CONJUNCTIVE QUERY

ORDER BY user preferences

LIMIT k

Datalog +/- CQ

Ontological CP-Net

Top-k

Page 21: Computing k-rank Answers with Ontological CP-nets

Query Answering

Q(X,Y)→ ∃Z class(Z) ^dTime(X) ^ aTime(Y) <md,ma,e>

the undominated outcome

Page 22: Computing k-rank Answers 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-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

Page 23: Computing k-rank Answers 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-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

Page 24: Computing k-rank Answers with Ontological CP-nets

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

Page 25: Computing k-rank Answers with Ontological CP-nets

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

Page 26: Computing k-rank Answers with Ontological CP-nets

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

Page 27: Computing k-rank Answers with Ontological CP-nets

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

Page 28: Computing k-rank Answers 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

Page 29: Computing k-rank Answers 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 +/-

Page 30: Computing k-rank Answers with Ontological CP-nets
Page 31: Computing k-rank Answers with Ontological CP-nets
Page 32: Computing k-rank Answers 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-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>}

Page 33: Computing k-rank Answers 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

Page 34: Computing k-rank Answers 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

Page 35: Computing k-rank Answers 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)

Page 36: Computing k-rank Answers 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

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)