Integration der ICONCLASS-Klassifikation in die Emblembuchbeschreibungen des Projektes »Emblematica Online«
David Maus
Neben der Entwicklung einer Kernontologie für die Modellierung der in Wolfenbüttel erschlossenen Embleme (vgl. Cole et al. 2017) war die Erweiterung der Datenbasis ein wesentliches Ziel des Projektes »Emblematica Online — Linked Open Emblem Data«. Wie bereits in den Vorprojekten wurden Embleme ausgewählter Emblembücher ermittelt und mit einem persistenten Identifikator versehen. Die inhaltliche Erschließung der Embleme erfolgte durch das Bildarchiv Foto Marburg, das für die bildlichen Darstellung der Embleme Systemstellen der ICONCLASS-Notation vergab.
Die Emblembücher sind als XML-Dokumente geführt, in denen die wesentlichen Textstrukturen mit dem Vokabular der
Text Encoding Initiative (TEI) kodiert werden. Die Bestandteile eines
Emblems – Motto, Pictura, Subscriptio – sind je als Abschnitt div
kodiert, der durch ein
type
-Attribute näher als Motto, Pictura bzw. Subscriptio gekennzeichnet ist. Die
Zugehörigkeit zu einem bestimmten Emblem ist durch Belegung des n
-Attributs
ausgedrückt, das mit der Identifikationsnummer des jeweiligen Emblems belegt ist.
<div type="emblem_pictura" n="E018850" facs="#drucke_xb-4362_00122"/>
<div type="emblem_motto" n="E018850" facs="#drucke_xb-4362_00122">
<p xml:lang="de">So muß es mir ergehn, Soll ich sonst fäste Stehn.</p>
</div>
Die Daten wurden von Foto Marburg über eine OAI-Schnittstelle als Emblembuchbeschreibung im Emblem Schema kodiert zur Verfügung gestellt. Hier sind die Emblembestandteile durch spezielle Elemente ausgezeichnet. Notation und bevorzugte Bezeichnung einer ICONCLASS-Klassifikation sind durch Elemente aus dem Namensraum des Simple Knowledge Organization System wiedergegeben, die zu einer Systemstelle gehörenden deutschsprachigen Schlagwörter durch Elemente des Emblem Schema-Namensraums.
<emblem:emblem globalID="http://hdl.handle.net/10111/EmblemRegistry:E018850">
<emblem:motto>
<emblem:transcription xlink:href="http://diglib.hab.de/drucke/xb-4362/start.htm?image=00122" xml:lang="de">
<tei:p xml:lang="de">So muß es mir ergehn, Soll ich sonst fäste Stehn.</tei:p>
</emblem:transcription>
</emblem:motto>
<emblem:pictura medium="engraving" xlink:href="http://diglib.hab.de/drucke/xb-4362/start.htm?image=00122">
<emblem:iconclass>
<skos:notation>86(SO MUSS ES MIR ERGEHN, SOLL ICH SONST FÄSTE STEHN)</skos:notation>
<skos:prefLabel xml:lang="de">Sprichwörter, Redewendungen, etc.</skos:prefLabel>
<emblem:keyword xml:lang="de">Redewendung</emblem:keyword>
<emblem:keyword xml:lang="de">Sprichwort</emblem:keyword>
</emblem:iconclass>
…
</emblem:pictura>
</emblem:emblem>
Um die ICONCLASS-Erschließung in die TEI-kodierten Emblembuchbeschreibungen zu integrieren müssen bevorzuge
Bezeichnung, Notation und zur Notation gehörende Schlagwörter als index
und term
-Elemente unterhalb der die bildlichen Darstellungen tragenden Abschnitte eingebracht
werden.
<div type="emblem_pictura" n="E018850" facs="#drucke_xb-4362_00122">
<p>
<index indexName="notation" facs="#drucke_xb-4362_00122">
<term xml:lang="de" key="86(SO MUSS ES MIR ERGEHN, SOLL ICH SONST FÄSTE STEHN)" type="ICONCLASS">
Sprichwörter, Redewendungen, etc.
</term>
<index indexName="bsw" facs="#drucke_xb-4362_00122">
<term xml:lang="de" key="86(SO MUSS ES MIR ERGEHN, SOLL ICH SONST FÄSTE STEHN)" type="ICONCLASS">
Redewendung
</term>
<term xml:lang="de" key="86(SO MUSS ES MIR ERGEHN, SOLL ICH SONST FÄSTE STEHN)" type="ICONCLASS">
Sprichwort
</term>
</index>
</index>
…
</p>
</div>
Integration der Erschließungsdaten
Ein Algorithmus der die Erschließungsdaten im Emblem Schema in die TEI-kodierten Emblembuchbeschreibungen einbringt lässt sich wie folgt beschreiben.
- Für jedes in den Erschließungsdaten enthaltene Emblembuch wird die Adresse der TEI-kodierten Emblembuchbeschreibung ermitteln und die entsprechende Datei geladen.
-
Für jede in der Datei verzeichnete Pictura werden die zugehörigen
emblem:iconclass
-Elemente in den Erschließungsdaten ermitteln, in die gewünschten TEI-Strukturen umgewandelt und an den die Pictura repräsentierenden Abschnitt angehangen. - Wenn alle Picturae abgearbeitet sind, dann wird ein Änderungsvermerk in den Kopfbereich der Emblembuchbeschreibung eingefügt und die Datei gespeichert.

