Fluffy Workflow: Neue Tools für den Datenimport ins TextGridRep

Autoren: Florian Barth, Stefan Buddenbohm, José Calvo Tello, George Dogaru (GWDG), Stefan E. Funk, Mathias Göbel, Ralf Klammer (TU Dresden), Ubbo Veentjer (alle Autoren ohne Affiliation: SUB Göttingen)

Die Teilnehmenden der Veranstaltung am 11./12. April an der SUB Göttingen

Abbildung: Die Teilnehmenden der Veranstaltung

Forschende artikulieren immer wieder ihren Bedarf für gut nutzbare Werkzeuge und Infrastrukturen für das einfache Erzeugen und Veröffentlichen von textbasierten Forschungsdaten. Dies trifft auch auf Text+ zu und wird bspw. durch die Text+ User Stories belegt. Die an Text+ beteiligten Partner SUB Göttingen, GWDG, und TU Dresden tragen dazu bei – zum Beispiel mit den beim Code Sprint for Humanities Data erprobten neuen Entwicklungen.

Am 11. und 12. April fand an der SUB Göttingen der erste Text+ Code Sprint for Humanities Data statt. Im Mittelpunkt standen das Kennenlernen und Anwenden der neuen Tools für den Import eigener Daten in das TextGrid Repository (TextGridRep) und deren Veröffentlichung.

Das TextGridRep ist dank seines umfangreichen durchsuch- und nachnutzbaren Bestands an Texten und Bildern ein wichtiges und relevantes Repositorium für geisteswissenschaftliche Forschungsdaten.

Für Forschende bietet es eine nachhaltige, dauerhafte und sichere Möglichkeit zur zitierfähigen Publikation ihrer Forschungsdaten und zur verständlichen Beschreibung derselben durch erforderliche und erweiterte Metadaten, so dass die Publikation im TextGridRep präsentiert und nachgenutzt werden kann. Auf verschiedenen Ebenen konnten Ergebnisse erzielt werden, die anlässlich des Code Sprints vorgestellt und eingesetzt wurden. TextGridRep wurde hinsichtlich der Authentifizierung, der Präsentation nicht veröffentlichter Projekte, sowie der Datenaufnahme weiterentwickelt. Für die Generierung der erforderlichen TextGrid-Metadatendateien wurde ein neues Tool entwickelt, das die Metadaten in den teiHeader-Elementen der Input-Dateien erkennt, und ebenso die manuelle Einstellung der Werte sowie der Regeln zu ihrer Findung vorsieht. Ein Web-basiertes Tool, das die komfortable Bedienung des Workflows ermöglicht, wurde als Jupyter Notebook implementiert. Für die einfache Verwendung dieses Tools steht der Text+ JupyterHub zur Verfügung. Auch dieser wurde bei dieser Gelegenheit angepasst, so dass die erwähnten Tools dort bereits installiert sind und ohne Weiteres verwendet werden können.

Die Situation vor dem neuen Import-Workflow

Zwei große Hindernisse werden durch den neuen Import-Workflow überwunden: Zum einen lässt sich die ursprünglich für den Import von Daten in TextGridRep erstellte Software, TextGridLab, die mittlerweile in die Jahre gekommen ist, nur noch mit viel Aufwand warten und weiterentwickeln. Zum anderen werden – selbst bei einem Datenimport ohne TextGridLab (dessen Funktionalität nach und nach durch andere Lösungen ersetzt und erweitert wird) – für jede zu importierende Datei verschiedene TextGrid-spezifische Metadatendateien benötigt, deren Erstellung aufwendig ist. Sei es wegen der dafür notwendigen manuellen Bearbeitung oder wegen der für ihre Generierung erforderlichen Entwicklung von Skripten. Der in Text+ entstandene neue Workflow ermöglicht nun einen komfortablen Datenimport ohne TextGridLab.

Metadaten generieren per tg-model

Zur Generierung der TextGrid-Metadatendateien wurde das Tool tg-model entwickelt, das als Python-Bibliothek und auf der Kommandozeile verwendbar ist. Die Metadatendateien sind wichtig für eine gute Durchsuchbarkeit und Präsentation der importierten Daten. Je detaillierter und präziser die Metadaten in diesen Dateien sind, desto besser lassen sich die Daten im Portal finden und Suchergebnisse facettieren.

Abb. 1: Die gute Qualität der Metadaten im Korpus ELTeC ermöglicht eine gute Filterung und Facettierung in TextGridRep

Abbildung: Die hohe Qualität der Metadaten im Korpus ELTeC ermöglicht eine gute Filterung und Facettierung in TextGridRep

