Computing k-rank Answers with Ontological CP-nets

Preview:

DESCRIPTION

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

Citation preview

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)

Recommended