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