Help:Daten aus einem Tabellenblatt in FactGrid eingeben: Difference between revisions

From FactGrid
Jump to navigation Jump to search
Line 97: Line 97:
== Die neu gewonnenen Q-Nummern in das Spreadsheet bringen ==
== Die neu gewonnenen Q-Nummern in das Spreadsheet bringen ==
# Im vorliegenden Fall gab es bereits drei Personen, die schon angelegt waren. Mit der Sortierung des Eingabeblatts nach der Spalte B, qid, bekam ich diese an den Anfang der Liste.
# Im vorliegenden Fall gab es bereits drei Personen, die schon angelegt waren. Mit der Sortierung des Eingabeblatts nach der Spalte B, qid, bekam ich diese an den Anfang der Liste.
# Mit der [https://database.factgrid.de/query/#SELECT%20%3F_Catholic__Gymnasium_Heiligenstadt___Staatliches_Gymnasium_Johann_Georg_Lingemann%20%3F_Catholic__Gymnasium_Heiligenstadt___Staatliches_Gymnasium_Johann_Georg_LingemannLabel%20WHERE%20%7B%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%20%20%3F_Catholic__Gymnasium_Heiligenstadt___Staatliches_Gymnasium_Johann_Georg_Lingemann%20wdt%3AP160%20wd%3AQ458481.%0A%7D%0A Query-Service Datenbankabfrage aller Personen, die das Heiligenstädter Gymnasium besuchten, erhielt ich deren Liste nach Q-Nummern geordnet. Als TSV-Date heruntergeladen legte ich diese Liste auf die Spalten Y und Z ab, und konnte von hier aus aus der Spalte Y die Q-Nummern für die Spalte B beziehen, wie die das FactGrid bei der Eingabe vergeben hatte.
# Mit der [https://database.factgrid.de/query/#SELECT%20%3F_Catholic__Gymnasium_Heiligenstadt___Staatliches_Gymnasium_Johann_Georg_Lingemann%20%3F_Catholic__Gymnasium_Heiligenstadt___Staatliches_Gymnasium_Johann_Georg_LingemannLabel%20WHERE%20%7B%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%2Cen%22.%20%7D%0A%20%20%3F_Catholic__Gymnasium_Heiligenstadt___Staatliches_Gymnasium_Johann_Georg_Lingemann%20wdt%3AP160%20wd%3AQ458481.%0A%7D%0A Query-Service Datenbankabfrage aller Personen, die das Heiligenstädter Gymnasium besuchten], erhielt ich deren Liste nach Q-Nummern geordnet. Als TSV-Date heruntergeladen legte ich diese Liste auf die Spalten Y und Z ab, und konnte von hier aus aus der Spalte Y die Q-Nummern für die Spalte B beziehen, wie die das FactGrid bei der Eingabe vergeben hatte.


== Datumsangaben ==
== Datumsangaben ==

Revision as of 00:41, 25 June 2023

In der Betreuung von Projekten haben sich gemeinsame Google-Spreadshets als extrem hilfreiches Arbeitsinstrument erwiesen.

Zum einen kann man diese Spreadsheets von verschiedenen Seiten aus betreuen, zum anderen sind sie mit Excel-Grundkenntnissen auch von Geisteswissenschaftlern gut zu bedienen, vor allem aber erlauben sie im Verlauf direkte Übertritte in die Datenbank, in den beiden Eingabeformaten, die QuickStatements, das Werkzeug für Masseneingaben bereithält.

Auf dieser Seite eine knappe Anleitung dazu, wie man ein solches Datenblatt auf Eingaben vorbereitet. Das Beispiel ist eine Datei die zwischen User:Heino Richard und User:Olaf Simons eine Eingabe der Schülerliste vorbereitet, die Richard aus der 1929 veröffentlichten Schülerliste des Jahres 1929[1] Ende 2022 generierte.

https://docs.google.com/spreadsheets/d/1ASPscc70wyNW66-MVhr86ib9lR0zIJIuBcb16eQWclY/edit#gid=1040247030