Typischerweise enthalten TEI-Dateien bereits Metadaten im teiHeader-Element. Diese können für die Inhalte der Metadatendateien verwendet werden. Da aber TEI viele Möglichkeiten für die Auszeichnung derselben Information erlaubt, stellt die automatisierte Zuordnung der TEI-Metadaten zu den entsprechenden TextGrid-Metadaten eine Herausforderung dar. Das Tool tg-model unterstützt diese Aufgabe in mehrerlei Hinsicht: In einem ersten Schritt werden Konfigurationsdateien erzeugt, die Einstellungen zu den TextGrid-Metadaten enthalten und welche Werte diese haben oder wo sie im teiHeader zu finden sind (angegeben als XPath-Ausdruck). Soweit in einem Korpus dieselbe Information an der gleichen Stelle im teiHeader in mehreren Dateien gefunden wird, wird der dazugehörige XPath-Ausdruck in die Konfigurationsdateien geschrieben. Die Konfigurationsdateien können dann angepasst werden. Anschließend werden anhand der Konfigurationsdateien und der Inputdaten die Metadatendateien generiert. Nun liegt alles Erforderliche vor, um Daten in TextGridRep zu importieren.

Datenimport per tgadmin, tgclients und TextGridRep API

Der eigentliche Datenimport erfolgt schließlich durch die Python-Tools tgadmin und tgclients, die wiederum mit dem TextGrid-Backend über die verschiedenen TextGridRep APIs kommunizieren. Alles zusammen ist die Grundlage für den neuen einfachen Weg, Daten komfortabel in das TextGridRep zu importieren und schließlich zu veröffentlichen. Die Tools, Bibliotheken und auch die TextGridRep API wurden anlässlich des Code Sprints erweitert und überarbeitet

Eine Web-Anwendung für leichte Bedienung

Die bisher erwähnten Tools können von der Kommandozeile und von Python-Skripten aus verwendet werden. Eine komfortable Bedienung ist über eine Web-Anwendung möglich, die als Jupyter Notebook implementiert wurde. Diese lässt sich lokal oder auf dem Text+ JupyterHub verwenden. Dadurch, dass Jupyter Notebooks unter anderem die Darstellung von HTML einschließlich JavaScript gut unterstützen, ist es möglich, dynamische Benutzungsoberflächen zu erstellen. Wie das im Detail funktioniert und worauf dabei zu achten ist, wird in einem zukünftigen Blogartikel zum Thema „Jupyter Notebooks in Text+“ erklärt werden. Die Benutzungsoberfläche besteht hauptsächlich aus Formularen und einem File Browser, der die Eintragung von Datei-/Verzeichnispfaden in Formularfelder erleichtert. Beim Absenden der Formulare werden Operationen ausgeführt, und die Ergebnisse werden als HTML angezeigt. Die Bearbeitung von Dateien ist dank der umfangreichen Funktionalitäten, die in JupyterLab bereits verfügbar sind, auch möglich.

Abb. 2: Eine als Jupyter Notebook implementierte Web-Anwendung

Abbildung: Eine als Jupyter Notebook implementierte Web-Anwendung

JupyterHub und vorinstallierte Software für die sofortige Verwendung

Zusätzlich zur Entwicklung wurde auch das Deployment der Software für den Import-Workflow auf den Text+ JupyterHub realisiert. Konkret bedeutet das für Nutzende von Text+, dass sie die Software direkt im Browser benutzen können, ohne diese zuerst zu installieren. Dafür muss zunächst der Eintrag „Text+ Notebook“ im Menü ausgewählt werden, das nach der Anmeldung im JupyterHub angezeigt wird. Eine lokale Verwendung ist natürlich auch möglich, am einfachsten mit Docker, wofür ein Dockerfile zur Verfügung steht.

Nach dem Code Sprint ist vor dem Code Sprint

Für die Anwendung des Import-Workflows wurden sowohl Daten der Teilnehmenden als auch andere geeignete frei verfügbare Daten verwendet. Soweit die Daten als TEI vorlagen, konnten diese problemlos in den eigenen nicht öffentlichen TextGrid-Bereich importiert werden, ggf. nach Anpassungen der Metadaten oder der Regeln zu ihrer Ermittlung. Die Teilnehmenden haben die nötige Erfahrung gewonnen, um mit dem Workflow zu arbeiten und haben gesehen, dass die Voraussetzungen für die Publikation in TextGrid viel leichter erfüllt werden können dank des neuen Workflows. Wir Veranstaltende haben Feedback über die Bedienung und über weitere Bedarfe erhalten und sind aktuell dabei, die Tools zu verbessern und weiterzuentwickeln. Wir bleiben mit den Teilnehmenden in Kontakt, unterstützen sie bei Bedarf, und freuen uns bereits auf den nächsten Code Sprint, womit angesichts vieler spannenden Entwicklungen noch in diesem Jahr zu rechnen ist.

Abbildungen: Einige Impressionen vom Code Sprint

Selbst ausprobieren?

Wenn Sie Lust bekommen haben, den neuen Import-Workflow einmal selbst auszuprobieren, schreiben Sie uns. Gerne sammeln wir auch Wünsche für den kommenden Code Sprint. Am besten erreichen Sie uns unter textplus-support[at]gwdg.de oder über unser Helpdeskformular: https://text-plus.org/contact/ 



Diesen Blogbeitrag zitieren
Text+ Mitglied (2024, 8. Mai). Fluffy Workflow: Neue Tools für den Datenimport ins TextGridRep. Text+ Blog. Abgerufen am 24. Mai 2024, von https://doi.org/10.58079/11nmp

Das könnte dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Suche in OpenEdition Search

Sie werden weitergeleitet zur OpenEdition Search