Nodegoat Tutorials (deutsch)

Nodegoat ist eine virtuelle Forschungsumgebung, die vor allem in den Geisteswissenschaften verbreitet angewendet wird von einer internationalen Forschungscommunity. Nodegoat ist webbasiert und ermöglicht, an Forschungsfragen spezifisch angepasste Datenmodelle zu erstellen.

Zuerst schauen wir uns die Grundlagen an, um ein Projekt zu beginnen.

Die wichtigsten Verwaltungsbereiche in Nodegoat sind: Data – Management – Model. Wenn du dich in deine neue Nodegoat-Forschungsumgebung einloggst, musst du zuerst in Management ein Projekt anlegen. Anschliessend erstellst du in Model das Datenmodell, d.h. die Datenbankfelder. Nachdem die Datenbankfelder in Model angelegt worden sind, stehen sie im Bereich Data zur Verfügung. Das bedeutet, dass jedes Datenbankfeld von Model auch im Bereich Data erscheint und wir dort sogleich mit dem Eintragen unserer Forschungsdaten beginnen können. Hinweis: Wir müssen die Datenbankfelder von Model in unserem Projekt in Management zuerst aktivieren, damit wir sie in Data verwenden können. Auf diese Weise können wir steuern, welche Datenbankfelder aus dem Datenmodell wir in unserem Daten-Bereich anzeigen wollen.

Im Bereich Data arbeiten wir hauptsächlich mit Objekten und Kategorien. Wir verwenden Objekte für die Haupttypen unseres Datenmodells, zum Beispiel für Personen. Kategorien verwenden wir als Attribute dieser Haupttypen, z.B. für den Beruf einer Person. Achtung: Die Objekte und Kategorien werden im Bereich Data anders benannt als im Bereich Model. Im Data-Bereich heissen sie Objects und Categories, im Model-Bereich dagegen Object Types und Classifications. Hier sehen wir den Model-Bereich:

Und was sind die Reversals? Mit den Reversals können wir Daten automatisch taggen (markieren, auszeichnen, klassifizieren). Aber das schauen wir später an.

Daten können wir in Nodegoat von Hand erfassen oder durch einen Datenimport, indem wir die Daten via Webbrowser hochladen oder via Schnittstelle (API) hinzufügen.

Datenmodellierung in Nodegoat

Dies ist die Ultra-Kurzversion zur Datenmodellierung in Nodegoat. Grundsätzlich bauen wir das Datenmodell in Nodegoat mit:

1) Objekten

Z.B. Personen, Ereignisse, Institutionen, Texte, Manuskripte, Bilder, Karten, etc.

2) Sub-Objekten, wo  zeitliche und räumliche Angaben erfasst werden.

Der Hauptzweck der Sub-Objekte besteht darin, die Objekte in Zeit und Raum zu kontextualisieren.

3) Kategorien

Was ist der Unterschied zwischen Objekten und Kategorien? Objekte werden mit Kategorien klassifiziert. Beispiel: Ein Objekt kann eine Person sein, und eine Kategorie der Beruf der Person. So einfach? Ja. Objekte und Sub-Objekte können außerdem Beschreibungen enthalten (Text, Bilder, Links, Beziehungen). Klingt ein wenig wie Excel? Ja. Objekte sind ähnlich wie Spalten in Excel, Beschreibungen ähnlich wie Zeilen. Und Sub-Objekte? Das ist etwas Besonderes in Nodegoat, so wie Sie in Excel Orte und Datumsangaben in einer speziellen Spalte erfassen würden. Wenn Sie also Daten in Excel oder in einem ähnlichen Format haben, müsste es doch recht einfach sein, diese in Nodegoat zu importieren? Das stimmt, wenn Ihre Daten eine saubere Struktur haben und konsistent sind, ist dies kein Problem.

Gibt es irgendwelche zwingenden Anforderungen oder Einschränkungen für die Datenmodellierung in Nodegoat?

Nein, du kannst dein Datenmodell individuell an die Forschungsfragen anpassen.

Soll ich mein Modell an bestehende Standards, wie z.B. das CIDOC-Referenzmodell, anpassen?

Das ist auf jeden Fall möglich. Nodegoat kann Normdaten generieren und bereitstellen und damit die Interoperabilität von Forschungsdaten verbessern. Allerdings ist es ratsam, das Datenmodell zunächst an die Quellen und an die Forschungsfragen anzupassen und zu überlegen, welche neuen Erkenntnisse mit diesem Datenmodell (und den darin gesammelten und visualisierten Daten) gewonnen werden können. Du solltest dich also zunächst fragen, ob dein Datenmodell konsistent und einheitlich strukturiert ist und vor allem, ob Außenstehende verstehen, was du mit deinem Datenmodell und den Daten darstellen und aussagen willst. Ein Geheimtipp: Denke vom Ende her. Welche neuen Erkenntnisse willst du mit deinen Daten präsentieren und wie soll eine Visualisierung deiner Daten dazu aussehen? Wie soll etwa eine Karte, ein Netzwerk oder eine Zeitreihe mit Ihren Daten aussehen, damit Außenstehende sie verstehen können?

Wo beginnen? Welche Objekte und Kategorien sollen definiert und wie benannt werden?

Dies sind Schlüsselfragen. Objekte und Kategorien befinden sich zu Beginn auf der gleichen Ebene. Indem wir nun Beziehungen zwischen den beiden (oder zwischen Objekten) herstellen, bilden wir eine Struktur (Hierarchie), die unser Datenmodell darstellt. Geheimtipp: Lege zunächst etwa 5 Objekte fest, die für dein Datenmodell wichtig sind. Dies sind die Archetypen des Modells, die zentralen Typen also. Wenn du dich mehr für Personen interessierts, wirst du ein Objekt ‘Person’ anlegen. Wenn du mehr über Bücher und deren Inhalte forschen willst, dann ist das Objekt ‘Buch’ zentral für dich. Pro-Tipp: Mache die Objekte nicht zu klein. Wenn du dich zum Beispiel für Künstler interessierst, ist es besser, ein Objekt “Person” und eine Kategorie “Beruf” anzulegen, wo wir “Künstler” eingeben können. Auf diese Weise können nicht nur Künstler in das Objekt “Person” eintragen werden, sondern auch Mäzene oder Personen, die sonst mit den Künstlern oder Künstlerinnen in Verbindung stehen. Und es vermeidet Redundanzen, wenn z.B. eine Künstlerin auch ein Mäzenin ist. Pro-Tipp: du kannst natürlich auch ‘Objekt’ als Namen für den Typ Objekt verwenden und damit die unterschiedlichsten Dinge erfassen (archäologische Funde, Manuskripte, Bücher, Bilder, Karten usw.).

Eine Frage, die oft gestellt wird: Kann ich alle Daten, die ich in Nodegoat eingegeben habe, jederzeit komplett exportieren?

Ja, entweder als CSV-Daten, als ODT (Open Document Text) oder über eine Schnittstelle im JSON-Format (der JSON-Export ist abhängig von der Art der Nodegoat-Installation).

 

TUTORIALS

