pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...
pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...
pdf (18647 Kb) - Fachgebiet Datenbanken und Informationssysteme ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
• similarityflooding.relationalschema enthält in RelationalSchema die Darstellung<br />
eines Relationalen Datenbankschemas, bestehend aus Relationen (RSRelation)<br />
<strong>und</strong> Attributen (RSAttribute). Die Klasse SchemaReader ermöglicht das Einlesen<br />
eines Schemas aus einer Textdatei.<br />
• similarityflooding.resultfilters implementiert die Stable Marriage zum Filtern<br />
der Ergebnisse des Similarity Flooding. SMNode stellt dabei einen Knoten bereit,<br />
zu dem in StableMarriage der entsprechende „Partner“ gesucht wird.<br />
• similarityflooding.spgraph dient zur Darstellung eines Similarity Propagation<br />
Graph (in der Klasse SPGraph), bestehend aus Kanten (SPEdge) <strong>und</strong> Knoten<br />
(SPNode)<br />
6.4. Umgang mit Graphen<br />
Da das Similarity Flooding graph-basiert arbeitet, werden intern Graphen für die Darstellung<br />
der Daten verwendet. Dabei werden hier zwei verschiedene graphische Strukturen<br />
verwendet. Die Klasse ModelGraph dient zur Darstellung eines Modell-Graphen,<br />
also einer graphischen Repräsentation eines Modells. Knoten des Modell-Graphen – dargestellt<br />
in der Klasse MGNode – haben einen Namen, ansonsten keine weiteren Informationen.<br />
Gerichtete Kanten – dargestellt in MGEdge – verbinden jeweils zwei Knoten <strong>und</strong><br />
haben eine Kantenmarkierung in Form eines Strings.<br />
Um zwei Modell-Graphen zusammenzuführen, stellt die Klasse MGtoSPGTranformation<br />
die Methode transform bereit. Diese wandelt zwei Objekte der Klasse ModelGraph in<br />
ein SPGraph-Objekt um.<br />
SPGraph ist die Darstellung eines Similarity Propagation Graph, wie er in Kapitel<br />
4 beschrieben wurde. Jeder Knoten (SPGNode) enthält dabei die zwei Namen der korrespondierenden<br />
Knoten der beiden Modelle, den Ähnlichkeitswert <strong>und</strong> eine einfache<br />
Markierung, die für die Wiederholungen des Verfahrens benötigt wird. Gerichtete Kanten<br />
(SPGEdge) verbinden jeweils zwei Knoten <strong>und</strong> speichern die Kantenmarkierung sowie<br />
den Propagation-Koeffizienten.<br />
In der Methode calculateSimilarity der Klasse SPGraph ist das eigentliche Similarity<br />
Flooding implementiert. Über die zwei Parameter number <strong>und</strong> normalizationFormula<br />
wird die Anzahl der Iterationen, nach der das Verfahren spätestens abbricht, <strong>und</strong> die<br />
verwendete Fixpunktformel festgelegt. Das Verfahren an sich wurde wie in Kapitel 4 beschrieben<br />
umgesetzt. Um zusätzliche Funktionen – wie etwa das Speichern der Ergebnisse<br />
jeder Iteration in einer Textdatei – zu ermöglichen, wurden zwar einige Codezeilen hinzugefügt,<br />
die Berechnungen der Ähnlichkeitswerte mit dem Similarity Flooding werden<br />
dadurch jedoch nicht beeinflusst.<br />
42