Datenbank

Beim Import der Daten in eine relationale Datenbank wurde jede Wortstrecke des GWb als eigenständiges TEI/XML-Dokument behandelt. Unter Berücksichtigung des von der TEI vorgesehenen Schemas zur Codierung von Wörterbüchern wurden die Daten zunächst validiert, und anschließend wurde intern eine hierarchische Repräsentation des Dokumentes aufgebaut, die im Wesentlichen die Top-Down-Gliederung der XML-Markierungen widerspiegelt. Ausgehend von einem Wurzelknoten, der als Ausgangspunkt für das ganze Dokument dient, folgen auf einer nächsten Ebene die einzelnen Wortartikel (markiert als <entry>). Diese wiederum enthalten auf tiefer liegenden Ebenen die Elemente zur Beschreibung der Lemmata, der lexikografischen Interpretamente, der Belegzitate usw. Alle diese strukturierenden Elemente werden durch sogenannte Elementknoten abgebildet.

Open

Die eigentlichen Textteile des Wörterbuchs, etwa die Zeichenfolge eines Stichwortes oder der Wortlaut eines Belegs, werden durch Inhaltsknoten beschrieben, die den zugehörigen Elementknoten untergeordnet sind. Präzisierende Einheiten wie z.B. der Typ eines Stichwortes (Hauptstichwort, Variante, Nebenstichwort) werden durch Attribute im XML-Dokument angegeben (<form type="variant">). Die Attribute werden in der hierarchischen Baumdarstellung wiederum durch sogenannte Attributknoten wiedergegeben, die ebenfalls dem zugehörigen Elementknoten zugewiesen sind. Am Ende dieses Vorverarbeitungsschrittes liegt also das gesamte XML-Dokument in einer hierarchisch eindeutigen Beschreibung vor, die mit Hilfe von definierten Zugriffsmechanismen systematisch abgesucht werden kann. Beispielsweise können so auf einfache Weise zu einem Elementknoten alle seine Nachfolger auf der nächst tieferen Ebene abgerufen werden. Auf die oberste Ebene angewandt etwa liefert dieser Zugriff alle Wörterbuchartikel der gerade bearbeiteten Wortstrecke. Ein Schritt über die nächst tiefere Ebene auf die darunter liegenden Inhaltsknoten liefert dann alle Stichwörter.

Die skizzierten Zugriffsmechanismen bilden die Grundlage zur Entwicklung von Transformations- und Importroutinen, mit deren Hilfe das Wörterbuch in einer relationalen MySQL-Datenbank gespeichert wurde. Die Datenbank soll dabei im Wesentlichen zwei Aufgaben erfüllen: Erstens sind in ihr die Inhalte des Wörterbuchs so gespeichert, dass jeder einzelne Artikel zur Anzeige im Browser daraus wieder rekonstruiert werden kann, es wurde also neben den einzelnen Wörtern der Artikel auch die Information über ihre Zugehörigkeit zu den Mikrostrukturen des Artikels (Lemma, lexikografisches Interpretament, Beleg usw.) gespeichert. Zweitens dient die Datenbank als Grundlage für die Suchmaschine, mit der aufgrund der Feingliederung die Bestandteile der Artikel separat abgefragt werden können. Diese beiden Funktionen der Datenbank unterstützen zusätzliche Mechanismen wie beispielsweise die Markierung der Fundstellen in den Suchergebnissen.

Der Import der XML-Daten in die relationale Datenbank erfolgt durch sogenannte ereignisgesteuerte Programmroutinen. Zu jedem Knoten in der Dokumenthierarchie existiert ein Programmabschnitt, der diesen Knoten bearbeitet, Informationen in die Datenbank einträgt bzw. Informationen speichert und zur Verarbeitung an eine andere Programmroutine weitergibt. So werden beispielsweise in den Routinen, die die Inhaltsknoten zu den Elementknoten vom Typ <form type="lemma"> bearbeiten, die dort enthaltenen Textteile in einer Datenbanktabelle „lemma“ abgespeichert. Der Importprozess beginnt mit dem Wurzelknoten des Dokumentes und bearbeitet es dann von oben nach unten und von links nach rechts. Diese Vorgehensweise bezeichnet man als depth-first-search, d.h. bevor ein Knoten auf der gleichen Ebene bearbeitet wird, werden zunächst alle dem aktuellen Knoten untergeordneten Einheiten bearbeitet. Auf diese Weise wird das XML-Dokument in seiner natürlichen Richtung vom Anfang bis zum Ende betrachtet, und es entsteht in der Datenbank eine vertikale Repräsentation des gesamten Wörterbuchtextes. Dadurch werden implizit auch die Positionen der Wörter im Text codiert, so dass auch Nachbarschaftssuchen möglich sind.

In einer zweiten Datenbank, die als eine Art Metaebene angelegt ist, werden die Verweise innerhalb des GWb sowie die Verweise aus dem GWb ins Deutsche Wörterbuch der Brüder Grimm abgespeichert. Diese zweite Datenbank ist Bestandteil des Trierer Wörterbuchnetzes und enthält sämtliche Verweise zwischen den im Wörterbuchnetz angebotenen Wörterbüchern. Diese Datenbank dient nicht zuletzt auch dazu, die aus den XML-Daten übernommenen Verweise, in der Regel die im gedruckten Wörterbuch genannten, zu ergänzen. Dazu werden beispielsweise die vorhandenen Verweise „umgedreht“ und durch ihr symmetrisches Pendant ergänzt. Auf diese Weise ist es möglich, aus der Erstbearbeitung des Deutschen Wörterbuchs auf das erst später entstandene GWb zurückzuverweisen.