Gemeinsames Datenblatt herstellen

  1. Überführen Sie die zu Bearbeitenden Projektdaten in ein Google-Spreadsheet. Damit dieses von verschiedenen Seiten aus bearbeitet werden kann, muss es freigegeben werden (im Musterfall bleibt diese Bearbeitbarkeit eingeschränkt, um den stabilen weiteren Bezug zu erlauben).
  2. Schalten Sie der Tabelle zwei Spalten vor - eine gute Praxis ist es, die erste stets rot und die zweite stets blau zu färben. Die rote Spalte wird mit einer durchlaufenden Nummerierung versehen, die zweite ist erst einmal leer und wird im Verlauf die Q-Nummern erhalten, die die Datenbank den einzelnen Schülern zuweisen wird.
  3. Über die rotes Spalte lässt sich im Verlauf nach beliebigen Sortierungen wieder auf die Origfinalsortierung zurückkommen. Das ist praktisch, da viele Projekte eine ihnen vorliegende Quelle exakt abbilden. Zu deren Sortierung lässt sich nun jederzeit wieder zurückkommen, was bei Fehlersuchen später extrem interessant ist.
  4. Machen Sie eine Kopie des Ausgangs-Datenblatts (das Kontext-Menü des Tabs unten auf der Seite erlaubt das). Nutzen sie diese Kopie für die Vorbereitung aller weiteren Eingaben. Auf der ersten Seite bleibt nun das Original des Projektes erhalten. Über die roten Spalten lassen sich dabei mit "Vlookup" jederzeit wieder ganze Tabellenspalten wieder korrigieren, falls hier Informationen durcheinandergeraten sollten - zu "Vlookup" im Verlauf.

Im vorliegenden Beispiel ist dies die Seite, von der aus die nächsten Schritte erfolgen:

https://docs.google.com/spreadsheets/d/1ASPscc70wyNW66-MVhr86ib9lR0zIJIuBcb16eQWclY/edit#gid=158953953

Vorbereitende Checks

In Projekten schleichen sich immer wieder datentechnische Unsauberkeiten ein:

  1. Überprüfen Sie in einem langsamen Durchlauf von oben nach Unten, ob es in der vorgelegten Tabelle Zeilenbrüche gibt - mitunter legen Projekte kleine Aufzählungen in Zellen an, die bei der Dateneingabe später Verwirrung erzeugen. Jede Zeile sollte eine die Höhe nur einer Zeile aufweisen.
  2. Erfassen Sie ob in einzelnen Spalten mehre Spalten stecken, hier werden Trennungen nötig. Eine Tabelle kann etwa Wohnorte von Personen notieren und wenn eine Person sukzessive an mehreren Orten lebte in der entsprechenden Spalte mehrere Werte in Angaben wie "Köln, ab 1910 München" aufweisen. in solchen Fällen werden Trennungen nötig.
  3. Erfassen Sie Bemerkungen, die in Zellen gesetzt wurden - bei Jahreszahlen ist das Beliebt mit Fragezeichen, ca.-Angaben etc. In der späteren Eingabe darf in einer Spalte zu Kalenderdaten nichts als ein einziges Kalenderdatum stehen. Zusatznotizen müssen in einem eigenen Qualifier zum Datum gesetzt werden und benötigen dazu eigene Tabellenzellen.

Die Spalte verstehen

