# Schematransformation und -integration

Schematransformation und -integration bezeichnet in der Informatik die Überführung von Schemata ineinander (Transformation) beziehungsweise die Kombination mehrerer Schemata zu einem neuen Schema (Integration). Beide Aufgaben sind bei der Datenmigration und Informationsintegration (bzw. Datenintegration) von Bedeutung. Die Transformation und -integration von Schemata lässt sich teilweise mit der Übersetzung natürlicher Sprachen vergleichen und wird ebenso wie diese häufig unterschätzt. Eine konkrete Abbildung eines Schemas (oder mehrerer) auf ein anderes (oder mehrere) wird als Schema Mapping und das automatische Erkennen eines solchen Mappings als Schema Matching bezeichnet. Diese Begriffe werden jedoch nicht ganz einheitlich verwendet. In der Informationsintegration wird zwischen Schemaintegration und Schema Mapping unterschieden je nachdem, ob die Daten der Ausgangsschemata vollständig (materialisierte Integration) oder nur anfragebasiert zusammengeführt werden sollen (virtuelle Integration).

## Schema Mapping

Ein Schema Mapping ist eine Liste von Korrespondenzen, die äquivalente Bestandteile zweier heterogener Schemata miteinander in Beziehung setzt.
Aus dem Mapping sollten sich Transformationsregeln ableiten lassen, mit denen sich die Daten aus dem einen Schema möglichst vollständig in das andere Schema überführen lassen. Dies kann beispielsweise mit Hilfe der Datenbanksprache SchemaSQL geschehen. Zur Ermittlung der konkreten Transformationen bei einem gegebenen Mapping müssen Assoziationen innerhalb und zwischen den Schemata gefunden werden.

## Schema Matching

Die Methoden, auf automatischem Wege ein Mapping zwischen zwei gegebenen Schemata zu finden, können in vier Klassen eingeteilt werden:
* Beschriftungsbasierte Übereinstimmungssuche (label-based matching)
* Instanzbasierte Übereinstimmungssuche (instance-based matching)
* Strukturbasierte Übereinstimmungssuche (structure-based matching)
* sowie Mischformen der eben genannten Methoden

### Beschriftungsbasierte Übereinstimmungssuche

Die Kernidee der beschriftungsbasierten Übereinstimmungssuche ist, ein Kreuzprodukt aus allen Attributnamen der beiden zu vergleichenden Schemata zu bilden und für jedes Paar die Ähnlichkeit der Attributnamen zu bestimmen (beispielsweise mit der Levenshtein-Distanz). Die ähnlichsten Paare sind dann (vermutlich) Übereinstimmungen.

### Instanzbasierte Übereinstimmungssuche

Gegeben sind zwei Schemata mit den Attributmengen $A$ und $B$ und jeweils darunter liegende Daten.
Die Kernidee der instanzbasierten Übereinstimmungssuche ist, für jedes Attribut kennzeichnende Eigenschaften (beispielsweise Länge, Buchstabenverteilung etc.) der vorhandenen Daten zu ermitteln. Anschließend wird das Kreuzprodukt aller Attribute der beiden zu vergleichenden Schemata gebildet und für jedes Paar die Ähnlichkeit bezüglich der ermittelten Eigenschaften bestimmt. Die ähnlichsten Paare sind (vermutlich) Übereinstimmungen.

### Strukturbasierte Übereinstimmungssuche

Gegeben sind zwei Schemata mit den Elementmengen $A$ und $B$ (Elemente können Attribute, Relationen etc. sein). Die Kernidee ist nun, die (komplexe) Struktur der Schemata auszunutzen, um Übereinstimmungen zu finden. Betrachtet werden können z. B. die Hierarchieebene des Elementes, der Elementtyp oder Nachbarschaftsbeziehungen. Zur Verbesserung der Ergebnisse kann zum Beispiel Similarity Flooding (Ähnlichkeitsfluten) eingesetzt werden.

### Mischformen

Bei den Mischformen unterscheidet man noch zwischen hybriden Ansätzen, die mehrere der grundlegenden Techniken anwenden, und kompositionalen Ansätzen, die mehrere Verfahren (auch hybride Techniken) als Kombination einsetzen und die jeweiligen Ergebnisse gewichten (zum Beispiel mit Hilfe maschinellen Lernens).