18.11.2012 Aufrufe

Dokument 1 - RWTH Aachen University

Dokument 1 - RWTH Aachen University

Dokument 1 - RWTH Aachen University

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

6.3 Anfrageumschreibung zur Datenintegration 157<br />

function combineMCDs<br />

Eingabe: DW-Relation r und eine Menge B von MiniCon-Beschreibungen<br />

Ausgabe: eine Menge K von Beschreibungen konjunktiver Anfragen<br />

G := makeCompleteAndDisjointMCDsets(B, r)<br />

K := ∅<br />

FORALL g ∈ G mit g = {m1, . . . , mn} und mi = (si, ϕi, ρi, hi, Gi)<br />

eq := id<br />

FOR i := 1, . . . , n<br />

FORALL X ∈ hi(vars(si))<br />

T := {Y | ϕi(Y ) = X}<br />

IF T �= ∅ THEN<br />

ψ(X) := ein beliebiges Element aus T<br />

ELSE<br />

ψ(X) := eine neue Variable, die sonst noch nicht vorkommt<br />

END<br />

T ′ := ∅<br />

WHILE T �= T ′<br />

T ′ := T<br />

T := T ∪ {Y | ∃Z ∈ T mit eq(Z) = Y ∨ eq(Y ) = Z}<br />

END<br />

Y ′ :=ein beliebiges Element aus T<br />

FORALL Z ∈ T<br />

eq(Z) := Y ′<br />

END<br />

END<br />

END<br />

L := ∅<br />

FORALL v ∈ comp(r)<br />

eq(ψ(hi(body(si))) �|= eq(v) THEN<br />

IF �<br />

i=1,...,n<br />

L := L ∪ {eq(v)}<br />

END<br />

END<br />

IF satisfiable( �<br />

i=1,...,n<br />

K := K ∪ {(g, eq, ψ, L)}<br />

END<br />

END<br />

RETURN K<br />

eq(ψ(hi(body(si)))) THEN<br />

Abbildung 6.9: Algorithmus zur Kombination der MiniCon-Beschreibungen

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!