Meldung vom: | Verfasser/in: Lukas Wühr
Einleitung
Bei der Bearbeitung von historischen Fragestellungen mit digitalen Tools waren die von historischen Forschungsprojekten entwickelte Programme bisher sehr spezialisiert. Die Software wurde genau auf die historische Fragestellung angepasst und wurde von einem Informatiker nur für den Zweck der Beantwortung einer spezifischen historischen Fragestellung gebaut. Viele Historiker kennen sich wenig bis gar nicht mit der Programmierung aus. Daher können sie selbst oft nicht den Code ihrer benutzten Software an ihre neuen Bedürfnisse und Fragen anpassen. Zwar sind Kommandozeilen Werkzeuge oft mächtiger und aus informatischer Sicht schneller und flexibler zu erstellen, jedoch müssen am Anfang alle Parameter übergeben werden und eine eigene Pipeline[1] gebaut werden. Unsere Arbeitsgruppe verfolgt mit der Entwicklung einer grafischen Arbeitsoberfläche zur Bearbeitung historischer Daten einen neuen Weg, um ein allgemein nutzbares, anpassbares Tool für die Beantwortung verschiedener historischer Fragestellung zu entwickeln.
Die Digitalisierung des Historischen Workflows
Bei der Bearbeitung von historischen Fragestellungen mit digitalen Mitteln hat sich bisher ein*e Historiker*in mit eine*m Informatiker*in zusammengesetzt. Ausgehend von den historischen Wünschen und Bedürfnissen versuchte der*die Informatiker*in ein Programm zu entwickeln, welches auf das Problem zugeschnitten wurde. Entsprach das Programm nicht den Erwartungen oder ergaben sich neue Erkenntnisse, die eine Abwandlung des Programms notwendig erschienen ließen, wurde wieder ein*e Informatiker*in konsultiert. Dadurch entstand ein iterativer Prozess zwischen Historiker*in und Informatiker*in. Ein Ausprobieren von verschiedensten Fragen und Szenarien war nicht sehr einfach möglich.
Unsere Arbeitsgruppe möchte deswegen die historische Hermeneutik so digitalisieren, dass dieser sich etwas einfacher und auch ohne die direkte Hilfe durch Informatiker*innen durchführen lässt. Deswegen entwickeln wir einen visuellen Workflow ein Ausgangspunkt der Entwicklung war die Überlegung, dass es generische Komponenten gibt, mit denen Daten aufbereitet und dargestellt werden können. Die einzelnen Komponenten sollen auf verschiedenste Daten und Probleme anwendbar sein. Damit diese auch von nicht informatisch gebildeten Personen/Historikern verwendet werden können, ist es notwendig, dass die Programme ergonomisch und einfach zu bedienen sind.
Die Arbeitsumgebung wurde nicht durch uns entwickelt, sondern nur modifiziert. Als Grundlage wird Ryven verwendet. Dies Ist ein Open-Source Projekt von Leon Thomm unter MIT Lizenz[2]. In der Umgebung können so genannte Nodes erstellt werden. Ein Node wird als kleine Box mit In- und Outputs dargestellt. Es enthält die Verarbeitungslogik für einen Arbeitsschritt. Einzelnen Nodes können dann verbunden werden und ein Arbeitsfluss entsteht.
Auswahlmenü des XML-Parser Graphen, welcher aus den XML-Bäumen des RG einen Graphen erstellt (Lukas Wühr / Mephisto 2021)
Wir demonstrierten dies an einem Beispiel eines unserer Nodes. Dieses erstellt aus Regesten des RG, welche als xml-Bäume gespeichert sind, einen Graphen. Grundlegend besitzen alle Node-Klassen eine Update-Funktion, welche bei einer Änderung eines Inputs aufgerufen wird. Ryven ist in Python geschrieben, so dass wir in der Update-Funktion unsere schon fertigen Module aus unserem Projekt aufrufen können.
Die Inputs befinden sich immer links und können zum einen durch Verbindung mit dem Pin (weißer Kreis) zu einem anderem Node oder durch ein Widget ihre Daten bekommen. Widgets werden mit der GUI Bibliothek QT erstellt und haben dadurch praktisch keine Grenzen. Zum Beispiel wurden ein ein File-Browser für den path-Input oder ein Dropdown-Menü für verschiedene wählbare Optionen implementiert.
Zuerst haben wir versucht den Arbeitsvorgang vom Netzwerk der Pfründenitinerare nachzustellen. Zur Grundlage gab es eine Datenbank mit Informationen aus dem Repertorium Germanicum, die Apl. Prof. Dr. Robert Gramsch-Stehfest im Rahmen seiner Promotion über die Erfurter Juristen erstellt hatte. Am Ende sollte eine Auswertung der Pfründenitenerare möglich sein, deren Ergebnisse – noch „oldschool“ durch die Entwicklung von spezifischen Skripten – wir bereits auf unserem Blog vorgestellt haben.[3] Dazu gibt es ein Node, welches aus einer gegebenen Datenbank ein Netzwerk mit allen relevanten Informationen erstellt. Dies ist der Ausgangspunkt des Workflows. Ein weiteres Node visualisiert das Netzwerk, ein anderes gibt die Metriken aus und eines enthält eine Vielzahl von verschieden Filtern, die beliebig oft angewandt und kombiniert werden können. Durch Experimentieren mit den Nodes entsteht ein Baum von Nodes. Um einzelne Ergebnisse außerhalb der Ryven-Umgebung verfügbar zu machen kann ein Export Node angehangen werden.
Einbindung von weiteren Projekten
Mit den Informationen in der Datenbank können auch andere Netzwerke erstellt werden. Dazu muss es nur ein Node zur Netzwerkerstellung geben und die Filter auf den Netzwerkkontakt angepasst werden. Hier musste eine Abwägung getroffen werden, ob die Nodes lieber simpel oder ob die Anzahl von verschiedenen Nodes gehalten werden sollen. Wir entschieden uns in der Entwicklung, dass mehr Nodes erstellt werden sollen. Alle anderen Komponenten können einfach mit den neuen Nodes verbunden werden und funktionieren gleich.
Um die Funktionsweise zu garantieren, muss eine neue Netzwerkklasse erstellt werden. Diese erbt aus unserer Basis-Netzwerkklasse, welche Interfaces für die Filter und Anzeige des Netzwerks enthält. Für das Zeichen eines Netzwerks ist bereits eine gut verwendbare Funktion implementiert. Die Filter sind am Anfang noch leer und müssen ergänzt werden. Auch die Modellierungs-Entscheidung, wie und welche Knoten oder Kanten erstellt werden sollen, ist in einem Dropdown-Menü auswählbar. Diese Informationen befinden sich je nach Datenquelle an verschiedensten Positionen und haben unterschiedliche Verknüpfungen.
Ausblick und Nutzungsmöglichkeiten für die Wissenschaft
Das Ziel ist es eine No-Code Plattform für Historiker zu stellen. In dieser kann mit Nodes experimentiert werden und alle Schritte werden gespeichert. Dadurch soll erreicht werden, dass auch am Ende des Forschungsprozesses nachvollziehbar ist und bleibt, welche Überlegungen gemacht wurden und welche Erkenntnisse es auf dem Weg zu einem Interessanten Ergebnis es gab. So gibt es Hypothesen, die näher untersucht wurden, aber in eine Sackgasse geführt haben. Solche Untersuchungen werden in der Forschung in der Regel nicht näher dokumentiert, auch wenn aus ihnen andere Hypothesen resultieren.
Unsere Arbeitsumgebung haben wir auf unserem Server installiert, damit fällt jegliche Installation durch die Benutzer weg und es kann sofort auf der neusten Version gearbeitet werden. Nach Beendigung des Projekts stellen wir unsere Arbeitsumgebung frei zur Verfügung. Unsere Module können dann, mit unserer Arbeitsumgebung oder mit der Original Ryven Arbeitsumgebung, selbst installiert und genutzt werden. Eine Versionsverwaltung im Editor ist momentan in Arbeit, um seinen Arbeitsfortschritt noch besser zu tracken.
Referenzen
[1] Aneinander Reihung von Programmen, die als Eingabe das Ergebnis des vorherigen Programms nutzen.
[2] Siehe Ryven.org.
[3] https://www.mephisto.uni-jena.de/blog/pfr%C3%BCndenitinerare+im+repertorium+germanicumExterner Link