Wer den einen schnellen Erfolg mit nodegoat sucht, sollte mit Tutorial Nr. 10 (oder Nr. 13) beginnen. Tutorial Nr. 10 zeigt, wie man ein grundlegendes und einfaches Datenmodell erstellt, Forschungsdaten (Schiffspositionen) eines Klimaprojektes importiert und auf einer Karte visualisiert. Ein kurzes Video (kein Ton, keine Kommentare) zeigt von Grund auf, wie es geht. Für das Tutorial benötigts du einen nodegoat-Account und den Testdatensatz, den ich auf dieser Website bereitstelle. Wenn du noch keinen Account hast, erkundige dich bei deiner Institution (z.B. Universität), ob diese nodegoat als digitales Werkzeug zur Verfügung stellt (zum Beispiel nodegoat GO, eine Multi-User-Plattform). Wenn du an der Phil.-Hist. Fakultät der Universität Bern studierst oder arbeitest, kannst du hier einen nodegoat-Account erhalten: https://forms.gle/Gjm4682EJLsq5TCR7. Optional kannst du ein Studentenkonto direkt bei nodegoat beantragen: https://nodegoat.net

Übersicht zu den Tutorials:

1. Ein Projekt erstellen
2. Eine Visualisierung erstellen
3. Ein Datum erfassen
4. Ein unsicheres Datum erfassen
5. Geodaten importieren (CSV-Daten)
6. Eine Beziehung zwischen Objekten erstellen
7. Eine Klassifizierung (Classification, Category) für Objekte erstellen
8. Datenmodell erweitern: Person mit ‘Event Birth’.
9. Die Hintergrundkarte ändern
10. Importiere Excel-Daten, die Geokoordinaten enthalten und visualisieren die Daten auf einer Karte
11. Für Fortgeschrittene: Import und Visualisierung von Open Data (CSV)
12. Datenmodell: Beobachtungen zu Objekten in Listenform anzeigen
13. Import von Daten aus Wikidata mit dem Import-Modul
14. Import von Daten aus Wikidata mit dem Modul für dynamischen Import
15. Punkte auf einer Karte einfärben und eine Legende dazu erstellen
16. Eine Fläche selber zeichnen (GeoJSON) und als Karte einbinden

17. Netzwerkanalyse von Korrespondenzen mit nodegoat (in Bearbeitung)
18. Das ‘Ideal Standard’ (IS) Datenmodell für nodegoat, das für viele geisteswissenschaftliche Forschungsfragen geeignet ist (in Bearbeitung)

1. Erste Schritte: Erstelle dein erstes Projekt in “Management” / füge Objekttypen in “Model” hinzu / füge Objektbeschreibungen in “Model” hinzu / aktiviere die Objekttypen in “Management” / arbeite mit den Objekttypen in “Data”

Wenn du ein neues Nodegoat-Konto hast, folge nach dem Login einfach den Anweisungen im Video, um dein erstes Projekt mit einem Objekt und zwei Objektbeschreibungen zu erstellen (die Videos haben keinen Ton, keine Kommentare, schaue einfach genau hin, was gemacht wird). Zusätzlich gibt es nach dem Einloggen Infotexte in Nodegoat, die zeigen, was man tun muss , um ein neues Projekt zu erstellen.

 

2. Eine Visualisierung erstellen: Geodaten (Koordinaten) müssen im Sub-Objekt eines Objekts erfasst werden. Erstelle ein Sub-Objekt “Location” für ein Objekt in “Model”.

In diesem Video wird gezeigt, wie wir ein Datenbankfeld im Sub-Objekt hinzufügen für unser erstes Objekt, das “First Object”. Dort kommen die Koordinaten hin. Locations werden also nicht als Objektbeschreibungen erfasst (so wie zum Beispiel der Name eines Objekts), sondern im Sub-Objekt. Im Video wird auch gezeigt, wie man die Koordinaten einer Location ändert.

 

3. Ein Datum erfassen: Datumsangaben müssen im Sub-Objekt eines Objekts erfasst werden

In diesem Video werden wir ein Datum für unser Objekt “First Object” erfassen. Zudem passen wir das Datenmodell in ‘Model’ an, um ein Start- und ein Enddatum (period) erfassen zu können. Wir können somit in nodegoat für jedes Objekt einen Zeitpunkt oder einen Zeitabschnitt erfassen, abhängig von unserem Datenmodell. Zusätzlich können wir auch unsichere Angaben zu einem Datum oder zu einem Zeitabschnitt erfassen. Dies wird im nächsten Video gezeigt. Achtung wegen des Formats, das in nodegoat so aussehen muss (mit Bindestrichen): 1-8-2020 (nicht mit Punkten 1.8.2020)

 

4. Ein unsicheres Datum erfassen in Chronology (im Sub-Objekt)

In diesem Video wird mit einem einfachen Beispiel gezeigt wie wir unsichere Datumsangaben dennoch erfassen können. Dies ist nur eine Möglichkeit. Es gibt viele andere, um unsichere Datumsangeben erfassen zu können, siehe dazu die Anleitungen zu nodegoat: https://nodegoat.net/guides (working with temporal data). Im Beispiel kennen wir das genaue Startdatum nicht und schätzen es auf 5 Tage nach dem Startdatum (1-8-2020). Wir erstellen dazu ein ‘statement: 5 days after begin start date’. Solche ungefähren Angaben werden also im Sub-Objekt im Bereich ‘Chronology’ erfasst (und nicht als ‘point’).

Wenn du mehr zum Umgang mit ungefähren, zeitlichen Angaben in nodegoat wissen willst, schaue dir auch diese Präsentation an von Pim van Bree and Geert Kessels (LAB1100), den Entwicklern von nodegoat.

 

5. Geodaten importieren (CSV Daten): Koordinaten werden im Sub-Objekt erfasst

In diesem Video werden ein Objekt “Locations” und verschiedene Beschreibungen zu diesem Objekt erstellt. Anschliessend importieren wir CSV-Beispieldaten in das Objekt. Die Beispieldaten enthalten Standorte (40k) mit geonames.org-IDs und Geokoordinaten: Location1.csv

Hinweis: In Nodegoat sind etwa 130k Orte von geonames.org vorinstalliert (Typ: City). Diese Orte können von allen Nutzern einer Installation gemeinschaftlich genutzt und erweitert werden. Auch Länder (Country) sind vorinstalliert und können so gemeinsam genutzt werden.

6. Eine Beziehung zwischen Objekten erstellen

In diesem Video stellen wir eine Beziehung zwischen dem “First Object” und den Locations her, um die Locations als Georeferenz für das Objekt zu verwenden. In ‘Model’ wählen wir “Locations” als Georeferenz im Sub-Objekt des “First Object”. In ‘Data’ geben wir einen Ort ein und sehen, dass er nicht sofort visualisiert wird, weil wir erst die visuellen Einstellungen richtig konfigurieren müssen (Auswahl von “Location” als Referenz für die Visualisierung in den Visualisation Settings der Werkzeugleiste). Zudem aktivieren wir im Datenmodell die Option ‘quick search’, damit wir im Lupenfeld (in Data) einfach nach einem Ort suchen können.

7. Eine Klassifizierung (Classification, Category) für Objekte erstellen

