query answering with description logic ontologies Meghyn Bienvenu ( - - PowerPoint PPT Presentation

query answering with description logic ontologies
SMART_READER_LITE
LIVE PREVIEW

query answering with description logic ontologies Meghyn Bienvenu ( - - PowerPoint PPT Presentation

query answering with description logic ontologies Meghyn Bienvenu ( CNRS & Universit de Montpellier ) Magdalena Ortiz ( Vienna University of Technology ) queries with negation or other forms of recursion t 2 ( t 1 t 2 vars or individuals)


slide-1
SLIDE 1

query answering with description logic

  • ntologies

Meghyn Bienvenu (CNRS & Université de Montpellier) Magdalena Ortiz (Vienna University of Technology)

slide-2
SLIDE 2

queries with negation or other forms of recursion

slide-3
SLIDE 3

queries with negation

Conjunctive query with safe negation (CQ¬s): ∙ like a CQ, but can also have negated atoms ∙ safety condition: every variable occurs in some positive atom ∙ example: find menus whose main course is not spicy ∃y Menu(x) ∧ hasMain(x, y) ∧ ¬Spicy(y) Conjunctive query with inequalities (CQ ) ∙ like a CQ, but can also have atoms t1 t2 (t1 t2 vars or individuals) ∙ example: find restaurant offering two menus having different dessert courses y1y2z1z2

  • ffers x y1

Menu y1 hasDessert y1 z1

  • ffers x y2

Menu y2 hasDessert y2 z2 z1 z2 ∙ example: find menus with at least three courses Note: can define UCQ ss and UCQ s in the obvious way

3/8

slide-4
SLIDE 4

queries with negation

Conjunctive query with safe negation (CQ¬s): ∙ like a CQ, but can also have negated atoms ∙ safety condition: every variable occurs in some positive atom ∙ example: find menus whose main course is not spicy ∃y Menu(x) ∧ hasMain(x, y) ∧ ¬Spicy(y) Conjunctive query with inequalities (CQ̸=) ∙ like a CQ, but can also have atoms t1 ̸= t2 (t1, t2 vars or individuals) ∙ example: find restaurant offering two menus having different dessert courses ∃y1y2z1z2

  • ffers(x, y1) ∧ Menu(y1) ∧ hasDessert(y1, z1)∧
  • ffers(x, y2) ∧ Menu(y2) ∧ hasDessert(y2, z2) ∧ z1 ̸= z2

∙ example: find menus with at least three courses Note: can define UCQ ss and UCQ s in the obvious way

3/8

slide-5
SLIDE 5

queries with negation

Conjunctive query with safe negation (CQ¬s): ∙ like a CQ, but can also have negated atoms ∙ safety condition: every variable occurs in some positive atom ∙ example: find menus whose main course is not spicy ∃y Menu(x) ∧ hasMain(x, y) ∧ ¬Spicy(y) Conjunctive query with inequalities (CQ̸=) ∙ like a CQ, but can also have atoms t1 ̸= t2 (t1, t2 vars or individuals) ∙ example: find restaurant offering two menus having different dessert courses ∃y1y2z1z2

  • ffers(x, y1) ∧ Menu(y1) ∧ hasDessert(y1, z1)∧
  • ffers(x, y2) ∧ Menu(y2) ∧ hasDessert(y2, z2) ∧ z1 ̸= z2

∙ example: find menus with at least three courses Note: can define UCQ¬ss and UCQ̸=s in the obvious way

3/8

slide-6
SLIDE 6

undecidability results for queries with negation

Adding negation leads to undecidability even in very restricted settings Theorem The following problems are undecidable: ∙ CQ¬s answering in DL-LiteR ∙ UCQ¬s answering in EL ∙ CQ̸= answering in DL-LiteR ∙ CQ̸= answering in EL

4/8

slide-7
SLIDE 7

an undecidable tiling problem

Unbounded tiling problem: (T, H, V, T0) ∙ T is a set of tile types ∙ V ⊆ T × T and H ⊆ T × T are the vertical and horizontal compatibility relations ∙ T0 ∈ T is the initial tile type We want to tile an N × N corridor ∙ T0 must be placed in bottom-left corner ∙ Neighboring tiles must respect V and H An unbounded tiling simulates a (non-det. ) Turing Machine

5/8

slide-8
SLIDE 8

undecidability of cqs with safe negation for lightweight dls

We only need the folowing TBox, to generate points of the grid: T = {Point ⊑ ∃h, Point ⊑ ∃v, ∃h− ⊑ Point, ∃v− ⊑ Point} Check for errors in the grid or tiling, using UCQ q with disjuncts:

∃x.Point(x) ∧ ¬T1(x) · · · ∧ ¬Tn(x) ∃x.Ti(x) ∧ Tj(x) i ̸= j, i, j ∈ {1, · · · , n} ∃x, y.Ti(x) ∧ h(x, y) ∧ ∧

(Ti,Tj)̸∈H

¬Tj(y) i ∈ {1, · · · , n} ∃x, y.Ti(x) ∧ v(x, y) ∧ ∧

(Ti,Tj)̸∈V

¬Tj(y) i ∈ {1, · · · , n} ∃x1, x2, y1, y2.h(x1, x2) ∧ v(x1, y1) ∧ h(y1, y2) ∧ ¬v(x2, y2)

T , {A(c)} ̸| = q iff (T, H, V, t0) has a solution

6/8

slide-9
SLIDE 9

undecidability results for queries with negation

Adding negation leads to undecidability even in very restricted settings Theorem The following problems are undecidable: ∙ CQ¬s answering in DL-LiteR ∙ UCQ¬s answering in EL ∙ CQ̸= answering in DL-LiteR ∙ CQ̸= answering in EL Possible solution: adopt alternative semantics (epistemic negation)

7/8

slide-10
SLIDE 10

undecidability results for queries with negation

Adding negation leads to undecidability even in very restricted settings Theorem The following problems are undecidable: ∙ CQ¬s answering in DL-LiteR ∙ UCQ¬s answering in EL ∙ CQ̸= answering in DL-LiteR ∙ CQ̸= answering in EL Possible solution: adopt alternative semantics (epistemic negation)

7/8

slide-11
SLIDE 11

undecidability results for recursive datalog queries

Significant interest in combining DLs with Datalog rules, already in the late 90s Unfortunately, this almost always leads to undecidability: Theorem Datalog query answering is undecidable in every DL that can express (directly or indirectly) A ⊑ ∃r.A In particular: undecidable in both DL-Lite and EL Possible solutions: ∙ use restricted classes of Datalog queries (e.g. path queries) ∙ DL-safe rules: can only apply rules to (named) individuals

8/8

slide-12
SLIDE 12

undecidability results for recursive datalog queries

Significant interest in combining DLs with Datalog rules, already in the late 90s Unfortunately, this almost always leads to undecidability: Theorem Datalog query answering is undecidable in every DL that can express (directly or indirectly) A ⊑ ∃r.A In particular: undecidable in both DL-Lite and EL Possible solutions: ∙ use restricted classes of Datalog queries (e.g. path queries) ∙ DL-safe rules: can only apply rules to (named) individuals

8/8