Upload
ebert-kesler
View
105
Download
0
Embed Size (px)
Citation preview
Konzeptbasierte Konzeptbasierte Anfrageverarbeitung in Anfrageverarbeitung in
MediatorsystemenMediatorsystemen
Kai-Uwe Sattler Kai-Uwe Sattler
Ingolf Geist Ingolf Geist Rainer Rainer HabrechtHabrechtEike SchallehnEike Schallehn
Institut für Technische undInstitut für Technische undBetriebliche InformationssystemeBetriebliche InformationssystemeUniversität MagdeburgUniversität Magdeburg
wwwiti.cs.uni-magdeburg.de/iti_db/
BTW 2003, Leipzig, 26.-28.2.2003
Kai-Uwe Sattler 2
ÜberblickÜberblick
MotivationMotivation Konzeptbasiertes IntegrationsmodellKonzeptbasiertes Integrationsmodell AnfragemodellAnfragemodell Yacob-MediatorYacob-Mediator AnfrageverarbeitungAnfrageverarbeitung Zusammenfassung & AusblickZusammenfassung & Ausblick
Kai-Uwe Sattler 3
ProblemstellungProblemstellung Integration heterogener DatenquellenIntegration heterogener Datenquellen
Beispiel: kulturhistorische Datenbanken (Beispiel: kulturhistorische Datenbanken (www.lostart.dewww.lostart.de, , www.herkomstgezocht.nlwww.herkomstgezocht.nl, …), …)
CharakteristikaCharakteristika Potentiell große Anzahl von QuellenPotentiell große Anzahl von Quellen … … mit häufigen Änderungen (Quellen, Inhalte, mit häufigen Änderungen (Quellen, Inhalte,
…)…) … … und disjunkten oder überlappenden Domänenund disjunkten oder überlappenden Domänen
Einsatz von MediatorsystemenEinsatz von Mediatorsystemen Formulierung von Anfragen über globalem Formulierung von Anfragen über globalem
MediatorschemaMediatorschema Anfragezerlegung und ErgebniskompositionAnfragezerlegung und Ergebniskomposition
Kai-Uwe Sattler 4
MotivationMotivation In Szenarien mit schwach gekoppelten DomänenIn Szenarien mit schwach gekoppelten Domänen
HintergrundwissenHintergrundwissen zur Anfrageformulierung zur Anfrageformulierung Strukturelle Korrespondenzen nicht im MittelpunktStrukturelle Korrespondenzen nicht im Mittelpunkt
sondern semantische Korrespondenzen sondern semantische Korrespondenzen („(„a little less structure a little more semanticsa little less structure a little more semantics“)“)
etching xylography
graphics drawing painting
tablechair
fine artsfurniture
cultural assetmotif
still lifelandscapecoat of arms
mountains river/sea
flowers fruits
artistname
portrays
etching xylography
graphics drawing painting
tablechair
fine arts
furniturecultural asset
coat of arms
mountains
artist
name
portrays
... ...
Globales Domänen-modell
Quellsysteme mit lokalen Modellen
Kai-Uwe Sattler 5
Konzeptbasiertes Konzeptbasiertes IntegrationsmodellIntegrationsmodell
Repräsentation des Hintergrundwissens: Repräsentation des Hintergrundwissens: Vokabular, Konzepthierarchie, Ontologie, Vokabular, Konzepthierarchie, Ontologie, ……
OntologieOntologie als globales Schema als globales Schema Local as Local as ViewView Ontologie für gegebenen AnwendungsbereichOntologie für gegebenen Anwendungsbereich
Konzepte, Eigenschaften, BeziehungenKonzepte, Eigenschaften, Beziehungen Konzepte als begriffliche „Anker”Konzepte als begriffliche „Anker”
Korrespondenzen zwischen globalen Konzepten Korrespondenzen zwischen globalen Konzepten und lokaler Repräsentation: und lokaler Repräsentation:
„„Objekt Objekt xx in Quelle in Quelle yy ist Instanz von Konzept ist Instanz von Konzept cc””
Kai-Uwe Sattler 6
Integrationsmodell /2Integrationsmodell /2 KonzeptebeneKonzeptebene
Basis: RDF Schema (RDFS)Basis: RDF Schema (RDFS) Klassen, Properties, ConstraintsKlassen, Properties, Constraints
ErweiterungenErweiterungen KonzeptKonzept als RDFS-Klasse: Begriff, zu dem abfragbare als RDFS-Klasse: Begriff, zu dem abfragbare
Instanzen (Extension) in Quellsystemen vorliegen (Bsp.: Instanzen (Extension) in Quellsystemen vorliegen (Bsp.: „Gemälde“)„Gemälde“)
KategorieKategorie als RDFS-Klasse: Begriff für als RDFS-Klasse: Begriff für Attributausprägung in Quellsystemen (Bsp.: Motiv Attributausprägung in Quellsystemen (Bsp.: Motiv „Stillleben“)„Stillleben“)
DatenebeneDatenebene Objekte als XML-ElementeObjekte als XML-Elemente
Austausch Quelle ↔ MediatorAustausch Quelle ↔ Mediator Anfragen, ErgebnisrepräsentationAnfragen, Ergebnisrepräsentation
Kai-Uwe Sattler 7
KonzeptschemaKonzeptschema
conceptetching xylography
graphics drawing painting
tablechair
fine artsfurniture
cultural assetmotif
category
still lifelandscapecoat of arms
mountains river/sea
flowers fruits
artist
property
name
portrays
subClassOf
Kai-Uwe Sattler 8
AnfragemodellAnfragemodell Operationen auf Operationen auf KonzeptebeneKonzeptebene
Auswahl von Konzepten / KategorienAuswahl von Konzepten / Kategorien MengenoperationenMengenoperationen Traversierung von BeziehungenTraversierung von Beziehungen Schemaanfragen: Attribute eines KonzeptesSchemaanfragen: Attribute eines Konzeptes
Operationen auf Operationen auf DatenebeneDatenebene Selektionen, Verbunde, Vereinigung, …Selektionen, Verbunde, Vereinigung, …
ÜbergangÜbergang von Konzept- zur Datenebene von Konzept- zur Datenebene Ermittlung der Instanzen eines KonzeptsErmittlung der Instanzen eines Konzepts
Kai-Uwe Sattler 9
CQueryCQuery XQuery-basierte AnfragespracheXQuery-basierte Anfragesprache
FLWR-Ausdrücke, XML-KonstruktionFLWR-Ausdrücke, XML-Konstruktion Konzeptschema und Quelldaten als Konzeptschema und Quelldaten als virtuellesvirtuelles
XML-DokumentXML-Dokument ErweiterungenErweiterungen
Konzeptschema als Pseudoelement Konzeptschema als Pseudoelement conceptconcept(Bsp.: (Bsp.: FOR $c IN concept …FOR $c IN concept …))
Traversierung von Beziehungen als Traversierung von Beziehungen als Dokumentpfade (Bsp: Dokumentpfade (Bsp: subClassOfsubClassOf))
Inverse Traversierung (Bsp.: Inverse Traversierung (Bsp.: !subClassOf!subClassOf)) Transitive Hülle bzgl. einer Beziehung (Bsp.: Transitive Hülle bzgl. einer Beziehung (Bsp.: !!
subClassOf+subClassOf+)) Funktion Funktion extension()extension() liefert Instanz eines Konzepts liefert Instanz eines Konzepts
Kai-Uwe Sattler 10
CQuery: CQuery: AnfrageformulierungAnfrageformulierung
1.1. Auswahl von KonzeptenAuswahl von KonzeptenFORFOR $c $c ININ concept[name=´painting´]/* concept[name=´painting´]/*
2.2. Ermittlung der Extension(en)Ermittlung der Extension(en)LETLET $e := extension($c) $e := extension($c)
3.3. Filterung der DatenFilterung der DatenWHEREWHERE $e/artist ~= ´Gogh´ $e/artist ~= ´Gogh´
4.4. Verknüpfung bzw. ProjektionVerknüpfung bzw. ProjektionRETURNRETURN<painting><title>$e/name</title><painting><title>$e/name</title><artist>$e/artist</artist></painting><artist>$e/artist</artist></painting>
Kai-Uwe Sattler 11
CQuery: BeispieleCQuery: Beispiele
Kulturgüter außer Möbel mit BlumenKulturgüter außer Möbel mit BlumenFORFOR $c $c ININ concept[name=´cultural asset´]/* concept[name=´cultural asset´]/*
EXCEPTEXCEPT concept[name=´furniture´]/* concept[name=´furniture´]/*LETLET $e := extension($c), $p := $c/properties $e := extension($c), $p := $c/propertiesWHEREWHERE $e/$p ~= ´flowers´ $e/$p ~= ´flowers´RETURNRETURN <item> $e </item> <item> $e </item>
Gemälde mit StilllebenGemälde mit StilllebenFORFOR $c $c ININ concept[name=´painting´] concept[name=´painting´] LETLET $e := extension($c), $e := extension($c),
$m := $c/portrays[name=´still life´] $m := $c/portrays[name=´still life´]WHEREWHERE $e/portrays = $m $e/portrays = $mRETURNRETURN <item> $e </item> <item> $e </item>
Kai-Uwe Sattler 12
Yacob-MediatorYacob-Mediator MediatorsystemMediatorsystem
Implementierung von CQueryImplementierung von CQuery Datenmodell: XMLDatenmodell: XML Transformation über XSLTTransformation über XSLT
Integrationsmodell: RDF Schema + Integrationsmodell: RDF Schema + ErweiterungenErweiterungen KonzeptschemaKonzeptschema Abbildungsinformationen für QuellenAbbildungsinformationen für Quellen
Quellsysteme/Wrapper Quellsysteme/Wrapper XML als Austauschformat mit beliebiger DTDXML als Austauschformat mit beliebiger DTD XPath-Subset als AnfragespracheXPath-Subset als Anfragesprache Implementierung als Web ServicesImplementierung als Web Services
Kai-Uwe Sattler 13
Yacob: ArchitekturYacob: ArchitekturQuery Interface
Data Access
Web Service Client
Web Service
Cache-DB
RDQL
Jena APIRDF-DB
Xindice
Parser
Rewriter
Query Execution
XSLTProcessor
Web Service Web Service
Zugriffskomponente
Konzeptmodell-Komponente
PlanungskomponenteAusführungs-komponente
Transformations-komponente
SOAP/HTTP
Kai-Uwe Sattler 14
AnfrageverarbeitungAnfrageverarbeitungFORFOR $c $c ININ concept[name=´painting´]/* concept[name=´painting´]/*LETLET $e := extension($c) $e := extension($c)WHEREWHERE $e/artist ~= ´Gogh´ $e/artist ~= ´Gogh´RETURNRETURN <item> $e </item> <item> $e </item>
FORFOR $c $c ININ concept[name=´painting´]/* concept[name=´painting´]/*LETLET $e := extension($c) $e := extension($c)WHEREWHERE $e/artist ~= ´Gogh´ $e/artist ~= ´Gogh´RETURNRETURN <item> $e </item> <item> $e </item>
ConceptSel
Concepts
TransClosure
XPath
ExtensionalUnion
GetExtension GetExtension
InstanceSel InstanceSel
Quelle #1 Quelle #1
Kai-Uwe Sattler 15
Mapping von KonzeptenMapping von Konzepten
Konzept-Mapping:Konzept-Mapping: Lokales XML-Element als „Instanz“ eines Lokales XML-Element als „Instanz“ eines
globalen Konzeptesglobalen Konzeptes Property-Mapping:Property-Mapping:
Pfad zum lokalen Element als Repräsentation Pfad zum lokalen Element als Repräsentation eines globalen Propertieseines globalen Properties
Kategorie-Mapping:Kategorie-Mapping: Lokale Literale für globale KategorienLokale Literale für globale Kategorien
ermöglichen Ableitung der XSLT-ermöglichen Ableitung der XSLT-TransformationTransformation
Kai-Uwe Sattler 16
Mapping von Mapping von Konzepten /2Konzepten /2
painting
fine arts
cultural assetmotif
still life
artistname
portrays
www.lostart.de/einzelobjekttype=´Painting´
www.lostart.de/einzelobjekt/bezeich
www.lostart.deStilleben
XSLT-Stylesheet
Kai-Uwe Sattler 17
Anfrageverarbeitung /2Anfrageverarbeitung /2 Query-RewritingQuery-Rewriting
Algebraische OptimierungAlgebraische Optimierung Reduzierung der KonzeptmengenReduzierung der Konzeptmengen
Mehrere Konzepte aus einer Quelle Mehrere Konzepte aus einer Quelle disjunktive disjunktive VerknüpfungVerknüpfung
Behandlung von Konzepthierarchien aus einer QuelleBehandlung von Konzepthierarchien aus einer Quelle Anfrageübersetzung auf Basis der Konzept-MappingsAnfrageübersetzung auf Basis der Konzept-Mappings
Semantisches CachingSemantisches Caching Unterstützung interaktiver Formulierung von Unterstützung interaktiver Formulierung von
AnfragenAnfragen Zwischenspeichern von Anfrageergebnissen in lokaler XML-Zwischenspeichern von Anfrageergebnissen in lokaler XML-
DB und Assoziation mit KonzeptenDB und Assoziation mit Konzepten Indizierung und Auswahl der Cache-Einträge über XPath-Indizierung und Auswahl der Cache-Einträge über XPath-
AusdrückeAusdrücke
Kai-Uwe Sattler 18
BenutzerschnittstelleBenutzerschnittstelle
Kai-Uwe Sattler 19
Zusammenfassung & Zusammenfassung & AusblickAusblick
Repräsentation von Domänenwissen in Repräsentation von Domänenwissen in Mediatoren zurMediatoren zur Integration neuer QuellenIntegration neuer Quellen AnfrageformulierungAnfrageformulierung
Nutzung von Semantic Web-TechnologienNutzung von Semantic Web-Technologien RDF Schema als OntologiespracheRDF Schema als Ontologiesprache
Anfragesystem für CQueryAnfragesystem für CQuery Verbindung von Konzept- und InstanzanfragenVerbindung von Konzept- und Instanzanfragen
AusblickAusblick Einsatz mächtigerer Ontologiemodelle (OWL, Einsatz mächtigerer Ontologiemodelle (OWL,
DAML+OIL?)DAML+OIL?) Iterative AnfrageverfeinerungIterative Anfrageverfeinerung Semantisches CachingSemantisches Caching