In diesem Video erstellen wir eine Klassifizierung “Attribute” im Datenmodell. Dann gehen wir zum “First Object” im Datenmodell und fügen eine Objektbeschreibung “Attribute” hinzu, die mit der erstellten Klassifizierung verknüpft ist.

8. Datenmodell erweitern: Person mit ‘Event Birth’.

In diesem Video ändern wir das “First Object” in “Person” und fügen eine Klassifizierung im Datenmodell hinzu: ‘Event (kind of)’. Diese Klassifizierung verlinken wir im Sub-Objekt von Person. Dann fügen wir das Ereignis “Birth” zum Sub-Objekt hinzu. Damit haben wir ein einfaches Modell, um biografische Daten zu erfassen. Wir können dieses Modell um andere Ereignisse (wie Tod, Aktivitäten usw.) erweitern . Im Sub-Objekt können wir zu jedem dieser Ereignisse Datumsangaben und Orte hinzufügen.

9. Die Hintergrundkarte ändern

In Nodegoat können wir beliebige Hintergrundkarten einbinden. Voraussetzungen: die Karten müssen auf einem sogenannten ‘Tile Server’ vorhanden und per Link verfügbar sein. Wir benötigen also nur diesen Link zur Karte und können diesen in Nodegoat einsetzen. Aber wo finden wir solche Links? Zum Beispiel via Google. Oder hier, in dieser kurzen Anleitung. Gehe zu den Visualisierungseinstellungen (Visualisation Settings):

Dann zum Visual Settings-Reiter. Von dort gelangen Sie zu den Geographical Settings, wo wir Einstellungen für Karten vornehmen können.

Standardmässig ist hier die Karte von Google vorhanden. Entfernen sie den Link zur Google Karte und kopieren sie den neuen Link, den sie zu einer Karte auf einem Tile Server haben, in das Feld wie in der nachfolgenden Abbildung. Passen sie das Copyright zur Karte an.

Save your Map settings:

Ich habe hier einige Links zusammengestellt, die sie verwenden können, um andere Hintergrundkarten einzubinden. Die Länge der Links ist unterschiedlich, lassen sie sich dadurch nicht irritieren.

Google Map

//mt{s}.googleapis.com/vt?pb=!1m5!1m4!1i{z}!2i{x}!3i{y}!4i256!2m3!1e0!2sm!3i336008092!3m14!2sen-US!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!12m4!1e26!2m2!1sstyles!2zcy5lOmd8cC5jOiNmZmY1ZjVmNSxzLmU6bHxwLnY6b2ZmLHMuZTpsLml8cC52Om9mZixzLmU6bC50LmZ8cC5jOiNmZjYxNjE2MSxzLmU6bC50LnN8cC5jOiNmZmY1ZjVmNSxzLnQ6MXxzLmU6Z3xwLnY6b2ZmLHMudDoyMXxzLmU6bC50LmZ8cC5jOiNmZmJkYmRiZCxzLnQ6MjB8cC52Om9mZixzLnQ6MnxwLnY6b2ZmLHMudDoyfHMuZTpnfHAuYzojZmZlZWVlZWUscy50OjJ8cy5lOmwudC5mfHAuYzojZmY3NTc1NzUscy50OjQwfHMuZTpnfHAuYzojZmZlNWU1ZTUscy50OjQwfHMuZTpsLnQuZnxwLmM6I2ZmOWU5ZTllLHMudDozfHAudjpvZmYscy50OjN8cy5lOmd8cC5jOiNmZmZmZmZmZixzLnQ6M3xzLmU6bC5pfHAudjpvZmYscy50OjUwfHMuZTpsLnQuZnxwLmM6I2ZmNzU3NTc1LHMudDo0OXxzLmU6Z3xwLmM6I2ZmZGFkYWRhLHMudDo0OXxzLmU6bC50LmZ8cC5jOiNmZjYxNjE2MSxzLnQ6NTF8cy5lOmwudC5mfHAuYzojZmY5ZTllOWUscy50OjR8cC52Om9mZixzLnQ6NjV8cy5lOmd8cC5jOiNmZmU1ZTVlNSxzLnQ6NjZ8cy5lOmd8cC5jOiNmZmVlZWVlZSxzLnQ6NnxzLmU6Z3xwLmM6I2ZmYzljOWM5LHMudDo2fHMuZTpsLnQuZnxwLmM6I2ZmOWU5ZTll

Google Satellite Map (without places, topography)

https://mt{s}.google.com/vt/lyrs=s&x={x}&y={y}&z={z}

Hintergrundinformationen zu Google Maps: Der Standardlink für Google Maps-Kacheln sieht wie folgt aus:

https://mt.google.com/vt/lyrs=m&x={x}&y={y}&z={z}

If you want a different Google Map, just replace the letter in the URL at lyrs=

Will man eine andere Google Karte, muss man einfach den Buchstaben in der URL ersetzen bei lyrs=

Zum Beispiel: lyrs=m (dies zeigt die Standard Google Karte an)

Der ganze Link sieht dann so aus:

https://mt.google.com/vt/lyrs=m&x={x}&y={y}&z={z}

Mit diesen Buchstaben kannst du die Karte ändern:

h: shows only roads

m: is the standard roadmap

p: shows the terrain

r: is another roadmap

s: shows the satellit view

t: shows only the terrrain

y: is a hybrid map with terrain and roads

 

Graue Karte ohne Orte (nützlich für Datenvisualisierungen)

//mt{s}.googleapis.com/vt?pb=!1m5!1m4!1i{z}!2i{x}!3i{y}!4i256!2m3!1e0!2sm!3i336008092!3m14!2sen-US!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!12m4!1e26!2m2!1sstyles!2zcy5lOmd8cC5jOiNmZmY1ZjVmNSxzLmU6bHxwLnY6b2ZmLHMuZTpsLml8cC52Om9mZixzLmU6bC50LmZ8cC5jOiNmZjYxNjE2MSxzLmU6bC50LnN8cC5jOiNmZmY1ZjVmNSxzLnQ6MXxzLmU6Z3xwLnY6b2ZmLHMudDoyMXxzLmU6bC50LmZ8cC5jOiNmZmJkYmRiZCxzLnQ6MjB8cC52Om9mZixzLnQ6MnxwLnY6b2ZmLHMudDoyfHMuZTpnfHAuYzojZmZlZWVlZWUscy50OjJ8cy5lOmwudC5mfHAuYzojZmY3NTc1NzUscy50OjQwfHMuZTpnfHAuYzojZmZlNWU1ZTUscy50OjQwfHMuZTpsLnQuZnxwLmM6I2ZmOWU5ZTllLHMudDozfHAudjpvZmYscy50OjN8cy5lOmd8cC5jOiNmZmZmZmZmZixzLnQ6M3xzLmU6bC5pfHAudjpvZmYscy50OjUwfHMuZTpsLnQuZnxwLmM6I2ZmNzU3NTc1LHMudDo0OXxzLmU6Z3xwLmM6I2ZmZGFkYWRhLHMudDo0OXxzLmU6bC50LmZ8cC5jOiNmZjYxNjE2MSxzLnQ6NTF8cy5lOmwudC5mfHAuYzojZmY5ZTllOWUscy50OjR8cC52Om9mZixzLnQ6NjV8cy5lOmd8cC5jOiNmZmU1ZTVlNSxzLnQ6NjZ8cy5lOmd8cC5jOiNmZmVlZWVlZSxzLnQ6NnxzLmU6Z3xwLmM6I2ZmYzljOWM5LHMudDo2fHMuZTpsLnQuZnxwLmM6I2ZmOWU5ZTll

