Konzeptbasierte Anfrageverarbeitung in Mediatorsystemen BTW 2003, Leipzig, 26.-28.2.2003 Konzeptbasierte Anfrageverarbeitung in Mediatorsystemen Kai-Uwe Sattler Ingolf Geist Rainer Habrecht Eike Schallehn Institut für Technische und Betriebliche Informationssysteme Universität Magdeburg wwwiti.cs.uni-magdeburg.de/iti_db/
Überblick Motivation Konzeptbasiertes Integrationsmodell Anfragemodell Yacob-Mediator Anfrageverarbeitung Zusammenfassung & Ausblick Kai-Uwe Sattler
Problemstellung Integration heterogener Datenquellen Charakteristika Beispiel: kulturhistorische Datenbanken (www.lostart.de, www.herkomstgezocht.nl, …) Charakteristika Potentiell große Anzahl von Quellen … mit häufigen Änderungen (Quellen, Inhalte, …) … und disjunkten oder überlappenden Domänen Einsatz von Mediatorsystemen Formulierung von Anfragen über globalem Mediatorschema Anfragezerlegung und Ergebniskomposition Kai-Uwe Sattler
Motivation In Szenarien mit schwach gekoppelten Domänen Hintergrundwissen zur Anfrageformulierung Strukturelle Korrespondenzen nicht im Mittelpunkt sondern semantische Korrespondenzen („a little less structure a little more semantics“) Globales Domänen-modell etching xylography graphics drawing painting table chair fine arts furniture cultural asset motif still life landscape coat of arms mountains river/sea flowers fruits artist name portrays Quellsysteme mit lokalen Modellen ... ... Kai-Uwe Sattler
Konzeptbasiertes Integrationsmodell Repräsentation des Hintergrundwissens: Vokabular, Konzepthierarchie, Ontologie, … Ontologie als globales Schema Local as View Ontologie für gegebenen Anwendungsbereich Konzepte, Eigenschaften, Beziehungen Konzepte als begriffliche „Anker” Korrespondenzen zwischen globalen Konzepten und lokaler Repräsentation: „Objekt x in Quelle y ist Instanz von Konzept c” Kai-Uwe Sattler
Integrationsmodell /2 Konzeptebene Datenebene Basis: RDF Schema (RDFS) Klassen, Properties, Constraints Erweiterungen Konzept als RDFS-Klasse: Begriff, zu dem abfragbare Instanzen (Extension) in Quellsystemen vorliegen (Bsp.: „Gemälde“) Kategorie als RDFS-Klasse: Begriff für Attributausprägung in Quellsystemen (Bsp.: Motiv „Stillleben“) Datenebene Objekte als XML-Elemente Austausch Quelle ↔ Mediator Anfragen, Ergebnisrepräsentation Kai-Uwe Sattler
Konzeptschema cultural asset artist name motif portrays furniture fine arts coat of arms landscape still life mountains river/sea chair table flowers fruits graphics drawing painting etching xylography concept property category subClassOf Kai-Uwe Sattler
Anfragemodell Operationen auf Konzeptebene Operationen auf Datenebene Auswahl von Konzepten / Kategorien Mengenoperationen Traversierung von Beziehungen Schemaanfragen: Attribute eines Konzeptes Operationen auf Datenebene Selektionen, Verbunde, Vereinigung, … Übergang von Konzept- zur Datenebene Ermittlung der Instanzen eines Konzepts Kai-Uwe Sattler
CQuery XQuery-basierte Anfragesprache Erweiterungen FLWR-Ausdrücke, XML-Konstruktion Konzeptschema und Quelldaten als virtuelles XML-Dokument Erweiterungen Konzeptschema als Pseudoelement concept (Bsp.: FOR $c IN concept …) Traversierung von Beziehungen als Dokumentpfade (Bsp: subClassOf) Inverse Traversierung (Bsp.: !subClassOf) Transitive Hülle bzgl. einer Beziehung (Bsp.: !subClassOf+) Funktion extension() liefert Instanz eines Konzepts Kai-Uwe Sattler
CQuery: Anfrageformulierung Auswahl von Konzepten FOR $c IN concept[name=´painting´]/* Ermittlung der Extension(en) LET $e := extension($c) Filterung der Daten WHERE $e/artist ~= ´Gogh´ Verknüpfung bzw. Projektion RETURN <painting><title>$e/name</title> <artist>$e/artist</artist></painting> Kai-Uwe Sattler
CQuery: Beispiele Kulturgüter außer Möbel mit Blumen FOR $c IN concept[name=´cultural asset´]/* EXCEPT concept[name=´furniture´]/* LET $e := extension($c), $p := $c/properties WHERE $e/$p ~= ´flowers´ RETURN <item> $e </item> Gemälde mit Stillleben FOR $c IN concept[name=´painting´] LET $e := extension($c), $m := $c/portrays[name=´still life´] WHERE $e/portrays = $m RETURN <item> $e </item> Kai-Uwe Sattler
Yacob-Mediator Mediatorsystem Implementierung von CQuery Datenmodell: XML Transformation über XSLT Integrationsmodell: RDF Schema + Erweiterungen Konzeptschema Abbildungsinformationen für Quellen Quellsysteme/Wrapper XML als Austauschformat mit beliebiger DTD XPath-Subset als Anfragesprache Implementierung als Web Services Kai-Uwe Sattler
Konzeptmodell-Komponente Yacob: Architektur Query Interface Ausführungs- komponente Planungskomponente Transformations- komponente Parser RDF-DB Rewriter Jena API XSLT Processor RDQL Query Execution Konzeptmodell-Komponente Xindice Data Access Cache-DB Web Service Client Zugriffskomponente SOAP/HTTP Web Service Web Service Web Service Kai-Uwe Sattler
Anfrageverarbeitung FOR $c IN concept[name=´painting´]/* LET $e := extension($c) WHERE $e/artist ~= ´Gogh´ RETURN <item> $e </item> ConceptSel Concepts TransClosure XPath ExtensionalUnion GetExtension InstanceSel Quelle #1 Kai-Uwe Sattler
Mapping von Konzepten Konzept-Mapping: Property-Mapping: Lokales XML-Element als „Instanz“ eines globalen Konzeptes Property-Mapping: Pfad zum lokalen Element als Repräsentation eines globalen Properties Kategorie-Mapping: Lokale Literale für globale Kategorien ermöglichen Ableitung der XSLT-Transformation Kai-Uwe Sattler
Mapping von Konzepten /2 cultural asset artist name motif portrays www.lostart.de /einzelobjekt type=´Painting´ www.lostart.de /einzelobjekt/bezeich www.lostart.de Stilleben fine arts still life painting XSLT- Stylesheet Kai-Uwe Sattler
Anfrageverarbeitung /2 Query-Rewriting Algebraische Optimierung Reduzierung der Konzeptmengen Mehrere Konzepte aus einer Quelle disjunktive Verknüpfung Behandlung von Konzepthierarchien aus einer Quelle Anfrageübersetzung auf Basis der Konzept-Mappings Semantisches Caching Unterstützung interaktiver Formulierung von Anfragen Zwischenspeichern von Anfrageergebnissen in lokaler XML-DB und Assoziation mit Konzepten Indizierung und Auswahl der Cache-Einträge über XPath-Ausdrücke Kai-Uwe Sattler
Benutzerschnittstelle Kai-Uwe Sattler
Zusammenfassung & Ausblick Repräsentation von Domänenwissen in Mediatoren zur Integration neuer Quellen Anfrageformulierung Nutzung von Semantic Web-Technologien RDF Schema als Ontologiesprache Anfragesystem für CQuery Verbindung von Konzept- und Instanzanfragen Ausblick Einsatz mächtigerer Ontologiemodelle (OWL, DAML+OIL?) Iterative Anfrageverfeinerung Semantisches Caching Kai-Uwe Sattler