Strukturanalyse
- gegenseitig verneinen,
- Schnittmengen bilden,
- Vereinigungen (Oberbegriff), aber auch
- Disjunktionen
- ein Term unterschiedliche Konzepte beschreiben
- ebenso verschiedene Terme beschreiben unterschiedliche Konzepte
- gleiche Terme unterschiedliche Konzepte beschreiben
- verschiedene Modellierungsparadigmen gelten
- verschiedene Modellierungskonventionen gelten
- ein abweichender Granularitätslevel auftreten
- verschiedene Abdeckung oder
- unterschiedliche Standpunkte vertreten werden.
- dem uniquen Identifier des gegebenen Mapping-Elements <var>id</var>
- e und e', den Entitätsklassen (also z.B., XML-Elemente, Klassen)
- Rals Relation zwischen e und e' (z.B. Gleichheit , Generalisierung , Disjunktion)
- n als Vertrauensmessung in einer mathematischen Struktur (typischerweise zwischen [0,1])
- 1.Merkmalskonstruktion
In diesem Schritt werden die Merkmale einer Entität ausgewählt, welche sie treffend beschreiben. Dies kann ein lexikalischer Eintrag einer Entität sein, aber auch eine intensionale Struktureigenschaft wie die is-a Beziehung.Desweiteren werden extensionale Beschreibungen genutzt
- 2.Suchraumbestimmung
Zur Ableitung von Abbildungen in Strukturen wird ein Suchraum von Kandidaten aufgestellt. Ähnlich einer Blockingmethode stellt diese sinnvolle Kandidaten für einen Vergleich auf und sortiert alle übrigen somit aus.
- 3.Ähnlichkeitsberechnung
Hier werden die im Kapitel Datenharmonisierung vorgestellten Methoden, ebenso wie Ähnlichkeitsfunktionen für Einzelobjekte oder Objektmengen genutzt, um die Ähnlichkeit zweier Entitäten zu bestimmen.
- 4.Ähnlichkeitsaufsummierung
Im Allgemeinen werden dabei mehrere Ähnlichkeitswerte für ein Entitätenpaar errechnet, beispielsweise auf lexikalische Einträge oder Ähnlichkeit der Relationen zu anderen Entitäten. Es entspricht der in Kapitel Klassifikation näher vorgestellten Klassifikation.
- 5.Interpretation
Die Aufsummierten Ähnlichkeitswerte werden nun zur Abbildung der Entitäten aufeinander genutzt. Möglichkeiten dafür sind ein Schwellenwert, eine Mischung aus Struktur und Ähnlichkeitswerten oder Relaxation Labelling, welches Letztere mit weiteren Heuristiken mischt [semanticIntegration_glue]
- 6.Iteration
Um die Struktur des Schemas besser zu nutzen, wiederholt ein Algorithmus die beschriebenen Schritte.
- Heuristisch und Regelbasierte Methoden
- Graphenanalyse
- Maschinen-Lernen-Statistiken
- Probalistische Annäherung
- Reasoning
- gegenseitig verneinen,
- Schnittmengen bilden,
- Vereinigungen (Oberbegriff), aber auch
- Disjunktionen
- ein Term unterschiedliche Konzepte beschreiben
- ebenso verschiedene Terme beschreiben unterschiedliche Konzepte
- gleiche Terme unterschiedliche Konzepte beschreiben
- verschiedene Modellierungsparadigmen gelten
- verschiedene Modellierungskonventionen gelten
- ein abweichender Granularitätslevel auftreten
- verschiedene Abdeckung oder
- unterschiedliche Standpunkte vertreten werden.
- dem uniquen Identifier des gegebenen Mapping-Elements <var>id</var>
- e und e', den Entitätsklassen (also z.B., XML-Elemente, Klassen)
- Rals Relation zwischen e und e' (z.B. Gleichheit , Generalisierung , Disjunktion)
- n als Vertrauensmessung in einer mathematischen Struktur (typischerweise zwischen [0,1])
- 1.Merkmalskonstruktion
In diesem Schritt werden die Merkmale einer Entität ausgewählt, welche sie treffend beschreiben. Dies kann ein lexikalischer Eintrag einer Entität sein, aber auch eine intensionale Struktureigenschaft wie die is-a Beziehung.Desweiteren werden extensionale Beschreibungen genutzt
- 2.Suchraumbestimmung
Zur Ableitung von Abbildungen in Strukturen wird ein Suchraum von Kandidaten aufgestellt. Ähnlich einer Blockingmethode stellt diese sinnvolle Kandidaten für einen Vergleich auf und sortiert alle übrigen somit aus.
- 3.Ähnlichkeitsberechnung
Hier werden die im Kapitel Datenharmonisierung vorgestellten Methoden, ebenso wie Ähnlichkeitsfunktionen für Einzelobjekte oder Objektmengen genutzt, um die Ähnlichkeit zweier Entitäten zu bestimmen.
- 4.Ähnlichkeitsaufsummierung
Im Allgemeinen werden dabei mehrere Ähnlichkeitswerte für ein Entitätenpaar errechnet, beispielsweise auf lexikalische Einträge oder Ähnlichkeit der Relationen zu anderen Entitäten. Es entspricht der in Kapitel Klassifikation näher vorgestellten Klassifikation.
- 5.Interpretation
Die Aufsummierten Ähnlichkeitswerte werden nun zur Abbildung der Entitäten aufeinander genutzt. Möglichkeiten dafür sind ein Schwellenwert, eine Mischung aus Struktur und Ähnlichkeitswerten oder Relaxation Labelling, welches Letztere mit weiteren Heuristiken mischt [semanticIntegration_glue]
- 6.Iteration
Um die Struktur des Schemas besser zu nutzen, wiederholt ein Algorithmus die beschriebenen Schritte.
- Heuristisch und Regelbasierte Methoden
- Graphenanalyse
- Maschinen-Lernen-Statistiken
- Probalistische Annäherung
- Reasoning
- gegenseitig verneinen,
- Schnittmengen bilden,
- Vereinigungen (Oberbegriff), aber auch
- Disjunktionen
- ein Term unterschiedliche Konzepte beschreiben
- ebenso verschiedene Terme beschreiben unterschiedliche Konzepte
- gleiche Terme unterschiedliche Konzepte beschreiben
- verschiedene Modellierungsparadigmen gelten
- verschiedene Modellierungskonventionen gelten
- ein abweichender Granularitätslevel auftreten
- verschiedene Abdeckung oder
- unterschiedliche Standpunkte vertreten werden.
- dem uniquen Identifier des gegebenen Mapping-Elements <var>id</var>
- e und e', den Entitätsklassen (also z.B., XML-Elemente, Klassen)
- Rals Relation zwischen e und e' (z.B. Gleichheit , Generalisierung , Disjunktion)
- n als Vertrauensmessung in einer mathematischen Struktur (typischerweise zwischen [0,1])
- 1.Merkmalskonstruktion
In diesem Schritt werden die Merkmale einer Entität ausgewählt, welche sie treffend beschreiben. Dies kann ein lexikalischer Eintrag einer Entität sein, aber auch eine intensionale Struktureigenschaft wie die is-a Beziehung.Desweiteren werden extensionale Beschreibungen genutzt
- 2.Suchraumbestimmung
Zur Ableitung von Abbildungen in Strukturen wird ein Suchraum von Kandidaten aufgestellt. Ähnlich einer Blockingmethode stellt diese sinnvolle Kandidaten für einen Vergleich auf und sortiert alle übrigen somit aus.
- 3.Ähnlichkeitsberechnung
Hier werden die im Kapitel Datenharmonisierung vorgestellten Methoden, ebenso wie Ähnlichkeitsfunktionen für Einzelobjekte oder Objektmengen genutzt, um die Ähnlichkeit zweier Entitäten zu bestimmen.
- 4.Ähnlichkeitsaufsummierung
Im Allgemeinen werden dabei mehrere Ähnlichkeitswerte für ein Entitätenpaar errechnet, beispielsweise auf lexikalische Einträge oder Ähnlichkeit der Relationen zu anderen Entitäten. Es entspricht der in Kapitel Klassifikation näher vorgestellten Klassifikation.
- 5.Interpretation
Die Aufsummierten Ähnlichkeitswerte werden nun zur Abbildung der Entitäten aufeinander genutzt. Möglichkeiten dafür sind ein Schwellenwert, eine Mischung aus Struktur und Ähnlichkeitswerten oder Relaxation Labelling, welches Letztere mit weiteren Heuristiken mischt [semanticIntegration_glue]
- 6.Iteration
Um die Struktur des Schemas besser zu nutzen, wiederholt ein Algorithmus die beschriebenen Schritte.
- Heuristisch und Regelbasierte Methoden
- Graphenanalyse
- Maschinen-Lernen-Statistiken
- Probalistische Annäherung
- Reasoning
- gegenseitig verneinen,
- Schnittmengen bilden,
- Vereinigungen (Oberbegriff), aber auch
- Disjunktionen
- ein Term unterschiedliche Konzepte beschreiben
- ebenso verschiedene Terme beschreiben unterschiedliche Konzepte
- gleiche Terme unterschiedliche Konzepte beschreiben
- verschiedene Modellierungsparadigmen gelten
- verschiedene Modellierungskonventionen gelten
- ein abweichender Granularitätslevel auftreten
- verschiedene Abdeckung oder
- unterschiedliche Standpunkte vertreten werden.
- dem uniquen Identifier des gegebenen Mapping-Elements <var>id</var>
- e und e', den Entitätsklassen (also z.B., XML-Elemente, Klassen)
- Rals Relation zwischen e und e' (z.B. Gleichheit , Generalisierung , Disjunktion)
- n als Vertrauensmessung in einer mathematischen Struktur (typischerweise zwischen [0,1])
- 1.Merkmalskonstruktion
In diesem Schritt werden die Merkmale einer Entität ausgewählt, welche sie treffend beschreiben. Dies kann ein lexikalischer Eintrag einer Entität sein, aber auch eine intensionale Struktureigenschaft wie die is-a Beziehung.Desweiteren werden extensionale Beschreibungen genutzt
- 2.Suchraumbestimmung
Zur Ableitung von Abbildungen in Strukturen wird ein Suchraum von Kandidaten aufgestellt. Ähnlich einer Blockingmethode stellt diese sinnvolle Kandidaten für einen Vergleich auf und sortiert alle übrigen somit aus.
- 3.Ähnlichkeitsberechnung
Hier werden die im Kapitel Datenharmonisierung vorgestellten Methoden, ebenso wie Ähnlichkeitsfunktionen für Einzelobjekte oder Objektmengen genutzt, um die Ähnlichkeit zweier Entitäten zu bestimmen.
- 4.Ähnlichkeitsaufsummierung
Im Allgemeinen werden dabei mehrere Ähnlichkeitswerte für ein Entitätenpaar errechnet, beispielsweise auf lexikalische Einträge oder Ähnlichkeit der Relationen zu anderen Entitäten. Es entspricht der in Kapitel Klassifikation näher vorgestellten Klassifikation.
- 5.Interpretation
Die Aufsummierten Ähnlichkeitswerte werden nun zur Abbildung der Entitäten aufeinander genutzt. Möglichkeiten dafür sind ein Schwellenwert, eine Mischung aus Struktur und Ähnlichkeitswerten oder Relaxation Labelling, welches Letztere mit weiteren Heuristiken mischt [semanticIntegration_glue]
- 6.Iteration
Um die Struktur des Schemas besser zu nutzen, wiederholt ein Algorithmus die beschriebenen Schritte.
- Heuristisch und Regelbasierte Methoden
- Graphenanalyse
- Maschinen-Lernen-Statistiken
- Probalistische Annäherung
- Reasoning
- gegenseitig verneinen,
- Schnittmengen bilden,
- Vereinigungen (Oberbegriff), aber auch
- Disjunktionen
- ein Term unterschiedliche Konzepte beschreiben
- ebenso verschiedene Terme beschreiben unterschiedliche Konzepte
- gleiche Terme unterschiedliche Konzepte beschreiben
- verschiedene Modellierungsparadigmen gelten
- verschiedene Modellierungskonventionen gelten
- ein abweichender Granularitätslevel auftreten
- verschiedene Abdeckung oder
- unterschiedliche Standpunkte vertreten werden.
- dem uniquen Identifier des gegebenen Mapping-Elements <var>id</var>
- e und e', den Entitätsklassen (also z.B., XML-Elemente, Klassen)
- Rals Relation zwischen e und e' (z.B. Gleichheit , Generalisierung , Disjunktion)
- n als Vertrauensmessung in einer mathematischen Struktur (typischerweise zwischen [0,1])
- 1.Merkmalskonstruktion
In diesem Schritt werden die Merkmale einer Entität ausgewählt, welche sie treffend beschreiben. Dies kann ein lexikalischer Eintrag einer Entität sein, aber auch eine intensionale Struktureigenschaft wie die is-a Beziehung.Desweiteren werden extensionale Beschreibungen genutzt
- 2.Suchraumbestimmung
Zur Ableitung von Abbildungen in Strukturen wird ein Suchraum von Kandidaten aufgestellt. Ähnlich einer Blockingmethode stellt diese sinnvolle Kandidaten für einen Vergleich auf und sortiert alle übrigen somit aus.
- 3.Ähnlichkeitsberechnung
Hier werden die im Kapitel Datenharmonisierung vorgestellten Methoden, ebenso wie Ähnlichkeitsfunktionen für Einzelobjekte oder Objektmengen genutzt, um die Ähnlichkeit zweier Entitäten zu bestimmen.
- 4.Ähnlichkeitsaufsummierung
Im Allgemeinen werden dabei mehrere Ähnlichkeitswerte für ein Entitätenpaar errechnet, beispielsweise auf lexikalische Einträge oder Ähnlichkeit der Relationen zu anderen Entitäten. Es entspricht der in Kapitel Klassifikation näher vorgestellten Klassifikation.
- 5.Interpretation
Die Aufsummierten Ähnlichkeitswerte werden nun zur Abbildung der Entitäten aufeinander genutzt. Möglichkeiten dafür sind ein Schwellenwert, eine Mischung aus Struktur und Ähnlichkeitswerten oder Relaxation Labelling, welches Letztere mit weiteren Heuristiken mischt [semanticIntegration_glue]
- 6.Iteration
Um die Struktur des Schemas besser zu nutzen, wiederholt ein Algorithmus die beschriebenen Schritte.
- Heuristisch und Regelbasierte Methoden
- Graphenanalyse
- Maschinen-Lernen-Statistiken
- Probalistische Annäherung
- Reasoning
- gegenseitig verneinen,
- Schnittmengen bilden,
- Vereinigungen (Oberbegriff), aber auch
- Disjunktionen
- ein Term unterschiedliche Konzepte beschreiben
- ebenso verschiedene Terme beschreiben unterschiedliche Konzepte
- gleiche Terme unterschiedliche Konzepte beschreiben
- verschiedene Modellierungsparadigmen gelten
- verschiedene Modellierungskonventionen gelten
- ein abweichender Granularitätslevel auftreten
- verschiedene Abdeckung oder
- unterschiedliche Standpunkte vertreten werden.
- dem uniquen Identifier des gegebenen Mapping-Elements <var>id</var>
- e und e', den Entitätsklassen (also z.B., XML-Elemente, Klassen)
- Rals Relation zwischen e und e' (z.B. Gleichheit , Generalisierung , Disjunktion)
- n als Vertrauensmessung in einer mathematischen Struktur (typischerweise zwischen [0,1])
- 1.Merkmalskonstruktion
In diesem Schritt werden die Merkmale einer Entität ausgewählt, welche sie treffend beschreiben. Dies kann ein lexikalischer Eintrag einer Entität sein, aber auch eine intensionale Struktureigenschaft wie die is-a Beziehung.Desweiteren werden extensionale Beschreibungen genutzt
- 2.Suchraumbestimmung
Zur Ableitung von Abbildungen in Strukturen wird ein Suchraum von Kandidaten aufgestellt. Ähnlich einer Blockingmethode stellt diese sinnvolle Kandidaten für einen Vergleich auf und sortiert alle übrigen somit aus.
- 3.Ähnlichkeitsberechnung
Hier werden die im Kapitel Datenharmonisierung vorgestellten Methoden, ebenso wie Ähnlichkeitsfunktionen für Einzelobjekte oder Objektmengen genutzt, um die Ähnlichkeit zweier Entitäten zu bestimmen.
- 4.Ähnlichkeitsaufsummierung
Im Allgemeinen werden dabei mehrere Ähnlichkeitswerte für ein Entitätenpaar errechnet, beispielsweise auf lexikalische Einträge oder Ähnlichkeit der Relationen zu anderen Entitäten. Es entspricht der in Kapitel Klassifikation näher vorgestellten Klassifikation.
- 5.Interpretation
Die Aufsummierten Ähnlichkeitswerte werden nun zur Abbildung der Entitäten aufeinander genutzt. Möglichkeiten dafür sind ein Schwellenwert, eine Mischung aus Struktur und Ähnlichkeitswerten oder Relaxation Labelling, welches Letztere mit weiteren Heuristiken mischt [semanticIntegration_glue]
- 6.Iteration
Um die Struktur des Schemas besser zu nutzen, wiederholt ein Algorithmus die beschriebenen Schritte.
- Heuristisch und Regelbasierte Methoden
- Graphenanalyse
- Maschinen-Lernen-Statistiken
- Probalistische Annäherung
- Reasoning
- gegenseitig verneinen,
- Schnittmengen bilden,
- Vereinigungen (Oberbegriff), aber auch
- Disjunktionen
- ein Term unterschiedliche Konzepte beschreiben
- ebenso verschiedene Terme beschreiben unterschiedliche Konzepte
- gleiche Terme unterschiedliche Konzepte beschreiben
- verschiedene Modellierungsparadigmen gelten
- verschiedene Modellierungskonventionen gelten
- ein abweichender Granularitätslevel auftreten
- verschiedene Abdeckung oder
- unterschiedliche Standpunkte vertreten werden.
- dem uniquen Identifier des gegebenen Mapping-Elements <var>id</var>
- e und e', den Entitätsklassen (also z.B., XML-Elemente, Klassen)
- Rals Relation zwischen e und e' (z.B. Gleichheit , Generalisierung , Disjunktion)
- n als Vertrauensmessung in einer mathematischen Struktur (typischerweise zwischen [0,1])
- 1.Merkmalskonstruktion
In diesem Schritt werden die Merkmale einer Entität ausgewählt, welche sie treffend beschreiben. Dies kann ein lexikalischer Eintrag einer Entität sein, aber auch eine intensionale Struktureigenschaft wie die is-a Beziehung.Desweiteren werden extensionale Beschreibungen genutzt
- 2.Suchraumbestimmung
Zur Ableitung von Abbildungen in Strukturen wird ein Suchraum von Kandidaten aufgestellt. Ähnlich einer Blockingmethode stellt diese sinnvolle Kandidaten für einen Vergleich auf und sortiert alle übrigen somit aus.
- 3.Ähnlichkeitsberechnung
Hier werden die im Kapitel Datenharmonisierung vorgestellten Methoden, ebenso wie Ähnlichkeitsfunktionen für Einzelobjekte oder Objektmengen genutzt, um die Ähnlichkeit zweier Entitäten zu bestimmen.
- 4.Ähnlichkeitsaufsummierung
Im Allgemeinen werden dabei mehrere Ähnlichkeitswerte für ein Entitätenpaar errechnet, beispielsweise auf lexikalische Einträge oder Ähnlichkeit der Relationen zu anderen Entitäten. Es entspricht der in Kapitel Klassifikation näher vorgestellten Klassifikation.
- 5.Interpretation
Die Aufsummierten Ähnlichkeitswerte werden nun zur Abbildung der Entitäten aufeinander genutzt. Möglichkeiten dafür sind ein Schwellenwert, eine Mischung aus Struktur und Ähnlichkeitswerten oder Relaxation Labelling, welches Letztere mit weiteren Heuristiken mischt [semanticIntegration_glue]
- 6.Iteration
Um die Struktur des Schemas besser zu nutzen, wiederholt ein Algorithmus die beschriebenen Schritte.
- Heuristisch und Regelbasierte Methoden
- Graphenanalyse
- Maschinen-Lernen-Statistiken
- Probalistische Annäherung
- Reasoning
Strukturanalyse
Strukturanalyse
Strukturanalyse
Strukturanalyse
Strukturanalyse
Strukturanalyse
Aufgrund des subjektiven Architekturansatzes werden kaum auf einem Gebiet exakt passende Strukturen zu finden sein. Die Identifizierung und Nutzung semantischer Korrespondenzen zwischen den Elementen zweier Schemata wird mit „Schema-Alignment“ bezeichnet und gilt es in einer Vielzahl von Anwendungen zu lösen. Im Bereich der Daten-Integrationen sowie XML-Message-Mapping in heterogenen Systemen beispielsweise vorgefunden, kommen Struktur-Analysen bei e-Commerce- oder Data-Warehousing-Applicationen stark zum Einsatz. Oftmals werden dabei diese Mapping-Aufgaben noch manuell (händisch) mit teilweiser graphischer Unterstützung erledigt, was nicht nur zeitaufwendig sondern mit zunehmender Anzahl unterschiedlicher Schemata ansteigend unpraktikabel ist.
Unterschiede in Schemata können sowohl auf einer sprachlichen als auch auf der Bedeutungsebene auftreten.
So können sich sprachliche Ausdrücke
darstellen.
Auf Bedeutungsebene kann beispielsweise
[Noy05] nennt für die automatische Alternative der Strukturvereinigung die Herangehensweisen „Mapping“, „Artikulation“ und „Merging“.
Das Ziel des Mappings ist es, für die Abbildung gegeneinander ein Dokument als Adapter anzulegen. Es beinhaltet Elemente, welche die Symbole des einen Alphabetes mit denen des zweiten Alphabets verknüpfen.
Diese Mapping-Elemente sind hierbei jeweils 5-Tupel (id, e, e',R,n) mit
Eine Angleichung A ist damit eine Menge von Mapping-Elementen, welche von zwei Schemata abhängt. Sie besitzt einige Multiplizitäten (1-1, 1-*, etc.) sowie einige andere Eigenschaften.
Da dabei nicht-übereinstimmende Aspekte leicht verloren gehen, kann diese Mapping gemeinsam mit den beiden Originaldokumenten präsentiert werden. Strukturen die in allgemeineren Wegen als durch binär ausdrückbare Gemeinsamkeiten miteinander in Beziehungen stehen, so zum Beispiel durch Relationen anstatt von Funktionen, wie es bei Ontologien gegeben ist, können gemeinsam mit einem gemappten Grundübereinstimmungsdokument präsentiert werden, Artikulation genannt.
Beim Merging wir auf Grundlage aller beteiligter Quellen eine komplett neue Struktur erstellt, welche die Instanzen beider zusammenführt.
Zur Analyse von Strukturen werden in [VLDBJ2001] folgende Betrachtungsaspekte genannt:
Schema-Matching betrachtet das Schema einer Struktur und versucht auf Grundlage der Eigenschaften von Schema-Elementen, wie deren Name, deren Beschreibungstext, deren Beziehungentypen zu anderen Elementen (Is-a oder Sub-/Supkonzept-Eigenschaften) sowie gegebenen Constraints jeweils Übereinstimmungen in beiden Basen zu finden.
Bei Datensammlungen, welche nur in limitierter Weise nützliche Schema-Informationen enthalten, seien dies semistrukturierten Daten in Form von HTML-Seiten, gibt Instanzenwissen wichtige Einblicke in den Inhalt und die Bedeutung von einzelnen Schemaelementen. Im Extremfall ist keinerlei Schema vorgegeben und muss von den Instanzendaten manuell oder automatisch erstellt werden. Dabei kommen oftmals die im Kapitel "Inhaltsintegration" ausführlich behandelten Datenharmonisierungstechniken zum Einsatz.
Aber auch bei vorhandenen Schemata kann Instanzensichtung wichtig sein, um abweichende Interpretationen der Schema-Informationen aufzudecken. Falls bei einem solchem Matching beispielsweise zwei Schema-Zuweisungen gleiche Wahrscheinlichkeit besitzten, kann auf das Element mit höherer Übereinstimmung in den Instanzen zurückgegriffen werden.
Im Idealfall eines Matchings besitzen alle Elemente eines Schemas mit Ihnen identische Elemente des zweiten Schemas auf der selben Hierarchie-Ebene. Beide unterscheiden sich hierbei lediglich durch abweichende Schema-Bezeichnungen wie „Adresse.ZIP“ und „Adresse.PLZ“. Oftmals wird diese feinste Granularität über die Attribute jedoch nicht erreicht, und Informationseinheiten überlappen einander oder sind in verschiedenen Sub- oder Subkonzepten vertreten.
Beispielsweise kann in einem Schema Postleitzahl und Ort in einem Attribut zusammengefasst sein. Besitzen nun beide Schemata nur eine bestimmte Schnittmenge gemeinsamer Informationen, wird nur eine partielle strukturelle Übereinstimmung gesucht.
Element-Level-Matcher sind auf eine Ebene beschränkt, während Struktur-Matcher darüber- und darunterliegende Konzepte ebenso als zur Struktur gehörig betrachten, um darin gemeinsame Schnittpunkte zu finden.
Im Gegensatz zu einem Struktur-Matcher ignoriert ein Elementmatcher bestehende SubKonzepte. Er ist jedoch auch nicht auf das Atomare Level beschränkt, sondern kann auch auf grobkörnigere, höhere nicht-atomare Elemente angewendet werden, jedoch nur in einer Hierarchieebene arbeitend. Er nutzen eine Vielzahl der in der relationalen Datenbank-Bearbeitung genutzen Methoden (siehe Datenharmonisierung), und wendet diese auf Elementnamen, Beschreibung oder Datentyp des einzelnen Schema-Elementes an.
Ein Element eines Schemas S1 kann Ähnlichkeiten zu einem oder mehreren Elementen des Schemas S2 besitzen. Ebenso kann umgekehrt ein Element aus S2 mehrere Vertreter aus S1 haben. Es sind demnach beim Struktumatching gewöhnliche Beziehungsrelationen (1:1), mengenorientierte Fälle (1:n bzw. n:1) bis hin zu n:m – Relationen denkbar, jeweils entweder auf eine globale Kardinalität zwischen verschiedenen Mapping-Elementen oder einer lokalen Kardinalität zu einem individuellen Mapping-Element. Element-Level Matching ist meist auf eine lokale Kardinalität von 1:1, 1:n und n:1 beschränkt. n:m – Ergebnisse erfordern in jeden Fall eine zusätzliche Strukturmatching-Analyse (siehe Kapitel 2.2.2)
Die linguistische Annäherung wird zunächst in Form der Namensübereinstimmung verwendet. Damit kann ein gleicher Name, ein gleicher Name in kanonischer Sicht, aber auch gleiche Synonyme gemeint sein. Ebenso können zwei Bezeichner einen gemeinsamen Oberbegriff (Hypernym, bspw. in Form einer Inklusions-Beziehung („is-a“)) teilen, oder auf Zeichenebene Ähnlichkeiten besitzen. Domänenabhängig kann vom Nutzer auch eine Ersetzungsliste geliefert werden. Weitere Vorgehen in diesem Bereich werden im Kapitel "Onthologien" und "Zeichenmetriken" vorgestellt.
Da oftmals in Schemata Kommentare und Beschreibungstexte in natürlicher Sprache die gewünschte Semantik der Schemaelemente ausdrücken, können hierin ebenfalls Schlüsselwörter extrahiert werden.
Constraint-basierte Untersuchung beinhaltet den Vergleich zweier Elemente auf gleiche/ähnliche Datentypen, Wertebereiche, Beziehungstypen, Kardinalitäten oder etwaige Optionalität.
Weiterhin kann ihre Eigenschaft als Schlüsselcharakter (unique, Primär-, Fremdschlüssel) genutzt werden. Eine alleinige Nutzung dieser Methode würde zu falschen Übereinstimmungen führen, aber als unterstützendes Element ist die constraintbasierte Untersuchung sehr hilfreich.
Meist werden zusätzlich zu den oben genannten Faktoren noch externe Quellen wie Wörterbücher und Thesauri-Lexika für Stemming, Synonym-Identifizierungen und somit der Auflösung von Verklemmungen genutzt werden. Ebenfalls kann man bereits bestehende Matchings anderer Strukturen mit der gleichen Domäne verwenden, um eine mögliche Ausrichtung besser erahnen zu können.
[Studer05] gibt in Bezug auf das „OntologyAlignment“ einen grundsätzlich erkennbaren Ablauf einer Strukturanalysen vor, auf den sich [Meh05] genauer bezieht und ihn an diversen Systemen zeigt. Da Ontologien eine spezialisierte Struktur darstellen, ist das Ontology-Alignment eine Unterform der Struktur-Analyse und kann auf alle übrigen XML-Strukturen Anwendung finden.
Zwei Schemas aufeinander abzubilden bedeutet hierin, dass für jede Entität (Begriff, Relation, Instanz) des ersten Schemas die Entsprechung mit derselben Bedeutung im zweiten Schema gesucht wird. Es wird die 5-Tupel- Funktion align auf einem Vokabular E aller Entitäten , d.h. Begriffe, Relationen und Instanzen und der Menge möglicher Schemata S als partielle Funktion angewendet.
Die grundsätzlichen Algorithmen der Stufen 2 bis 5 finden analog bei der Datenharmonisierung Anwendung, welche im Kapitel 3 näher vorgestellt wird. Jeder dieser 6 Schritte besitzt natürlich selbst eigene spezifische Methoden mit jeweils entsprechenden zu setzenden Parametern.
Eine Vielzahl von Applikationen und Frameworks haben dieses Vorgehen bereits fest umgesetzt. Es wird dabei oftmals zwischen Individual und kombinatorischen Systemen unterschieden. Während ersterer sich auf einen Algorithmus konzentriert, verwenden die Vertreter der zweiten Gruppe mehrere Algorithmen und gewichten die Teilergebnisse.
Grundsätzlich verwendete Methoden sind
Es soll nun Auswahl aktueller, aussichtsreicher Vertreter folgen. Diese werden in [Meh05], [Cupid01] und [ChiunchigliaEtAl'04] näher evaluierter.
„Seamless Moell Integration“ als instanzbasiertes System assoziiert Attribute in beiden Schemen mit Treffer-Signaturen. Diese bestehen aus 15 constraint-basierenden und 5 content-basierenden Kriterien, welche von den Instanz-Werten abgeleitet und auf [0,1] normalisiert werden, so daß jedes Kriterium einen Wert in einem 20-dimensionalen Vektorraum einnimmt. Diese werden auf Grundlage ihrer Euklid-Distanz geclustert und ein neuronales Netz mit Ihnen trainiert, welches auf das zweite Schema angewendet wird. Hierbei handelt es sich um einen hybriden Elementlevel-Matcher, welcher die Schemastruktur nicht beachtet. [Cupid01]. Semint ist einer der ersten Anläufe, keine hartkodierten Kombinationen von individuellen regelbasierten Ähnlichkeiten zu nutzen, sondern statdessen einen auf Maschinenlernbarkeit basierenden Ansatz zu wählen, besitzt jedoch kein namens- bzw. graphenbasiertes Matching.
Dike ermittelt Synonym- und Inklusions-Beziehungen (is-a) eines EntityRelationship-Schemas. Objekte werden als ähnlich markiert, falls die damit verknüpften Attribute ähnlich sind. Als Ergebnis auf zwei ER-Schemata werden die Wahrscheinlichkeitswerte zwischen beiden, gemeinsam mit Synonymen und Inklusionen ausgegeben.
Cupid ist ein Mehrzweck-Schemamatcher, welcher mit hybriden Verfahren arbeitet. Er funktioniert sowohl element- als auch strukturbasiert, spezialisiert sich jedoch auf Ähnlichkeiten von atomaren Elementen, da dort viele Schemasemantiken aufzufinden sind. Laut [Cupid01] werden ebenso interne Strukturen erkundet, wobei deren Differenzen nur gering in die Gesamtklassifizierung einfließen. Der Gesamtablauf ist in 3 Stufen gegliedert, wobei im ersten Schritt Elemente (Knoten des Schemas) auf linguistische Eigenschaften verglichen werden, inklusive externen Abgleich von Synonymen. Für den zweiten Schritt, den strukturellen Ablauf, wird das Datamodell in eine Baumstruktur transformiert und Paare daraufhin anhand ihrer Blattknoten verglichen. Ein Ähnlichkeit wird durch den gewichteten Abgleich zwischen linguistischem und strukturellem Ergebnis ermittelt. In der dritten Phase entscheidet der Schwellwert (Threshold) über Übereinstimmung. Dieser Wert ist domänenabhängig und kann nicht im Voraus angegeben werden.
„Combination of Matching-Algorithms“ nutzt einen direkten, azyklischen Graphen, und arbeitet semiautomatisch mit Hilfe von User-Feedback. COMA befolgt ebenfalls einen Kompositions-Ansatz, welcher eine erweiterbare Bibliothek von verschiedenen Matchern zur Verfügung stellt und eine Vielzahl von Kombination der ermittelten Matching-Ergebnisse unterstützt. Hier finden ebenfalls zuvor errechnete Resultate wiederverwendung. Die Kompositionsstrategien adressieren verschiedene Aspekte des Matching-Prozesses, so z.B. die Aggregation von Matcher-spezifischen Ergebnissen und Match-Kandidaten-Auswahl. Schemata werden auch hier in gerichtete direkte azyklische Graphen transformiert, auf denen alle Algorithmen arbeiten. Jedes Schema ist unique identifiziert durch seinen kompletten Pfad von der Quelle des Schemengraphes bis zum korrepsondierenden Knoten.
COMA erzeugt auf Elementebene Übereinstimmungen von 1:1 lokaler und m:n globaler Kardinalität. Der Alignment-Prozess besteht auch hier aus 3 Phasen, die iterativ durchlaufen werden und wobei die erste stets eine User-Feedback-Dialog zum Einstellen verschiedener Parameter darstellt (e.g. Auswahl des entsprechenden Matchers/Annahme, Ablehnung eines entsprechenden Entwurfes.). Daraufhin werden die individuellen Ähnlichkeiten berechnet. Diese basieren meist auf linguistischen Informationen, nutzen ebenso im Hintergrund Wörterbücher und strukturelle Elemente as Kinder oder Blätter. In der dritten Phase werden die Matcher wiederum kombiniert, entweder durch ein Maximum, einer Gewichtung einem Durchschnitt oder einer MinimumStrategie. Verschiedene Annäherungen für Schwellwert-Determinationen werden gegeben. Es ist ebenso möglich, das Programm komplett automatisch zu betreiben.
S-Match ermittelt Annäherungen, um semantische Beziehung zwischen Klassen zweier Klassifikationsschemata abzuleiten. Diese werden dazu von einer Datenbank oder Ontologie extrahiert. Sie basieren auf Untersuchung der Labels m.H. von „Wordnet“ als Synonym- Thesaurus-Überprüfung. Es sind laut [ChiunchigliaEtAl'04] ebenfalls weitere Element-Matcher vorhanden. Zusätzlich kommt hier ein SAT-Solver zum Einsatz, welcher die Schemata untersucht und dabei vor allem die Taxonomie und geschlußfolgerte Implikationen ermittelt. Er gibt entweder Gleichheit, Untermenge oder Unabhängigkeit zwischen 2 Klassen zurück.
Auf den vorangegangen Seiten wurden Methoden und Vorgehensweisen zur Identifizierung von Bestandteilen eines unbekannten Schemas vorgestellt. Fünf konkrete Beispiele aus dem universitären Umfeld, welche (semi-) automatische Umsetzungen durchführen, erlauben mit Hilfe einer Vergleichsstruktur, lokale Komponentenschemata zu erkennen.
Mit diesem Strukturwissen kann ein Abfrageterm für Xcerpt generiert werden, welcher die entsprechenden Felder der Struktur gezielt ansteuert.
Instanzen der globalen Komponente werden dadurch extrahiert und über einen global identischen Konstruktionsterm zur Verfügung gestellt.
Auf diese Instanzen kann im nächsten Kapiteln transparent zurückgegriffen werden, und deren Inhalt semantisch angeglichen sowie abschließend untereinander verknüpft werden.
Aufgrund des subjektiven Architekturansatzes werden kaum auf einem Gebiet exakt passende Strukturen zu finden sein. Die Identifizierung und Nutzung semantischer Korrespondenzen zwischen den Elementen zweier Schemata wird mit „Schema-Alignment“ bezeichnet und gilt es in einer Vielzahl von Anwendungen zu lösen. Im Bereich der Daten-Integrationen sowie XML-Message-Mapping in heterogenen Systemen beispielsweise vorgefunden, kommen Struktur-Analysen bei e-Commerce- oder Data-Warehousing-Applicationen stark zum Einsatz. Oftmals werden dabei diese Mapping-Aufgaben noch manuell (händisch) mit teilweiser graphischer Unterstützung erledigt, was nicht nur zeitaufwendig sondern mit zunehmender Anzahl unterschiedlicher Schemata ansteigend unpraktikabel ist.
Motivation
Unterschiede in Schemata können sowohl auf einer sprachlichen als auch auf der Bedeutungsebene auftreten.
So können sich sprachliche Ausdrücke
darstellen.
Auf Bedeutungsebene kann beispielsweise
Ansätze
[Noy05] nennt für die automatische Alternative der Strukturvereinigung die Herangehensweisen „Mapping“, „Artikulation“ und „Merging“.
Das Ziel des Mappings ist es, für die Abbildung gegeneinander ein Dokument als Adapter anzulegen. Es beinhaltet Elemente, welche die Symbole des einen Alphabetes mit denen des zweiten Alphabets verknüpfen.
Diese Mapping-Elemente sind hierbei jeweils 5-Tupel (id, e, e',R,n) mit
Eine Angleichung A ist damit eine Menge von Mapping-Elementen, welche von zwei Schemata abhängt. Sie besitzt einige Multiplizitäten (1-1, 1-*, etc.) sowie einige andere Eigenschaften.
Da dabei nicht-übereinstimmende Aspekte leicht verloren gehen, kann diese Mapping gemeinsam mit den beiden Originaldokumenten präsentiert werden. Strukturen die in allgemeineren Wegen als durch binär ausdrückbare Gemeinsamkeiten miteinander in Beziehungen stehen, so zum Beispiel durch Relationen anstatt von Funktionen, wie es bei Ontologien gegeben ist, können gemeinsam mit einem gemappten Grundübereinstimmungsdokument präsentiert werden, Artikulation genannt.
Beim Merging wir auf Grundlage aller beteiligter Quellen eine komplett neue Struktur erstellt, welche die Instanzen beider zusammenführt.
Betrachtungsaspekte
Zur Analyse von Strukturen werden in [VLDBJ2001] folgende Betrachtungsaspekte genannt:
Schema- und Instanzenmatching
Schema-Matching betrachtet das Schema einer Struktur und versucht auf Grundlage der Eigenschaften von Schema-Elementen, wie deren Name, deren Beschreibungstext, deren Beziehungentypen zu anderen Elementen (Is-a oder Sub-/Supkonzept-Eigenschaften) sowie gegebenen Constraints jeweils Übereinstimmungen in beiden Basen zu finden.
Bei Datensammlungen, welche nur in limitierter Weise nützliche Schema-Informationen enthalten, seien dies semistrukturierten Daten in Form von HTML-Seiten, gibt Instanzenwissen wichtige Einblicke in den Inhalt und die Bedeutung von einzelnen Schemaelementen. Im Extremfall ist keinerlei Schema vorgegeben und muss von den Instanzendaten manuell oder automatisch erstellt werden. Dabei kommen oftmals die im Kapitel "Inhaltsintegration" ausführlich behandelten Datenharmonisierungstechniken zum Einsatz.
Aber auch bei vorhandenen Schemata kann Instanzensichtung wichtig sein, um abweichende Interpretationen der Schema-Informationen aufzudecken. Falls bei einem solchem Matching beispielsweise zwei Schema-Zuweisungen gleiche Wahrscheinlichkeit besitzten, kann auf das Element mit höherer Übereinstimmung in den Instanzen zurückgegriffen werden.
Element- und Strukturmatching
Im Idealfall eines Matchings besitzen alle Elemente eines Schemas mit Ihnen identische Elemente des zweiten Schemas auf der selben Hierarchie-Ebene. Beide unterscheiden sich hierbei lediglich durch abweichende Schema-Bezeichnungen wie „Adresse.ZIP“ und „Adresse.PLZ“. Oftmals wird diese feinste Granularität über die Attribute jedoch nicht erreicht, und Informationseinheiten überlappen einander oder sind in verschiedenen Sub- oder Subkonzepten vertreten.
Beispielsweise kann in einem Schema Postleitzahl und Ort in einem Attribut zusammengefasst sein. Besitzen nun beide Schemata nur eine bestimmte Schnittmenge gemeinsamer Informationen, wird nur eine partielle strukturelle Übereinstimmung gesucht.
Element-Level-Matcher sind auf eine Ebene beschränkt, während Struktur-Matcher darüber- und darunterliegende Konzepte ebenso als zur Struktur gehörig betrachten, um darin gemeinsame Schnittpunkte zu finden.
Im Gegensatz zu einem Struktur-Matcher ignoriert ein Elementmatcher bestehende SubKonzepte. Er ist jedoch auch nicht auf das Atomare Level beschränkt, sondern kann auch auf grobkörnigere, höhere nicht-atomare Elemente angewendet werden, jedoch nur in einer Hierarchieebene arbeitend. Er nutzen eine Vielzahl der in der relationalen Datenbank-Bearbeitung genutzen Methoden (siehe Datenharmonisierung), und wendet diese auf Elementnamen, Beschreibung oder Datentyp des einzelnen Schema-Elementes an.
Matching-Kardinalität
Ein Element eines Schemas S1 kann Ähnlichkeiten zu einem oder mehreren Elementen des Schemas S2 besitzen. Ebenso kann umgekehrt ein Element aus S2 mehrere Vertreter aus S1 haben. Es sind demnach beim Struktumatching gewöhnliche Beziehungsrelationen (1:1), mengenorientierte Fälle (1:n bzw. n:1) bis hin zu n:m – Relationen denkbar, jeweils entweder auf eine globale Kardinalität zwischen verschiedenen Mapping-Elementen oder einer lokalen Kardinalität zu einem individuellen Mapping-Element. Element-Level Matching ist meist auf eine lokale Kardinalität von 1:1, 1:n und n:1 beschränkt. n:m – Ergebnisse erfordern in jeden Fall eine zusätzliche Strukturmatching-Analyse (siehe Kapitel 2.2.2)
Sprache und Constraints
Die linguistische Annäherung wird zunächst in Form der Namensübereinstimmung verwendet. Damit kann ein gleicher Name, ein gleicher Name in kanonischer Sicht, aber auch gleiche Synonyme gemeint sein. Ebenso können zwei Bezeichner einen gemeinsamen Oberbegriff (Hypernym, bspw. in Form einer Inklusions-Beziehung („is-a“)) teilen, oder auf Zeichenebene Ähnlichkeiten besitzen. Domänenabhängig kann vom Nutzer auch eine Ersetzungsliste geliefert werden. Weitere Vorgehen in diesem Bereich werden im Kapitel "Onthologien" und "Zeichenmetriken" vorgestellt.
Da oftmals in Schemata Kommentare und Beschreibungstexte in natürlicher Sprache die gewünschte Semantik der Schemaelemente ausdrücken, können hierin ebenfalls Schlüsselwörter extrahiert werden.
Constraint-basierte Untersuchung beinhaltet den Vergleich zweier Elemente auf gleiche/ähnliche Datentypen, Wertebereiche, Beziehungstypen, Kardinalitäten oder etwaige Optionalität.
Weiterhin kann ihre Eigenschaft als Schlüsselcharakter (unique, Primär-, Fremdschlüssel) genutzt werden. Eine alleinige Nutzung dieser Methode würde zu falschen Übereinstimmungen führen, aber als unterstützendes Element ist die constraintbasierte Untersuchung sehr hilfreich.
helfende Systeme
Meist werden zusätzlich zu den oben genannten Faktoren noch externe Quellen wie Wörterbücher und Thesauri-Lexika für Stemming, Synonym-Identifizierungen und somit der Auflösung von Verklemmungen genutzt werden. Ebenfalls kann man bereits bestehende Matchings anderer Strukturen mit der gleichen Domäne verwenden, um eine mögliche Ausrichtung besser erahnen zu können.
Vorgehen
[Studer05] gibt in Bezug auf das „OntologyAlignment“ einen grundsätzlich erkennbaren Ablauf einer Strukturanalysen vor, auf den sich [Meh05] genauer bezieht und ihn an diversen Systemen zeigt. Da Ontologien eine spezialisierte Struktur darstellen, ist das Ontology-Alignment eine Unterform der Struktur-Analyse und kann auf alle übrigen XML-Strukturen Anwendung finden.
Zwei Schemas aufeinander abzubilden bedeutet hierin, dass für jede Entität (Begriff, Relation, Instanz) des ersten Schemas die Entsprechung mit derselben Bedeutung im zweiten Schema gesucht wird. Es wird die 5-Tupel- Funktion align auf einem Vokabular E aller Entitäten , d.h. Begriffe, Relationen und Instanzen und der Menge möglicher Schemata S als partielle Funktion angewendet.
Die grundsätzlichen Algorithmen der Stufen 2 bis 5 finden analog bei der Datenharmonisierung Anwendung, welche im Kapitel 3 näher vorgestellt wird. Jeder dieser 6 Schritte besitzt natürlich selbst eigene spezifische Methoden mit jeweils entsprechenden zu setzenden Parametern.
Beispiele
Eine Vielzahl von Applikationen und Frameworks haben dieses Vorgehen bereits fest umgesetzt. Es wird dabei oftmals zwischen Individual und kombinatorischen Systemen unterschieden. Während ersterer sich auf einen Algorithmus konzentriert, verwenden die Vertreter der zweiten Gruppe mehrere Algorithmen und gewichten die Teilergebnisse.
Grundsätzlich verwendete Methoden sind
Es soll nun Auswahl aktueller, aussichtsreicher Vertreter folgen. Diese werden in [Meh05], [Cupid01] und [ChiunchigliaEtAl'04] näher evaluierter.
SemInt
„Seamless Moell Integration“ als instanzbasiertes System assoziiert Attribute in beiden Schemen mit Treffer-Signaturen. Diese bestehen aus 15 constraint-basierenden und 5 content-basierenden Kriterien, welche von den Instanz-Werten abgeleitet und auf [0,1] normalisiert werden, so daß jedes Kriterium einen Wert in einem 20-dimensionalen Vektorraum einnimmt. Diese werden auf Grundlage ihrer Euklid-Distanz geclustert und ein neuronales Netz mit Ihnen trainiert, welches auf das zweite Schema angewendet wird. Hierbei handelt es sich um einen hybriden Elementlevel-Matcher, welcher die Schemastruktur nicht beachtet. [Cupid01]. Semint ist einer der ersten Anläufe, keine hartkodierten Kombinationen von individuellen regelbasierten Ähnlichkeiten zu nutzen, sondern statdessen einen auf Maschinenlernbarkeit basierenden Ansatz zu wählen, besitzt jedoch kein namens- bzw. graphenbasiertes Matching.
Dike
Dike ermittelt Synonym- und Inklusions-Beziehungen (is-a) eines EntityRelationship-Schemas. Objekte werden als ähnlich markiert, falls die damit verknüpften Attribute ähnlich sind. Als Ergebnis auf zwei ER-Schemata werden die Wahrscheinlichkeitswerte zwischen beiden, gemeinsam mit Synonymen und Inklusionen ausgegeben.
Cupid
Cupid ist ein Mehrzweck-Schemamatcher, welcher mit hybriden Verfahren arbeitet. Er funktioniert sowohl element- als auch strukturbasiert, spezialisiert sich jedoch auf Ähnlichkeiten von atomaren Elementen, da dort viele Schemasemantiken aufzufinden sind. Laut [Cupid01] werden ebenso interne Strukturen erkundet, wobei deren Differenzen nur gering in die Gesamtklassifizierung einfließen. Der Gesamtablauf ist in 3 Stufen gegliedert, wobei im ersten Schritt Elemente (Knoten des Schemas) auf linguistische Eigenschaften verglichen werden, inklusive externen Abgleich von Synonymen. Für den zweiten Schritt, den strukturellen Ablauf, wird das Datamodell in eine Baumstruktur transformiert und Paare daraufhin anhand ihrer Blattknoten verglichen. Ein Ähnlichkeit wird durch den gewichteten Abgleich zwischen linguistischem und strukturellem Ergebnis ermittelt. In der dritten Phase entscheidet der Schwellwert (Threshold) über Übereinstimmung. Dieser Wert ist domänenabhängig und kann nicht im Voraus angegeben werden.
COMA
„Combination of Matching-Algorithms“ nutzt einen direkten, azyklischen Graphen, und arbeitet semiautomatisch mit Hilfe von User-Feedback. COMA befolgt ebenfalls einen Kompositions-Ansatz, welcher eine erweiterbare Bibliothek von verschiedenen Matchern zur Verfügung stellt und eine Vielzahl von Kombination der ermittelten Matching-Ergebnisse unterstützt. Hier finden ebenfalls zuvor errechnete Resultate wiederverwendung. Die Kompositionsstrategien adressieren verschiedene Aspekte des Matching-Prozesses, so z.B. die Aggregation von Matcher-spezifischen Ergebnissen und Match-Kandidaten-Auswahl. Schemata werden auch hier in gerichtete direkte azyklische Graphen transformiert, auf denen alle Algorithmen arbeiten. Jedes Schema ist unique identifiziert durch seinen kompletten Pfad von der Quelle des Schemengraphes bis zum korrepsondierenden Knoten.
COMA erzeugt auf Elementebene Übereinstimmungen von 1:1 lokaler und m:n globaler Kardinalität. Der Alignment-Prozess besteht auch hier aus 3 Phasen, die iterativ durchlaufen werden und wobei die erste stets eine User-Feedback-Dialog zum Einstellen verschiedener Parameter darstellt (e.g. Auswahl des entsprechenden Matchers/Annahme, Ablehnung eines entsprechenden Entwurfes.). Daraufhin werden die individuellen Ähnlichkeiten berechnet. Diese basieren meist auf linguistischen Informationen, nutzen ebenso im Hintergrund Wörterbücher und strukturelle Elemente as Kinder oder Blätter. In der dritten Phase werden die Matcher wiederum kombiniert, entweder durch ein Maximum, einer Gewichtung einem Durchschnitt oder einer MinimumStrategie. Verschiedene Annäherungen für Schwellwert-Determinationen werden gegeben. Es ist ebenso möglich, das Programm komplett automatisch zu betreiben.
CTX S-Match
S-Match ermittelt Annäherungen, um semantische Beziehung zwischen Klassen zweier Klassifikationsschemata abzuleiten. Diese werden dazu von einer Datenbank oder Ontologie extrahiert. Sie basieren auf Untersuchung der Labels m.H. von „Wordnet“ als Synonym- Thesaurus-Überprüfung. Es sind laut [ChiunchigliaEtAl'04] ebenfalls weitere Element-Matcher vorhanden. Zusätzlich kommt hier ein SAT-Solver zum Einsatz, welcher die Schemata untersucht und dabei vor allem die Taxonomie und geschlußfolgerte Implikationen ermittelt. Er gibt entweder Gleichheit, Untermenge oder Unabhängigkeit zwischen 2 Klassen zurück.
Zusammenfassung
Auf den vorangegangen Seiten wurden Methoden und Vorgehensweisen zur Identifizierung von Bestandteilen eines unbekannten Schemas vorgestellt. Fünf konkrete Beispiele aus dem universitären Umfeld, welche (semi-) automatische Umsetzungen durchführen, erlauben mit Hilfe einer Vergleichsstruktur, lokale Komponentenschemata zu erkennen.
Mit diesem Strukturwissen kann ein Abfrageterm für Xcerpt generiert werden, welcher die entsprechenden Felder der Struktur gezielt ansteuert.
Instanzen der globalen Komponente werden dadurch extrahiert und über einen global identischen Konstruktionsterm zur Verfügung gestellt.
Auf diese Instanzen kann im nächsten Kapiteln transparent zurückgegriffen werden, und deren Inhalt semantisch angeglichen sowie abschließend untereinander verknüpft werden.
Aufgrund des subjektiven Architekturansatzes werden kaum auf einem Gebiet exakt passende Strukturen zu finden sein. Die Identifizierung und Nutzung semantischer Korrespondenzen zwischen den Elementen zweier Schemata wird mit „Schema-Alignment“ bezeichnet und gilt es in einer Vielzahl von Anwendungen zu lösen. Im Bereich der Daten-Integrationen sowie XML-Message-Mapping in heterogenen Systemen beispielsweise vorgefunden, kommen Struktur-Analysen bei e-Commerce- oder Data-Warehousing-Applicationen stark zum Einsatz. Oftmals werden dabei diese Mapping-Aufgaben noch manuell (händisch) mit teilweiser graphischer Unterstützung erledigt, was nicht nur zeitaufwendig sondern mit zunehmender Anzahl unterschiedlicher Schemata ansteigend unpraktikabel ist.
Motivation
Unterschiede in Schemata können sowohl auf einer sprachlichen als auch auf der Bedeutungsebene auftreten.
So können sich sprachliche Ausdrücke
darstellen.
Auf Bedeutungsebene kann beispielsweise
Ansätze
[Noy05] nennt für die automatische Alternative der Strukturvereinigung die Herangehensweisen „Mapping“, „Artikulation“ und „Merging“.
Das Ziel des Mappings ist es, für die Abbildung gegeneinander ein Dokument als Adapter anzulegen. Es beinhaltet Elemente, welche die Symbole des einen Alphabetes mit denen des zweiten Alphabets verknüpfen.
Diese Mapping-Elemente sind hierbei jeweils 5-Tupel (id, e, e',R,n) mit
Eine Angleichung A ist damit eine Menge von Mapping-Elementen, welche von zwei Schemata abhängt. Sie besitzt einige Multiplizitäten (1-1, 1-*, etc.) sowie einige andere Eigenschaften.
Da dabei nicht-übereinstimmende Aspekte leicht verloren gehen, kann diese Mapping gemeinsam mit den beiden Originaldokumenten präsentiert werden. Strukturen die in allgemeineren Wegen als durch binär ausdrückbare Gemeinsamkeiten miteinander in Beziehungen stehen, so zum Beispiel durch Relationen anstatt von Funktionen, wie es bei Ontologien gegeben ist, können gemeinsam mit einem gemappten Grundübereinstimmungsdokument präsentiert werden, Artikulation genannt.
Beim Merging wir auf Grundlage aller beteiligter Quellen eine komplett neue Struktur erstellt, welche die Instanzen beider zusammenführt.
Betrachtungsaspekte
Zur Analyse von Strukturen werden in [VLDBJ2001] folgende Betrachtungsaspekte genannt:
Schema- und Instanzenmatching
Schema-Matching betrachtet das Schema einer Struktur und versucht auf Grundlage der Eigenschaften von Schema-Elementen, wie deren Name, deren Beschreibungstext, deren Beziehungentypen zu anderen Elementen (Is-a oder Sub-/Supkonzept-Eigenschaften) sowie gegebenen Constraints jeweils Übereinstimmungen in beiden Basen zu finden.
Bei Datensammlungen, welche nur in limitierter Weise nützliche Schema-Informationen enthalten, seien dies semistrukturierten Daten in Form von HTML-Seiten, gibt Instanzenwissen wichtige Einblicke in den Inhalt und die Bedeutung von einzelnen Schemaelementen. Im Extremfall ist keinerlei Schema vorgegeben und muss von den Instanzendaten manuell oder automatisch erstellt werden. Dabei kommen oftmals die im Kapitel "Inhaltsintegration" ausführlich behandelten Datenharmonisierungstechniken zum Einsatz.
Aber auch bei vorhandenen Schemata kann Instanzensichtung wichtig sein, um abweichende Interpretationen der Schema-Informationen aufzudecken. Falls bei einem solchem Matching beispielsweise zwei Schema-Zuweisungen gleiche Wahrscheinlichkeit besitzten, kann auf das Element mit höherer Übereinstimmung in den Instanzen zurückgegriffen werden.
Element- und Strukturmatching
Im Idealfall eines Matchings besitzen alle Elemente eines Schemas mit Ihnen identische Elemente des zweiten Schemas auf der selben Hierarchie-Ebene. Beide unterscheiden sich hierbei lediglich durch abweichende Schema-Bezeichnungen wie „Adresse.ZIP“ und „Adresse.PLZ“. Oftmals wird diese feinste Granularität über die Attribute jedoch nicht erreicht, und Informationseinheiten überlappen einander oder sind in verschiedenen Sub- oder Subkonzepten vertreten.
Beispielsweise kann in einem Schema Postleitzahl und Ort in einem Attribut zusammengefasst sein. Besitzen nun beide Schemata nur eine bestimmte Schnittmenge gemeinsamer Informationen, wird nur eine partielle strukturelle Übereinstimmung gesucht.
Element-Level-Matcher sind auf eine Ebene beschränkt, während Struktur-Matcher darüber- und darunterliegende Konzepte ebenso als zur Struktur gehörig betrachten, um darin gemeinsame Schnittpunkte zu finden.
Im Gegensatz zu einem Struktur-Matcher ignoriert ein Elementmatcher bestehende SubKonzepte. Er ist jedoch auch nicht auf das Atomare Level beschränkt, sondern kann auch auf grobkörnigere, höhere nicht-atomare Elemente angewendet werden, jedoch nur in einer Hierarchieebene arbeitend. Er nutzen eine Vielzahl der in der relationalen Datenbank-Bearbeitung genutzen Methoden (siehe Datenharmonisierung), und wendet diese auf Elementnamen, Beschreibung oder Datentyp des einzelnen Schema-Elementes an.
Matching-Kardinalität
Ein Element eines Schemas S1 kann Ähnlichkeiten zu einem oder mehreren Elementen des Schemas S2 besitzen. Ebenso kann umgekehrt ein Element aus S2 mehrere Vertreter aus S1 haben. Es sind demnach beim Struktumatching gewöhnliche Beziehungsrelationen (1:1), mengenorientierte Fälle (1:n bzw. n:1) bis hin zu n:m – Relationen denkbar, jeweils entweder auf eine globale Kardinalität zwischen verschiedenen Mapping-Elementen oder einer lokalen Kardinalität zu einem individuellen Mapping-Element. Element-Level Matching ist meist auf eine lokale Kardinalität von 1:1, 1:n und n:1 beschränkt. n:m – Ergebnisse erfordern in jeden Fall eine zusätzliche Strukturmatching-Analyse (siehe Kapitel 2.2.2)
Sprache und Constraints
Die linguistische Annäherung wird zunächst in Form der Namensübereinstimmung verwendet. Damit kann ein gleicher Name, ein gleicher Name in kanonischer Sicht, aber auch gleiche Synonyme gemeint sein. Ebenso können zwei Bezeichner einen gemeinsamen Oberbegriff (Hypernym, bspw. in Form einer Inklusions-Beziehung („is-a“)) teilen, oder auf Zeichenebene Ähnlichkeiten besitzen. Domänenabhängig kann vom Nutzer auch eine Ersetzungsliste geliefert werden. Weitere Vorgehen in diesem Bereich werden im Kapitel "Onthologien" und "Zeichenmetriken" vorgestellt.
Da oftmals in Schemata Kommentare und Beschreibungstexte in natürlicher Sprache die gewünschte Semantik der Schemaelemente ausdrücken, können hierin ebenfalls Schlüsselwörter extrahiert werden.
Constraint-basierte Untersuchung beinhaltet den Vergleich zweier Elemente auf gleiche/ähnliche Datentypen, Wertebereiche, Beziehungstypen, Kardinalitäten oder etwaige Optionalität.
Weiterhin kann ihre Eigenschaft als Schlüsselcharakter (unique, Primär-, Fremdschlüssel) genutzt werden. Eine alleinige Nutzung dieser Methode würde zu falschen Übereinstimmungen führen, aber als unterstützendes Element ist die constraintbasierte Untersuchung sehr hilfreich.
helfende Systeme
Meist werden zusätzlich zu den oben genannten Faktoren noch externe Quellen wie Wörterbücher und Thesauri-Lexika für Stemming, Synonym-Identifizierungen und somit der Auflösung von Verklemmungen genutzt werden. Ebenfalls kann man bereits bestehende Matchings anderer Strukturen mit der gleichen Domäne verwenden, um eine mögliche Ausrichtung besser erahnen zu können.
Vorgehen
[Studer05] gibt in Bezug auf das „OntologyAlignment“ einen grundsätzlich erkennbaren Ablauf einer Strukturanalysen vor, auf den sich [Meh05] genauer bezieht und ihn an diversen Systemen zeigt. Da Ontologien eine spezialisierte Struktur darstellen, ist das Ontology-Alignment eine Unterform der Struktur-Analyse und kann auf alle übrigen XML-Strukturen Anwendung finden.
Zwei Schemas aufeinander abzubilden bedeutet hierin, dass für jede Entität (Begriff, Relation, Instanz) des ersten Schemas die Entsprechung mit derselben Bedeutung im zweiten Schema gesucht wird. Es wird die 5-Tupel- Funktion align auf einem Vokabular E aller Entitäten , d.h. Begriffe, Relationen und Instanzen und der Menge möglicher Schemata S als partielle Funktion angewendet.
Die grundsätzlichen Algorithmen der Stufen 2 bis 5 finden analog bei der Datenharmonisierung Anwendung, welche im Kapitel 3 näher vorgestellt wird. Jeder dieser 6 Schritte besitzt natürlich selbst eigene spezifische Methoden mit jeweils entsprechenden zu setzenden Parametern.
Beispiele
Eine Vielzahl von Applikationen und Frameworks haben dieses Vorgehen bereits fest umgesetzt. Es wird dabei oftmals zwischen Individual und kombinatorischen Systemen unterschieden. Während ersterer sich auf einen Algorithmus konzentriert, verwenden die Vertreter der zweiten Gruppe mehrere Algorithmen und gewichten die Teilergebnisse.
Grundsätzlich verwendete Methoden sind
Es soll nun Auswahl aktueller, aussichtsreicher Vertreter folgen. Diese werden in [Meh05], [Cupid01] und [ChiunchigliaEtAl'04] näher evaluierter.
SemInt
„Seamless Moell Integration“ als instanzbasiertes System assoziiert Attribute in beiden Schemen mit Treffer-Signaturen. Diese bestehen aus 15 constraint-basierenden und 5 content-basierenden Kriterien, welche von den Instanz-Werten abgeleitet und auf [0,1] normalisiert werden, so daß jedes Kriterium einen Wert in einem 20-dimensionalen Vektorraum einnimmt. Diese werden auf Grundlage ihrer Euklid-Distanz geclustert und ein neuronales Netz mit Ihnen trainiert, welches auf das zweite Schema angewendet wird. Hierbei handelt es sich um einen hybriden Elementlevel-Matcher, welcher die Schemastruktur nicht beachtet. [Cupid01]. Semint ist einer der ersten Anläufe, keine hartkodierten Kombinationen von individuellen regelbasierten Ähnlichkeiten zu nutzen, sondern statdessen einen auf Maschinenlernbarkeit basierenden Ansatz zu wählen, besitzt jedoch kein namens- bzw. graphenbasiertes Matching.
Dike
Dike ermittelt Synonym- und Inklusions-Beziehungen (is-a) eines EntityRelationship-Schemas. Objekte werden als ähnlich markiert, falls die damit verknüpften Attribute ähnlich sind. Als Ergebnis auf zwei ER-Schemata werden die Wahrscheinlichkeitswerte zwischen beiden, gemeinsam mit Synonymen und Inklusionen ausgegeben.
Cupid
Cupid ist ein Mehrzweck-Schemamatcher, welcher mit hybriden Verfahren arbeitet. Er funktioniert sowohl element- als auch strukturbasiert, spezialisiert sich jedoch auf Ähnlichkeiten von atomaren Elementen, da dort viele Schemasemantiken aufzufinden sind. Laut [Cupid01] werden ebenso interne Strukturen erkundet, wobei deren Differenzen nur gering in die Gesamtklassifizierung einfließen. Der Gesamtablauf ist in 3 Stufen gegliedert, wobei im ersten Schritt Elemente (Knoten des Schemas) auf linguistische Eigenschaften verglichen werden, inklusive externen Abgleich von Synonymen. Für den zweiten Schritt, den strukturellen Ablauf, wird das Datamodell in eine Baumstruktur transformiert und Paare daraufhin anhand ihrer Blattknoten verglichen. Ein Ähnlichkeit wird durch den gewichteten Abgleich zwischen linguistischem und strukturellem Ergebnis ermittelt. In der dritten Phase entscheidet der Schwellwert (Threshold) über Übereinstimmung. Dieser Wert ist domänenabhängig und kann nicht im Voraus angegeben werden.
COMA
„Combination of Matching-Algorithms“ nutzt einen direkten, azyklischen Graphen, und arbeitet semiautomatisch mit Hilfe von User-Feedback. COMA befolgt ebenfalls einen Kompositions-Ansatz, welcher eine erweiterbare Bibliothek von verschiedenen Matchern zur Verfügung stellt und eine Vielzahl von Kombination der ermittelten Matching-Ergebnisse unterstützt. Hier finden ebenfalls zuvor errechnete Resultate wiederverwendung. Die Kompositionsstrategien adressieren verschiedene Aspekte des Matching-Prozesses, so z.B. die Aggregation von Matcher-spezifischen Ergebnissen und Match-Kandidaten-Auswahl. Schemata werden auch hier in gerichtete direkte azyklische Graphen transformiert, auf denen alle Algorithmen arbeiten. Jedes Schema ist unique identifiziert durch seinen kompletten Pfad von der Quelle des Schemengraphes bis zum korrepsondierenden Knoten.
COMA erzeugt auf Elementebene Übereinstimmungen von 1:1 lokaler und m:n globaler Kardinalität. Der Alignment-Prozess besteht auch hier aus 3 Phasen, die iterativ durchlaufen werden und wobei die erste stets eine User-Feedback-Dialog zum Einstellen verschiedener Parameter darstellt (e.g. Auswahl des entsprechenden Matchers/Annahme, Ablehnung eines entsprechenden Entwurfes.). Daraufhin werden die individuellen Ähnlichkeiten berechnet. Diese basieren meist auf linguistischen Informationen, nutzen ebenso im Hintergrund Wörterbücher und strukturelle Elemente as Kinder oder Blätter. In der dritten Phase werden die Matcher wiederum kombiniert, entweder durch ein Maximum, einer Gewichtung einem Durchschnitt oder einer MinimumStrategie. Verschiedene Annäherungen für Schwellwert-Determinationen werden gegeben. Es ist ebenso möglich, das Programm komplett automatisch zu betreiben.
CTX S-Match
S-Match ermittelt Annäherungen, um semantische Beziehung zwischen Klassen zweier Klassifikationsschemata abzuleiten. Diese werden dazu von einer Datenbank oder Ontologie extrahiert. Sie basieren auf Untersuchung der Labels m.H. von „Wordnet“ als Synonym- Thesaurus-Überprüfung. Es sind laut [ChiunchigliaEtAl'04] ebenfalls weitere Element-Matcher vorhanden. Zusätzlich kommt hier ein SAT-Solver zum Einsatz, welcher die Schemata untersucht und dabei vor allem die Taxonomie und geschlußfolgerte Implikationen ermittelt. Er gibt entweder Gleichheit, Untermenge oder Unabhängigkeit zwischen 2 Klassen zurück.
Zusammenfassung
Auf den vorangegangen Seiten wurden Methoden und Vorgehensweisen zur Identifizierung von Bestandteilen eines unbekannten Schemas vorgestellt. Fünf konkrete Beispiele aus dem universitären Umfeld, welche (semi-) automatische Umsetzungen durchführen, erlauben mit Hilfe einer Vergleichsstruktur, lokale Komponentenschemata zu erkennen.
Mit diesem Strukturwissen kann ein Abfrageterm für Xcerpt generiert werden, welcher die entsprechenden Felder der Struktur gezielt ansteuert.
Instanzen der globalen Komponente werden dadurch extrahiert und über einen global identischen Konstruktionsterm zur Verfügung gestellt.
Auf diese Instanzen kann im nächsten Kapiteln transparent zurückgegriffen werden, und deren Inhalt semantisch angeglichen sowie abschließend untereinander verknüpft werden.
Aufgrund des subjektiven Architekturansatzes werden kaum auf einem Gebiet exakt passende Strukturen zu finden sein. Die Identifizierung und Nutzung semantischer Korrespondenzen zwischen den Elementen zweier Schemata wird mit „Schema-Alignment“ bezeichnet und gilt es in einer Vielzahl von Anwendungen zu lösen. Im Bereich der Daten-Integrationen sowie XML-Message-Mapping in heterogenen Systemen beispielsweise vorgefunden, kommen Struktur-Analysen bei e-Commerce- oder Data-Warehousing-Applicationen stark zum Einsatz. Oftmals werden dabei diese Mapping-Aufgaben noch manuell (händisch) mit teilweiser graphischer Unterstützung erledigt, was nicht nur zeitaufwendig sondern mit zunehmender Anzahl unterschiedlicher Schemata ansteigend unpraktikabel ist.
Motivation
Unterschiede in Schemata können sowohl auf einer sprachlichen als auch auf der Bedeutungsebene auftreten.
So können sich sprachliche Ausdrücke
darstellen.
Auf Bedeutungsebene kann beispielsweise
Ansätze
[Noy05] nennt für die automatische Alternative der Strukturvereinigung die Herangehensweisen „Mapping“, „Artikulation“ und „Merging“.
Das Ziel des Mappings ist es, für die Abbildung gegeneinander ein Dokument als Adapter anzulegen. Es beinhaltet Elemente, welche die Symbole des einen Alphabetes mit denen des zweiten Alphabets verknüpfen.
Diese Mapping-Elemente sind hierbei jeweils 5-Tupel (id, e, e',R,n) mit
Eine Angleichung A ist damit eine Menge von Mapping-Elementen, welche von zwei Schemata abhängt. Sie besitzt einige Multiplizitäten (1-1, 1-*, etc.) sowie einige andere Eigenschaften.
Da dabei nicht-übereinstimmende Aspekte leicht verloren gehen, kann diese Mapping gemeinsam mit den beiden Originaldokumenten präsentiert werden. Strukturen die in allgemeineren Wegen als durch binär ausdrückbare Gemeinsamkeiten miteinander in Beziehungen stehen, so zum Beispiel durch Relationen anstatt von Funktionen, wie es bei Ontologien gegeben ist, können gemeinsam mit einem gemappten Grundübereinstimmungsdokument präsentiert werden, Artikulation genannt.
Beim Merging wir auf Grundlage aller beteiligter Quellen eine komplett neue Struktur erstellt, welche die Instanzen beider zusammenführt.
Betrachtungsaspekte
Zur Analyse von Strukturen werden in [VLDBJ2001] folgende Betrachtungsaspekte genannt:
Schema- und Instanzenmatching
Schema-Matching betrachtet das Schema einer Struktur und versucht auf Grundlage der Eigenschaften von Schema-Elementen, wie deren Name, deren Beschreibungstext, deren Beziehungentypen zu anderen Elementen (Is-a oder Sub-/Supkonzept-Eigenschaften) sowie gegebenen Constraints jeweils Übereinstimmungen in beiden Basen zu finden.
Bei Datensammlungen, welche nur in limitierter Weise nützliche Schema-Informationen enthalten, seien dies semistrukturierten Daten in Form von HTML-Seiten, gibt Instanzenwissen wichtige Einblicke in den Inhalt und die Bedeutung von einzelnen Schemaelementen. Im Extremfall ist keinerlei Schema vorgegeben und muss von den Instanzendaten manuell oder automatisch erstellt werden. Dabei kommen oftmals die im Kapitel "Inhaltsintegration" ausführlich behandelten Datenharmonisierungstechniken zum Einsatz.
Aber auch bei vorhandenen Schemata kann Instanzensichtung wichtig sein, um abweichende Interpretationen der Schema-Informationen aufzudecken. Falls bei einem solchem Matching beispielsweise zwei Schema-Zuweisungen gleiche Wahrscheinlichkeit besitzten, kann auf das Element mit höherer Übereinstimmung in den Instanzen zurückgegriffen werden.
Element- und Strukturmatching
Im Idealfall eines Matchings besitzen alle Elemente eines Schemas mit Ihnen identische Elemente des zweiten Schemas auf der selben Hierarchie-Ebene. Beide unterscheiden sich hierbei lediglich durch abweichende Schema-Bezeichnungen wie „Adresse.ZIP“ und „Adresse.PLZ“. Oftmals wird diese feinste Granularität über die Attribute jedoch nicht erreicht, und Informationseinheiten überlappen einander oder sind in verschiedenen Sub- oder Subkonzepten vertreten.
Beispielsweise kann in einem Schema Postleitzahl und Ort in einem Attribut zusammengefasst sein. Besitzen nun beide Schemata nur eine bestimmte Schnittmenge gemeinsamer Informationen, wird nur eine partielle strukturelle Übereinstimmung gesucht.
Element-Level-Matcher sind auf eine Ebene beschränkt, während Struktur-Matcher darüber- und darunterliegende Konzepte ebenso als zur Struktur gehörig betrachten, um darin gemeinsame Schnittpunkte zu finden.
Im Gegensatz zu einem Struktur-Matcher ignoriert ein Elementmatcher bestehende SubKonzepte. Er ist jedoch auch nicht auf das Atomare Level beschränkt, sondern kann auch auf grobkörnigere, höhere nicht-atomare Elemente angewendet werden, jedoch nur in einer Hierarchieebene arbeitend. Er nutzen eine Vielzahl der in der relationalen Datenbank-Bearbeitung genutzen Methoden (siehe Datenharmonisierung), und wendet diese auf Elementnamen, Beschreibung oder Datentyp des einzelnen Schema-Elementes an.
Matching-Kardinalität
Ein Element eines Schemas S1 kann Ähnlichkeiten zu einem oder mehreren Elementen des Schemas S2 besitzen. Ebenso kann umgekehrt ein Element aus S2 mehrere Vertreter aus S1 haben. Es sind demnach beim Struktumatching gewöhnliche Beziehungsrelationen (1:1), mengenorientierte Fälle (1:n bzw. n:1) bis hin zu n:m – Relationen denkbar, jeweils entweder auf eine globale Kardinalität zwischen verschiedenen Mapping-Elementen oder einer lokalen Kardinalität zu einem individuellen Mapping-Element. Element-Level Matching ist meist auf eine lokale Kardinalität von 1:1, 1:n und n:1 beschränkt. n:m – Ergebnisse erfordern in jeden Fall eine zusätzliche Strukturmatching-Analyse (siehe Kapitel 2.2.2)
Sprache und Constraints
Die linguistische Annäherung wird zunächst in Form der Namensübereinstimmung verwendet. Damit kann ein gleicher Name, ein gleicher Name in kanonischer Sicht, aber auch gleiche Synonyme gemeint sein. Ebenso können zwei Bezeichner einen gemeinsamen Oberbegriff (Hypernym, bspw. in Form einer Inklusions-Beziehung („is-a“)) teilen, oder auf Zeichenebene Ähnlichkeiten besitzen. Domänenabhängig kann vom Nutzer auch eine Ersetzungsliste geliefert werden. Weitere Vorgehen in diesem Bereich werden im Kapitel "Onthologien" und "Zeichenmetriken" vorgestellt.
Da oftmals in Schemata Kommentare und Beschreibungstexte in natürlicher Sprache die gewünschte Semantik der Schemaelemente ausdrücken, können hierin ebenfalls Schlüsselwörter extrahiert werden.
Constraint-basierte Untersuchung beinhaltet den Vergleich zweier Elemente auf gleiche/ähnliche Datentypen, Wertebereiche, Beziehungstypen, Kardinalitäten oder etwaige Optionalität.
Weiterhin kann ihre Eigenschaft als Schlüsselcharakter (unique, Primär-, Fremdschlüssel) genutzt werden. Eine alleinige Nutzung dieser Methode würde zu falschen Übereinstimmungen führen, aber als unterstützendes Element ist die constraintbasierte Untersuchung sehr hilfreich.
helfende Systeme
Meist werden zusätzlich zu den oben genannten Faktoren noch externe Quellen wie Wörterbücher und Thesauri-Lexika für Stemming, Synonym-Identifizierungen und somit der Auflösung von Verklemmungen genutzt werden. Ebenfalls kann man bereits bestehende Matchings anderer Strukturen mit der gleichen Domäne verwenden, um eine mögliche Ausrichtung besser erahnen zu können.
Vorgehen
[Studer05] gibt in Bezug auf das „OntologyAlignment“ einen grundsätzlich erkennbaren Ablauf einer Strukturanalysen vor, auf den sich [Meh05] genauer bezieht und ihn an diversen Systemen zeigt. Da Ontologien eine spezialisierte Struktur darstellen, ist das Ontology-Alignment eine Unterform der Struktur-Analyse und kann auf alle übrigen XML-Strukturen Anwendung finden.
Zwei Schemas aufeinander abzubilden bedeutet hierin, dass für jede Entität (Begriff, Relation, Instanz) des ersten Schemas die Entsprechung mit derselben Bedeutung im zweiten Schema gesucht wird. Es wird die 5-Tupel- Funktion align auf einem Vokabular E aller Entitäten , d.h. Begriffe, Relationen und Instanzen und der Menge möglicher Schemata S als partielle Funktion angewendet.
Die grundsätzlichen Algorithmen der Stufen 2 bis 5 finden analog bei der Datenharmonisierung Anwendung, welche im Kapitel 3 näher vorgestellt wird. Jeder dieser 6 Schritte besitzt natürlich selbst eigene spezifische Methoden mit jeweils entsprechenden zu setzenden Parametern.
Beispiele
Eine Vielzahl von Applikationen und Frameworks haben dieses Vorgehen bereits fest umgesetzt. Es wird dabei oftmals zwischen Individual und kombinatorischen Systemen unterschieden. Während ersterer sich auf einen Algorithmus konzentriert, verwenden die Vertreter der zweiten Gruppe mehrere Algorithmen und gewichten die Teilergebnisse.
Grundsätzlich verwendete Methoden sind
Es soll nun Auswahl aktueller, aussichtsreicher Vertreter folgen. Diese werden in [Meh05], [Cupid01] und [ChiunchigliaEtAl'04] näher evaluierter.
SemInt
„Seamless Moell Integration“ als instanzbasiertes System assoziiert Attribute in beiden Schemen mit Treffer-Signaturen. Diese bestehen aus 15 constraint-basierenden und 5 content-basierenden Kriterien, welche von den Instanz-Werten abgeleitet und auf [0,1] normalisiert werden, so daß jedes Kriterium einen Wert in einem 20-dimensionalen Vektorraum einnimmt. Diese werden auf Grundlage ihrer Euklid-Distanz geclustert und ein neuronales Netz mit Ihnen trainiert, welches auf das zweite Schema angewendet wird. Hierbei handelt es sich um einen hybriden Elementlevel-Matcher, welcher die Schemastruktur nicht beachtet. [Cupid01]. Semint ist einer der ersten Anläufe, keine hartkodierten Kombinationen von individuellen regelbasierten Ähnlichkeiten zu nutzen, sondern statdessen einen auf Maschinenlernbarkeit basierenden Ansatz zu wählen, besitzt jedoch kein namens- bzw. graphenbasiertes Matching.
Dike
Dike ermittelt Synonym- und Inklusions-Beziehungen (is-a) eines EntityRelationship-Schemas. Objekte werden als ähnlich markiert, falls die damit verknüpften Attribute ähnlich sind. Als Ergebnis auf zwei ER-Schemata werden die Wahrscheinlichkeitswerte zwischen beiden, gemeinsam mit Synonymen und Inklusionen ausgegeben.
Cupid
Cupid ist ein Mehrzweck-Schemamatcher, welcher mit hybriden Verfahren arbeitet. Er funktioniert sowohl element- als auch strukturbasiert, spezialisiert sich jedoch auf Ähnlichkeiten von atomaren Elementen, da dort viele Schemasemantiken aufzufinden sind. Laut [Cupid01] werden ebenso interne Strukturen erkundet, wobei deren Differenzen nur gering in die Gesamtklassifizierung einfließen. Der Gesamtablauf ist in 3 Stufen gegliedert, wobei im ersten Schritt Elemente (Knoten des Schemas) auf linguistische Eigenschaften verglichen werden, inklusive externen Abgleich von Synonymen. Für den zweiten Schritt, den strukturellen Ablauf, wird das Datamodell in eine Baumstruktur transformiert und Paare daraufhin anhand ihrer Blattknoten verglichen. Ein Ähnlichkeit wird durch den gewichteten Abgleich zwischen linguistischem und strukturellem Ergebnis ermittelt. In der dritten Phase entscheidet der Schwellwert (Threshold) über Übereinstimmung. Dieser Wert ist domänenabhängig und kann nicht im Voraus angegeben werden.
COMA
„Combination of Matching-Algorithms“ nutzt einen direkten, azyklischen Graphen, und arbeitet semiautomatisch mit Hilfe von User-Feedback. COMA befolgt ebenfalls einen Kompositions-Ansatz, welcher eine erweiterbare Bibliothek von verschiedenen Matchern zur Verfügung stellt und eine Vielzahl von Kombination der ermittelten Matching-Ergebnisse unterstützt. Hier finden ebenfalls zuvor errechnete Resultate wiederverwendung. Die Kompositionsstrategien adressieren verschiedene Aspekte des Matching-Prozesses, so z.B. die Aggregation von Matcher-spezifischen Ergebnissen und Match-Kandidaten-Auswahl. Schemata werden auch hier in gerichtete direkte azyklische Graphen transformiert, auf denen alle Algorithmen arbeiten. Jedes Schema ist unique identifiziert durch seinen kompletten Pfad von der Quelle des Schemengraphes bis zum korrepsondierenden Knoten.
COMA erzeugt auf Elementebene Übereinstimmungen von 1:1 lokaler und m:n globaler Kardinalität. Der Alignment-Prozess besteht auch hier aus 3 Phasen, die iterativ durchlaufen werden und wobei die erste stets eine User-Feedback-Dialog zum Einstellen verschiedener Parameter darstellt (e.g. Auswahl des entsprechenden Matchers/Annahme, Ablehnung eines entsprechenden Entwurfes.). Daraufhin werden die individuellen Ähnlichkeiten berechnet. Diese basieren meist auf linguistischen Informationen, nutzen ebenso im Hintergrund Wörterbücher und strukturelle Elemente as Kinder oder Blätter. In der dritten Phase werden die Matcher wiederum kombiniert, entweder durch ein Maximum, einer Gewichtung einem Durchschnitt oder einer MinimumStrategie. Verschiedene Annäherungen für Schwellwert-Determinationen werden gegeben. Es ist ebenso möglich, das Programm komplett automatisch zu betreiben.
CTX S-Match
S-Match ermittelt Annäherungen, um semantische Beziehung zwischen Klassen zweier Klassifikationsschemata abzuleiten. Diese werden dazu von einer Datenbank oder Ontologie extrahiert. Sie basieren auf Untersuchung der Labels m.H. von „Wordnet“ als Synonym- Thesaurus-Überprüfung. Es sind laut [ChiunchigliaEtAl'04] ebenfalls weitere Element-Matcher vorhanden. Zusätzlich kommt hier ein SAT-Solver zum Einsatz, welcher die Schemata untersucht und dabei vor allem die Taxonomie und geschlußfolgerte Implikationen ermittelt. Er gibt entweder Gleichheit, Untermenge oder Unabhängigkeit zwischen 2 Klassen zurück.
Zusammenfassung
Auf den vorangegangen Seiten wurden Methoden und Vorgehensweisen zur Identifizierung von Bestandteilen eines unbekannten Schemas vorgestellt. Fünf konkrete Beispiele aus dem universitären Umfeld, welche (semi-) automatische Umsetzungen durchführen, erlauben mit Hilfe einer Vergleichsstruktur, lokale Komponentenschemata zu erkennen.
Mit diesem Strukturwissen kann ein Abfrageterm für Xcerpt generiert werden, welcher die entsprechenden Felder der Struktur gezielt ansteuert.
Instanzen der globalen Komponente werden dadurch extrahiert und über einen global identischen Konstruktionsterm zur Verfügung gestellt.
Auf diese Instanzen kann im nächsten Kapiteln transparent zurückgegriffen werden, und deren Inhalt semantisch angeglichen sowie abschließend untereinander verknüpft werden.
Aufgrund des subjektiven Architekturansatzes werden kaum auf einem Gebiet exakt passende Strukturen zu finden sein. Die Identifizierung und Nutzung semantischer Korrespondenzen zwischen den Elementen zweier Schemata wird mit „Schema-Alignment“ bezeichnet und gilt es in einer Vielzahl von Anwendungen zu lösen. Im Bereich der Daten-Integrationen sowie XML-Message-Mapping in heterogenen Systemen beispielsweise vorgefunden, kommen Struktur-Analysen bei e-Commerce- oder Data-Warehousing-Applicationen stark zum Einsatz. Oftmals werden dabei diese Mapping-Aufgaben noch manuell (händisch) mit teilweiser graphischer Unterstützung erledigt, was nicht nur zeitaufwendig sondern mit zunehmender Anzahl unterschiedlicher Schemata ansteigend unpraktikabel ist.
Motivation
Unterschiede in Schemata können sowohl auf einer sprachlichen als auch auf der Bedeutungsebene auftreten.
So können sich sprachliche Ausdrücke
darstellen.
Auf Bedeutungsebene kann beispielsweise
Ansätze
[Noy05] nennt für die automatische Alternative der Strukturvereinigung die Herangehensweisen „Mapping“, „Artikulation“ und „Merging“.
Das Ziel des Mappings ist es, für die Abbildung gegeneinander ein Dokument als Adapter anzulegen. Es beinhaltet Elemente, welche die Symbole des einen Alphabetes mit denen des zweiten Alphabets verknüpfen.
Diese Mapping-Elemente sind hierbei jeweils 5-Tupel (id, e, e',R,n) mit
Eine Angleichung A ist damit eine Menge von Mapping-Elementen, welche von zwei Schemata abhängt. Sie besitzt einige Multiplizitäten (1-1, 1-*, etc.) sowie einige andere Eigenschaften.
Da dabei nicht-übereinstimmende Aspekte leicht verloren gehen, kann diese Mapping gemeinsam mit den beiden Originaldokumenten präsentiert werden. Strukturen die in allgemeineren Wegen als durch binär ausdrückbare Gemeinsamkeiten miteinander in Beziehungen stehen, so zum Beispiel durch Relationen anstatt von Funktionen, wie es bei Ontologien gegeben ist, können gemeinsam mit einem gemappten Grundübereinstimmungsdokument präsentiert werden, Artikulation genannt.
Beim Merging wir auf Grundlage aller beteiligter Quellen eine komplett neue Struktur erstellt, welche die Instanzen beider zusammenführt.
Betrachtungsaspekte
Zur Analyse von Strukturen werden in [VLDBJ2001] folgende Betrachtungsaspekte genannt:
Schema- und Instanzenmatching
Schema-Matching betrachtet das Schema einer Struktur und versucht auf Grundlage der Eigenschaften von Schema-Elementen, wie deren Name, deren Beschreibungstext, deren Beziehungentypen zu anderen Elementen (Is-a oder Sub-/Supkonzept-Eigenschaften) sowie gegebenen Constraints jeweils Übereinstimmungen in beiden Basen zu finden.
Bei Datensammlungen, welche nur in limitierter Weise nützliche Schema-Informationen enthalten, seien dies semistrukturierten Daten in Form von HTML-Seiten, gibt Instanzenwissen wichtige Einblicke in den Inhalt und die Bedeutung von einzelnen Schemaelementen. Im Extremfall ist keinerlei Schema vorgegeben und muss von den Instanzendaten manuell oder automatisch erstellt werden. Dabei kommen oftmals die im Kapitel "Inhaltsintegration" ausführlich behandelten Datenharmonisierungstechniken zum Einsatz.
Aber auch bei vorhandenen Schemata kann Instanzensichtung wichtig sein, um abweichende Interpretationen der Schema-Informationen aufzudecken. Falls bei einem solchem Matching beispielsweise zwei Schema-Zuweisungen gleiche Wahrscheinlichkeit besitzten, kann auf das Element mit höherer Übereinstimmung in den Instanzen zurückgegriffen werden.
Element- und Strukturmatching
Im Idealfall eines Matchings besitzen alle Elemente eines Schemas mit Ihnen identische Elemente des zweiten Schemas auf der selben Hierarchie-Ebene. Beide unterscheiden sich hierbei lediglich durch abweichende Schema-Bezeichnungen wie „Adresse.ZIP“ und „Adresse.PLZ“. Oftmals wird diese feinste Granularität über die Attribute jedoch nicht erreicht, und Informationseinheiten überlappen einander oder sind in verschiedenen Sub- oder Subkonzepten vertreten.
Beispielsweise kann in einem Schema Postleitzahl und Ort in einem Attribut zusammengefasst sein. Besitzen nun beide Schemata nur eine bestimmte Schnittmenge gemeinsamer Informationen, wird nur eine partielle strukturelle Übereinstimmung gesucht.
Element-Level-Matcher sind auf eine Ebene beschränkt, während Struktur-Matcher darüber- und darunterliegende Konzepte ebenso als zur Struktur gehörig betrachten, um darin gemeinsame Schnittpunkte zu finden.
Im Gegensatz zu einem Struktur-Matcher ignoriert ein Elementmatcher bestehende SubKonzepte. Er ist jedoch auch nicht auf das Atomare Level beschränkt, sondern kann auch auf grobkörnigere, höhere nicht-atomare Elemente angewendet werden, jedoch nur in einer Hierarchieebene arbeitend. Er nutzen eine Vielzahl der in der relationalen Datenbank-Bearbeitung genutzen Methoden (siehe Datenharmonisierung), und wendet diese auf Elementnamen, Beschreibung oder Datentyp des einzelnen Schema-Elementes an.
Matching-Kardinalität
Ein Element eines Schemas S1 kann Ähnlichkeiten zu einem oder mehreren Elementen des Schemas S2 besitzen. Ebenso kann umgekehrt ein Element aus S2 mehrere Vertreter aus S1 haben. Es sind demnach beim Struktumatching gewöhnliche Beziehungsrelationen (1:1), mengenorientierte Fälle (1:n bzw. n:1) bis hin zu n:m – Relationen denkbar, jeweils entweder auf eine globale Kardinalität zwischen verschiedenen Mapping-Elementen oder einer lokalen Kardinalität zu einem individuellen Mapping-Element. Element-Level Matching ist meist auf eine lokale Kardinalität von 1:1, 1:n und n:1 beschränkt. n:m – Ergebnisse erfordern in jeden Fall eine zusätzliche Strukturmatching-Analyse (siehe Kapitel 2.2.2)
Sprache und Constraints
Die linguistische Annäherung wird zunächst in Form der Namensübereinstimmung verwendet. Damit kann ein gleicher Name, ein gleicher Name in kanonischer Sicht, aber auch gleiche Synonyme gemeint sein. Ebenso können zwei Bezeichner einen gemeinsamen Oberbegriff (Hypernym, bspw. in Form einer Inklusions-Beziehung („is-a“)) teilen, oder auf Zeichenebene Ähnlichkeiten besitzen. Domänenabhängig kann vom Nutzer auch eine Ersetzungsliste geliefert werden. Weitere Vorgehen in diesem Bereich werden im Kapitel "Onthologien" und "Zeichenmetriken" vorgestellt.
Da oftmals in Schemata Kommentare und Beschreibungstexte in natürlicher Sprache die gewünschte Semantik der Schemaelemente ausdrücken, können hierin ebenfalls Schlüsselwörter extrahiert werden.
Constraint-basierte Untersuchung beinhaltet den Vergleich zweier Elemente auf gleiche/ähnliche Datentypen, Wertebereiche, Beziehungstypen, Kardinalitäten oder etwaige Optionalität.
Weiterhin kann ihre Eigenschaft als Schlüsselcharakter (unique, Primär-, Fremdschlüssel) genutzt werden. Eine alleinige Nutzung dieser Methode würde zu falschen Übereinstimmungen führen, aber als unterstützendes Element ist die constraintbasierte Untersuchung sehr hilfreich.
helfende Systeme
Meist werden zusätzlich zu den oben genannten Faktoren noch externe Quellen wie Wörterbücher und Thesauri-Lexika für Stemming, Synonym-Identifizierungen und somit der Auflösung von Verklemmungen genutzt werden. Ebenfalls kann man bereits bestehende Matchings anderer Strukturen mit der gleichen Domäne verwenden, um eine mögliche Ausrichtung besser erahnen zu können.
Vorgehen
[Studer05] gibt in Bezug auf das „OntologyAlignment“ einen grundsätzlich erkennbaren Ablauf einer Strukturanalysen vor, auf den sich [Meh05] genauer bezieht und ihn an diversen Systemen zeigt. Da Ontologien eine spezialisierte Struktur darstellen, ist das Ontology-Alignment eine Unterform der Struktur-Analyse und kann auf alle übrigen XML-Strukturen Anwendung finden.
Zwei Schemas aufeinander abzubilden bedeutet hierin, dass für jede Entität (Begriff, Relation, Instanz) des ersten Schemas die Entsprechung mit derselben Bedeutung im zweiten Schema gesucht wird. Es wird die 5-Tupel- Funktion align auf einem Vokabular E aller Entitäten , d.h. Begriffe, Relationen und Instanzen und der Menge möglicher Schemata S als partielle Funktion angewendet.
Die grundsätzlichen Algorithmen der Stufen 2 bis 5 finden analog bei der Datenharmonisierung Anwendung, welche im Kapitel 3 näher vorgestellt wird. Jeder dieser 6 Schritte besitzt natürlich selbst eigene spezifische Methoden mit jeweils entsprechenden zu setzenden Parametern.
Beispiele
Eine Vielzahl von Applikationen und Frameworks haben dieses Vorgehen bereits fest umgesetzt. Es wird dabei oftmals zwischen Individual und kombinatorischen Systemen unterschieden. Während ersterer sich auf einen Algorithmus konzentriert, verwenden die Vertreter der zweiten Gruppe mehrere Algorithmen und gewichten die Teilergebnisse.
Grundsätzlich verwendete Methoden sind
Es soll nun Auswahl aktueller, aussichtsreicher Vertreter folgen. Diese werden in [Meh05], [Cupid01] und [ChiunchigliaEtAl'04] näher evaluierter.
SemInt
„Seamless Moell Integration“ als instanzbasiertes System assoziiert Attribute in beiden Schemen mit Treffer-Signaturen. Diese bestehen aus 15 constraint-basierenden und 5 content-basierenden Kriterien, welche von den Instanz-Werten abgeleitet und auf [0,1] normalisiert werden, so daß jedes Kriterium einen Wert in einem 20-dimensionalen Vektorraum einnimmt. Diese werden auf Grundlage ihrer Euklid-Distanz geclustert und ein neuronales Netz mit Ihnen trainiert, welches auf das zweite Schema angewendet wird. Hierbei handelt es sich um einen hybriden Elementlevel-Matcher, welcher die Schemastruktur nicht beachtet. [Cupid01]. Semint ist einer der ersten Anläufe, keine hartkodierten Kombinationen von individuellen regelbasierten Ähnlichkeiten zu nutzen, sondern statdessen einen auf Maschinenlernbarkeit basierenden Ansatz zu wählen, besitzt jedoch kein namens- bzw. graphenbasiertes Matching.
Dike
Dike ermittelt Synonym- und Inklusions-Beziehungen (is-a) eines EntityRelationship-Schemas. Objekte werden als ähnlich markiert, falls die damit verknüpften Attribute ähnlich sind. Als Ergebnis auf zwei ER-Schemata werden die Wahrscheinlichkeitswerte zwischen beiden, gemeinsam mit Synonymen und Inklusionen ausgegeben.
Cupid
Cupid ist ein Mehrzweck-Schemamatcher, welcher mit hybriden Verfahren arbeitet. Er funktioniert sowohl element- als auch strukturbasiert, spezialisiert sich jedoch auf Ähnlichkeiten von atomaren Elementen, da dort viele Schemasemantiken aufzufinden sind. Laut [Cupid01] werden ebenso interne Strukturen erkundet, wobei deren Differenzen nur gering in die Gesamtklassifizierung einfließen. Der Gesamtablauf ist in 3 Stufen gegliedert, wobei im ersten Schritt Elemente (Knoten des Schemas) auf linguistische Eigenschaften verglichen werden, inklusive externen Abgleich von Synonymen. Für den zweiten Schritt, den strukturellen Ablauf, wird das Datamodell in eine Baumstruktur transformiert und Paare daraufhin anhand ihrer Blattknoten verglichen. Ein Ähnlichkeit wird durch den gewichteten Abgleich zwischen linguistischem und strukturellem Ergebnis ermittelt. In der dritten Phase entscheidet der Schwellwert (Threshold) über Übereinstimmung. Dieser Wert ist domänenabhängig und kann nicht im Voraus angegeben werden.
COMA
„Combination of Matching-Algorithms“ nutzt einen direkten, azyklischen Graphen, und arbeitet semiautomatisch mit Hilfe von User-Feedback. COMA befolgt ebenfalls einen Kompositions-Ansatz, welcher eine erweiterbare Bibliothek von verschiedenen Matchern zur Verfügung stellt und eine Vielzahl von Kombination der ermittelten Matching-Ergebnisse unterstützt. Hier finden ebenfalls zuvor errechnete Resultate wiederverwendung. Die Kompositionsstrategien adressieren verschiedene Aspekte des Matching-Prozesses, so z.B. die Aggregation von Matcher-spezifischen Ergebnissen und Match-Kandidaten-Auswahl. Schemata werden auch hier in gerichtete direkte azyklische Graphen transformiert, auf denen alle Algorithmen arbeiten. Jedes Schema ist unique identifiziert durch seinen kompletten Pfad von der Quelle des Schemengraphes bis zum korrepsondierenden Knoten.
COMA erzeugt auf Elementebene Übereinstimmungen von 1:1 lokaler und m:n globaler Kardinalität. Der Alignment-Prozess besteht auch hier aus 3 Phasen, die iterativ durchlaufen werden und wobei die erste stets eine User-Feedback-Dialog zum Einstellen verschiedener Parameter darstellt (e.g. Auswahl des entsprechenden Matchers/Annahme, Ablehnung eines entsprechenden Entwurfes.). Daraufhin werden die individuellen Ähnlichkeiten berechnet. Diese basieren meist auf linguistischen Informationen, nutzen ebenso im Hintergrund Wörterbücher und strukturelle Elemente as Kinder oder Blätter. In der dritten Phase werden die Matcher wiederum kombiniert, entweder durch ein Maximum, einer Gewichtung einem Durchschnitt oder einer MinimumStrategie. Verschiedene Annäherungen für Schwellwert-Determinationen werden gegeben. Es ist ebenso möglich, das Programm komplett automatisch zu betreiben.
CTX S-Match
S-Match ermittelt Annäherungen, um semantische Beziehung zwischen Klassen zweier Klassifikationsschemata abzuleiten. Diese werden dazu von einer Datenbank oder Ontologie extrahiert. Sie basieren auf Untersuchung der Labels m.H. von „Wordnet“ als Synonym- Thesaurus-Überprüfung. Es sind laut [ChiunchigliaEtAl'04] ebenfalls weitere Element-Matcher vorhanden. Zusätzlich kommt hier ein SAT-Solver zum Einsatz, welcher die Schemata untersucht und dabei vor allem die Taxonomie und geschlußfolgerte Implikationen ermittelt. Er gibt entweder Gleichheit, Untermenge oder Unabhängigkeit zwischen 2 Klassen zurück.
Zusammenfassung
Auf den vorangegangen Seiten wurden Methoden und Vorgehensweisen zur Identifizierung von Bestandteilen eines unbekannten Schemas vorgestellt. Fünf konkrete Beispiele aus dem universitären Umfeld, welche (semi-) automatische Umsetzungen durchführen, erlauben mit Hilfe einer Vergleichsstruktur, lokale Komponentenschemata zu erkennen.
Mit diesem Strukturwissen kann ein Abfrageterm für Xcerpt generiert werden, welcher die entsprechenden Felder der Struktur gezielt ansteuert.
Instanzen der globalen Komponente werden dadurch extrahiert und über einen global identischen Konstruktionsterm zur Verfügung gestellt.
Auf diese Instanzen kann im nächsten Kapiteln transparent zurückgegriffen werden, und deren Inhalt semantisch angeglichen sowie abschließend untereinander verknüpft werden.
Aufgrund des subjektiven Architekturansatzes werden kaum auf einem Gebiet exakt passende Strukturen zu finden sein. Die Identifizierung und Nutzung semantischer Korrespondenzen zwischen den Elementen zweier Schemata wird mit „Schema-Alignment“ bezeichnet und gilt es in einer Vielzahl von Anwendungen zu lösen. Im Bereich der Daten-Integrationen sowie XML-Message-Mapping in heterogenen Systemen beispielsweise vorgefunden, kommen Struktur-Analysen bei e-Commerce- oder Data-Warehousing-Applicationen stark zum Einsatz. Oftmals werden dabei diese Mapping-Aufgaben noch manuell (händisch) mit teilweiser graphischer Unterstützung erledigt, was nicht nur zeitaufwendig sondern mit zunehmender Anzahl unterschiedlicher Schemata ansteigend unpraktikabel ist.
Motivation
Unterschiede in Schemata können sowohl auf einer sprachlichen als auch auf der Bedeutungsebene auftreten.
So können sich sprachliche Ausdrücke
darstellen.
Auf Bedeutungsebene kann beispielsweise
Ansätze
[Noy05] nennt für die automatische Alternative der Strukturvereinigung die Herangehensweisen „Mapping“, „Artikulation“ und „Merging“.
Das Ziel des Mappings ist es, für die Abbildung gegeneinander ein Dokument als Adapter anzulegen. Es beinhaltet Elemente, welche die Symbole des einen Alphabetes mit denen des zweiten Alphabets verknüpfen.
Diese Mapping-Elemente sind hierbei jeweils 5-Tupel (id, e, e',R,n) mit
Eine Angleichung A ist damit eine Menge von Mapping-Elementen, welche von zwei Schemata abhängt. Sie besitzt einige Multiplizitäten (1-1, 1-*, etc.) sowie einige andere Eigenschaften.
Da dabei nicht-übereinstimmende Aspekte leicht verloren gehen, kann diese Mapping gemeinsam mit den beiden Originaldokumenten präsentiert werden. Strukturen die in allgemeineren Wegen als durch binär ausdrückbare Gemeinsamkeiten miteinander in Beziehungen stehen, so zum Beispiel durch Relationen anstatt von Funktionen, wie es bei Ontologien gegeben ist, können gemeinsam mit einem gemappten Grundübereinstimmungsdokument präsentiert werden, Artikulation genannt.
Beim Merging wir auf Grundlage aller beteiligter Quellen eine komplett neue Struktur erstellt, welche die Instanzen beider zusammenführt.
Betrachtungsaspekte
Zur Analyse von Strukturen werden in [VLDBJ2001] folgende Betrachtungsaspekte genannt:
Schema- und Instanzenmatching
Schema-Matching betrachtet das Schema einer Struktur und versucht auf Grundlage der Eigenschaften von Schema-Elementen, wie deren Name, deren Beschreibungstext, deren Beziehungentypen zu anderen Elementen (Is-a oder Sub-/Supkonzept-Eigenschaften) sowie gegebenen Constraints jeweils Übereinstimmungen in beiden Basen zu finden.
Bei Datensammlungen, welche nur in limitierter Weise nützliche Schema-Informationen enthalten, seien dies semistrukturierten Daten in Form von HTML-Seiten, gibt Instanzenwissen wichtige Einblicke in den Inhalt und die Bedeutung von einzelnen Schemaelementen. Im Extremfall ist keinerlei Schema vorgegeben und muss von den Instanzendaten manuell oder automatisch erstellt werden. Dabei kommen oftmals die im Kapitel "Inhaltsintegration" ausführlich behandelten Datenharmonisierungstechniken zum Einsatz.
Aber auch bei vorhandenen Schemata kann Instanzensichtung wichtig sein, um abweichende Interpretationen der Schema-Informationen aufzudecken. Falls bei einem solchem Matching beispielsweise zwei Schema-Zuweisungen gleiche Wahrscheinlichkeit besitzten, kann auf das Element mit höherer Übereinstimmung in den Instanzen zurückgegriffen werden.
Element- und Strukturmatching
Im Idealfall eines Matchings besitzen alle Elemente eines Schemas mit Ihnen identische Elemente des zweiten Schemas auf der selben Hierarchie-Ebene. Beide unterscheiden sich hierbei lediglich durch abweichende Schema-Bezeichnungen wie „Adresse.ZIP“ und „Adresse.PLZ“. Oftmals wird diese feinste Granularität über die Attribute jedoch nicht erreicht, und Informationseinheiten überlappen einander oder sind in verschiedenen Sub- oder Subkonzepten vertreten.
Beispielsweise kann in einem Schema Postleitzahl und Ort in einem Attribut zusammengefasst sein. Besitzen nun beide Schemata nur eine bestimmte Schnittmenge gemeinsamer Informationen, wird nur eine partielle strukturelle Übereinstimmung gesucht.
Element-Level-Matcher sind auf eine Ebene beschränkt, während Struktur-Matcher darüber- und darunterliegende Konzepte ebenso als zur Struktur gehörig betrachten, um darin gemeinsame Schnittpunkte zu finden.
Im Gegensatz zu einem Struktur-Matcher ignoriert ein Elementmatcher bestehende SubKonzepte. Er ist jedoch auch nicht auf das Atomare Level beschränkt, sondern kann auch auf grobkörnigere, höhere nicht-atomare Elemente angewendet werden, jedoch nur in einer Hierarchieebene arbeitend. Er nutzen eine Vielzahl der in der relationalen Datenbank-Bearbeitung genutzen Methoden (siehe Datenharmonisierung), und wendet diese auf Elementnamen, Beschreibung oder Datentyp des einzelnen Schema-Elementes an.
Matching-Kardinalität
Ein Element eines Schemas S1 kann Ähnlichkeiten zu einem oder mehreren Elementen des Schemas S2 besitzen. Ebenso kann umgekehrt ein Element aus S2 mehrere Vertreter aus S1 haben. Es sind demnach beim Struktumatching gewöhnliche Beziehungsrelationen (1:1), mengenorientierte Fälle (1:n bzw. n:1) bis hin zu n:m – Relationen denkbar, jeweils entweder auf eine globale Kardinalität zwischen verschiedenen Mapping-Elementen oder einer lokalen Kardinalität zu einem individuellen Mapping-Element. Element-Level Matching ist meist auf eine lokale Kardinalität von 1:1, 1:n und n:1 beschränkt. n:m – Ergebnisse erfordern in jeden Fall eine zusätzliche Strukturmatching-Analyse (siehe Kapitel 2.2.2)
Sprache und Constraints
Die linguistische Annäherung wird zunächst in Form der Namensübereinstimmung verwendet. Damit kann ein gleicher Name, ein gleicher Name in kanonischer Sicht, aber auch gleiche Synonyme gemeint sein. Ebenso können zwei Bezeichner einen gemeinsamen Oberbegriff (Hypernym, bspw. in Form einer Inklusions-Beziehung („is-a“)) teilen, oder auf Zeichenebene Ähnlichkeiten besitzen. Domänenabhängig kann vom Nutzer auch eine Ersetzungsliste geliefert werden. Weitere Vorgehen in diesem Bereich werden im Kapitel "Onthologien" und "Zeichenmetriken" vorgestellt.
Da oftmals in Schemata Kommentare und Beschreibungstexte in natürlicher Sprache die gewünschte Semantik der Schemaelemente ausdrücken, können hierin ebenfalls Schlüsselwörter extrahiert werden.
Constraint-basierte Untersuchung beinhaltet den Vergleich zweier Elemente auf gleiche/ähnliche Datentypen, Wertebereiche, Beziehungstypen, Kardinalitäten oder etwaige Optionalität.
Weiterhin kann ihre Eigenschaft als Schlüsselcharakter (unique, Primär-, Fremdschlüssel) genutzt werden. Eine alleinige Nutzung dieser Methode würde zu falschen Übereinstimmungen führen, aber als unterstützendes Element ist die constraintbasierte Untersuchung sehr hilfreich.
helfende Systeme
Meist werden zusätzlich zu den oben genannten Faktoren noch externe Quellen wie Wörterbücher und Thesauri-Lexika für Stemming, Synonym-Identifizierungen und somit der Auflösung von Verklemmungen genutzt werden. Ebenfalls kann man bereits bestehende Matchings anderer Strukturen mit der gleichen Domäne verwenden, um eine mögliche Ausrichtung besser erahnen zu können.
Vorgehen
[Studer05] gibt in Bezug auf das „OntologyAlignment“ einen grundsätzlich erkennbaren Ablauf einer Strukturanalysen vor, auf den sich [Meh05] genauer bezieht und ihn an diversen Systemen zeigt. Da Ontologien eine spezialisierte Struktur darstellen, ist das Ontology-Alignment eine Unterform der Struktur-Analyse und kann auf alle übrigen XML-Strukturen Anwendung finden.
Zwei Schemas aufeinander abzubilden bedeutet hierin, dass für jede Entität (Begriff, Relation, Instanz) des ersten Schemas die Entsprechung mit derselben Bedeutung im zweiten Schema gesucht wird. Es wird die 5-Tupel- Funktion align auf einem Vokabular E aller Entitäten , d.h. Begriffe, Relationen und Instanzen und der Menge möglicher Schemata S als partielle Funktion angewendet.
Die grundsätzlichen Algorithmen der Stufen 2 bis 5 finden analog bei der Datenharmonisierung Anwendung, welche im Kapitel 3 näher vorgestellt wird. Jeder dieser 6 Schritte besitzt natürlich selbst eigene spezifische Methoden mit jeweils entsprechenden zu setzenden Parametern.
Beispiele
Eine Vielzahl von Applikationen und Frameworks haben dieses Vorgehen bereits fest umgesetzt. Es wird dabei oftmals zwischen Individual und kombinatorischen Systemen unterschieden. Während ersterer sich auf einen Algorithmus konzentriert, verwenden die Vertreter der zweiten Gruppe mehrere Algorithmen und gewichten die Teilergebnisse.
Grundsätzlich verwendete Methoden sind
Es soll nun Auswahl aktueller, aussichtsreicher Vertreter folgen. Diese werden in [Meh05], [Cupid01] und [ChiunchigliaEtAl'04] näher evaluierter.
SemInt
„Seamless Moell Integration“ als instanzbasiertes System assoziiert Attribute in beiden Schemen mit Treffer-Signaturen. Diese bestehen aus 15 constraint-basierenden und 5 content-basierenden Kriterien, welche von den Instanz-Werten abgeleitet und auf [0,1] normalisiert werden, so daß jedes Kriterium einen Wert in einem 20-dimensionalen Vektorraum einnimmt. Diese werden auf Grundlage ihrer Euklid-Distanz geclustert und ein neuronales Netz mit Ihnen trainiert, welches auf das zweite Schema angewendet wird. Hierbei handelt es sich um einen hybriden Elementlevel-Matcher, welcher die Schemastruktur nicht beachtet. [Cupid01]. Semint ist einer der ersten Anläufe, keine hartkodierten Kombinationen von individuellen regelbasierten Ähnlichkeiten zu nutzen, sondern statdessen einen auf Maschinenlernbarkeit basierenden Ansatz zu wählen, besitzt jedoch kein namens- bzw. graphenbasiertes Matching.
Dike
Dike ermittelt Synonym- und Inklusions-Beziehungen (is-a) eines EntityRelationship-Schemas. Objekte werden als ähnlich markiert, falls die damit verknüpften Attribute ähnlich sind. Als Ergebnis auf zwei ER-Schemata werden die Wahrscheinlichkeitswerte zwischen beiden, gemeinsam mit Synonymen und Inklusionen ausgegeben.
Cupid
Cupid ist ein Mehrzweck-Schemamatcher, welcher mit hybriden Verfahren arbeitet. Er funktioniert sowohl element- als auch strukturbasiert, spezialisiert sich jedoch auf Ähnlichkeiten von atomaren Elementen, da dort viele Schemasemantiken aufzufinden sind. Laut [Cupid01] werden ebenso interne Strukturen erkundet, wobei deren Differenzen nur gering in die Gesamtklassifizierung einfließen. Der Gesamtablauf ist in 3 Stufen gegliedert, wobei im ersten Schritt Elemente (Knoten des Schemas) auf linguistische Eigenschaften verglichen werden, inklusive externen Abgleich von Synonymen. Für den zweiten Schritt, den strukturellen Ablauf, wird das Datamodell in eine Baumstruktur transformiert und Paare daraufhin anhand ihrer Blattknoten verglichen. Ein Ähnlichkeit wird durch den gewichteten Abgleich zwischen linguistischem und strukturellem Ergebnis ermittelt. In der dritten Phase entscheidet der Schwellwert (Threshold) über Übereinstimmung. Dieser Wert ist domänenabhängig und kann nicht im Voraus angegeben werden.
COMA
„Combination of Matching-Algorithms“ nutzt einen direkten, azyklischen Graphen, und arbeitet semiautomatisch mit Hilfe von User-Feedback. COMA befolgt ebenfalls einen Kompositions-Ansatz, welcher eine erweiterbare Bibliothek von verschiedenen Matchern zur Verfügung stellt und eine Vielzahl von Kombination der ermittelten Matching-Ergebnisse unterstützt. Hier finden ebenfalls zuvor errechnete Resultate wiederverwendung. Die Kompositionsstrategien adressieren verschiedene Aspekte des Matching-Prozesses, so z.B. die Aggregation von Matcher-spezifischen Ergebnissen und Match-Kandidaten-Auswahl. Schemata werden auch hier in gerichtete direkte azyklische Graphen transformiert, auf denen alle Algorithmen arbeiten. Jedes Schema ist unique identifiziert durch seinen kompletten Pfad von der Quelle des Schemengraphes bis zum korrepsondierenden Knoten.
COMA erzeugt auf Elementebene Übereinstimmungen von 1:1 lokaler und m:n globaler Kardinalität. Der Alignment-Prozess besteht auch hier aus 3 Phasen, die iterativ durchlaufen werden und wobei die erste stets eine User-Feedback-Dialog zum Einstellen verschiedener Parameter darstellt (e.g. Auswahl des entsprechenden Matchers/Annahme, Ablehnung eines entsprechenden Entwurfes.). Daraufhin werden die individuellen Ähnlichkeiten berechnet. Diese basieren meist auf linguistischen Informationen, nutzen ebenso im Hintergrund Wörterbücher und strukturelle Elemente as Kinder oder Blätter. In der dritten Phase werden die Matcher wiederum kombiniert, entweder durch ein Maximum, einer Gewichtung einem Durchschnitt oder einer MinimumStrategie. Verschiedene Annäherungen für Schwellwert-Determinationen werden gegeben. Es ist ebenso möglich, das Programm komplett automatisch zu betreiben.
CTX S-Match
S-Match ermittelt Annäherungen, um semantische Beziehung zwischen Klassen zweier Klassifikationsschemata abzuleiten. Diese werden dazu von einer Datenbank oder Ontologie extrahiert. Sie basieren auf Untersuchung der Labels m.H. von „Wordnet“ als Synonym- Thesaurus-Überprüfung. Es sind laut [ChiunchigliaEtAl'04] ebenfalls weitere Element-Matcher vorhanden. Zusätzlich kommt hier ein SAT-Solver zum Einsatz, welcher die Schemata untersucht und dabei vor allem die Taxonomie und geschlußfolgerte Implikationen ermittelt. Er gibt entweder Gleichheit, Untermenge oder Unabhängigkeit zwischen 2 Klassen zurück.
Zusammenfassung
Auf den vorangegangen Seiten wurden Methoden und Vorgehensweisen zur Identifizierung von Bestandteilen eines unbekannten Schemas vorgestellt. Fünf konkrete Beispiele aus dem universitären Umfeld, welche (semi-) automatische Umsetzungen durchführen, erlauben mit Hilfe einer Vergleichsstruktur, lokale Komponentenschemata zu erkennen.
Mit diesem Strukturwissen kann ein Abfrageterm für Xcerpt generiert werden, welcher die entsprechenden Felder der Struktur gezielt ansteuert.
Instanzen der globalen Komponente werden dadurch extrahiert und über einen global identischen Konstruktionsterm zur Verfügung gestellt.
Auf diese Instanzen kann im nächsten Kapiteln transparent zurückgegriffen werden, und deren Inhalt semantisch angeglichen sowie abschließend untereinander verknüpft werden.
Aufgrund des subjektiven Architekturansatzes werden kaum auf einem Gebiet exakt passende Strukturen zu finden sein. Die Identifizierung und Nutzung semantischer Korrespondenzen zwischen den Elementen zweier Schemata wird mit „Schema-Alignment“ bezeichnet und gilt es in einer Vielzahl von Anwendungen zu lösen. Im Bereich der Daten-Integrationen sowie XML-Message-Mapping in heterogenen Systemen beispielsweise vorgefunden, kommen Struktur-Analysen bei e-Commerce- oder Data-Warehousing-Applicationen stark zum Einsatz. Oftmals werden dabei diese Mapping-Aufgaben noch manuell (händisch) mit teilweiser graphischer Unterstützung erledigt, was nicht nur zeitaufwendig sondern mit zunehmender Anzahl unterschiedlicher Schemata ansteigend unpraktikabel ist.
Motivation
Unterschiede in Schemata können sowohl auf einer sprachlichen als auch auf der Bedeutungsebene auftreten.
So können sich sprachliche Ausdrücke
darstellen.
Auf Bedeutungsebene kann beispielsweise
Ansätze
[Noy05] nennt für die automatische Alternative der Strukturvereinigung die Herangehensweisen „Mapping“, „Artikulation“ und „Merging“.
Das Ziel des Mappings ist es, für die Abbildung gegeneinander ein Dokument als Adapter anzulegen. Es beinhaltet Elemente, welche die Symbole des einen Alphabetes mit denen des zweiten Alphabets verknüpfen.
Diese Mapping-Elemente sind hierbei jeweils 5-Tupel (id, e, e',R,n) mit
Eine Angleichung A ist damit eine Menge von Mapping-Elementen, welche von zwei Schemata abhängt. Sie besitzt einige Multiplizitäten (1-1, 1-*, etc.) sowie einige andere Eigenschaften.
Da dabei nicht-übereinstimmende Aspekte leicht verloren gehen, kann diese Mapping gemeinsam mit den beiden Originaldokumenten präsentiert werden. Strukturen die in allgemeineren Wegen als durch binär ausdrückbare Gemeinsamkeiten miteinander in Beziehungen stehen, so zum Beispiel durch Relationen anstatt von Funktionen, wie es bei Ontologien gegeben ist, können gemeinsam mit einem gemappten Grundübereinstimmungsdokument präsentiert werden, Artikulation genannt.
Beim Merging wir auf Grundlage aller beteiligter Quellen eine komplett neue Struktur erstellt, welche die Instanzen beider zusammenführt.
Betrachtungsaspekte
Zur Analyse von Strukturen werden in [VLDBJ2001] folgende Betrachtungsaspekte genannt:
Schema- und Instanzenmatching
Schema-Matching betrachtet das Schema einer Struktur und versucht auf Grundlage der Eigenschaften von Schema-Elementen, wie deren Name, deren Beschreibungstext, deren Beziehungentypen zu anderen Elementen (Is-a oder Sub-/Supkonzept-Eigenschaften) sowie gegebenen Constraints jeweils Übereinstimmungen in beiden Basen zu finden.
Bei Datensammlungen, welche nur in limitierter Weise nützliche Schema-Informationen enthalten, seien dies semistrukturierten Daten in Form von HTML-Seiten, gibt Instanzenwissen wichtige Einblicke in den Inhalt und die Bedeutung von einzelnen Schemaelementen. Im Extremfall ist keinerlei Schema vorgegeben und muss von den Instanzendaten manuell oder automatisch erstellt werden. Dabei kommen oftmals die im Kapitel "Inhaltsintegration" ausführlich behandelten Datenharmonisierungstechniken zum Einsatz.
Aber auch bei vorhandenen Schemata kann Instanzensichtung wichtig sein, um abweichende Interpretationen der Schema-Informationen aufzudecken. Falls bei einem solchem Matching beispielsweise zwei Schema-Zuweisungen gleiche Wahrscheinlichkeit besitzten, kann auf das Element mit höherer Übereinstimmung in den Instanzen zurückgegriffen werden.
Element- und Strukturmatching
Im Idealfall eines Matchings besitzen alle Elemente eines Schemas mit Ihnen identische Elemente des zweiten Schemas auf der selben Hierarchie-Ebene. Beide unterscheiden sich hierbei lediglich durch abweichende Schema-Bezeichnungen wie „Adresse.ZIP“ und „Adresse.PLZ“. Oftmals wird diese feinste Granularität über die Attribute jedoch nicht erreicht, und Informationseinheiten überlappen einander oder sind in verschiedenen Sub- oder Subkonzepten vertreten.
Beispielsweise kann in einem Schema Postleitzahl und Ort in einem Attribut zusammengefasst sein. Besitzen nun beide Schemata nur eine bestimmte Schnittmenge gemeinsamer Informationen, wird nur eine partielle strukturelle Übereinstimmung gesucht.
Element-Level-Matcher sind auf eine Ebene beschränkt, während Struktur-Matcher darüber- und darunterliegende Konzepte ebenso als zur Struktur gehörig betrachten, um darin gemeinsame Schnittpunkte zu finden.
Im Gegensatz zu einem Struktur-Matcher ignoriert ein Elementmatcher bestehende SubKonzepte. Er ist jedoch auch nicht auf das Atomare Level beschränkt, sondern kann auch auf grobkörnigere, höhere nicht-atomare Elemente angewendet werden, jedoch nur in einer Hierarchieebene arbeitend. Er nutzen eine Vielzahl der in der relationalen Datenbank-Bearbeitung genutzen Methoden (siehe Datenharmonisierung), und wendet diese auf Elementnamen, Beschreibung oder Datentyp des einzelnen Schema-Elementes an.
Matching-Kardinalität
Ein Element eines Schemas S1 kann Ähnlichkeiten zu einem oder mehreren Elementen des Schemas S2 besitzen. Ebenso kann umgekehrt ein Element aus S2 mehrere Vertreter aus S1 haben. Es sind demnach beim Struktumatching gewöhnliche Beziehungsrelationen (1:1), mengenorientierte Fälle (1:n bzw. n:1) bis hin zu n:m – Relationen denkbar, jeweils entweder auf eine globale Kardinalität zwischen verschiedenen Mapping-Elementen oder einer lokalen Kardinalität zu einem individuellen Mapping-Element. Element-Level Matching ist meist auf eine lokale Kardinalität von 1:1, 1:n und n:1 beschränkt. n:m – Ergebnisse erfordern in jeden Fall eine zusätzliche Strukturmatching-Analyse (siehe Kapitel 2.2.2)
Sprache und Constraints
Die linguistische Annäherung wird zunächst in Form der Namensübereinstimmung verwendet. Damit kann ein gleicher Name, ein gleicher Name in kanonischer Sicht, aber auch gleiche Synonyme gemeint sein. Ebenso können zwei Bezeichner einen gemeinsamen Oberbegriff (Hypernym, bspw. in Form einer Inklusions-Beziehung („is-a“)) teilen, oder auf Zeichenebene Ähnlichkeiten besitzen. Domänenabhängig kann vom Nutzer auch eine Ersetzungsliste geliefert werden. Weitere Vorgehen in diesem Bereich werden im Kapitel "Onthologien" und "Zeichenmetriken" vorgestellt.
Da oftmals in Schemata Kommentare und Beschreibungstexte in natürlicher Sprache die gewünschte Semantik der Schemaelemente ausdrücken, können hierin ebenfalls Schlüsselwörter extrahiert werden.
Constraint-basierte Untersuchung beinhaltet den Vergleich zweier Elemente auf gleiche/ähnliche Datentypen, Wertebereiche, Beziehungstypen, Kardinalitäten oder etwaige Optionalität.
Weiterhin kann ihre Eigenschaft als Schlüsselcharakter (unique, Primär-, Fremdschlüssel) genutzt werden. Eine alleinige Nutzung dieser Methode würde zu falschen Übereinstimmungen führen, aber als unterstützendes Element ist die constraintbasierte Untersuchung sehr hilfreich.
helfende Systeme
Meist werden zusätzlich zu den oben genannten Faktoren noch externe Quellen wie Wörterbücher und Thesauri-Lexika für Stemming, Synonym-Identifizierungen und somit der Auflösung von Verklemmungen genutzt werden. Ebenfalls kann man bereits bestehende Matchings anderer Strukturen mit der gleichen Domäne verwenden, um eine mögliche Ausrichtung besser erahnen zu können.
Vorgehen
[Studer05] gibt in Bezug auf das „OntologyAlignment“ einen grundsätzlich erkennbaren Ablauf einer Strukturanalysen vor, auf den sich [Meh05] genauer bezieht und ihn an diversen Systemen zeigt. Da Ontologien eine spezialisierte Struktur darstellen, ist das Ontology-Alignment eine Unterform der Struktur-Analyse und kann auf alle übrigen XML-Strukturen Anwendung finden.
Zwei Schemas aufeinander abzubilden bedeutet hierin, dass für jede Entität (Begriff, Relation, Instanz) des ersten Schemas die Entsprechung mit derselben Bedeutung im zweiten Schema gesucht wird. Es wird die 5-Tupel- Funktion align auf einem Vokabular E aller Entitäten , d.h. Begriffe, Relationen und Instanzen und der Menge möglicher Schemata S als partielle Funktion angewendet.
Die grundsätzlichen Algorithmen der Stufen 2 bis 5 finden analog bei der Datenharmonisierung Anwendung, welche im Kapitel 3 näher vorgestellt wird. Jeder dieser 6 Schritte besitzt natürlich selbst eigene spezifische Methoden mit jeweils entsprechenden zu setzenden Parametern.
Beispiele
Eine Vielzahl von Applikationen und Frameworks haben dieses Vorgehen bereits fest umgesetzt. Es wird dabei oftmals zwischen Individual und kombinatorischen Systemen unterschieden. Während ersterer sich auf einen Algorithmus konzentriert, verwenden die Vertreter der zweiten Gruppe mehrere Algorithmen und gewichten die Teilergebnisse.
Grundsätzlich verwendete Methoden sind
Es soll nun Auswahl aktueller, aussichtsreicher Vertreter folgen. Diese werden in [Meh05], [Cupid01] und [ChiunchigliaEtAl'04] näher evaluierter.
SemInt
„Seamless Moell Integration“ als instanzbasiertes System assoziiert Attribute in beiden Schemen mit Treffer-Signaturen. Diese bestehen aus 15 constraint-basierenden und 5 content-basierenden Kriterien, welche von den Instanz-Werten abgeleitet und auf [0,1] normalisiert werden, so daß jedes Kriterium einen Wert in einem 20-dimensionalen Vektorraum einnimmt. Diese werden auf Grundlage ihrer Euklid-Distanz geclustert und ein neuronales Netz mit Ihnen trainiert, welches auf das zweite Schema angewendet wird. Hierbei handelt es sich um einen hybriden Elementlevel-Matcher, welcher die Schemastruktur nicht beachtet. [Cupid01]. Semint ist einer der ersten Anläufe, keine hartkodierten Kombinationen von individuellen regelbasierten Ähnlichkeiten zu nutzen, sondern statdessen einen auf Maschinenlernbarkeit basierenden Ansatz zu wählen, besitzt jedoch kein namens- bzw. graphenbasiertes Matching.
Dike
Dike ermittelt Synonym- und Inklusions-Beziehungen (is-a) eines EntityRelationship-Schemas. Objekte werden als ähnlich markiert, falls die damit verknüpften Attribute ähnlich sind. Als Ergebnis auf zwei ER-Schemata werden die Wahrscheinlichkeitswerte zwischen beiden, gemeinsam mit Synonymen und Inklusionen ausgegeben.
Cupid
Cupid ist ein Mehrzweck-Schemamatcher, welcher mit hybriden Verfahren arbeitet. Er funktioniert sowohl element- als auch strukturbasiert, spezialisiert sich jedoch auf Ähnlichkeiten von atomaren Elementen, da dort viele Schemasemantiken aufzufinden sind. Laut [Cupid01] werden ebenso interne Strukturen erkundet, wobei deren Differenzen nur gering in die Gesamtklassifizierung einfließen. Der Gesamtablauf ist in 3 Stufen gegliedert, wobei im ersten Schritt Elemente (Knoten des Schemas) auf linguistische Eigenschaften verglichen werden, inklusive externen Abgleich von Synonymen. Für den zweiten Schritt, den strukturellen Ablauf, wird das Datamodell in eine Baumstruktur transformiert und Paare daraufhin anhand ihrer Blattknoten verglichen. Ein Ähnlichkeit wird durch den gewichteten Abgleich zwischen linguistischem und strukturellem Ergebnis ermittelt. In der dritten Phase entscheidet der Schwellwert (Threshold) über Übereinstimmung. Dieser Wert ist domänenabhängig und kann nicht im Voraus angegeben werden.
COMA
„Combination of Matching-Algorithms“ nutzt einen direkten, azyklischen Graphen, und arbeitet semiautomatisch mit Hilfe von User-Feedback. COMA befolgt ebenfalls einen Kompositions-Ansatz, welcher eine erweiterbare Bibliothek von verschiedenen Matchern zur Verfügung stellt und eine Vielzahl von Kombination der ermittelten Matching-Ergebnisse unterstützt. Hier finden ebenfalls zuvor errechnete Resultate wiederverwendung. Die Kompositionsstrategien adressieren verschiedene Aspekte des Matching-Prozesses, so z.B. die Aggregation von Matcher-spezifischen Ergebnissen und Match-Kandidaten-Auswahl. Schemata werden auch hier in gerichtete direkte azyklische Graphen transformiert, auf denen alle Algorithmen arbeiten. Jedes Schema ist unique identifiziert durch seinen kompletten Pfad von der Quelle des Schemengraphes bis zum korrepsondierenden Knoten.
COMA erzeugt auf Elementebene Übereinstimmungen von 1:1 lokaler und m:n globaler Kardinalität. Der Alignment-Prozess besteht auch hier aus 3 Phasen, die iterativ durchlaufen werden und wobei die erste stets eine User-Feedback-Dialog zum Einstellen verschiedener Parameter darstellt (e.g. Auswahl des entsprechenden Matchers/Annahme, Ablehnung eines entsprechenden Entwurfes.). Daraufhin werden die individuellen Ähnlichkeiten berechnet. Diese basieren meist auf linguistischen Informationen, nutzen ebenso im Hintergrund Wörterbücher und strukturelle Elemente as Kinder oder Blätter. In der dritten Phase werden die Matcher wiederum kombiniert, entweder durch ein Maximum, einer Gewichtung einem Durchschnitt oder einer MinimumStrategie. Verschiedene Annäherungen für Schwellwert-Determinationen werden gegeben. Es ist ebenso möglich, das Programm komplett automatisch zu betreiben.
CTX S-Match
S-Match ermittelt Annäherungen, um semantische Beziehung zwischen Klassen zweier Klassifikationsschemata abzuleiten. Diese werden dazu von einer Datenbank oder Ontologie extrahiert. Sie basieren auf Untersuchung der Labels m.H. von „Wordnet“ als Synonym- Thesaurus-Überprüfung. Es sind laut [ChiunchigliaEtAl'04] ebenfalls weitere Element-Matcher vorhanden. Zusätzlich kommt hier ein SAT-Solver zum Einsatz, welcher die Schemata untersucht und dabei vor allem die Taxonomie und geschlußfolgerte Implikationen ermittelt. Er gibt entweder Gleichheit, Untermenge oder Unabhängigkeit zwischen 2 Klassen zurück.
Zusammenfassung
Auf den vorangegangen Seiten wurden Methoden und Vorgehensweisen zur Identifizierung von Bestandteilen eines unbekannten Schemas vorgestellt. Fünf konkrete Beispiele aus dem universitären Umfeld, welche (semi-) automatische Umsetzungen durchführen, erlauben mit Hilfe einer Vergleichsstruktur, lokale Komponentenschemata zu erkennen.
Mit diesem Strukturwissen kann ein Abfrageterm für Xcerpt generiert werden, welcher die entsprechenden Felder der Struktur gezielt ansteuert.
Instanzen der globalen Komponente werden dadurch extrahiert und über einen global identischen Konstruktionsterm zur Verfügung gestellt.
Auf diese Instanzen kann im nächsten Kapiteln transparent zurückgegriffen werden, und deren Inhalt semantisch angeglichen sowie abschließend untereinander verknüpft werden.
Aufgrund des subjektiven Architekturansatzes werden kaum auf einem Gebiet exakt passende Strukturen zu finden sein. Die Identifizierung und Nutzung semantischer Korrespondenzen zwischen den Elementen zweier Schemata wird mit „Schema-Alignment“ bezeichnet und gilt es in einer Vielzahl von Anwendungen zu lösen. Im Bereich der Daten-Integrationen sowie XML-Message-Mapping in heterogenen Systemen beispielsweise vorgefunden, kommen Struktur-Analysen bei e-Commerce- oder Data-Warehousing-Applicationen stark zum Einsatz. Oftmals werden dabei diese Mapping-Aufgaben noch manuell (händisch) mit teilweiser graphischer Unterstützung erledigt, was nicht nur zeitaufwendig sondern mit zunehmender Anzahl unterschiedlicher Schemata ansteigend unpraktikabel ist.
Motivation
Unterschiede in Schemata können sowohl auf einer sprachlichen als auch auf der Bedeutungsebene auftreten.
So können sich sprachliche Ausdrücke
- gegenseitig verneinen,
- Schnittmengen bilden,
- Vereinigungen (Oberbegriff), aber auch
- Disjunktionen
darstellen.
Auf Bedeutungsebene kann beispielsweise
- ein Term unterschiedliche Konzepte beschreiben
- ebenso verschiedene Terme beschreiben unterschiedliche Konzepte
- gleiche Terme unterschiedliche Konzepte beschreiben
- verschiedene Modellierungsparadigmen gelten
- verschiedene Modellierungskonventionen gelten
- ein abweichender Granularitätslevel auftreten
- verschiedene Abdeckung oder
- unterschiedliche Standpunkte vertreten werden.
Ansätze
[Noy05] nennt für die automatische Alternative der Strukturvereinigung die Herangehensweisen „Mapping“, „Artikulation“ und „Merging“.
Das Ziel des Mappings ist es, für die Abbildung gegeneinander ein Dokument als Adapter anzulegen. Es beinhaltet Elemente, welche die Symbole des einen Alphabetes mit denen des zweiten Alphabets verknüpfen.
Diese Mapping-Elemente sind hierbei jeweils 5-Tupel (id, e, e',R,n) mit
- dem uniquen Identifier des gegebenen Mapping-Elements <var>id</var>
- e und e', den Entitätsklassen (also z.B., XML-Elemente, Klassen)
- Rals Relation zwischen e und e' (z.B. Gleichheit , Generalisierung , Disjunktion)
- n als Vertrauensmessung in einer mathematischen Struktur (typischerweise zwischen [0,1])
Eine Angleichung A ist damit eine Menge von Mapping-Elementen, welche von zwei Schemata abhängt. Sie besitzt einige Multiplizitäten (1-1, 1-*, etc.) sowie einige andere Eigenschaften.
Da dabei nicht-übereinstimmende Aspekte leicht verloren gehen, kann diese Mapping gemeinsam mit den beiden Originaldokumenten präsentiert werden. Strukturen die in allgemeineren Wegen als durch binär ausdrückbare Gemeinsamkeiten miteinander in Beziehungen stehen, so zum Beispiel durch Relationen anstatt von Funktionen, wie es bei Ontologien gegeben ist, können gemeinsam mit einem gemappten Grundübereinstimmungsdokument präsentiert werden, Artikulation genannt.
Beim Merging wir auf Grundlage aller beteiligter Quellen eine komplett neue Struktur erstellt, welche die Instanzen beider zusammenführt.
Betrachtungsaspekte
Zur Analyse von Strukturen werden in [VLDBJ2001] folgende Betrachtungsaspekte genannt:
Schema- und Instanzenmatching
Schema-Matching betrachtet das Schema einer Struktur und versucht auf Grundlage der Eigenschaften von Schema-Elementen, wie deren Name, deren Beschreibungstext, deren Beziehungentypen zu anderen Elementen (Is-a oder Sub-/Supkonzept-Eigenschaften) sowie gegebenen Constraints jeweils Übereinstimmungen in beiden Basen zu finden.
Bei Datensammlungen, welche nur in limitierter Weise nützliche Schema-Informationen enthalten, seien dies semistrukturierten Daten in Form von HTML-Seiten, gibt Instanzenwissen wichtige Einblicke in den Inhalt und die Bedeutung von einzelnen Schemaelementen. Im Extremfall ist keinerlei Schema vorgegeben und muss von den Instanzendaten manuell oder automatisch erstellt werden. Dabei kommen oftmals die im Kapitel "Inhaltsintegration" ausführlich behandelten Datenharmonisierungstechniken zum Einsatz.
Aber auch bei vorhandenen Schemata kann Instanzensichtung wichtig sein, um abweichende Interpretationen der Schema-Informationen aufzudecken. Falls bei einem solchem Matching beispielsweise zwei Schema-Zuweisungen gleiche Wahrscheinlichkeit besitzten, kann auf das Element mit höherer Übereinstimmung in den Instanzen zurückgegriffen werden.
Element- und Strukturmatching
Im Idealfall eines Matchings besitzen alle Elemente eines Schemas mit Ihnen identische Elemente des zweiten Schemas auf der selben Hierarchie-Ebene. Beide unterscheiden sich hierbei lediglich durch abweichende Schema-Bezeichnungen wie „Adresse.ZIP“ und „Adresse.PLZ“. Oftmals wird diese feinste Granularität über die Attribute jedoch nicht erreicht, und Informationseinheiten überlappen einander oder sind in verschiedenen Sub- oder Subkonzepten vertreten.
Beispielsweise kann in einem Schema Postleitzahl und Ort in einem Attribut zusammengefasst sein. Besitzen nun beide Schemata nur eine bestimmte Schnittmenge gemeinsamer Informationen, wird nur eine partielle strukturelle Übereinstimmung gesucht.
Element-Level-Matcher sind auf eine Ebene beschränkt, während Struktur-Matcher darüber- und darunterliegende Konzepte ebenso als zur Struktur gehörig betrachten, um darin gemeinsame Schnittpunkte zu finden.
Im Gegensatz zu einem Struktur-Matcher ignoriert ein Elementmatcher bestehende SubKonzepte. Er ist jedoch auch nicht auf das Atomare Level beschränkt, sondern kann auch auf grobkörnigere, höhere nicht-atomare Elemente angewendet werden, jedoch nur in einer Hierarchieebene arbeitend. Er nutzen eine Vielzahl der in der relationalen Datenbank-Bearbeitung genutzen Methoden (siehe Datenharmonisierung), und wendet diese auf Elementnamen, Beschreibung oder Datentyp des einzelnen Schema-Elementes an.
Matching-Kardinalität
Ein Element eines Schemas S1 kann Ähnlichkeiten zu einem oder mehreren Elementen des Schemas S2 besitzen. Ebenso kann umgekehrt ein Element aus S2 mehrere Vertreter aus S1 haben. Es sind demnach beim Struktumatching gewöhnliche Beziehungsrelationen (1:1), mengenorientierte Fälle (1:n bzw. n:1) bis hin zu n:m – Relationen denkbar, jeweils entweder auf eine globale Kardinalität zwischen verschiedenen Mapping-Elementen oder einer lokalen Kardinalität zu einem individuellen Mapping-Element. Element-Level Matching ist meist auf eine lokale Kardinalität von 1:1, 1:n und n:1 beschränkt. n:m – Ergebnisse erfordern in jeden Fall eine zusätzliche Strukturmatching-Analyse (siehe Kapitel 2.2.2)
Sprache und Constraints
Die linguistische Annäherung wird zunächst in Form der Namensübereinstimmung verwendet. Damit kann ein gleicher Name, ein gleicher Name in kanonischer Sicht, aber auch gleiche Synonyme gemeint sein. Ebenso können zwei Bezeichner einen gemeinsamen Oberbegriff (Hypernym, bspw. in Form einer Inklusions-Beziehung („is-a“)) teilen, oder auf Zeichenebene Ähnlichkeiten besitzen. Domänenabhängig kann vom Nutzer auch eine Ersetzungsliste geliefert werden. Weitere Vorgehen in diesem Bereich werden im Kapitel "Onthologien" und "Zeichenmetriken" vorgestellt.
Da oftmals in Schemata Kommentare und Beschreibungstexte in natürlicher Sprache die gewünschte Semantik der Schemaelemente ausdrücken, können hierin ebenfalls Schlüsselwörter extrahiert werden.
Constraint-basierte Untersuchung beinhaltet den Vergleich zweier Elemente auf gleiche/ähnliche Datentypen, Wertebereiche, Beziehungstypen, Kardinalitäten oder etwaige Optionalität.
Weiterhin kann ihre Eigenschaft als Schlüsselcharakter (unique, Primär-, Fremdschlüssel) genutzt werden. Eine alleinige Nutzung dieser Methode würde zu falschen Übereinstimmungen führen, aber als unterstützendes Element ist die constraintbasierte Untersuchung sehr hilfreich.
helfende Systeme
Meist werden zusätzlich zu den oben genannten Faktoren noch externe Quellen wie Wörterbücher und Thesauri-Lexika für Stemming, Synonym-Identifizierungen und somit der Auflösung von Verklemmungen genutzt werden. Ebenfalls kann man bereits bestehende Matchings anderer Strukturen mit der gleichen Domäne verwenden, um eine mögliche Ausrichtung besser erahnen zu können.
Vorgehen
[Studer05] gibt in Bezug auf das „OntologyAlignment“ einen grundsätzlich erkennbaren Ablauf einer Strukturanalysen vor, auf den sich [Meh05] genauer bezieht und ihn an diversen Systemen zeigt. Da Ontologien eine spezialisierte Struktur darstellen, ist das Ontology-Alignment eine Unterform der Struktur-Analyse und kann auf alle übrigen XML-Strukturen Anwendung finden.
Zwei Schemas aufeinander abzubilden bedeutet hierin, dass für jede Entität (Begriff, Relation, Instanz) des ersten Schemas die Entsprechung mit derselben Bedeutung im zweiten Schema gesucht wird. Es wird die 5-Tupel- Funktion align auf einem Vokabular E aller Entitäten , d.h. Begriffe, Relationen und Instanzen und der Menge möglicher Schemata S als partielle Funktion angewendet.
- 1.Merkmalskonstruktion
In diesem Schritt werden die Merkmale einer Entität ausgewählt, welche sie treffend beschreiben. Dies kann ein lexikalischer Eintrag einer Entität sein, aber auch eine intensionale Struktureigenschaft wie die is-a Beziehung.Desweiteren werden extensionale Beschreibungen genutzt
- 2.Suchraumbestimmung
Zur Ableitung von Abbildungen in Strukturen wird ein Suchraum von Kandidaten aufgestellt. Ähnlich einer Blockingmethode stellt diese sinnvolle Kandidaten für einen Vergleich auf und sortiert alle übrigen somit aus.
- 3.Ähnlichkeitsberechnung
Hier werden die im Kapitel Datenharmonisierung vorgestellten Methoden, ebenso wie Ähnlichkeitsfunktionen für Einzelobjekte oder Objektmengen genutzt, um die Ähnlichkeit zweier Entitäten zu bestimmen.
- 4.Ähnlichkeitsaufsummierung
Im Allgemeinen werden dabei mehrere Ähnlichkeitswerte für ein Entitätenpaar errechnet, beispielsweise auf lexikalische Einträge oder Ähnlichkeit der Relationen zu anderen Entitäten. Es entspricht der in Kapitel Klassifikation näher vorgestellten Klassifikation.
- 5.Interpretation
Die Aufsummierten Ähnlichkeitswerte werden nun zur Abbildung der Entitäten aufeinander genutzt. Möglichkeiten dafür sind ein Schwellenwert, eine Mischung aus Struktur und Ähnlichkeitswerten oder Relaxation Labelling, welches Letztere mit weiteren Heuristiken mischt [semanticIntegration_glue]
- 6.Iteration
Um die Struktur des Schemas besser zu nutzen, wiederholt ein Algorithmus die beschriebenen Schritte.
Die grundsätzlichen Algorithmen der Stufen 2 bis 5 finden analog bei der Datenharmonisierung Anwendung, welche im Kapitel 3 näher vorgestellt wird. Jeder dieser 6 Schritte besitzt natürlich selbst eigene spezifische Methoden mit jeweils entsprechenden zu setzenden Parametern.
Beispiele
Eine Vielzahl von Applikationen und Frameworks haben dieses Vorgehen bereits fest umgesetzt. Es wird dabei oftmals zwischen Individual und kombinatorischen Systemen unterschieden. Während ersterer sich auf einen Algorithmus konzentriert, verwenden die Vertreter der zweiten Gruppe mehrere Algorithmen und gewichten die Teilergebnisse.
Grundsätzlich verwendete Methoden sind
- Heuristisch und Regelbasierte Methoden
- Graphenanalyse
- Maschinen-Lernen-Statistiken
- Probalistische Annäherung
- Reasoning
Es soll nun Auswahl aktueller, aussichtsreicher Vertreter folgen. Diese werden in [Meh05], [Cupid01] und [ChiunchigliaEtAl'04] näher evaluierter.
SemInt
„Seamless Moell Integration“ als instanzbasiertes System assoziiert Attribute in beiden Schemen mit Treffer-Signaturen. Diese bestehen aus 15 constraint-basierenden und 5 content-basierenden Kriterien, welche von den Instanz-Werten abgeleitet und auf [0,1] normalisiert werden, so daß jedes Kriterium einen Wert in einem 20-dimensionalen Vektorraum einnimmt. Diese werden auf Grundlage ihrer Euklid-Distanz geclustert und ein neuronales Netz mit Ihnen trainiert, welches auf das zweite Schema angewendet wird. Hierbei handelt es sich um einen hybriden Elementlevel-Matcher, welcher die Schemastruktur nicht beachtet. [Cupid01]. Semint ist einer der ersten Anläufe, keine hartkodierten Kombinationen von individuellen regelbasierten Ähnlichkeiten zu nutzen, sondern statdessen einen auf Maschinenlernbarkeit basierenden Ansatz zu wählen, besitzt jedoch kein namens- bzw. graphenbasiertes Matching.
Dike
Dike ermittelt Synonym- und Inklusions-Beziehungen (is-a) eines EntityRelationship-Schemas. Objekte werden als ähnlich markiert, falls die damit verknüpften Attribute ähnlich sind. Als Ergebnis auf zwei ER-Schemata werden die Wahrscheinlichkeitswerte zwischen beiden, gemeinsam mit Synonymen und Inklusionen ausgegeben.
Cupid
Cupid ist ein Mehrzweck-Schemamatcher, welcher mit hybriden Verfahren arbeitet. Er funktioniert sowohl element- als auch strukturbasiert, spezialisiert sich jedoch auf Ähnlichkeiten von atomaren Elementen, da dort viele Schemasemantiken aufzufinden sind. Laut [Cupid01] werden ebenso interne Strukturen erkundet, wobei deren Differenzen nur gering in die Gesamtklassifizierung einfließen. Der Gesamtablauf ist in 3 Stufen gegliedert, wobei im ersten Schritt Elemente (Knoten des Schemas) auf linguistische Eigenschaften verglichen werden, inklusive externen Abgleich von Synonymen. Für den zweiten Schritt, den strukturellen Ablauf, wird das Datamodell in eine Baumstruktur transformiert und Paare daraufhin anhand ihrer Blattknoten verglichen. Ein Ähnlichkeit wird durch den gewichteten Abgleich zwischen linguistischem und strukturellem Ergebnis ermittelt. In der dritten Phase entscheidet der Schwellwert (Threshold) über Übereinstimmung. Dieser Wert ist domänenabhängig und kann nicht im Voraus angegeben werden.
COMA
„Combination of Matching-Algorithms“ nutzt einen direkten, azyklischen Graphen, und arbeitet semiautomatisch mit Hilfe von User-Feedback. COMA befolgt ebenfalls einen Kompositions-Ansatz, welcher eine erweiterbare Bibliothek von verschiedenen Matchern zur Verfügung stellt und eine Vielzahl von Kombination der ermittelten Matching-Ergebnisse unterstützt. Hier finden ebenfalls zuvor errechnete Resultate wiederverwendung. Die Kompositionsstrategien adressieren verschiedene Aspekte des Matching-Prozesses, so z.B. die Aggregation von Matcher-spezifischen Ergebnissen und Match-Kandidaten-Auswahl. Schemata werden auch hier in gerichtete direkte azyklische Graphen transformiert, auf denen alle Algorithmen arbeiten. Jedes Schema ist unique identifiziert durch seinen kompletten Pfad von der Quelle des Schemengraphes bis zum korrepsondierenden Knoten.
COMA erzeugt auf Elementebene Übereinstimmungen von 1:1 lokaler und m:n globaler Kardinalität. Der Alignment-Prozess besteht auch hier aus 3 Phasen, die iterativ durchlaufen werden und wobei die erste stets eine User-Feedback-Dialog zum Einstellen verschiedener Parameter darstellt (e.g. Auswahl des entsprechenden Matchers/Annahme, Ablehnung eines entsprechenden Entwurfes.). Daraufhin werden die individuellen Ähnlichkeiten berechnet. Diese basieren meist auf linguistischen Informationen, nutzen ebenso im Hintergrund Wörterbücher und strukturelle Elemente as Kinder oder Blätter. In der dritten Phase werden die Matcher wiederum kombiniert, entweder durch ein Maximum, einer Gewichtung einem Durchschnitt oder einer MinimumStrategie. Verschiedene Annäherungen für Schwellwert-Determinationen werden gegeben. Es ist ebenso möglich, das Programm komplett automatisch zu betreiben.
CTX S-Match
S-Match ermittelt Annäherungen, um semantische Beziehung zwischen Klassen zweier Klassifikationsschemata abzuleiten. Diese werden dazu von einer Datenbank oder Ontologie extrahiert. Sie basieren auf Untersuchung der Labels m.H. von „Wordnet“ als Synonym- Thesaurus-Überprüfung. Es sind laut [ChiunchigliaEtAl'04] ebenfalls weitere Element-Matcher vorhanden. Zusätzlich kommt hier ein SAT-Solver zum Einsatz, welcher die Schemata untersucht und dabei vor allem die Taxonomie und geschlußfolgerte Implikationen ermittelt. Er gibt entweder Gleichheit, Untermenge oder Unabhängigkeit zwischen 2 Klassen zurück.
Zusammenfassung
Auf den vorangegangen Seiten wurden Methoden und Vorgehensweisen zur Identifizierung von Bestandteilen eines unbekannten Schemas vorgestellt. Fünf konkrete Beispiele aus dem universitären Umfeld, welche (semi-) automatische Umsetzungen durchführen, erlauben mit Hilfe einer Vergleichsstruktur, lokale Komponentenschemata zu erkennen.
Mit diesem Strukturwissen kann ein Abfrageterm für Xcerpt generiert werden, welcher die entsprechenden Felder der Struktur gezielt ansteuert.
Instanzen der globalen Komponente werden dadurch extrahiert und über einen global identischen Konstruktionsterm zur Verfügung gestellt.
Auf diese Instanzen kann im nächsten Kapiteln transparent zurückgegriffen werden, und deren Inhalt semantisch angeglichen sowie abschließend untereinander verknüpft werden.