Dieser Link erzeugt eine dunkle Karte. Nützlich, um Freunde zu beeindrucken…

http://mt{s}.googleapis.com/vt?pb=!1m5!1m4!1i{z}!2i{x}!3i{y}!4i256!2m3!1e0!2sm!3i323349059!3m14!2sen-US!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!12m4!1e26!2m2!1sstyles!2zcy50OjF8cC52Om9mZixzLnQ6MnxwLnY6b2ZmLHMudDozfHAudjpvZmYscy50OjR8cC52Om9mZixzLnQ6NnxzLmU6bHxwLnY6b2ZmLHMudDo1fHMuZTpsfHAudjpvZmYscy50OjgxfHAudjpvZmYscy50OjZ8cy5lOmd8cC5sOi0xMDAscy50OjgyfHAuczotMTAwfHAubDotODM!4e0

Visualisation of the immigration of new citizens (blue) to cities in Europe in the Middle Ages.

Abb. Zuzug von Neubürgern in mittelalterliche Städte in Europa

 

Digitaler Atlas zum Römischen Reich

https://dh.gu.se/tiles/imperium/{z}/{x}/{y}.png

Siehe zu diesem Projekt: https://dh.gu.se/dare/

Mercator Karte von 1607

https://maps.georeferencer.com/georeferences/66a34667-1847-5ea6-b6a8-c81736a3425d/2018-08-26T20:22:32.883884Z/map/{z}/{x}/{y}.png?key=mpcE7jAf5llCJV0hoUfk

Das Beispiel der Mercator-Karte verweist auf den Georeferencer, einen Dienst für Online-Karten, bei dem du eine Vielzahl von Links zu historischen Karten finden kannst. Viele Institutionen haben ein eigenes Konto bei Georeferencer wie die David Rumsey Collections mit einer nützlichen Übersicht der dort vorhandenen Karten (Weltkarte als Übersicht):

https://www.davidrumsey.com/view/georeferenced-maps

Du musst ein Konto haben bei Georeferencer an, um den Link zu einer Karte zu erhalten (z. B. von der Sammlung David Rumsey). Melde dich bei Georeferencer an und wähle hier eine Karte aus:

https://www.davidrumsey.com/view/georeferenced-maps

Gehe dann zu: ‘This map’ und auf ‘get Links’. Kopiere den Link in das Feld der Visualisierungseinstellungen von nodegoat (Visualisation Settings in der Werkzeugleiste, dann Visual Settings).

Ein weiteres Beispiel: Die British Library hat auch ein Konto bei Georeferencer und stellt dort Karten zur Verfügung:

https://britishlibrary.georeferencer.com/api/v1/density

10. Importiere Excel-Daten, die Geokoordinaten enthalten und visualisieren die Daten auf einer Karte

In diesem Tutorium stelle ich Testdaten mit Geokoordinaten zur Verfügung, die einfach importiert und visualisiert werden können. Das Resultat zeigt die Karte unten mit Positionen von Schiffen, die aus Logbüchern (18.-19. Jahrhundert) berechnet wurden. Die Daten sind besonders für die historische Klimaforschung interessant.

Voraussetzung ist, dass du ein nodegoat account (=nodegoat Forschungsumgebung) hast. Kläre zuerst ab, ob deine Bildungseinrichtung nodegoat als digitales Tool zur Verfügung stellt, zum Beispiel mit der Mehrbenutzer-Plattform nodegoat GO. Wenn du an der Phil.-Hist Fakultät der Universität Bern arbeitest, kannst du hier einen nodegoat GO account beantragen: https://forms.gle/Gjm4682EJLsq5TCR7. Ohne institutionelle Anbindung kannst du direkt bei nodegoat einen account beantragen: https://nodegoat.net/

Das folgende Video zeigt von Grund auf, wie wir Schritt für Schritt ein einfaches Datenmodell erstelln. Das Video hat keinen Ton und keine Kommentare. Es beginnt mit dem Login in deinen nodegoat account. Die nächsten Schritte: ein Projekt erstellen, ein Objekt erstellen und die von mir vorbereiteten Daten herunterladen, die du dann importieren und visualisieren kannst: data sample:

Wenn du eine schriftliche Anleitung bevorzugst, kannst du hier fortfahren. Diese Anleitung ist identisch mit dem Video, enthält aber einige Hintergrundinformationen.

Es wird zuerst gezeigt, wie du einen Identifikator deinen Daten hinzufügen kannst. Die Daten im vorbreiteten Datensample enhalten bereits einen Identifikator. Du kannst den nachfolgenden Schritt also auch überspringen und gleich das Datensample (dem ich bereits Identifikatoren hinzugefügt habe) herunterladen und mit dem Erstellen des Datenmodells beginnen.

Loggen Sie sich in Ihr nodegoat-Konto ein. Importieren Sie die CSV-Daten in Ihr bereits bestehendes Projekt oder erstellen Sie ein neues Projekt: ‘climate project’. Wir werden Daten (Beispieldaten) aus einem interessanten Projekt über Logbücher von Schiffen importieren, die für Wetterbeobachtungen wichtig sind. Hier ist die Website des Projekts, wo die Daten verfügbar sind:

https://www.historicalclimatology.com/cliwoc.htmlClimatological Database for the World’s Oceans (CLIWOC)

“The database consists of 287,114 logbooks written aboard Dutch, English, French, and Spanish sailing ships. The vast majority of these logbooks date from between 1750 and 1850, yet four ship logbooks were incorporated that predate 1750. These were centuries of European imperial expansion, and so the logbooks record the activities of sailors – both civilian and military – in oceans that span the entire globe.”

Ich habe folgende Daten heruntergeladen: ‘Download as an Open Office Spreadsheet’

Dann habe ich die Daten in einem Google Sheet (gleich wie Excel) geöffnet und zuerst eine weitere Spalte ganz links hinzugefügt, um für die Daten einen eindeutigen Identifikator (unique identifier) hinzuzufügen. Folgende Formel habe ich ins Feld A2 hinzugefügt, das den ersten Dateneintrag enthält:

In dieser Zelle anschliessend doppelklicken auf die rechte, untere Ecke, um die ganze Spalte automatisch mit weiteren Identifikatoren ausfüllen zu lassen. Eindeutige Identifikatoren sind sehr wichtig. Sie sind die Grundvoraussetzung für den Datenaustausch (Vernetzung von Forschungsdaten). Aber auch, um später Objekte aktualisieren zu können. Deshalb importieren ich immer zuerst die Identifikatoren in nodegoat und füge anschliessend, basierend auf den Identifikatoren, weitere Daten hinzu. Im Import-Modul von nodegoat kannst du wählen, ob du neue Objekte hinzufügen oder bestehende aktualisieren (update) willst.

