Unser Ziel ist es daher, dem Prinzip der Linked Data folgend, die verschiedenen Identifikatoren stärker aufeinander zu beziehen, um eine übergreifende Recherche in unterschiedlichen Systemen zu ermöglichen, die jeweils eine andere dieser Nummern für identische Objekte verwenden. Ein geeignetes Mittel dafür: die Datenobjekte in der freien Onlinedatenbank Wikidata.[1]
Wie im zitierten Blogpost von Martin Munke vorgestellt, kann seit Juli 2019 die ID des Historischen Ortsverzeichnisses von Sachsen (HOV) in Wikidata eingetragen und abgefragt werden. Mit Mix‘n‘Match besteht ein gutes Tool um kollaborativ Verknüpfungen zwischen bestehenden Wikidata-Einträgen und der HOV-ID herstellen zu können. Bei den einzutragenden über 5.000 HOV-Codes ein durchaus ambitioniertes aber gemeinschaftlich sicher zu bewältigendes Unterfangen.
Bringing HOV-ID to Wikidata
Technikaffine Menschen stellen sich wohl die berechtigte Frage, ob es nicht Möglichkeiten gibt , einen Abgleich der HOV-Einträge mit Wikidata stärker zu automatisieren – und natürlich gibt es diese. Ein sehr beliebtes Tool stellt dabei OpenRefine dar, welches einerseits zur Aufbereitung tabellarischer Daten sehr gut geeignet ist und anderseits im Zusammenspiel mit Wikidata die Optionen der Reconciliation und des Uploads von großen Datenmengen bereitstellt. Mit Reconciliaton können Werte aus den lokalen Daten in OpenRefine gegen Wikidata abgeglichen werden, best-match Kandidaten werden dann dem jeweiligen Element zugeordnet. Mit OpenRefine ließe sich das vorhandene Datenset der HOV-ID sicherlich sehr gut bearbeiten. Für die Endbearbeitung und Abstimmung der Reconciliation gegen Wikidata ist aber auch wieder eine gute (inhaltliche) Kenntnis der Daten notwendig, damit die HOV-Codes nicht zu falschen, wie bspw. gleichlautenden Orten geschrieben werden.
Linking HOV-Wikidata using Wikipedia
In diesem Blogpost wird aber eine andere Variante der automatisierten Verlinkung zwischen Wikidata und dem HOV vorgestellt. In der deutschsprachigen Wikipedia existiert die Vorlage:HOV. Mit diesem Template bestehen auf ca. 3.400[2] Wikipedia-Artikeln Verlinkungen ins HOV.
Durch Hinzufügen eines knappen Code-Blocks im Wikitext wie in Abbildung 1 gezeigt, wird auf einer Wikipedia-Seite ein Link ins „Digitale Historische Ortsverzeichnis von Sachsen‟ erzeugt. Ein Vorteil auf diesen strukturierten Datenbestand in Wikipedia zurückzugreifen liegt sicherlich darin, dass die Einbindung in Wikipedia prinzipiell vertrauenswürdig erscheint, ist es doch der Community jederzeit möglich, entsprechende Fehler zu korrigieren.
Die Idee ist nun, ein Skript zu entwickeln[3], welches den Parameterwert aus den verlinkten Wikpedia-Artikeln ausliest und die Verlinkung nach Wikidata herstellt. Grundsätzlich besteht für die Übernahme von Parametern aus Vorlagen von Wikipedia-Artikeln nach Wikidata die Software HarvestTemplates. Da aber in der Wikipedia-Vorlage der Name des Ortes zur Verlinkung verwendet wird und in Wikidata der numerische Code genützt wird, kann dieses Tool nicht eingesetzt werden.
Um von der HOV-Vorlage der Wikiepdia zu einem nach Wikidata importfähigen Datensatz zu gelangen, sind daher folgende Schritte notwendig:
- Abfrage aller Wikipedia-Artikel in denen die Vorlage:HOV eingebunden ist. Dies wird über eine mediawiki-API Abfrage realisiert.[4]
- Mit zwei weiteren API-Abfragen wird einerseits der gesamte Wikitext des Artikels geholt und andererseits die zum Wikipedia-Artikel gehörende Wikdata-ID ausgelesen.
- Aus dem Wikitext wird die Vorlage:HOV extrahiert und der Parameterwert, d. h. der Ortsname, gespeichert.
- Mit der Wikidata-ID des Artikels wird überprüft, ob es sich bei dem Wikipedia-Artikel überhaupt um einen Artikel zu einem Ort handelt. Die Vorlage wird nämlich auf unterschiedlichen Seiten (bspw. Listen von Straßennamen oder historische Abhandlungen) eingesetzt. Gleichzeitig dient die Wikidata-ID auch als Ziel für den späteren Import der HOV-ID.
- Um den HOV-Code zu erhalten, wird mit dem vorliegenden Parameter die Seite hov.isgv.de/{Ortsname} aufgerufen und der im Quelltext erhaltene HOV-Code ausgelesen und gespeichert. Gleichzeitig wird auch die Ansetzungsform des Ortsnamens von der HOV-Website übernommen, um diesen später als Qualifier im Wikidata-Statement zu verwenden.
- Da nicht sichergestellt werden kann, dass die HOV-Vorlage genau jenen Ort verlinkt, der auch auf der Wikipediaseite beschrieben wurde, wird ein Vergleich zwischen den Namen im HOV und der Wikipedia mittels Levenshtein-Distanz[5] ermittelt. In weiterer Folge wurden einmal nur jene HOV-Codes nach Wikidata eingespielt, die bei dieser Berechnung eine völlige Übereinstimmung, d. h. eine Levenshtein-Distanz von 0 aufweisen.
- Für alle Datensätze mit Levenshtein-Distanz = 0 wird ein QuickStatements Importstring geschrieben, dieser setzt sich aus der Wikidata-ID des Ortes, der Property für den HOV-Code (P7046), dem HOV-Code, einer weiteren Property „stated as“ (P1932) und der Ansetzungsform des Ortsnamens auf der HOV-Website zusammen, also bspw.
(Werte durch Tabulator getrennt):
Q10770 P7046 “4161” P1932 “Ranstädt, Mark-“ - Das Skript liefert somit zwei Ergebnisse:
- eine Tabelle mit allen Wikipedia-Artikeln, den korrespondieren Wikidata-IDs, HOV-Code, HOV-Ansetzungsform, ein Wert ob in Wikidata der HOV-Code bereits verknüpft wurde, und die Levenshtein-Distanz zwischen Ortsname auf der Wikipedia und in HOV.
- eine Datei mit den Importstrings für QuickStatements.
Der Import von 1.360 HOV-Codes wurde am 22. August 2019 durchgeführt.[6] Mit der Gesamtergebnistabelle können nun weitere Einträge kontrolliert und gegebenenfalls für einen Import mittels QuickStatements vorbereitet werden. Einträge mit einer geringen Levenshtein-Distanz (bspw. < 5) können in einem Tabellenkalkulationsprogramm gefiltert und en bloc kontrolliert werden.
Der Eintrag des Qualifiers „stated as“ mag in vielen Fällen als hochgradig redundante Information angesehen werden. (vgl. Abbildung 2) Er bietet aber gerade im gegenständlichen Fall eine vielleicht nicht ganz sinnlose Ergänzung an. Denn im HOV werden beispielsweise Orte mit üblichen Präfixen wie „Ober-“, „Nieder-“, „Groß-“ oder „Klein-“ immer nach dem Hauptbestandteil das Wortes sortiert. Durch diese Notation in Wikidata entsteht somit auch eine gewisse doppelte Sicherheit einen nachhaltigen Einstieg in den Datenbestand des HOV in Wikidata zu besitzen.
Mix‘n‘Match ist trotz der hier gezeigten individuell erstellten Programmiermethode oder dem genannten OpenRefine eine höchst nützliche und sinnvolle Ergänzung. Denn die bereits über 1.300 automatisch verknüpften HOV-Codes werden auch in Mix‘n‘Match als zusammengeführt angezeigt und es bleibt somit immer ein praktisches Monitoring-Tool, um beispielsweise noch fehlende Einträge zu erkennen. Darüber hinaus bietet Mix‘n‘Match bei der Zusammenführung von Wikidataeinträgen außerhalb des Tools auch eine Überprüfung, ob die übereinstimmenden Werte auch einem etwaigen Vorschlag in Mix‘n‘Match entsprechen und zeigt etwaige Unstimmigkeiten auf.
Analyzing HOV with Wikidata
Das Verzeichnen eines Normdatenwertes in Wikidata bietet verschiedene Vorteile. Beispielsweise können mittels der Normdatei grundlegende strukturierte Informationen (bspw. mehrsprachige Beschreibungen) aus Wikidata in lokale Applikationen abgerufen werden oder es lassen sich die Verknüpfungen zu anderen Wikimedia-Projekten (Wikipedia-Artikeln, Bilder in Commons oder Texte auf Wikisource) herstellen.
Weiters bietet Wikidata einen spannenden Datenbestand, der es erlaubt unterschiedliche Analysen oder Visualisierungen zu betreiben. Eine der einfachsten, aber nicht weniger wirkungs- und effektvollen Analysen ist die Erstellung einer Karte mit Punktwolke wie in Abbildung 3 gezeigt.[7]
Das Einspielen von Normdaten in Wikidata ist zusätzlich ein wesentlicher Bestandteil dessen, Wikidata als einen der zentralen und wichtigsten Knotenpunkte der vielzähligen weltweiten Normdateien zu entwickeln.[8] In welcher Verbindung stehen daher geographische Einträge, die mit einer HOV-ID verbunden sind, mit anderen Normdateien wie beispielsweise der Gemeinsamen Normdatei (GND) oder der offenen Onlinedatenbank GeoNames?[9]
Abbildung 4 zeigt, dass es vier Gruppen der Vernetzung zwischen den drei ausgewählten Normdaten in Wikidata gibt: Eine große Gruppe an Items mit HOV-ID ist ausschließlich mit einer HOV-ID versehen, zwei Gruppen an Einträgen sind entweder mit HOV-ID und Geonames-ID oder mit HOV-ID und GND versehen; eine vierte Gruppe an Wikidata-Items besitzt bereits eine HOV-ID, eine Geonames-ID und einen GND-Eintrag.
Interessant ist natürlich aber auch die Frage, wie die sächsischen Orte mit einer HOV-ID in Wikidata im gesamten Pool aller möglichen anderen Normdateien verbunden sind. Auch eine derartige Gesamtübersicht lässt sich aus Wikidata abfragen und in einem Netzwerkgraph visualisieren.[10] Abbildung 5 zeigt dieses Netzwerk aus Normdatenverbindungen. Neben dem bereits herausgegriffen starken Teilgraphen aus HOV-Code, Geonames und GND spielt auch die VIAF-ID wenig verwunderlich eine starke Rolle. Ablesbar ist beispielsweise, dass es nach wie vor eine große Gruppe an Einträgen gibt, die nur den HOV-Code als Identifikator im Datensatz aufweisen. Dies kann natürlich inhaltlich entweder mit der speziellen inhaltlichen Ausrichtung des historischen Ortsverzeichnisses erklärt werden oder auf einen noch offenen Arbeitsaufwand hinweisen.
In einem folgenden Blogpost wird dargestellt wie die Vernetzung von Items mit HOV-ID in Wikidata durch Zugriff auf bereits verbundene Linked Data-Quellen ausgebaut werden kann.
Autor
Christian Erlinger-Schiedlbauer (* 1984) hat Raumplanung und Politikwissenschaft studiert und arbeitet seit 2013 in Wien als Bibliothekar, seit 2018 bei den Büchereien Wien. Er ist Wikidata-Enthusiast und arbeitet an Fragen zur Ausweitung der bibliothekarischen Tätigkeitsfelder im Semantic Web. Er twittert zu #Wikidata, #openGLAM und #Bienen. ORCID: 0000-0001-7872-9617.
[1] Martin Munke: Historische Orte mit offenen Daten: HOV + Wikidata. In: Saxorum. Blog für interdisziplinäre Landeskunde in Sachsen, 16. August 2019, URL: https://saxorum.hypotheses.org/2775. Alle Links wurden zuletzt am 23. August 2019 besucht.
[2] Anzahl der Einbindungen der Vorlage: https://tools.wmflabs.org/templatecount/index.php?lang=de&namespace=10&name=HOV#bottom.
[3] Das Skript und verschiedene Datensätze inkl. diesem Blogpost sind zu finden unter https://github.com/LibrErli/hov_code.
[4] https://de.wikipedia.org/w/api.php?action=query&list=embeddedin&eititle=Template:HOV&eilimit=10&format=json
[5] Die Levenshtein-Distanz misst den Unterschied zwischen zwei Zeichenketten als Summe der einzelnen Bearbeitungsschritte um von einem String zum zweiten zu gelangen. Von „Hallo“ auf „Hello“ muss das a durch ein e ersetzt werden – ein Schritt, somit ist die Distanz 1. (vgl. https://de.wikipedia.org/wiki/Levenshtein-Distanz)
[6] https://tools.wmflabs.org/quickstatements/#/batch/17719.
[7] SPARQL-Query zur Karte abrufbar unter: https://w.wiki/7PX.
[8] Joachim Neubert: Wikidata as a Linking Hub for Knowledge Organization Systems? Integrating an Authority Mapping into Wikidata and Learning Lessons for KOS Mappings, in: Proceedings of the 17th European Networked Knowledge Organization Systems Workshop, 2017. URL: <http://ceur-ws.org/Vol-1937/paper2.pdf>..
[9] Abfrage aller Wikidata-Items mit HOV-Code und wenn vorhanden Geonames oder GND-ID: https://w.wiki/7bZ.
[10] Abfrage aller weiteren Normdaten-Verlinkungen von Wikidata-Items mit HOV-Code: https://w.wiki/9Ak.
Dieser Artikel hat das Wikidata-Item (Q69736798).
OpenEdition schlägt Ihnen vor, diesen Beitrag wie folgt zu zitieren:
GastautorIn (5. Oktober 2019). Sächsische Ortsdaten in der Linked Open Data Cloud: Teilautomatisierte Anreicherung und Analyse der HOV-ID in Wikidata. Saxorum. Abgerufen am 2. Dezember 2024 von https://doi.org/10.58079/tw8g
Pingback: Wartungsarbeiten und Datenpflege für Saxonica mit #Wikisource+#Wikidata – SLUB TextLab