Ringvorlesung an der Universität Bern: Einblicke in die Digital Humanities → Fokus Editionen
Lecture series at the University of Bern: Insights into the Digital Humanities → Focus Editions
6. Dezember 2021
Kaspar Gubler: Nodegoat als Tool für digitale Editionen
“Die Präsentation stellt die Funktionen der virtuellen Forschungsumgebung Nodegoat für die Bearbeitung, Analyse und Edition von Texten vor. Bislang war Nodegoat in den Digital Humanities vor allem für Datenmanagement, Netzwerkanalyse und Visualisierung von Forschungsdaten bekannt. Dagegen sind die Textverarbeitungstools von Nodegoat erst Eingeweihten vertraut: mit Nodegoat können etwa Informationen aus Texten automatisch extrahiert und gespeichert werden (pattern matching). Weiter können Texte von Hand oder automatisiert ausgezeichnet werden. Auch ist es möglich, verschollene Texte (Bibliotheken) aufgrund von Querverweisen digital zu rekonstruieren. Ausgefeilte Funktionen zur chronologischen Einreihung von Texten mit vagen oder fehlenden Datumsangaben runden die Funktionspalette ab.”
Kaspar Gubler: Nodegoat as a tool for digital editions
“The presentation introduces the functions of the virtual research environment Nodegoat for editing, analysing and editing texts. So far, Nodegoat has been known in the digital humanities mainly for data management, network analysis and visualisation of research data. In contrast, Nodegoat’s text processing tools are only familiar to the initiated: with Nodegoat, for example, information can be automatically extracted from texts and stored (pattern matching). Furthermore, texts can be marked up manually or automatically. It is also possible to digitally reconstruct lost texts (libraries) based on cross-references. Sophisticated functions for the chronological classification of texts with vague or missing dates round off the range of functions.”
Mit anschliessendem Crashkurs (‘Eine digitale Edition mit Nodegoat erstellen’). Es werden keine Vorkenntnisse vorausgesetzt. Die Teilnehmenden sollten Zugang zu einer Nodegoat-Forschungsumgebung haben, zu beantragen hier: https://www.dh.unibe.ch/dienstleistungen/nodegoat_go/index_ger.html. Oder, für Personen ausserhalb der Uni Bern, hier: nodegoat.net
Followed by a crash course (‘Creating a digital edition with Nodegoat’). No previous knowledge is required. Participants should have access to a Nodegoat research environment, to apply here: https://www.dh.unibe.ch/dienstleistungen/nodegoat_go/index_ger.html. Or, for people outside the University of Bern, here: nodegoat.net.
Poster_Ringvorlesung_HS2021_A3
Links und Informationen zur Ringvorlesung:
Ein beispielhaftes Projekt, das die Möglichkeiten und Funktionen von Nodegoat für eine digitale Edition zeigt, ist die Encyclopedia of Romantic Nationalism in Europe.
An exemplary project that shows the possibilities and functions of Nodegoat for a digital edition is the Encyclopedia of Romantic Nationalism in Europe.
https://ernie.uva.nl/viewer.p/21/56/object/131-158438
Für dieses Projekt wurden die Daten (mit Tags markierte Texte) aus Nodegoat via Schnittstelle (API) exportiert und in das Datenformat XML konvertiert, um so die Daten für die Publikation in Buchform vorzubereiten. Die Bücher, die der Online-Version des Projekts damit weitgehend entsprechen, liegen in zwei Bänden vor.
For this project, the data (tagged texts) were exported from Nodegoat via interface (API) and converted into the data format XML in order to prepare the data for publication in book form. The books, which thus largely correspond to the online version of the project, are available in two volumes.
https://spinnet.eu/ernie/erniethebook
Jeder Artikel in diesem Projekt entspricht einem Objekt in Nodegoat. Jedem Objekt in Nodegoat wird bei der Erstellung automatisch eine eindeutige Kennung (Unique identifier) zugewiesen. Damit lassen sich die Artikel einfach zititieren, auch mit einem Digital Object Identifier (DOI), wie hier zu sehen.
Each item in this project corresponds to an object in Nodegoat. Each object in Nodegoat is automatically assigned a unique identifier when it is created. This makes it easy to cite the articles, even with a Digital Object Identifier (DOI), as seen here.
Wie können wir Texte ‘taggen’ (auszeichnen) in Nodegoat? Hintergrund: in Nodegoat können wir für jedes Objekt (und für die Kategorien, die die Objekte beschreiben oder klassifizieren) verschiedene Typen von Inhaltselementen im Datenmodell definieren. Wollen wir einen Text auszeichnen, wählen wir im Datenmodell das Element ‘Text (Tags & Layout)’.
How can we ‘tag’ texts in Nodegoat? Background: in Nodegoat we can define different types of content elements in the data model for each object (and for the categories that describe or classify the objects). If we want to tag a text, we select the element ‘Text (Tags & Layout)’ in the data model.
Im Datenbereich sieht dann dieses Textfeld folgendermassen aus, hier mit einem Beispieltext zu einer Pilgerreise gefüllt.
In the data area, this text field looks like this, here filled with an example text for a pilgrimage.
In diesem Beispiel handelt es sich um den Objekttypen ‘Dokument’, in dem wir die Texte als einzelne Objekte erfassen und taggen. Wir können in den Conditions von Nodegoat bestimmte Begriffe, die uns besonders interessieren, farblich hervorheben. Mit einem Klick auf einen farbigen Begriff gelangen wir zum anderen Objekt, zum Beispiel zu einer Person. Im Tab ‘Cross-Referencing’ sehen wir alle Objekte aufgeführt, zu denen von unserem Text aus solche Verlinkungen erstellt wurden. Die Verlinkungen machen es zudem möglich, umgehen ein Netzwerk dieses Textes zu erstellen und in dieser Form die Verlinkungen darzustellen (mit den Methoden der Netzwerkanalyse).
In this example, we are dealing with the object type ‘document’, in which we capture and tag the texts as individual objects. In the conditions of Nodegoat, we can highlight in colour certain terms that are of particular interest to us. Clicking on a coloured term takes us to the other object, for example to a person. In the tab ‘Cross-Referencing’ we see all objects listed to which such links have been created from our text. The links also make it possible to create a network of this text and to display the links in this form (using the methods of network analysis).
Die Texte in Nodegoat werden nicht in XML getaggt, sondern in HTML. Das Besondere: im HTML-Code sehen wir hellblau die Objekte, die getaggt wurden, mit ihren Identifikationsnummern. Dank dieser Identifikationsnummern, die in der Datenbank gespeichert werden, verfügen wir durch das Tagging über eine klar definierte Struktur des Textes, die wir sogleich für Auswertungen nutzen können, etwa für die erwähnte Netzwerkanalyse, für Kartenvisualisierung und weitere Analysen. Kann Nodegoat auch Daten im XML-Format herstellen? Zum Beispiel für eine Publikation? Ja. Das wurde auch schon gemacht, siehe dazu das Beispiel der eingangs erwähnten Enzyklopädie. Die Daten, also hier die Tags mit ihren Identifikationsnummern werden dazu via Schnittstelle in Nodegoat im Format JSON heruntergeladen und mit einem XML-Parser in das XML-Datenformat konvertiert. Dieser Vorgang ist insofern nicht schwierig, da die Nodegoat-Daten klar strukturiert und definiert im Format JSON vorliegen. Könnte ein XML-Editor für Nodegoat entwickelt werden, sodass man die Tags nicht in HTML, sondern gleich in XML abspeichern könnte? Ja, das ist möglich. Das Tagging mit HMTL + eindeutigen Identifikationsnummern sollte allerdings nicht unterschätzt werden. Es bietet gerade im Hinblick auf die Her- und Bereitstellung von Forschungsdaten gewisse Vorteile gegenüber dem XML-Format, dessen Stärken mehr im Bereich des Publishing zu sehen sind. Doch sollen hier die Formate nicht gegeneinander ausgespielt werden, sondern der Fokus auf die Forschung gelegt werden und damit auf die Frage, welche neuen Erkenntnisse wir mit digitalen Tools gewinnen können? Dabei sollten wir nicht nur Daten sammeln, sondern diese auswerten, möglichst über verschiedene Ebenen der Kontextualisierung hinweg. Für solche Auswertungen bietet Nodegoat einen einfachen Zugang, insbesondere auch für die Lehre.
The texts in Nodegoat are not tagged in XML, but in HTML. The special feature: in the HTML code we see in light blue the objects that have been tagged with their identification numbers. Thanks to these identification numbers, which are stored in the database, we have a clearly defined structure of the text through tagging, which we can immediately use for evaluations, for example for the network analysis mentioned, for map visualisation and other analyses. Can Nodegoat also produce data in XML format? For example, for a publication? Yes. This has already been done, see the example of the encyclopaedia mentioned at the beginning. The data, in this case the tags with their identification numbers, are downloaded into Nodegoat in JSON format via an interface and converted into the XML data format with an XML parser. This process is not difficult insofar as the Nodegoat data is clearly structured and defined in JSON format. Could an XML editor be developed for Nodegoat so that the tags could be saved in XML instead of HTML? Yes, that is possible. However, tagging with HMTL + unique identification numbers should not be underestimated. Especially with regard to the production and provision of research data, it offers certain advantages over the XML format, whose strengths are to be seen more in the area of publishing. However, the formats should not be played off against each other here, but the focus should be on research and thus on the question of what new insights we can gain with digital tools? In doing so, we should not only collect data, but also evaluate it, if possible across different levels of contextualisation. Nodegoat offers easy access for such evaluations, especially for teaching.
Nodegoat verfügt über verschiedene andere Funktionen zur Bearbeitung und Auswertung von Texten und Bildern. Neben dem ‘taggen’ von Texten können etwa mit Regex (regular expression) Begriffe in den Conditions von Nodegoat definiert und sogleich im Text farblich hervorgehoben werden (braun, gelb, blau).
Nodegoat has various functions for editing and evaluating texts and images. In addition to tagging texts, terms can be defined in the Nodegoat conditions using regex (regular expression) and immediately highlighted in colour in the text (brown, yellow, blue).
Um den Begriff ‘Schiff’ in den Conditions blau einzufärben, tragen wir bei den Descriptions des Objekts Folgendes ein: (Schiff) und dann diese Formatierung: <span style=”background-color: #81BEF7;”>$1</span>. Wo die Angaben einzutragen sind, sehen wir in der folgenden Abbildung.
In order to colour the term ‘Schiff’ blue in the conditions, we enter the following in the object’s descriptions: (Schiff) and then this formatting: <span style=”background-color: #81BEF7;”>$1</span>. We can see where to enter the information in the following illustration.
Eine weitere nützliche Funktion für die Arbeit mit Texten ist das Modul der ‘Data reconciliation’ in Nodegoat. Damit können wir Beschreibungen zu Objekten automatisiert nach bestimmten Begriffen durchsuchen lassen, die wir zuvor in einem Vokabular defniert haben. Die Treffer werden sogleich in der Datenbank abgespeichert. So können wir auch Texte durchsuchen und die gefundenen Begriffe automatisch ‘taggen’ und wiederum abspeichern lassen, wobei der Algorithumus zur Zeit so eingestellt ist, dass er nach einem ganz spezifischen Begriff in einem Text sucht und nicht nach der Gesamtzahl dieser Begriffe.
Another useful function for working with texts is the ‘Data reconciliation’ module in Nodegoat. This allows us to automatically search descriptions of objects for certain terms that we have previously defined in a vocabulary. The hits are immediately stored in the database. In this way, we can also search texts and have the terms found automatically ‘tagged’ and saved again, whereby the algorithm is currently set to search for a very specific term in a text and not for the total number of these terms.
Kann man Text in Nodegoat importieren? Ja. Die einfachste Art ist, die Texte per Copy / Paste in das Textfeld einzufügen. Bei vielen Texten kann man diese entweder hochladen via Interface (CSV-Format) oder man importiert Texte via Schnittstelle (API). Letzteres kann man mit Transkribus kombinieren. Dies bedeutet: Wir können unsere Texte in Transkribus, zum Beispiel im Webinterface von Transkribus lite, zuerst automatisch (mit OCR) transkribieren lassen und dann jede Seite unsers Dokuments als ein Objekt in Nodegoat importieren mit der ‘Data Ingestion’ Funktion. Anschliessend können wir die Texte in Nodegoat taggen und etwa mit Abfragen oder Visualisierungen auswerten. Wir gehen an dieser Stelle nicht weiter auf die Einzelheiten ein, um zu einem späteren Zeitpunkt dazu ein Tutorial zu erstellen. In der Abbildung unten sehen wir als Beispiel einige importierte Pages aus Transkribus mit ihren IDs und den Seitenzahlen. Wir können also ganze Werke aus Transkribus in Nodegoat importieren.
Can I import text into Nodegoat? Yes. The easiest way is to copy / paste the texts into the text field. For many texts you can either upload them via interface (CSV format) or import texts via interface (API). The latter can be combined with Transkribus. This means: We can first have our texts transcribed automatically (with OCR) in Transkribus, for example in the web interface of Transkribus lite, and then import each page of our document as an object into Nodegoat using the ‘Data Ingestion’ function. Afterwards, we can tag the texts in Nodegoat and evaluate them with querys and visualisations. We will not go into further detail here, in order to create a tutorial on this at a later date. In the figure below we see as an example some imported pages from Transkribus with their IDs and page numbers. So we can import whole works from Transkribus into Nodegoat.
Dies war nur ein erster Überblick zu den Funktionen, die Nodegoat für die Arbeit mit Texten bietet. Abschliessend kann darauf verwiesen werden, dass in jeder Nodegoat-Umgebung (domain) ein Webinterface integriert ist, mit dem die eigene digitale Edition via Web der Öffentlichkeit zugänglich gemacht werden kann. Wie eine solches Webinterface konfiguriert wird, werden wir zu einem späteren Zeitpunkt auf diesem Blog erläutern.
This was only a first overview of the functions that Nodegoat offers for working with texts. Finally, it can be pointed out that a web interface is integrated in every Nodegoat environment (domain), with which one’s own digital edition can be made accessible to the public via the web. How to configure such a web interface will be explained later on this blog.