Umsetzung als XProc 1.0 Pipeline
Dieser Algorithmus wurde in leicht modifizierter Form als XProc
1.0 Pipeline implementiert. Anstatt die Erschließungsdaten für jede Pictura gesondert in TEI umzuwandeln,
wurden die emblem:iconclass
-Elemente an die Picturae-Abschnitte angehangen und nach
Abarbeitung aller Picturae eines Emblembuchs in einer Transformation umgewandelt.
Die Auswahl aller zu einer bildlichen Darstellung gehörenden emblem:iconclass
-Elemente wurde in einem eigenen Schritt implementiert. Der Schritt
bekommt die ID des Emblems und den Permalink der die Darstellung zeigenden Seite als Parameter übergeben (Zeile
6 und 7). Er besitzt einen primären Eingabe- und einen primären Ausgabeport, über den die Erschließungsdaten
ein- bzw. das Ergebnis der Auswahl ausgeleitet wird (Zeile 3 und 4). Die Kombination von Emblem-ID und Permalink
der Pictura wird verwendet, um möglichen Fehlern bei der Vergabe der Emblem-ID zu begegnen.
Um den auswählenden Ausdruck dynamisch zu berechnen, wird die Auswahl der Erschließungselemente durch einen p:filter
-Schritt vorgenommen (Zeile 9-18). Der auswählende mit XPath-Ausdruck wird mit
String-Operatoren aus den übergebenen Parametern zusammengesetzt. Ein- und Ausgabeport dieses Schrittes sind
implizit mit dem primären Eingabe- bzw. Ausgabeport verbunden.
Die Hauptverarbeitung liest die Erschließungsdaten vom primären Eingabeport source (Zeile 7) und besitzt keinen Ausgabeport. Sie iteriert über jedes in den Erschließungsdaten enthaltene Emblembuch (Zeile 11 und 12) und lädt die zugehörigen Strukturdaten (Zeile 13 bis 19).
Nun wechselt der Fokus zum geladenen Strukturdatendokument. Ein Auswahlfenster p:viewport
wandert über jeden eine bildliche Darstellung repräsentierenden Abschnitt
(Zeile 19). Emblem-ID und Permalink der Seite werden berechnet (Zeile 20 und 21) und dem Auswahlschritt
übergeben (Zeile 22 bis 28). Der primäre Eingabeport dieses Schrittes wird mit dem primären Eingabeport der
Hauptverarbeitung verbunden.
Das Ergebnis des Auswahlschrittes wird als Kind des im Auswahlfenster befindlichen Abschnitts ergänzt (Zeile 29 bis 36). Dazu wird der primäre Eingabeport des Einfügungsschrittes mit dem aktuellen Auswahlfenster (Zeile 30 bis 32) und der die Einfügung aufnehmende sekundäre Eingabeport des Einfügungsschritts mit dem primären Ausgabeport des Auswahlschritts verbunden (Zeile 33 bis 35).
Sind alle bildlichen Darstellungen des geladenen Strukturdatendokuments bearbeitet, dann werden mit einer
XSL-Transformation die emblem:iconclass
-Elemente in die vorgeschriebenen TEI-Strukturen
umgewandelt (Zeile 38 bis 45). Bevor das geladene Strukturdatendokument auf den Datenträger geschrieben wird
(Zeile 54 bis 56), wird in einer weiteren Transformation ein Angabe über die vorgenommene Änderung ergänzt (Zeile
46 bis 53).
<p:declare-step name="main" version="1.0"
xmlns:emblem="http://diglib.hab.de/rules/schema/emblem"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:tei="http://www.tei-c.org/ns/1.0"
xmlns:p="http://www.w3.org/ns/xproc">
<p:input port="source" primary="true"/>
<p:declare-step type="emblem:select-iconclass">…</p>
<p:for-each>
<p:iteration-source select="//emblem:biblioDesc"/>
<p:variable name="objectUri" select="substring-before((emblem:biblioDesc//@xlink:href)[1], '?')"/>
<p:variable name="structUri" select="concat(…)"/>
<p:variable name="filename" select="tokenize($objectUri, '/')[5]"/>
<p:load>
<p:with-option name="href" select="$structUri"/>
</p:load>
<p:viewport match="tei:div[@type = 'emblem_pictura']" name="pictura">
<p:variable name="emblemId" select="tei:div/@n"/>
<p:variable name="imageUri" select="concat(…)"/>
<emblem:select-iconclass name="select-iconclass">
<p:with-option name="emblemId" select="$emblemId"/>
<p:with-option name="imageUri" select="$imageUri"/>
<p:input port="source">
<p:pipe step="main" port="source"/>
</p:input>
</emblem:select-iconclass>
<p:insert position="last-child" match="tei:p">
<p:input port="source">
<p:pipe step="pictura" port="current"/>
</p:input>
<p:input port="insertion">
<p:pipe step="select-iconclass" port="result"/>
</p:input>
</p:insert>
</p:viewport>
<p:xslt>
<p:input port="stylesheet">
<p:document href="../xslt/emblem-to-tei.xsl"/>
</p:input>
<p:input port="parameters">
<p:empty/>
</p:input>
</p:xslt>
<p:xslt>
<p:input port="stylesheet">
<p:document href="../xslt/mark-tei-revision.xsl"/>
</p:input>
<p:input port="parameters">
<p:empty/>
</p:input>
</p:xslt>
<p:store method="xml" omit-xml-declaration="true">
<p:with-option name="href" select="concat('file:/s:/drucke/', $filename, '/tei-struct.xml')"/>
</p:store>
</p:for-each>
</p:declare-step>
Fazit
Die in der Hauptverarbeitung definierte Prozessierungspipeline wurde mit XML Calabash ausgeführt und auf die von Foto Marburg zur Verfügung gestellten Erschließungsdaten angewendet. Dadurch konnten 24.195 ICONCLASS-Notationen für 5.011 Embleme in 56 Emblembüchern in die Wolfenbütteler Digitale Bibliothek übertragen werden. Mit XProc und XSLT standen XML-Technologien zur Verfügung, mit denen sich die notwendigen Verarbeitungsschritte maschinenunabhängig als Manipulation von XML-Bäumen ausdrücken und durch einen quelloffenen XProc-Prozessor ausführen ließen.
Literatur
Cole, Timothy W., Myung-Ja K. Han, Maria Janina Sarol, Monika Biel, und David Maus. „Using Linked Open Data to Enhance the Discoverability, Functionality & Impact of Emblematica Online“. Library Hi Tech 35, Nr. 1 (31. Januar 2017). 10.1108/LHT-11-2016-0126.