Die Tabelle, die Heino Richard vorlegte ([https://docs.google.com/spreadsheets/d/1ASPscc70wyNW66-MVhr86ib9lR0zIJIuBcb16eQWclY/edit#gid=1040247030 dieses Tabellenblatt), kam bereits mit einiger Vorerfahrung zustande.

  • Spalte A bietet den Nachnamen.
  • Die Spalten E-G bieten die Vornamen von 1 bis 3 isoliert an.
  • Spalte H das Geburtsjahr,
  • Spalte I den Geburtsort.
  • In den Spalten J und K ist erfasst von wann bis wann der Schüler die Schule besuchte
  • Spalte L notiert Studienunterbrechungen
  • Die Spalten M-P haben bereits alle multiplen Berufsangaben aufgeteilt.
  • Die Spalten Q-S tun dasselbe mit bis zu drei Wohnortangaben
  • Spalte T notiert das Sterbedatum
  • Spalte den Sterbeort
  • Spalte V erfasst zuweilen eine Angabe zur Todesursache, davon scheint die Schule vor allem bei Kriegsgefallenen Informationen erhalten zu haben.
  • Spalte W bietet diesbezügliche Details - zumeist zu Ort.

Über Datenüberlappungen nachdenken

Projekte sollten es vermeiden Datenbankobjekte anzulegen, die bereits bestehen - im vorliegenden Fall: Personen-Items zu erzeugen, wo diese Personen bereits in der Datenbank bekannt sind.

In unübersichtlichen Datenlagen ist OpenRefine das Werkzeug der Wahl - das Programm verdient ein eigenes Tutorial. Es muss erst installiert und dann korrekt bedient werden werden.

Alternativ ist der Datenvergleich über VLookup möglich: Man lädt zu ihm i Frage kommende Paralleldaten aus der Plattform in die Datenbank um gleicht diese in einen Suchdurchgang spaltenweise ab - dazu mehr im Verlauf.

Der vorliegende Fall gestaltete sich übersichtlich: Wir konnten davon ausgehen, dass kaum ein Schüler bereits in der Datenbank notiert war. Die Basisabfrage

machte es einfach zu erfassen, dass hier erst einmal zur zwei Personen als Treffer in Frage kamen (Item:Q101778 und Item:Q396051). Wir überprüften zudem separat unter den Heiligenstadt-Schülern Gotha-Bezüge, da Gothaer Bevölkerung umfassend erfasst war. Item:Q156903 erwies sich als dritter Treffer. Alle anderen Personen waren absehbar Neulinge, so die angenehme Ausgangslage der Schule, die nicht in die bisherigen Netzwerke passte.

Basisobjekte anlegen

Bei der Anlage der einzelnen Datenbankobjekte benötigen diese mindestens ein "Label". Praktisch ist es ihnen im selben Zug einige Basisdaten zuzuweisen, die es ermöglichen, die Ausgangstabelle in der Datenbank zu replizieren - in diesem Fall in der Reihenfolge der Einträge in der Ausgangsliste.

Das "Label", das FactGrid-Projekte im mit Wikidata geteilten Standard benutzen bietet die Vornamen gefolgt vom Nachnamen:

Erika Maria Mustermann

Die Personenanlage führte ich, der Übersichtlichkeit halber, in einem eigenen Datenblatt durch

https://docs.google.com/spreadsheets/d/1ASPscc70wyNW66-MVhr86ib9lR0zIJIuBcb16eQWclY/edit#gid=444879751

  1. im vorliegenden Fall, brachte ich dazu die Namensspalten D-G der Arbeitsseite in die passende Reihenfolge Vornamen+Nachname, ich befüllte zudem die Felder wo kein erster Vorname vorlag mit einem provisorischen N.N.-Eintrag. Word ist ein bequemes Werkzeug, um Formatierungszeichen wie Tabstops gezielt auszuwechseln. Ich ersetzte in Word die Tabstops durch jeweils eine Leerstelle, und alle doppelten Leerstellen durch einfache. Beim Rückweg von Word und ins Google-Spreadsheet ist Strg+Shift+Leertaste eine praktische Google Tastenkombination, um Daten "Values only" in das Datenblatt zurück zu gelangen.
  2. Die deutschen Label (Lde) finden sich im Blatt "Personen-Anlage in Spalte C, in den Spalten D-F gab ich dieselben Angaben für englische, französische und spanische Namenanzeigen.
  3. Die Beschreibungsfelder Dde, Den, Dfr, Des hob ich in der vorliegenden Eingabe für das Ende auf - bei ihnen stellt die Datenbank am Ende die Angaben in vier Sprachversionen zur Verfügung.
  4. Bei der Auswahl der Spalten G bis #, war das entscheidende Kriterium, dass sich die Angaben jeweils vollständig für die gesamte Spalte durchziehen ließen.
  5. Spalte G: Alle Personen dieses Sets sind Menschen - die Aussagen dazu P2 (ist ein) kommt in Zeile 1, der Wert Q7 in die Spalte G hinab bis Zeile 5429.
  6. Spalte H bietet durchgehend die Aussage P154 — Q18, Geschlecht männlich für das gesamte Set.
  7. Alle besuchten, Spalte I, das Gymnasium Heiligenstadt (P160 — Q458481)
  8. Alle sind, Spalte J, in derselben Quelle gelistet P124 — Q459499
  9. Alle sind, Spalte K, Teil desselben Forschungsprojekte: P131 — Q459500

Alle anderen Spalten wiesen im vorliegenden Fall Lücken auf oder forderten Umformungs- und Abgleiche ein, sie kamen auf die Warteliste.

Anfertigen einer CSV Datei

Bei der Objektanlage führt der kürzeste Weg über eine CSV-Datei, die sich am besten über Notepad (oder Word) als Zwischenmedium erzeugen lässt. Man kann zwar auch Excel- und Google-Tabellen als CSV-Dateien abspeichern, doch bekommt man dabei Probleme mit Anführungszeichen, die gesetzt werden, wo man sie eventuell gar nicht haben will.

  1. In der vorliegenden Eingabe benötigen wir jeweils einfache Anführungszeichen um die Label (in Google herzustellen mit dem Wechselbefehlt Strg+H und den Wechselparametern ^ zu " und $ zu " um den jeweiligen Zellen-Anfang und das jeweilige Zellenende anzugehen, dabei "Search using regular expressions" anklicken)
  2. Die Spalten B bis J im Blatt [Personen-Anlage markieren] und copy+paste in Notepad überführen, dort die Tabulatoren durch Kommata ersetzen. Das Ergebnis ist die CSV-Datei, die hier im eigenen CSV-Datenblatt in Spalte A abgelegt ist. Die erste Zeile gibt die Verlinkungen vor, die die erzeugt werden. Fast alle Zeilen beginnen mit einem Komma - hier wird QuickStatements en Befehl geben eine neue Q-Nummer zu bauen. In drei Fällen bestehen bereits Q-Nummern. Hier werden lediglich neue Angaben hinzugesetzt: Zum Schulbesuch in Heiligestadt, zur Listung in der Schülerliste von 1929 und zu Heino Richards Forschungsprojekt.

Import mit QuickStatements

In der Regel lasse ich Projekte die CSV-Datei selbst in die Datenbank importieren, das verbindet sie automatisch mit der Beobachtungsliste auf Seite der Person, die die Eingaben vornimmt.

  1. Das Eingabetool QuickStatements vom Menü aus aufrufen und bei der Erstbenutzung mit dem eigenen Konto durch "einloggen" oben rechts verbinden.
  2. O-Auth für die Authentifizierung zulassen, damit das Tool im eigenen Namen Eingaben machen kann
  3. New Batch anklicken um das Eingabefenster zu öffnen.
  4. Im Eingabefenster copy+paste die CSV-Datei einfügen
  5. "Import CSV-Datei drücken und sich die Voransicht ansehen
  6. "Im Hintergrund ausführen" respektive "Run in Background drücken"
  7. Nach den ersten Angaben die Eingabe kurz anhalten und in Recent Changes angelegte Datenbankobjekte ansehen
  8. Wenn die Eingabe den Erwartungen entspricht, dann die weitere Eingabe laufen lassen - ein grüner Balken zeigt den Fortschritt an. Fehler werden rot markiert. Bei massenweisen Fehlern stoppen und nachsehen, was hier genau schief läuft.

Die neu gewonnenen Q-Nummern in das Spreadsheet bringen

  1. Im vorliegenden Fall gab es bereits drei Personen, die schon angelegt waren. Mit der Sortierung des Eingabeblatts nach der Spalte B, qid, bekam ich diese an den Anfang der Liste.
  2. Mit der Query-Service Datenbankabfrage aller Personen, die das Heiligenstädter Gymnasium besuchten, erhielt ich deren Liste nach Q-Nummern geordnet. Als TSV-Date heruntergeladen legte ich diese Liste auf die Spalten Y und Z ab, und konnte von hier aus aus der Spalte Y die Q-Nummern für die Spalte B beziehen, wie die das FactGrid bei der Eingabe vergeben hatte.

Datumsangaben

Ortsangaben

Berufsangaben

  1. Karl Pabst (ed.), Verzeichnis der Schüler des Staatl. kathol. Gymnasiums zu Heiligenstadt (Heiligenstadt, 1929-05-22).