Modellfall Campe-Wörterbuch - TextGrid
Modellfall Campe-Wörterbuch - TextGrid
Modellfall Campe-Wörterbuch - TextGrid
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
- <strong>TextGrid</strong>-Report 4.1 -<br />
Flexibilität, da Programmteile durch deren einfache Lesbarkeit schnell modifiziert werden können.<br />
Dies war für die Programmentwicklung im Umfeld einer sich ab und zu zwangsläufig ändernden TEI-<br />
Spezifikation äußerst hilfreich.<br />
8.1.3 Transformationsregeln<br />
Es wurden verschiedene Transformationsregeln (campe_transform) entwickelt, die unterschiedliche<br />
Fälle abdecken, was eine Feinstrukturierung der annotierten Einträge ermöglicht.<br />
campe_transform(headword, Headword, Entry_1, Entry_2) :-<br />
fn_item_transform(--->(headword, Headword), Entry_1, Entry_2).<br />
campe_transform(Type, Entry_1, Entry_2) :-<br />
member(Type, [sense, antiqua, large,<br />
form_headword, form_determiner, linebreak]),<br />
fn_item_transform(--->(Type), Entry_1, Entry_2).<br />
campe_transform(punctuation, Entry_1, Entry_2) :-<br />
fn_item_transform(--->(punctuation), Entry_1, Entry),<br />
fn_item_purify(Entry, Entry_2).<br />
campe_transform(inflected, Entry_1, Entry_2) :-<br />
fn_item_transform(--->(inflected), Entry_1, Entry),<br />
fn_item_transform(--->(inflected_), Entry, Entry_2).<br />
Zu jedem Aufruf der Form fn_item_transform(--->(...), Entry_1, Entry_2)<br />
muss es eine entsprechende Prolog-Regel der Form --->(..., Entry_1, Entry_2)<br />
geben.<br />
Die rekursive Anwendung der letzteren Prolog-Regeln wird vom Prädikat fn_item_transform aus<br />
dem DDK übernommen. Beispielhaft sind im folgenden die Transformations-Regeln für headword,<br />
form_headword, form_determiner und sense angegeben, die jeweils für die Transformation der<br />
Einträge in getrennte form- und sense-Blöcke, sowie die Auszeichnung der Artikel für Substantive<br />
notwendig sind.<br />
--->(headword, Headword, X, Y) :-<br />
Headword = _:_:_,<br />
X = 'W_2':_:_,<br />
Y = Headword,<br />
!.<br />
--->(headword, _, X, X).<br />
--->(form_headword, X, Y) :-<br />
X = form_headword:_:Es,<br />
Y = form:[type:headword]:[orth:Es],<br />
!.<br />
--->(form_determiner, X, Y) :-<br />
X = form_determiner:_:Es,<br />
Y = form:[type:determiner]:[orth:Es],<br />
!.<br />
--->(sense, X, Y) :-<br />
X = tmpEntry:As_1:Es_1,<br />
Es_1 = [form:[]:Cs|Sense],<br />
Es_2 = [form:[]:Cs, sense:[]:Sense],<br />
Seite 26 von 29