In nodegoat kannst du 50k data records (rows) auf einmal importieren. Wenn du also 200k Objekte importieren willst, musst du mehrere CSV-Dateien erstellen, um die Daten aufzutrennen. Im Datensample, das ich erstellt habe, sind 20k records vorhanden, die du nun importieren kannst. Ich habe nur die wichtigsten Objekte ins Datensample aufgenommen: Identifier, ship name, year, longitude and latitude. Du kannst das Datensample hier herunterladen:

Climate project test data for nodegoat (CSV)

Dein Datenmodell in Model sollte für diese Daten folgendermassen aussehen mit einem Objekttypen ‘climate project’:

Füge diesem Objekttypen ein Sub-Objekt ‘year + coordinates’ hinzu, gehe dazu zum Reiter ‘Sub-Object’:

Wir werden die Daten via Webinterface importieren durch manuellels Hochladen. Du kannst Daten in nodegoat auch dynamisch importieren oder mit der Kommandozeile via JSON-Schnittstelle (API) mit einem individuell von dir erstellten Skript.

Für das Hochladen des Datensamples gehen wir folgendermassen vor. Wir gehen zu Model > Import > CSV Files und laden dort das Datensample hoch (climate project test data).

Hintergrundinfo: Um Daten in nodegoat via Webinterface importieren zu können, müssen sie im Format UTF8 vorliegen. In Excel zum Beispiel kann man seine Daten im CSV-UTF8 abspeichern. CSV steht für kommagetrennte Werte. Wenn du eine solche CSV-Datei öffnest (zum Beispiel mit einem einfachen Textprogramm), siehst du die Werte, die mit Kommas voneinander getrennt sind.

Vom Reiter CSV Files wechselst du nach dem Hochladen zum Reiter Import Template. Mit dem Template erstellst du ein Datenmapping für den Import. Das heisst: du legst fest, welche Daten aus deinem CSV-File in welche Datenbankfelder deines Datenmodells importiert werden sollen. Für das year (YR), wähle das Datenbankfeld Date Start in deinem Datenmodell.

Nach dem Speichern des Templates kannst du rechts auf das grüne Icon ‘run’ klicken und den Datenimport starten. Es werden dir sogleich ein paar Beispiel für dein Datenmapping gezeigt, damit du nochmals prüfen kannst, ob die Zuweisungen korrekt sind. Starte nun den Import für die 20k Daten.

Nun kannst du dir einen Kaffee gönnen, da du heute schon viel erreicht hast.

Gehe nach dem Import auf ‘Geografical Visualisation’, um die Daten auf der Karte zu visualisieren.

So sollte die Visualisierung, das Ergebnis deines Datenimports, aussehen. Spiele ein wenig rum mit der Zoomfunktion (recht) und der Zeitleiste. Du wirst auch Schiffe in den Wüsten Afrikas finden auf der Karte. Dies sind fehlerhafte Koordinaten in den Ursprungsdaten des Forschungsprojekts, die nun mit einer solchen visuellen Datenexploration einfach entdeckt und korrigiert werden könne.

Du kannst die Punkte auf der Kart auch kleiner darstellen. Im Reiter, wo sich die Geographical Visualisation’ befindet, gehst du rechts davon auf die ‘Visual Settings’ und dann gleich nochmal darauf. Speichere deine Angaben, hier Grösse 3, und visualisiere die Daten nochmals auf der Karte, siehe dazu auch das Video.

Du könntest nun, basierend auf den Identifikatoren, deine Daten beliebig mit dem Importvorgang updaten. Wähle dazu im Import-Modul ‘Update Existing Objects’ und wähle den Identifikator, um die entsprechenden Objekte mit einem weiteren Datenmapping zu aktualisieren.

 

11. Für Fortgeschrittene: Import und Visualisierung von Open Data (CSV)

Benjamin West: Benjamin Franklin Drawing Electricity from the Sky

Benjamin West (1738-1820): Benjamin Franklin Drawing Electricity from the Sky, Philadelphia Museum of Art, image Source: Public domain, via Wikimedia Commons

1743 wurde die American Philosophical Society (APS) – die älteste gelehrte Gesellschaft in den USA – in Philadelphia von Benjamin Franklin, John Bartram, Francis Hopkinson und anderen mit dem Ziel gegründet, “nützliches Wissen zu fördern”, wie auf der APS Website nachzulesen ist. Heute verfolgt die APS eine Open-Data-Strategie, die Forscher dazu ermutigt, die unter einer Creative Commons Attribution 4.0 Lizenz bereitgestellten offenen Datensätze zu nutzen und wiederzuverwenden. In diesem Tutorial werden wir solche Daten in nodegoat importieren und visualisieren. Die Daten werden wie folgt zitiert: Heider, Cynthia, Bayard Miller and Scott Ziegler. Post Office Book, 1748-1752. BF85f6-8. Distributed by Philadelphia: American Philosophical Society Library & Museum, 2017. https://diglib.amphilsoc.org/islandora/object/compound:11.

Franklin war nicht nur der Gründer der Gesellschaft, er wurde 1737 auch Postmeister von Philadelphia. Für die anschliessende Zeit sind Aufzeichnungen von Briefen vorhanden, die in der APS-Bibliothek archiviert und als Open Data zur Verfügung gestellt werden, wie wir auf der APS-Website erfahren:

“Benjamin Franklin’s Post Office Records: Post Office Book, Philadelphia incoming and outgoing mail, 1748-1752. Created while Benjamin Franklin served as Postmaster of Philadelphia, these datasets reveal a wealth of previously untapped information about colonial correspondence.” (Source: APS website).

Im folgenden Tutorial werden wir nur die ausgehenden Briefe des Postamtes in Philadelphia in nodegoat importieren. Für das Tutorial gibt es drei Videos, die das Vorgehen von Grund auf zeigen. Die Videos haben keinen Ton und keine Kommentare. Voraussetzungen: Du hast einen nodegoat-Account und Google Sheets (oder Excel).

Die Herausforderung in Video 1 besteht darin, die Daten für den Import in nodegoat neu zu formatieren und das amerikanische Datumsformat in das europäische umzuwandeln. Ein zusätzlicher Ort (Philadelphia Post Office) wird zur Visualisierung hinzugefügt. Das Tutorial beginnt mit dem Download der Daten von der APS-Website:
https://diglib.amphilsoc.org/data

Video 1:

In Video 2 wird zunächst ein Datenmodell in nodegoat erstellt, das auf den Spaltennamen der Daten in Google Sheets basiert. Dann werden die Daten als CSV aus Google Sheets heruntergeladen und in nodegoat hochgeladen, die Datenfelder der CSV-Datei mit den Datenfeldern in nodegoat gemappt und der Importprozess gestartet. Während des Importvorgangs nimmt nodegoat automatisch Zuordnungen zu CSV-Daten vor, die akzeptiert oder abgelehnt werden können.

Video 2:

Video 3 zeigt, wie man mit den importierten Daten arbeitet. Zunächst wird eine Grundfunktion gezeigt: Wenn du nur ein Objekt in nodegoat auf einmal anklickst (es öffnet sich ein Fenster mit dem Objekt), wird nur dieses Objekt auf der Karte visualisiert (durch Klick auf das Globus-Symbol). Ruft man alle Objekte auf, z.B. durch Auswahl von “alle” rechts neben dem Filtersymbol (Screenshot unten) oder durch Blättern zwischen den Seiten (1,2,3 etc), werden alle Objekte visualisiert:

