Beschreibungslogik Kapitel 7: ABoxen und Anfragebeantwortung

Werbung
Grundlagen
Datenbanktheorie
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
Grundlagen
Datenbanktheorie
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
Vorlesungsübersicht
Beschreibungslogik
Kapitel 7: ABoxen und Anfragebeantwortung
Kapitel 1: Einleitung
Kapitel 2: Grundlagen
Kapitel 3: Ausdrucksstärke und Modellkonstruktionen
Sommersemester 2017
Kapitel 4: Tableau-Algorithmen
Thomas Schneider
Kapitel 5: Komplexität
AG Theorie der künstlichen Intelligenz (TdKI)
Kapitel 6: Effiziente Beschreibungslogiken
Kapitel 7: ABoxen und Anfragebeantwortung
http://tinyurl.com/ss17-bl
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
1
Ziel des Kapitels
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
2
Ziel des Kapitels
TBoxen repräsentieren allgemeines, begriffliches Wissen.
Ziel des Kapitels
Um konkrete Situationen zu repräsentieren, braucht man Instanzdaten.
Einführen eines Formalismus für Instanzdaten (ABox)
Für medizinische Ontologien wie SNOMED z. B. Patientendaten:
Patient(p1 )
Patient(p2 )
Medikament(m)
Krankheit(k)
erhält(p1 , m)
erhält(p2 , m)
heilt(m, k)
hat(p1 , k)
Studium von Schlussfolgerungsproblemen mit Instanzdaten
(insb. verschiedene Varianten von Anfragebeantwortung)
Fokus: Anfragebeantw. mit Datenbanksystemen und Ontologien
(Query Rewriting)
Konzeptnamen Patient, Medikament etc. können in TBox definiert sein.
Beschreibungslogik SoSe 2017
§7 ABoxen und Anfragebeantwortung
3
Beschreibungslogik SoSe 2017
§7 ABoxen und Anfragebeantwortung
4
Grundlagen
Datenbanktheorie
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
Grundlagen
Kapitel 7: ABoxen und Anfragebeantwortung
Datenbanktheorie
Konjunktive Anfragen & TBoxen
Query Rewriting
Kapitel 7: Effiziente Beschreibungslogiken
1
Grundlagen
1
Grundlagen
2
Etwas Datenbanktheorie
2
Etwas Datenbanktheorie
3
Konjunktive Anfragen & Beschreibungslogik-TBoxen
3
Konjunktive Anfragen & Beschreibungslogik-TBoxen
4
Query Rewriting
4
Query Rewriting
5
Konjunktive Anfragen mit Ungleichheit (?)
5
Konjunktive Anfragen mit Ungleichheit (?)
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
5
ABoxen: Syntax
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
6
ABoxen: Semantik
Wir reservieren eine unendliche Menge von Individuen a, b, . . .
Definition 7.2 (ABoxen, Semantik)
Diese entsprechen Konstanten im Sinne der Prädikatenlogik.
Interpretation I
erfüllt A(a), wenn a 2 AI ;
Definition 7.1 (ABoxen, Syntax)
erfüllt r (a, b), wenn (a, b) 2 r I .
Eine Konzeptassertion hat die Form A(a), A Konzeptname.
I ist Modell von A, wenn I alle Assertionen in A erfüllt.
Eine Rollenassertion hat die Form r (a, b), r Rollenname.
T 7.1 Forts.
Eine ABox ist eine endliche Menge von (Konzept- und
Rollen-)assertionen.
Beachte: Modell I darf zusätzlich Assertionen wahr machen,
die in A nicht vorkommen.
T 7.1
Das in ABoxen repräsentierte Wissen ist also unvollständiges Wissen.
Ind(A) bezeichnet die Menge der in A verwendeten Individuen.
Beschreibungslogik SoSe 2017
Ungleichheit (?)
§7 ABoxen und Anfragebeantwortung
7
Beschreibungslogik SoSe 2017
§7 ABoxen und Anfragebeantwortung
8
Grundlagen
Datenbanktheorie
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
Grundlagen
Wissensbasen
Query Rewriting
Ungleichheit (?)
Definition 7.4 (Konsistenz, Instanz)
Sei K Wissensbasis, A(a) Konzeptassertion. Dann ist
K konsistent, wenn K Modell hat;
Definition 7.3 (Wissensbasis)
a eine Instanz von A bzgl. K,
wenn jedes Modell von K auch A(a) erfüllt.
Wissensbasis (WB) K = (T , A) besteht aus TBox T und ABox A.
Interpretation I ist Modell von K, wenn I Modell von T und von A.
Wir schreiben dann K |= A(a).
In vielen Anwendungen haben T und A unterschiedlichen Status:
Instanzproblem:
Gegeben K und A(a), entscheide ob K |= A(a).
A ändert sich häufig (wie Datenbank).
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
T 7.2
Konsistenzproblem:
Gegeben K, entscheide ob K konsistent ist.
T wird einmal erstellt;
ändert sich danach üblicherweise nicht mehr.
Query Rewriting
Ungleichheit (?)
9
Reduktionen
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
Query Rewriting
10
Ungleichheit (?)
Anfragebeantwortung
Konsistenz- und (Nicht-)Instanzproblem sind wechselseitig
polynomiell reduzierbar:
Viele Anwendungen verwenden ABoxen wie (semantische)
Datenbanken.
Lemma 7.5
1 K ist konsistent gdw. K 6|= A(a), A neuer Konzeptname.
2
Konjunktive Anfragen & TBoxen
Grundlegende Schlussfolgerungsprobleme
ABox und TBox fasst man manchmal zu einer Wissensbasis
zusammen:
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
Datenbanktheorie
Verschiedene Anfragesprachen möglich:
(T , A) |= A(a) gdw. (T [ {A ⌘ ¬A}, A [ {A(a)})
inkonsistent.
Instanzanfrage:
gegeben K und A, ermittle alle a mit K |= A(a).
T 7.3
Konjunktive Anfragen:
mächtigere Anfragesprache, Definition später
Konzept-Erfüllbarkeit ist polynomiell reduzierbar auf Konsistenz:
Lemma 7.6
A erfüllbar bzgl. T gdw. (T , {A(a)}) konsistent.
Anfragebeantwortung ist ein Berechnungsproblem,
kein Entscheidungsproblem!
T 7.2 Forts.
Intuitiv: Erfüllbarkeit entspricht genau WB-Konsistenz mit ABoxen
der Form {A(a)}.
Beschreibungslogik SoSe 2017
§7 ABoxen und Anfragebeantwortung
11
Beschreibungslogik SoSe 2017
§7 ABoxen und Anfragebeantwortung
12
Grundlagen
Datenbanktheorie
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
Instanzanfragen in ALC
Grundlagen
Datenbanktheorie
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
Komplexität
Beantworten einer Instanzanfrage A zur Wissensbasis K = (T , A):
Mit wenigen Ausnahmen:
Antworten berechenbar durch mehrfaches Entscheiden des
Instanzproblems:
Konsistenzproblem hat dieselbe Komplexität wie Erfüllbarkeit.
Für ALC, ALCI also EXPTIME-vollständig.
Überprüfe, ob K |= A(a) für alle Individuen a in A.
Instanzproblem kann auf Konsistenzproblem reduziert werden.
Konjunktive Anfragen führen zu noch höheren Komplexitäten:
in ALC immer noch EXPTIME-vollständig
Zur Beantwortung von Instanzanfragen ist es also im Prinzip
ausreichend, Konsistenz von Wissensbasen entscheiden zu können.
in ALCI 2EXPTIME-vollständig
In der Praxis ist das allerdings nicht sehr effizient.
Fragen:
Mögliche Algorithmen für Konsistenz:
Wie kann effiziente Anfragebeantwortung realisiert werden?
Erweiterung von ALC-Elim (bzw. ALC-Worlds, falls T = ;)
Kann man relationale Datenbanksysteme (SQL-Datenbanken)
einsetzen?
Erweiterung von Tableau-Algorithmen
Reduktion auf Konzept-Erfüllbarkeit bzgl. T (Precompletion)
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
Query Rewriting
13
Ungleichheit (?)
Kapitel 7: Effiziente Beschreibungslogiken
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
Query Rewriting
14
Ungleichheit (?)
Relationale Datenbanken
Zur Erinnerung:
Relationales Schema ist Menge von Tabellennamen mit
Stelligkeit.
1
Grundlagen
2
Etwas Datenbanktheorie
3
Konjunktive Anfragen & Beschreibungslogik-TBoxen
4
Query Rewriting
5
Konjunktive Anfragen mit Ungleichheit (?)
Konkrete Datenbankinstanz füllt die Tabellen mit Inhalten.
Anfragen sind in SQL formuliert.
Wir betrachten relationale Datenbanken, in denen alle Tabellen nur
eine oder zwei Spalten haben.
Einspaltige Tabellen entsprechen Konzeptnamen;
zweispaltige Tabellen entsprechen Rollennamen.
Datenbankinstanz entspricht dann Interpretation (nicht ABox):
Datenbanken werden als vollständig behandelt (Semantik ¬).
T 7.4
Beschreibungslogik SoSe 2017
§7 ABoxen und Anfragebeantwortung
15
Beschreibungslogik SoSe 2017
§7 ABoxen und Anfragebeantwortung
16
Grundlagen
Datenbanktheorie
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
ABoxen versus Datenbanken
Grundlagen
Datenbanktheorie
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
Verschiedene wichtige Anfragesprachen
SQL = relationale Algebra = relationales Kalkül (Logik erster Stufe)
(Un)vollständigkeit hat weitreichende Konsequenzen:
Nützliche und weit verbreitete Anfragesprache.
Führt im Zusammenhang mit unvollständigen Daten und
TBoxen leider sofort zu Unentscheidbarkeit.
Anfragebeantwortung in relationalen Datenbanken
entspricht dem Model-Checking-Problem:
Datenbank = Modell
select-from-where-Anfragen = select-project-join-Anfragen =
konjunktive Anfragen
Anfrage = logische Formel
Wichtiges Fragment von SQL, keine Negation, keine Disjunktion
Anfragebeantwortung in Beschreibungslogik
entspricht logischer Folgerbarkeit:
In der Praxis sind > 90 % aller SQL-Anfragen von dieser Art.
KB = logische Theorie
Datalog
Anfrage = logische Formel
Regelbasierte Anfragesprache,
Aussdrucksstärke orthogonal zu SQL
Letzteres ist in der Regel ein wesentlich schwierigeres Problem.
Erlaubt Rekursion, aber keine Negation
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
Query Rewriting
17
Ungleichheit (?)
Konjunktive Anfragen: Syntax
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
Query Rewriting
18
Ungleichheit (?)
CQs: Notation
Von nun an sei V eine Menge von Variablen.
Definition 7.7 (Konjunktive Anfrage, CQ)
Wir schreiben:
Ein Konzeptatom hat die Form A(x ), A Konzeptname, x 2 V.
Ein Rollenatom hat die Form r (x , y ), r Rollenname, x , y 2 V.
x, y , z für Variablen
Eine konjunktive Anfrage (CQ) hat die Form ÷y Ï(x, y ) , wobei
x, y , z für Tupel von Variablen
y = y0 · · · ym die quantifizierten Variablen sind;
Ï(x, y ) für Konjunktionen von Atomen über Variablen x [ y
x = x0 · · · xn die Antwortvariablen sind;
q(x) für konjunktive Anfragen mit Antwortvariablen x
Ï(x , y ) Konjunktion von Konzept- und Rollenatomen über
x [ y ist.
T 7.5
(„CQ“ steht für „conjunctive query“.)
Beschreibungslogik SoSe 2017
§7 ABoxen und Anfragebeantwortung
19
Beschreibungslogik SoSe 2017
§7 ABoxen und Anfragebeantwortung
20
Grundlagen
Datenbanktheorie
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
CQs: Semantik
Konjunktive Anfragen & TBoxen
Query Rewriting
Ungleichheit (?)
Boolesche konjunktive Anfrage: CQ q ohne Antwortvariablen
Sei I Interpretation und q(x ) = 9y Ï(x , y ) mit x = x1 · · · xn .
Wir schreiben q æ I , wenn es Homomorphismus von q
nach Interpretation I gibt.
Ein Homomorphismus von q(x) nach I ist eine Abbildung
h : x [ y ! I , so dass:
h(x ) 2
Datenbanktheorie
Boolesche CQs
Definition 7.8 (Homomorphismus, Antwort bzgl. Interpretation)
AI
Grundlagen
Boolesche CQ q liefert für jede Interpretation I entweder
für alle Konzeptatome A(x ) in Ï
(h(x ), h(y )) 2
rI
keine Antwort (wenn q 6! I);
für alle Rollenatome r (x , y ) in Ï
wir schreiben dann I ”|= q , sagen „I macht q falsch“;
oder das leere Tupel () als einzige Antwort (wenn q ! I);
Eine Antwort auf q(x) in I ist ein Tupel a = a1 · · ·an von Elementen,
so dass es einen Homomorphismus h von q(x ) nach I gibt
mit h(xi ) = ai für 1  i  n.
wir schreiben dann I |= q , sagen „I macht q wahr“.
Bei Komplexitätsanalysen betrachten wir meist Boolesche Anfragen.
ans(q, I) bezeichnet die Menge aller Antworten auf q(x ) in I.
Die Ergebnisse übertragen sich im Prinzip auf Anfragen mit
Antwortvariablen.
T 7.6
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
Query Rewriting
21
Ungleichheit (?)
Datenkomplexität
Beschreibungslogik SoSe 2017
Grundlagen
Datenbanktheorie
§7 ABoxen und Anfragebeantwortung
Konjunktive Anfragen & TBoxen
Query Rewriting
22
Ungleichheit (?)
Kapitel 7: Effiziente Beschreibungslogiken
In typischen Datenbank-Anwendungen sind die Daten extrem groß,
Anfragen jedoch verhältnismäßig klein.
Datenkomplexität: Die Anfrage wird als fest angenommen, hat
daher konstante Größe. Die Daten sind also die einzige Eingabe.
1
Grundlagen
Im Gegensatz dazu kombinierte Komplexität:
Daten und Anfrage werden als Eingabe angesehen.
2
Etwas Datenbanktheorie
3
Konjunktive Anfragen & Beschreibungslogik-TBoxen
4
Query Rewriting
5
Konjunktive Anfragen mit Ungleichheit (?)
Einige beispielhafte Komplexitäten:
Datenkomplexität
kombinierte Kompl.
CQ
in AC0
NP-vollständig
SQL
in AC0
PSPACE-vollständig
Datalog
P-vollständig
EXPTIME-vollständig
Datenkomplexität bildet praktische Beobachtungen deutlich
realistischer ab!
Beschreibungslogik SoSe 2017
§7 ABoxen und Anfragebeantwortung
23
Beschreibungslogik SoSe 2017
§7 ABoxen und Anfragebeantwortung
24
Herunterladen