Programmierung eines webbasierten Editors für Textmodellierung in Graphen

Masterarbeit im Studiengang "Digitale Methodik in den Geistes- und Kulturwissenschaften" an der Johannes Gutenberg-Universität Mainz

Bei der Erstellung Digitaler Editionen wird in den meisten Fällen (TEI-)XML verwendet. Ein relativ neuer Ansatz der Textmodellierung ist die Verwendung von Graphen. Text und Markup sind dabei in Knoten gespeichert, deren Verbindung zueinander in Kanten. Für diese Modellierungsform gibt es aber noch kaum geeignete Bearbeitungstools. Ziel der Masterarbeit war daher, einen Webeditor zu programmieren, mit dem sich derartig modellierte Texte bearbeiten lassen.

Der Texteditor wurde im Rahmen des Projekts Das Buch der Briefe der Hildegard von Bingen. Genese - Struktur - Komposition entwickelt, in dem eine Digitale Edition der Briefe der mittelalterlichen Universalgelehrten Hildegard von Bingen (1098 -1179) erstellt wird. Das dort verwendete Textmodell hört auf den Namen Applied Text As Graph (ATAG).

ATAG: Textmodellierung im Graphen

In Applied Text As Graph (ATAG) werden Texte, Annotationen und dazugehörige Informationen als Netzwerk modelliert. Grundlegend dabei ist die Zerlegung des Textes in seine einzelnen Zeichen, die Character (Abb. 1). Jeder dieser Character wird in einem eigenen Knoten (pink) gespeichert und ist über eine NEXT_CHARACTER-Kante mit dem nächsten Knoten verbunden, woraus sich die Leserichtung ergibt. Annotationen des Textes (Personen, Orte etc.) sind eigene Knoten (orange) und mit den entsprechenden Character-Knoten verbunden. Zusätzliche Informationen zur Annotation (Entitäten, Rollen, Normdaten etc.) sind wiederum in eigenen Metadaten-Knoten gespeichert.

In Abbildung 1 ist die Annotation der Textstelle "Eugenius" in Brief R1 zu sehen, die vom Typ "Akteur" ist und zusätzliche Metadaten-Knoten besitzt. Bei der erwähnten Person handelt es sich um Eugen III. , der gleichzeitig der Sender des Briefs ist. Sowohl die Rolle "Papst" als auch die Entität "Eugen III." selbst haben entsprechende Normdatei-Einträge in Wikidata, die entweder das Konzept Papst oder die Person selbst beschreiben.

Jeder Character-Knoten kann Teil von beliebig vielen Annotationen sein, und auch das Metadaten-Netzwerk kann mit beliebig vielen weiteren Daten angereichert werden. Auf diese Weise wird im Hildegard-Projekt ein Netzwerk aus Textbausteinen und weiterführenden Informationen modelliert.

Abb. 1: Die annotierte Textstelle "Eugenius".

Der Editor

Technologien

Bei dem Editor handelt es sich um eine Fullstack-Webanwendung. Unter anderem die folgenden Techologien wurden dabei verwendet:

Demonstration

Mit dem Editor lassen sich alle Schritte des Editions- und Annotationsprozesses durchführen. Im mittleren Teil des Editors sind der Text und die Annotationen sichtbar, die mit visuellen Elementen kenntlich gemacht werden (Abb. 2). Der Text lässt sich kombiniert bearbeiten und annotieren und wird immer abschnittsweise geladen.

In der linken Sidebar werden die Metadaten des Briefs inklusive einem Link zum Brief auf der Editions-Website angezeigt. Außerdem gibt es ein Panel, das Verlinkungen zu den enstprechenden Digitalisaten der Originalquelle enthält, sowie eine Übersicht über alle im Text enthaltenen Annotationen.

Die Rechte Sidebar enthält einen Filter, mit dem Annotationstypen im Text ein- und ausgeblendet werden können, und ein Panel mit Formularen, in denen die Daten der Annotationen stecken.

Abb. 2: Oberfläche des Editors.
Abb. 3: Filteroptionen.

Im Filter können einzelne Annotationstypen an- und abgewählt werden, aber auch ganze Kategorien (z. B. "Edition"). Der "Select All"-Button blendet alle Annotationen im Text ein bzw. aus (Abb. 3).

Die Informationen zu jeder Annotation im Text können über ein Formular eingesehen und bearbeitet werden. Die Daten zur Annotation selbst sind klassische Input-Felder. Die Inhalte von zusätzlichen Knoten mit zusätzlichen Metadaten (gelb, blau, grau in Abbildung 1) werden gruppiert als Kärtchen angezeigt, aber zunächst nur als Vorschau. Wenn man alle Daten dieser Knoten sehen will, hovert man über das kleine "Info"-Icon.

Abb. 4: Formular für eine Annotation vom Typ "Akteur".

Zusätzliche Metadaten-Knoten können über ein Input-Feld gesucht und hinzugefügt werden. Die Annotation zur Textstelle "Eugenius" soll zum Beispiel auch die Information beinhalten, dass der erwähnte Papst Eugen III. die Rolle "Kleriker" besitzt.

Abb. 5: Zusätzliche Metadaten können gesucht und der Annotation hinzugefügt werden.

Eine Demo-Instanz des Editors gibt es (noch) nicht, der Quellcode liegt aber in einem öffentlichen GitLab-Repositorium. Mithilfe der README-Datei kann die Anwendung lokal hochgezogen werden.