Wenn wir alle unsere Daten visualisieren, wie im Video, indem wir auf das Globus-Symbol klicken, werden die Orte, die wir zuvor während des Importprozesses zugewiesen haben, auf der Karte angezeigt. Nicht alle diese Orte sind korrekt verortet, da wir beim Import nicht geprüft haben, ob der Ort wirklich der richtige ist. Besser wäre es gewesen, wenn wir die Daten bereits VOR dem Datenimport in Google Sheets oder Excel bereinigt hätten, was immer zu empfehlen ist! Aber keine Sorge: Wir können die Daten auch nach dem Import noch bereinigen, wie ein Beispiel im Video zeigt. Das Video zeigt weiter, wie man ein Datenbankfeld ‘Kommentar’ zum Datenmodell hinzufügt und verwendet, z.B. wenn man angeben möchte, dass man sich über die Lage eines Ortes unsicher ist. Und das Video zeigt, wie man eine Filterabfrage erstellt, um Orte zu finden, die keine Geokoordinaten haben.

Video 3:

12. Datenmodell: Beobachtungen zu Objekten in Listenform anzeigen

Dieses Datenmodell, das hier in seinen Grundzügen dargestellt ist, funktioniert z.B. für:
Person (Objekt) – biographisches Ereignis (Beobachtung), d.h. für biographische Daten. Aber natürlich funktioniert es auch für andere Modelle, mit denen wir ein Objekt mit Beobachtungen genau beschreiben wollen. Es funktioniert somit für alle Arten von Objekten wie Bücher, Texte, Artefakte, Institutionen, Organisationen usw.

Mit den Beobachtungen (im Beispiel das “Ereignis”) kontextualisieren wir das Objekt in Zeit und Raum, indem wir diese Informationen im Sub-Objekt erfassen.

Beispiel:

In diesem Beispiel sehen wir die biografischen Ereignisse von Ludwig von Adlikon in einer Liste (mit grünen, blauen und roten Ereignissen). Oben sehen wir weitere Informationen zu ihm: Vorname, Nachname, Herkunft usw.

Wie sieht das Datenmodell in nodegoat aus? Es gibt zwei Objekte: Person und Ereignis. Im Beispiel sehen wir das Objekt ‘Person’. Die Ereignisse, die mit dieser Person zusammenhängen (und somit aufgelistet sind), werden im Objekt ‘Ereignis’ erfasst. So erstellen wir ein solches Datenmodell in nodegoat:

1) Im Bereich Model erstellen wir in nodegoat zwei Objekte: Person und Ereignis.

2) Im Sub-Objekt vom Ereignis erstellen wir eine Description ‘Person’, so wie hier:

Erstelle ein weiteres Sub-Objekt, so wie zuvor für ‘Person’, um Datum und Ort erfassen zu können. Wir nennen dieses Sub-Objekt Datum_Location. Nun können wir im Sub-Objekt ‘Person’ festlegen, dass Datum und Ort vom Sub-Objekts Datum_Location automatisch in das Sub-Objekt ‘Person’ übernommen werden sollen (wichtig für Visualisierungen und für die korrekte Speicherung der Daten im Allgemeinen). Bei Date wählen wir also Source und wählen die Felder wie folgt aus:

Und dies sind die Einstellung für Location. Schaue dir die Felder Reference und Source an und fülle sie entsprechend aus:

3) Im Bereich “Management” müssen wir im Objekt “Person” nun noch aktivieren, dass die Ereignisse in Listenform im Abschnitt “Daten” angezeigt werden: Management > das eigene Projekt wählen > Organise > Person > Cross-Referenced > Ereignis > Sub-Object Descriptions > Aktivieren Sie das Kontrollkästchen

Warum ist dieses Modell nützlich? Weil es die grundlegenden Prinzipen der Datenerhebung in den Geisteswissenschaften berücksichtigt: Beobachten und Beschreiben. Die Ereignisse in dem obigen Beispiel sind Beobachtungen zu biografischen Stationen. Stationen, die wir in Zeit und Raum verorten im Ereignis. Somit sind alle wichtigen Informationen darin enthalten: Person, Ereignis, Ort (Raum) und Zeit. Diese Informationen können wir nun sehr gut für Visualisierungen (Karten, Netzwerke, Zeitreihen) und Datenanalysen nutzen. Natürlich können wir dieses einfache Modell nun erweitern mit weiteren Beobachtungen und Informationen, oder auch ausbauen im Hinblick auf die Erfassung von Korrespondenzen.

13. Import von Daten aus Wikidata mit dem Import-Modul

In diesem Tutorial werden wir Daten aus Wikidata zu archäologischen Fundstellen in der Schweiz importieren und visualisieren. Die Idee zu diesem Tutorial kam mir durch ein interessantes studentisches Projekt an der Universität Bern zur Visualisierung von archäologischen Daten. Informationen zu diesem Projekt hier:

https://www.iaw.unibe.ch/forschung/bern_coda_lab/projects/student_projects/sparql_hs_2019/ssdi/index_ger.html

Dies ist jedoch nur eine Möglichkeit, Daten in nodegoat zu importieren. Im Tutorial Nr. 14 werden wir zeigen, wie wir dieselben Daten direkt (d.h. ohne Hochladen im Webbrowser) von Wikidata in nodegoat importieren können, indem wir das Modul zum dynamischen Datenimport verwenden.

Du kannst die folgende Datenabfrage von Wikidata auch überspringen und gleich die Daten dieser Abfrage hier herunterlanden, um direkt weiter zum Datenmodell zu gehen.

Mit der folgenden Datenabfrage suchen wir nach allen archäologischen Stätten in der Schweiz. Wir nutzen für die Datenabfrage den Query Service von Wikidata: https://query.wikidata.org

Gehe zur Datenabfrage mit diesem Link und führe sie aus:

Wir können das Ergebnis (über 1000 archäologische Stätten) als CSV-Daten herunterladen, d. h. als durch Kommata getrennte Werte. Diese CSV-Daten laden wir dann von unserem Computer über den Webbrowser in nodegoat hoch. Doch bevor wir die Daten für den Import hochladen können, müssen wir natürlich zunächst ein Projekt in nodegoat mit den gleichen Datenfeldern anlegen, die in den CSV-Daten für den Import vorhanden sind. In nodegoat müssten wir im Bereich ‘Management’ ein Projekt anlegen, das wir ‘Archeological sites’ nennen.

Nun wechseln wir in den Bereich “Model”, um die drei Datenfelder unseres Projekts zu erstellen und einen Objekttypen hinzuzufügen, der alle Daten enthalten wird. Wir passen die Datenfelder des Objekttyps an die CSV-Daten an, die die folgenden Kategorien enthalten: site, coord, siteLabel. Diese Kategorien (= Datenfelder) legen wir nun auch in unserem Objekttyp an, den wir “site” nennen. Wir verwenden site und siteLabel im Datenmodell für Beschreibungen dieses Objekts, während coord, d. h. die Geokoordinaten, in das Sub-Objekt dieses Objekts importiert werden, um die Daten visualisieren zu können.

