Your SlideShare is downloading. ×
Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences

248
views

Published on

Query Answering in Probabilistic Datalog+/– …

Query Answering in Probabilistic Datalog+/–
Ontologies under Group Preferences

Published in: Education, Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
248
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Outline Motivation Preliminaries Our model Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences Thomas Lukasiewicz, Maria Vanina Martinez, Gerardo I. Simari, and Oana Tifrea-Marciuska Department of Computer Science, University of Oxford, UK November 18, 2013 Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 1 /29
  • 2. Outline Motivation Preliminaries Our model Motivation Preliminaries Datalog+/– The Chase Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 2 /29
  • 3. Outline Motivation Preliminaries Our model Motivation The Web has been shifting towards the Social Semantic Web need model group of users that can handle   qualitative preferences of users  SUM2013 disagreement between users   efficiency 1 image Oana Tifrea-Marciuska source: www.boundless.com Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 3 /29
  • 4. Outline Motivation Preliminaries Our model Motivation The Web has been shifting towards the Social Semantic Web need model group of users that can handle   qualitative preferences of users  SUM2013 disagreement between users   efficiency Uncertainty is present on the Web (e.g., information integration) need to model uncertainty 1 image Oana Tifrea-Marciuska source: www.boundless.com Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 3 /29
  • 5. Outline Motivation Preliminaries Our model Motivation The Web has been shifting towards the Social Semantic Web need model group of users that can handle   qualitative preferences of users  SUM2013 disagreement between users   efficiency Uncertainty is present on the Web (e.g., information integration) need to model uncertainty Desire: ontology language that handles preferences of a group of users and can handle uncertainty 1 1 image Oana Tifrea-Marciuska source: www.boundless.com Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 3 /29
  • 6. Outline Motivation Preliminaries Our model Datalog+/– The Chase Datalog+/– (1/3) A database (instance) D for R (a set of atoms) D = {farm(f1 ), farm(f2 ), capital(c1 ), capital(c2 ), capital(c3 ), beach(b1 ), hasAct(f1 , act1 ), hasAct(f2 , act1 ), hasAct(c1 , act2 ), hasAct(c2 , act3 ), hasAct(c3 , act1 ), hasAct(c3 , act4 ), hasAct(c3 , act5 )}. Tuple-generating dependency (TGD): constraint of the form ∀X∀Y Φ(X, Y) → ∃ZΨ(X, Z) (Φ(X, Y) and Ψ(X, Z) are conjunctions of atoms over R, the body and the head) dest(X ) → ∃Y hasAct(X , Y ) A conjunctive query (CQ) over R has the form Q(X) = ∃Y Φ(X, Y), where Φ(X, Y) is a conjunction of atoms Q(X ) = farm(X ) ∧ hasAct(X , act1 ). A Boolean CQ (BCQ) over R is a CQ of the form Q(), often written as the set of all its atoms, without quantifiers. Q() = ∃X farm(X ) ∧ hasAct(X , act1 ). Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 4 /29
  • 7. Outline Motivation Preliminaries Our model Datalog+/– The Chase Datalog+/– (2/3) Answers to CQs and BCQs are defined via homomorphisms, which are mappings µ : ∆ ∪ ∆N ∪ V → ∆ ∪ ∆N ∪ V The set of all answers Q(D) is the set of all tuples t over a set of data constants s.t. ∃µ µ : X ∪ Y → ∆ ∪ ∆N s.t. µ(Φ(X, Y)) ⊆ D and µ(X) = t. D = {farm(f1 ), farm(f2 ), capital(c1 ), capital(c2 ), capital(c3 ), beach(b1 ), hasAct(f1 , act1 ), hasAct(f2 , act1 ), hasAct(c1 , act2 ), hasAct(c2 , act3 ), hasAct(c3 , act1 ), hasAct(c3 , act4 ), hasAct(c3 , act5 )}. For Q(X ) = farm(X ) ∧ hasAct(X , act1 ) the set of all answers over D is Q(D) = {f1 }. For Q() = ∃X farm(X ) ∧ hasAct(X , act1 ) the answer is YES. Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 5 /29
  • 8. Outline Motivation Preliminaries Our model Datalog+/– The Chase Datalog+/– (3/3) For a database D for R, and a set of TGDs Σ on R, the set of models of D and Σ, denoted mods(D, Σ), is the set of all (possibly infinite) databases B such that D ⊆ B and every σ ∈ Σ is satisfied in B. The set of answers for a CQ Q to D and Σ, denoted ans(Q, D, Σ), is the set of all tuples a such that a ∈ Q(B) for all B ∈ mods(D, Σ). A TGD σ is guarded iff it contains an atom in its body that contains all universally quantified variables of σ. σ1 : P(X ) ∧ R(X , Y ) ∧ Q(Y ) → ∃R(Y , Z ) YES. σ2 : R(X , Y ) ∧ R(Y , Z ) → R(X , Z ) NO. If Σ consists of guarded TGDs, CQs can be evaluated on a fragment of constant depth k ∗ |Q|, PTIME in data complexity. Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 6 /29
  • 9. Outline Motivation Preliminaries Our model Datalog+/– The Chase The Chase D ∪ Σ |= Q iff chase(D, Σ) |= Q. Example. Let O = (D, Σ) be an ontology describing travel activities: Σ = {farm(X ) → dest(X ), capital(A) → dest(A), beach(X ) → dest(X ), dest(X ) → ∃Y hasAct(X , Y )}; D = {farm(f1 ), farm(f2 ), capital(c1 ), capital(c2 ), capital(c3 ), beach(b1 ) , hasAct(f1 , act1 ) , hasAct(f2 , act1 ) , hasAct(c1 , act2 ) , hasAct(c2 , act4 ) , hasAct(c3 , act5 )} chase(D, Σ) = D ∪ {dest(f1 ), Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 7 /29
  • 10. Outline Motivation Preliminaries Our model Datalog+/– The Chase The Chase D ∪ Σ |= Q iff chase(D, Σ) |= Q. Example. Let O = (D, Σ) be an ontology describing travel activities: Σ = {farm(X ) → dest(X ), capital(A) → dest(A), beach(X ) → dest(X ), dest(X ) → ∃Y hasAct(X , Y )}; D = {farm(f1 ), farm(f2 ), capital(c1 ), capital(c2 ), capital(c3 ), beach(b1 ) , hasAct(f1 , act1 ) , hasAct(f2 , act1 ) , hasAct(c1 , act2 ) , hasAct(c2 , act4 ) , hasAct(c3 , act5 )} chase(D, Σ) = D ∪ {dest(f1 ), dest(f2 ), Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 7 /29
  • 11. Outline Motivation Preliminaries Our model Datalog+/– The Chase The Chase D ∪ Σ |= Q iff chase(D, Σ) |= Q. Example. Let O = (D, Σ) be an ontology describing travel activities: Σ = {farm(X ) → dest(X ), capital(A) → dest(A), beach(X ) → dest(X ), dest(X ) → ∃Y hasAct(X , Y )}; D = {farm(f1 ), farm(f2 ), capital(c1 ), capital(c2 ), capital(c3 ), beach(b1 ) , hasAct(f1 , act1 ) , hasAct(f2 , act1 ) , hasAct(c1 , act2 ) , hasAct(c2 , act4 ) , hasAct(c3 , act5 )} chase(D, Σ) = D ∪ {dest(f1 ), dest(f2 ), dest(c1 ), Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 7 /29
  • 12. Outline Motivation Preliminaries Our model Datalog+/– The Chase The Chase D ∪ Σ |= Q iff chase(D, Σ) |= Q. Example. Let O = (D, Σ) be an ontology describing travel activities: Σ = {farm(X ) → dest(X ), capital(A) → dest(A), beach(X ) → dest(X ), dest(X ) → ∃Y hasAct(X , Y )}; D = {farm(f1 ), farm(f2 ), capital(c1 ), capital(c2 ), capital(c3 ), beach(b1 ) , hasAct(f1 , act1 ) , hasAct(f2 , act1 ) , hasAct(c1 , act2 ) , hasAct(c2 , act4 ) , hasAct(c3 , act5 )} chase(D, Σ) = D ∪ {dest(f1 ), dest(f2 ), dest(c1 ), dest(c2 ), Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 7 /29
  • 13. Outline Motivation Preliminaries Our model Datalog+/– The Chase The Chase D ∪ Σ |= Q iff chase(D, Σ) |= Q. Example. Let O = (D, Σ) be an ontology describing travel activities: Σ = {farm(X ) → dest(X ), capital(A) → dest(A), beach(X ) → dest(X ), dest(X ) → ∃Y hasAct(X , Y )}; D = {farm(f1 ), farm(f2 ), capital(c1 ), capital(c2 ), capital(c3 ), beach(b1 ) , hasAct(f1 , act1 ) , hasAct(f2 , act1 ) , hasAct(c1 , act2 ) , hasAct(c2 , act4 ) , hasAct(c3 , act5 )} chase(D, Σ) = D ∪ {dest(f1 ), dest(f2 ), dest(c1 ), dest(c2 ), dest(c3 ), Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 7 /29
  • 14. Outline Motivation Preliminaries Our model Datalog+/– The Chase The Chase D ∪ Σ |= Q iff chase(D, Σ) |= Q. Example. Let O = (D, Σ) be an ontology describing travel activities: Σ = {farm(X ) → dest(X ), capital(A) → dest(A), beach(X ) → dest(X ), dest(X ) → ∃Y hasAct(X , Y )}; D = {farm(f1 ), farm(f2 ), capital(c1 ), capital(c2 ), capital(c3 ), beach(b1 ) , hasAct(f1 , act1 ) , hasAct(f2 , act1 ) , hasAct(c1 , act2 ) , hasAct(c2 , act4 ) , hasAct(c3 , act5 )} chase(D, Σ) = D ∪ {dest(f1 ), dest(f2 ), dest(c1 ), dest(c2 ), dest(c3 ), dest(b1 ), Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 7 /29
  • 15. Outline Motivation Preliminaries Our model Datalog+/– The Chase The Chase D ∪ Σ |= Q iff chase(D, Σ) |= Q. Example. Let O = (D, Σ) be an ontology describing travel activities: Σ = {farm(X ) → dest(X ), capital(A) → dest(A), beach(X ) → dest(X ), dest(X ) → ∃Y hasAct(X , Y )}; D = {farm(f1 ), farm(f2 ), capital(c1 ), capital(c2 ), capital(c3 ), beach(b1 ) , hasAct(f1 , act1 ) , hasAct(f2 , act1 ) , hasAct(c1 , act2 ) , hasAct(c2 , act4 ) , hasAct(c3 , act5 )} chase(D, Σ) = D ∪ {dest(f1 ), dest(f2 ), dest(c1 ), dest(c2 ), dest(c3 ), dest(b1 ), hasAct(b1 , z1 ), ...} Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 7 /29
  • 16. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Group Preference Model A preference relation is a binary relation ⊆ HPref × HPref . A user preference model U induces a preference relation over a subset of HOnt , denoted U ; dest(b1) dest(c1) dest(c3) dest(f2) dest(c2) dest(f1) Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 8 /29
  • 17. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Group Preference Model Definition A group preference model U = (U1 , . . . , Un ) for n collection of n user preference models. u1 u2 dest(f1) dest(f1) dest(c3) dest(c2) dest(c1) dest(c1) Oana Tifrea-Marciuska dest(b1) dest(f2) dest(c3) dest(f2) dest(c2) dest(b1) 1 users is a u3 dest(b1) dest(c3) dest(c1) dest(f2) dest(c2) dest(f1) Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 9 /29
  • 18. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Probabilistic Model A preference relation is score-based if is defined as follows: a1 a2 iff score(a1 ) > score(a2 ). Model assigns a probability to each atom (using e.g. Markov logic and Bayesian networks). PrM dest(b1) 0.8 dest(c1) 0.75 dest(f2) dest(f1) Oana Tifrea-Marciuska dest(c2) 0.4 dest(c3) 0.3 0.6 0.34 Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 10 /29
  • 19. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Challenges of the given model 1/2 u1 u2 dest(f1) dest(f1) dest(c3) dest(c2) dest(c1) dest(c1) dest(b1) dest(f2) dest(c3) dest(f2) dest(c2) dest(b1) u3 dest(b1) dest(c1) dest(f2) PrM dest(c2) dest(f1) dest(b1) 0.8 dest(c2) 0.4 dest(c1) 0.75 dest(f2) dest(f1) dest(c3) dest(c3) 0.3 0.6 0.34 Challenge 1: user preference model and the probabilistic model in disagreement: preference merging operators Definition Let U be an SPO and M be a score-based preference relation. A preference merging operator ⊗( U , M ) yields a relation ∗ such that 1. ∗ is an SPO 2. if a1 U a2 and a1 Oana Tifrea-Marciuska M a2 , then a1 ∗ a2 . Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 11 /29
  • 20. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Challenges of the given model 2/2 u1 u2 dest(f1) dest(f1) dest(c3) dest(c2) dest(c1) dest(c1) dest(b1) dest(f2) dest(c3) dest(f2) dest(c2) dest(b1) u3 dest(b1) dest(c1) dest(f1) dest(c3) dest(f2) dest(c2) PrM dest(b1) 0.8 dest(c2) 0.4 dest(c1) 0.75 dest(f2) dest(f1) dest(c3) 0.3 0.6 0.34 Challenge 2: user preference models may be in disagreement with each other: preference aggregation operator Definition Let U = (U1 , . . . , Un ) be a group preference model, where every Ui is an SPO. A preference aggregation operator on U yields an SPO ∗ . Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 12 /29
  • 21. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries GPP-Datalog+/– ontology - our model Definition A GPP-Datalog+/– ontology has the form KB = (O, U, M, ⊗, ) O is a Datalog+/– ontology U = (U1 , . . . , Un ) is a group preference model with n 1 M is a probabilistic model ⊗ is a preference merging operator is the preference aggregation operator We say that KB is a guarded iff O is guarded. Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 13 /29
  • 22. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Merging operator Input: ( U ), score-based M over HOnt , t ∈ [0, 1]n (the influence of probabilistic model (0 - high)). Output: preference relation ∗ ⊆ HOnt × HOnt . 1. Initialise G as an empty graph 2. for every pair (a, b) ∈ U do 3. if (score(b) − score(a) > t) 4. add (b, a) edge to G 5. else 6. add (a, b) edge to G 7. Return G Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 14 /29
  • 23. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Merging operator 0.4 − 0.6 > 0.1 No =⇒ keep relation PrM dest(b1) 0.8 dest(c1) dest(c3) dest(f2) dest(b1) dest(c2) dest(c2) 0.4 dest(c1) 0.75 dest(f2) dest(f1) dest(f1) dest(c3) 0.3 0.6 dest(b1) dest(c1) dest(f1) 0.34 dest(c2) dest(c3) dest(f2) 0.75 − 0.6 > 0.1 Yes =⇒ inverse relation PrM dest(b1) 0.8 dest(c1) dest(c3) Oana Tifrea-Marciuska dest(f2) dest(c2) dest(b1) dest(c2) 0.4 dest(c1) 0.75 dest(f2) dest(f1) dest(f1) dest(c3) 0.3 0.6 dest(b1) dest(c1) dest(f1) 0.34 dest(c3) dest(c2) Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences dest(f2) slide 15 /29
  • 24. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Skyline and k-rank answer Let KB be a GPP-Datalog+/– ontology, Q(X) = q1 (X1 ) ∨ · · · ∨ qn (Xn ) be a DAQ. Then, a skyline answer to Q relative to ∗ = (⊗( U1 , M ), . . . , ⊗( Un , M )) is any θqi entailed by O such that no θ exists with O |= θ qj and θ qj ∗ θqi , where θ and θ are ground substitutions for the variables in Q(X). A k-rank answer to Q is a sequence S = θ1 , . . . θk built by subsequently appending the skyline answers to Q, removing these atoms from consideration, and repeating until either S = k or no more skyline answers to Q remain. dest(b1) dest(c1) dest(c3) dest(f2) dest(c2) dest(f1) Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 16 /29
  • 25. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Strategies to answer k-rank DAQ Collapse to single user 1. Create virtual user 2. Calculate k-rank from it Voting 1. Calculate k-rank for each of the users 2. Vote Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 17 /29
  • 26. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Collapse to single user Algorithm 1: AggPrefsCSU( M , U1 , . . . , Un , t) Input: SPOs ( U1 , . . . , Un ), score-based M over HOnt , and t = (t1 , . . . , tn ) ∈ [0, 1]n . Output: preference relation ∗ ⊆ HOnt × HOnt . 1. initialize G as an empty graph; 2. add as nodes in G all elements appearing in the pref. relations Ui ; 3. for every user i ∈ {1, . . . , n} do 4. currUserMG = graph obtained by merging Ui with M ; 5. for every edge (s, t) in currUserMG do 6. if there is no edge (s, t) in G then 7. add edge (s, t) to G and label it with 1; 8. if there is an edge (s, t) in G and it is labeled with n 1 then 9. increase the label of edge (s, t) in G by 1; 10. if there is an edge (t, s) in G and it is labeled with 1 then 11. remove edge (s, t) from G ; 12. if there is an edge (t, s) in G and it is labeled with n > 1 then 13. decrease the label of edge (t, s) in G by 1; 14. return inducedPrefRelation(removeCycles(transitiveClosure(G ))). Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 18 /29
  • 27. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Collapse to single user no relation dest(f2) dest(c2) dest(c1) dest(b1) dest(c1) dest(b1) dest(f1) dest(f1) dest(c3) dest(b1) dest(c1) dest(c3) dest(c2) u1 t=0 dest(c1) 1 dest(c2) u3 t = 0.19 t = 0.1 dest(b1) 3 1 dest(f1) Oana Tifrea-Marciuska u2 dest(f2) dest(c2) dest(f2) dest(c3) 2 dest(f1) 11 2 11 1 1 dest(f2) 2 1 dest(c3) Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences 1 slide 19 /29
  • 28. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Collapse to single user relation with weight 1 dest(f2) dest(c2) dest(c1) dest(b1) dest(c1) dest(b1) dest(f1) dest(f1) dest(c3) dest(b1) dest(c1) dest(c3) dest(c2) u1 t=0 dest(c1) 1 dest(c2) u3 t = 0.19 t = 0.1 dest(b1) 3 1 dest(f1) Oana Tifrea-Marciuska u2 dest(f2) dest(c2) dest(f2) dest(c3) 2 dest(f1) 11 2 11 1 1 dest(f2) 2 1 dest(c3) Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences 1 slide 20 /29
  • 29. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Collapse to single user relation with weight 2 dest(f2) dest(c2) dest(c1) dest(b1) dest(c1) dest(b1) dest(f1) dest(f1) dest(c3) dest(b1) dest(c1) dest(c3) dest(c2) u1 t=0 dest(c1) 1 dest(c2) u3 t = 0.19 t = 0.1 dest(b1) 3 1 dest(f1) Oana Tifrea-Marciuska u2 dest(f2) dest(c2) dest(f2) dest(c3) 2 dest(f1) 11 2 11 1 1 dest(f2) 2 1 dest(c3) Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences 1 slide 21 /29
  • 30. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Collapse to single user relation with weight 3 dest(f2) dest(c2) dest(c1) dest(b1) dest(c1) dest(b1) dest(f1) dest(f1) dest(c3) dest(b1) dest(c1) dest(c3) dest(c2) u1 t=0 dest(c1) 1 dest(c2) u3 t = 0.19 t = 0.1 dest(b1) 3 1 dest(f1) Oana Tifrea-Marciuska u2 dest(f2) dest(c2) dest(f2) dest(c3) 2 dest(f1) 11 2 11 1 1 dest(f2) 2 1 dest(c3) Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences 1 slide 22 /29
  • 31. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Collapse to single user: k-rank Q = dest(X ), (t1 , t2 , t3 ) = (0, 0.1, 0.19), k = 1 k-rank answer to Q dest(b1 ) . dest(b1) 1 dest(c1) 2 1 dest(f1) 2 1 1 1 dest(c2) 1 1 2 1 dest(c3) Oana Tifrea-Marciuska 3 1 dest(f2) 1 Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 23 /29
  • 32. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Collapse to single user: k-rank Q = dest(X ), (t1 , t2 , t3 ) = (0, 0.1, 0.19), k = 2 k-rank answer to Q dest(b1 ) , dest(c1 ) . dest(c1) 2 dest(f1) 1 1 1 dest(c2) 1 1 2 1 dest(c3) Oana Tifrea-Marciuska dest(f2) 1 Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 23 /29
  • 33. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Collapse to single user: k-rank Q = dest(X ), (t1 , t2 , t3 ) = (0, 0.1, 0.19), k = 3 k-rank answer to Q dest(b1 ) , dest(c1 ) , dest(f1 ) . dest(f1) 1 1 dest(c2) 1 dest(c3) Oana Tifrea-Marciuska dest(f2) 1 1 Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 23 /29
  • 34. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Collapse to single user: k-rank Q = dest(X ), (t1 , t2 , t3 ) = (0, 0.1, 0.19), k = 4 k-rank answer to Q dest(b1 ) , dest(c1 ) , dest(f1 ) , dest(f2 ) . dest(c2) dest(f2) 1 dest(c3) Oana Tifrea-Marciuska 1 Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 23 /29
  • 35. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Collapse to single user: k-rank Q = dest(X ), (t1 , t2 , t3 ) = (0, 0.1, 0.19), k = 5 k-rank answer to Q dest(b1 ) , dest(c1 ) , dest(f1 ) , dest(f2 ) , dest(c2 ) dest(b1 ) , dest(c1 ) , dest(f1 ) , dest(f2 ) , dest(c3 ) or . dest(c2) dest(c3) Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 23 /29
  • 36. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Collapse to single user (Theorem) Theorem Let KB = (O, U, M, ⊗, ) be a GPP-Datalog+/– ontology, Q be a DAQ, and k 0. If O is a guarded Datalog+/– ontology and the removeCycles subroutine does not remove any unnecessary edges, then Algorithm k-Rank-CSU correctly computes k-rank answers to Q Complexity: O(poly(|D|) · S + C ) time in the data complexity, where S is the cost of computing score(a) = PrKB (a) for any atom a such that O |= a, and C is the cost of removeCycles. Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 24 /29
  • 37. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Voting - Plurality voting Q = dest(X ), k = 2, and (t1 , t2 , t3 ) = (0, 0.1, 0.19). u1 u2 u3 Total dest(f2) dest(c1) dest(f2 ) 1 0 1 2 dest(c2) dest(c1 ) 1 1 0 2 dest(b1) dest(c2 ) 1 0 0 1 dest(c1) dest(b1 ) 1 1 1 3 dest(b1) dest(f1) dest(c3) dest(c2) dest(f1) u1 t=0 dest(c3) u2 dest(b1) dest(c3 ) 0 0 1 1 dest(c3) dest(c1) dest(f2) dest(c2) dest(f1) t = 0.1 u3 k-rank answer to Q using plurality voting is dest(b1 ), dest(c1 ) dest(b1 ), dest(f2 ) . Oana Tifrea-Marciuska dest(f2) Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences t = 0.19 or slide 25 /29
  • 38. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Voting - Least misery Q = dest(X ), k = 2, and (t1 , t2 , t3 ) = (0, 0.1, 0.19). k-rank answer to Q using least misery voting is dest(b1 ), dest(c1 ) . Eliminate dest(f2 ), dest(c2 ), dest(c3 ) since they are least preferred. u1 u2 u3 Total dest(f2) dest(c1) dest(c2) dest(b1) dest(b1 ) 1 1 1 3 dest(c1 ) 1 1 0 2 dest(c1) dest(b1) dest(f1) dest(c3) u1 Oana Tifrea-Marciuska dest(c2) dest(f1) t=0 dest(c3) u2 dest(b1) dest(c3) dest(c1) dest(f2) dest(f2) dest(c2) dest(f1) t = 0.1 Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences u3 t = 0.19 slide 26 /29
  • 39. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Summary Extension of Datalog+/– that allows for dealing with both partially ordered preferences of groups of users and probabilistic uncertainty. We have focused on answering DAQs (disjunctions of atomic queries) k-rank queries in this context. Presented different operators to compute group preferences as a merging and an aggregation of the preferences of single users with probability-based preferences and with each other, respectively. We have then provided algorithms to answer k-rank queries for DAQs under these group preferences. We have shown that, under certain reasonable conditions, such DAQ answering in Datalog+/– can be done in polynomial time in the data complexity. Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 27 /29
  • 40. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries Future work Implementing and testing the GPP-Datalog+/– framework. Explore which of the merging/aggregation operators is similar to human judgment and thus well-suited as a general default merging/aggregation operator for search and query answering in the Social Semantic Web. Oana Tifrea-Marciuska Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 28 /29
  • 41. Outline Motivation Preliminaries Our model Components Strategies to Answer k-rank Disjunctive Atomic Queries THANK YOU Questions Oana Tifrea-Marciuska ? oana.tifrea@cs.ox.ac.uk Query Answering in Probabilistic Datalog+/– Ontologies under Group Preferences slide 29 /29