Object Exchange Model
# Object Exchange Model

Das Object Exchange Model (OEM) hat sich als De-facto-Standard für die Ablage von semistrukturierten Daten durchgesetzt. „Ursprünglich wurde es für das Tsimmis (The Stanford-IBM Manager of Multiple Information Sources) Projekt entwickelt.“
Das OEM-Modell basiert auf der Konzeption eines gerichteten Graphs. „Ein (gerichteter) Graph ist ein Paar G = (V, E), hierbei ist V eine endliche Menge von Knoten und E $\subseteq$ V $\times$ V eine Relation auf V, die Menge der Kanten.“ Jedoch existieren innerhalb eines OEM-Modells auch Blätter Va, von denen aus keine Kanten wegführen können.
Die Knoten eines OEM-Graphen repräsentieren die eigentlichen Objekte, die eine eindeutige ID haben. Innerhalb eines OEM-Modells wird zwischen komplexen Objekten Vc und atomaren Objekten Va unterschieden. Die Attribute von komplexen Objekten werden ausschließlich durch die Kanten beschrieben, die wiederum auf komplexe Objekte oder atomare Objekte referenzieren. Zusätzlich enthält der Graph eine oder mehrere Wurzeln r1 bis rk, von denen aus alle Objekte erreichbar sein müssen. Die atomaren Objekte repräsentieren die Blätter des Graphen, d. h., es kann nur eine Kante zu ihnen hinführen, jedoch keine wegführen. Die atomaren Objekte enthalten die Werte der komplexen Objekte m, denen sie zugeordnet sind vom Typ Integer, String, Bild oder ähnliches.3
„Formal lassen sich semistrukturierte Daten also als G=(V, E, r1, ..., rk, v) definieren mit:
V = Vc $\cup$ Va: die Menge der Knoten, wobei Vc die Menge der komplexen Objekte und Va die Menge der atomaren Objekte ist;
E $\subseteq$ Vc $\times$ A $\times$ V die Menge der Kanten, wobei A die Menge aller Attribute ist;
ri die Menge der Wurzeln;
v: Va $\to$ D eine Abbildung, die atomaren Objekten Werte aus D, der Menge aller atomaren Werte, zuweist.“4
Grundsätzlich werden mit dem kartesischen Produkt Vc $\times$ V alle möglichen Kanten des Graphen definiert. Das sagt aus, dass alle komplexen Objekte mit allen Objekten referenziert sein können. Jedoch können atomare Objekte keine Referenz zu komplexen Objekten haben.
Greiner hat dieses kartesische Produkt um den Faktor A (die Menge aller Attribute) erweitert: Vc $\times$ A $\times$ V. Das drückt aus, dass die Teilmenge der Kanten jedem billigen Attribut zugeordnet sein kann. Somit ist den Elementen der Teilmenge der Kanten E auch ein Attribut zugeordnet; die Menge der Attribute wird nicht explizit in die Grundmenge G des Graphen aufgenommen.
Ebenso verhält es sich mit der Menge aller möglichen Werte D, die mit der Abbildung Va $\to$ D den atomaren Objekten zugeordnet werden.
Die Kürzel des Graphen gehören prinzipiell ebenfalls zu der Menge der komplexen Objekte. Die Wurzeln müssen die Bedingung erfüllen, dass von ihnen aus alle Knoten referenziert werden können. Um ein Beispiel eines Graphen mit zwei Wurzeln zu zeigen, kann die Wurzel in Abbildung 1 weggelassen werden:
Somit sind &2 und &3 Wurzeln.
1) 2) 3) 4)