Wir speichern unseren Objekttypen und gehen zurück zu “Management” und zu unserem Projekt (Archeological site), um den erstellten Objekttypen “site” in unserem Projekt unter “Model” zu aktivieren:

Nun laden wir die CSV-Datei via Webbrowser in nodegoat hoch:

Nach dem Hochladen erstellen wir ein Template für das Datenmapping. Im Template weisen wir also die Datenfelder der CSV-Datei den Datenbankfeldern in nodegoat zu.

Dann starten wir den Import indem wir auf ‘run’ klicken.

Nach dem Import visualisieren wir die Daten auf der Karte. Wir gehen in der Werkzeugleiste auf ‘Geographical Visualisation’.

Abb. Archäologische Stätten in der Schweiz (Daten von Wikidata)

Mit den Conditions in nodegoat können wir die Punkte auf der Karte unterschiedlich einfärben oder auch gewichten. Natürlich können wir nun in unserem Datenmodell weitere Felder und Informationen zu einer archäologischen Stätte hinzufügen und in der Karte darstellen.

Schließlich können wir die Daten wieder aus nodegoat exportieren und unsere Ergänzungen in Wikidata einpflegen. Ein ähnlicher Dienst wie Wikidata wird vom LOBID-Projekt angeboten, das viele sehr nützliche Daten bereitstellt. Von Wikidata, wie im nächsten Tutorial gezeigt wird, oder von LOBID können die Daten auch dynamisch in nodegoat importiert werden.

14. Import von Daten aus Wikidata mit dem Modul für dynamischen Import

Zuerst ein wichtiger Hinweis auf eine sehr nützliche Funktion zur Datenkonvertiertung (oder -bereinigung), die wir vor dem Import für jedes Datenbankfeld durchführen können. Konkretes Beispiel: eine Datenschnittstelle gibt die Wikidata-Nummer im folgenden Format aus: http://www.wikidata.org/entity/Q3324044. Wir möchten in nodegoat nun aber nur die Nummer ‘Q3324044’ importieren und den Rest weglassen. Dazu gehen wir zu Model > Linked Data > Conversions, legen dort eine neue Conversion an und tragen folgende Werte wie in der Abbildung in die Felder ein. Wir sehen, dass wir bei der URI einfach den vorderen Teil abschneiden und so nur die Nummer (Identifikator) importiert werden kann. Um das Ergebnis des Scipts zu sehen, klicken wir auf ‘test’.

Wo müssen wir diese Conversion hinzufügen, um sie anwenden zu können für den Import? Wir gehen zu Model > Linked Data und zu unserer Schnittstelle, die wir dort definiert haben. Unten bei den Zuweisungen der Datenbankfelder, die importiert werden sollen, können wir die Conversion hinzufügen (siehe Abbildung, wir haben die Conversion zuvor als ‘Convert URI to ID’ abgespeichert). Somit wird beim dynamischen Datenimport nur noch die Nummer importiert. Natürlich können auch Datumsformate oder alle anderen Werte, die ihr mit JavaScript umwandeln könnt, auf diese Weise importiert werden. Da JavaScript hierzu viele Möglichkeiten bietet, haben die Conversions grosses Potential.

Hier ein Beispiel für die Konvertierung eines Datumsformats:

Pro-Tip: falls die Daten aus der zu importierenden Datenquellen uneinheitlich sind (was eigentlich immer ein wenig der Fall ist), kann man zum Beispiel einen ‘doppelten Import’ durchführen. Zum Beispiel kann man Datumsangaben mit der Conversion vor dem Import bearbeiten und diese zugleich in das Datumsfeld in nodegoat importierten und zusätzlich als Text oder String in eine Object Description. Nach dem Import können die fehlerhaften Datumsangaben in der Object Description leicht herausgefiltert werden und so müssen wir nur noch diese bereinigen.

Weitere Informationen zu den Conversions hier: https://nodegoat.net/documentation.s/142/conversions

 

Hier beginnt nun das eigentliche Tutorial. Es baut auf Tutorial Nr. 13 auf. Wir importieren dieselben Daten wie in Tutorial 13, aber diesmal nicht durch Hochladen einer CSV-Datei über den Webbrowser, sondern direkt über die API-Schnittstelle von nodegoat mit dem Modul für den dynamischen Datenimport (dynamic data ingestion). Wir verwenden dasselbe Datenmodell wie in Tutorial Nr. 13.

Das dynamische Dateningestionsmodul wurde im Rahmen meines SNF SPARK-Projekts entwickelt. Informationen und Beispiele für die Anwendung des Moduls findest du hier.

Zuerst müssen wir das Modul für den dynamischen Datenimport in unserem Projekt aktivieren. Wir gehen zu “Management” und zum Projekt “Archeological site” > Projekt > Model > System > Ingestion

Für den dynamischen Datenimport müssen wir in unserer nodegoat-Umgebung zwei Dinge einrichten:

1) Linked Data Rescoure (Datenabruf über Schnittstelle)
2) Datenmapping (für den Import der Daten)

Wir gehen zu Model > Linked Data > Add Linked Data Resource

Hier definieren wir die Schnittstelle. In diesem Beispiel ein SPARQL-Endpunkt von Wikidata. Fülle die Felder wie folgt aus:

Now we add the same query that we already used in tutorial no. 13. You can find the query under this link. Click on ‘test’.

Jetzt fügen wir dieselbe Abfrage hinzu, die wir bereits im Tutorial Nr. 13 verwendet haben. Du findest die Abfrage unter diesem Link. . Klicke anschliessend auf “Test”.

Im Antwortfeld (Response) sehen wir das Ergebnis der Testabfrage. Klicke auf ‘use’, um die Daten von Wikidata in dein Datenmodell von nodegoat zu mappen.

Speichere die Linked Data Resource und gehe zu Data > Processes > Ingestion > Add Ingestion. Wähle als Source deine Linked Data Resource (Dynamic Data Ingestion). Target des Imports ist dein Objekt ‘site’. Weise die Datenfelder einander folgendermassen zu:

Speichere den ingestion process und klicke auf ‘run’. Das Ergebnis sieht so aus:

Klicke auf ‘Geographical Visualisation’.

Als Ergebnis wirst du diese Karte sehen mit allen archäologischen Stätten der Schweiz, die auf Wikidata hinterlegt sind.

Abb. Archäologischen Stätten in der Schweiz (Daten von Wikidata)

Der in diesem Tutorial vorgestellte Prozess des dynamischen Datenimports hat gezeigt, wie man eine Datensammlung zusammenstellen kann. Wir können diese Datensammlung nun mit einem weiteren Ingestion-Prozess anreichern, indem wir die Update-Funktion verwenden. Mit dieser Funktion können wir den gesamten oder einen Teil unseres Datenbestandes mit weiteren Daten anreichern, zum Beispiel von Wikidata oder LOBID, oder aus jeder anderen Datenquelle mit einer Datenausgabe im JSON-Format. Wir können unseren Datenbestand anschliessend etwa für die Netzwerkanalyse in nodegoat verwenden, wenn wir unser Datenmodell entsprechend vorbereitet haben.

Weitere Informationen zum dynamischen Datenimport findest du in der offiziellen Dokumentation von nodegoat und in diesem Blogbeitrag. Weitere Informationen und Beispiele findest du auch hier: SPARK Workshop on dynamic data ingestion.

15. Punkte auf einer Karte einfärben und eine Legend dazu erstellen

Dieses Tutorial baut auf den vorherigen Tutorials (13 und 14) auf. Es zeigt, wie wir Punkte (= Geopunkte) auf einer Karte einfärben und eine Farblegende erstellen können. Das beschriebene Verfahren kann generell auf Karten in nodegoat angewendet werden.
Zum Einfärben von Punkten und zum Erstellen einer Legende benötigen wir in nodegoat die sogenannten “Conditions”, die wir rechts oben in der Werkzeugleiste für die Visualisierungen finden. Mit den Conditions können wir gezielt festlegen, welche Punkte des Datenmodells wir in der Karte (oder in einem Netzwerk) nach welchen Kriterien einfärben wollen. Im folgenden Beispiel färben wir die Punkte, die auf einen “römischen Gutshof” hinweisen, rot ein. Weitere Informationen zu den Conditions findest du in den Guides zu nodegoat: https://nodegoat.net/documentation.s/88/conditions

Wir gehen zu unseren Daten in der Listenansicht und wählen das Symbol für Conditions (das zweite Symbol von rechts in der Werkzeugleiste). In der Registerkarte gehen wir auf ‘Nodes’ (=Punkte). Wir wählen ‘Object’ und als Titel für die Legende ‘Römischer Gutshof’ sowie eine beliebige Farbe, mit der die Punkte auf der Karte erscheinen sollen. Der Titel erscheint dann in der Legende, die automatisch für die Karte erstellt wird.

Was müssen wir nun noch tun? Wir müssen nodegoat sagen, welche Punkte (Nodes) wir einfärben wollen. Dazu klicken wir auf ‘filter’ und tragen dort als Bedingung (Condition) ‘römischer Gutshof’ in das Feld ‘site label’ ein.

Wir speichern unsere Eingaben und gehen auf das Globus-Symbol in der Werkzeugleiste, um das Ergebnis auf der Karte anzuzeigen. Die Legende ist interaktiv. Wir können auf den farbigen roten Balken klicken, um die entsprechenden Punkte auf der Karte ein- oder auszublenden. Dies ist hilfreich für die visuelle Datenanalyse, insbesondere wenn wir viele verschiedenfarbige Punkte auf einer Karte anzeigen und auseinanderhalten wollen.

Wir können nun die Legende in den Conditions nach beliebigen Kriterien erweitern. So können wir zum Beispiel neben den römischen Gutshöfen auch Gräber und andere Funde, die in unserem Datenbstand vorhanden sind, mit der Legende auf der Karte anzeigen. Hinweis: Die von uns erstellten Conditions werden vorübergehend gespeichert. Wenn wir sie dauerhaft speichern wollen, öffnen wir die Conditions und klicken oben links auf die blaue Schaltfläche “save”.

Wir können nun auch eine andere Hintergrundkarte einbinden. Zum Beispiel den ‘Digitalen Atlas des Römischen Reiches’. Die Vorgehensweise dazu ist bereits im Tutorial Nr. 9 beschrieben. Hier ist die Kurzfassung.

In der Werkzeugleiste gehen wir auf: Visual Settings > Visual Settings > Geographical > Map

In das Feld ‘Map’ kopieren wir den folgenden Link:

https://dh.gu.se/tiles/imperium/{z}/{x}/{y}.png

Nun gehen wir zurück zu unseren Daten und klicken auf das Globussymbol in der Werkzeugleiste, um die neue Hintergrundkarte anzuzeigen.

Abb. Archäologischen Stätten in der Schweiz (Daten von Wikidata)

16. Eine Fläche selber zeichnen (GeoJSON) und als Karte einbinden

In nodegoat können wir beliebige Flächen als eigenständige Karten oder als Hintergrundkarten für Visualisierungen einbinden. Flächen für zum Beispiel Diözesen, Fürstentümer, Grafschaften, historische Landes- und Herrschaftsgrenzen aber auch selber definierte Räume, etwa für archäologische Ausgrabungen oder um einen spezifischen Raum einer Untersuchung besonders hervorzuheben. Voraussetzung: die Flächen müssen im frei verfügbaren Format GeoJSON als Polygon (für eine Fläche) gezeichnet werden. Der GeoJSON Code wird dann in ein vorgegebenes Feld in nodegoat kopiert. Also: eine einfache Copy / Paste Übung. Sobald die Fläche in nodegoat gespeichert ist, können wir sie mit den Conditions einfärben (Ränder, Flächen) und beschriften (dies wird in einem späteren Tutorial erklärt).

Hintergrund: das Datenformat JSON wird in nodegoat allgemein verwendet für die Organisation (Strukturierung) der Daten. GeoJSON ist die geografische Variante dieses Datenformats.

Nachdem wir online bei GeoJSON ein Polygon gezeichnet haben, erscheint der JSON Code für diese Fläche in der rechten Spalte. Diesen Code kopieren wir vollständig und fügen ihn anschliessend in das Sub-Objekt eines Objekts in nodegoat ein.

Wir erstellen also vorgängig in nodegoat ein Objekt, das wir zum Beispiel ‘Geo Space’ nennen. Für dieses erstellen wir ein Sub-Objekt, das wir als ‘Area’ bezeichnen. Wer keine Fläche zeichnen möchte kann hier den GeoJSON Code für die historischen Grenzen der Diözese Minden in der Zeit um 1500 herunterladen (PDF). Zur Verfügung gestellt wird dieser Code durch das Forschungsprojekt Germania Sacra.

Im Bereich ‘Management’ aktivieren wir das neu erstellte Objekt ‘Geo Space’ in unserem Projekt, um es im Bereich ‘Data’ verwenden zu können.

Dann erstellen wir im Bereich ‘Data’ ein neues Objekt ‘Geo Space’ und fügen den JSON Code in das Feld ein. Wir wählen dazu ‘Geometry’ aus dem Menü (bei Location):

Wir speichern die Eingabe und visualisieren die Fläche mit einem Klick auf das Globussymbol in der Werkzeugleiste (ganz links).

Mit der Zoomleiste (links in der Darstellung) können wir die Ansicht verkleinern und sehen so das Ergebnis, die Diözese Minden:

Um diese Karte als Hintergrundkarte für eine Visualisierung in nodegoat einzubinden, müssen wir ein Szenario in unserem Geo Space-Objekt erstellen.
Ein Szenario besteht aus einer Filterabfrage und Visualisierungseinstellungen. Nachdem wir ein solches Szenario erstellt haben, können wir es in den Visualisierungseinstellungen > Context auswählen und so erscheint die Karte des Szenarios als Hintergrundkarte.

Erstellen Sie einen Filter ‘Szenario Geo Space’. Wählen Sie das Objekt “Szenario Geo Space” und speichern Sie den Filter:

Erstellen Sie ein Szenario, wähle das Symbol ganz rechts:

Wähle einen Namen für das Szenario und den zuvor erstellten Filter:

Gehe zu Visualisation Settings (Werkzeugleiste) und wähle ‘Context’. Dort kannst du im Objekt Geo Space dein Scenario auswählen und so als Hintergrundkarte einbinden: