<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Normdaten | FDMLab@LABW</title><link>https://fdmlab.landesarchiv-bw.de/tag/normdaten/</link><atom:link href="https://fdmlab.landesarchiv-bw.de/tag/normdaten/index.xml" rel="self" type="application/rss+xml"/><description>Normdaten</description><generator>Wowchemy (https://wowchemy.com)</generator><language>de-de</language><lastBuildDate>Tue, 07 May 2024 00:00:00 +0000</lastBuildDate><image><url>https://fdmlab.landesarchiv-bw.de/media/sharing.jpg</url><title>Normdaten</title><link>https://fdmlab.landesarchiv-bw.de/tag/normdaten/</link></image><item><title>Abschluss Projekt Provenienzforschung: Von Akten zur Onlinequellensammlung</title><link>https://fdmlab.landesarchiv-bw.de/publication/2024-archivnachrichten-68/</link><pubDate>Tue, 07 May 2024 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/publication/2024-archivnachrichten-68/</guid><description/></item><item><title>Friedenssicherung im Dorf um 1600: Forschungsdatenmanagement im Staatsarchiv Wertheim</title><link>https://fdmlab.landesarchiv-bw.de/publication/2023-archivnachrichten-67/</link><pubDate>Thu, 28 Sep 2023 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/publication/2023-archivnachrichten-67/</guid><description/></item><item><title>82. Südwestdeutscher Archivtag 2023</title><link>https://fdmlab.landesarchiv-bw.de/event/2023-normdatenworkshop/</link><pubDate>Thu, 22 Jun 2023 11:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/event/2023-normdatenworkshop/</guid><description/></item><item><title>GND in lokale Datenbank laden (reloaded)</title><link>https://fdmlab.landesarchiv-bw.de/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/</link><pubDate>Tue, 13 Dec 2022 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/</guid><description>&lt;p>Wir setzen unser lokales Testsystem für Experimente mit der Linked Open Data Version der Gemeinsamen Normdatei mit &lt;strong>Oxigraph&lt;/strong> neu auf.&lt;/p>
&lt;p>Wir hatten vor über einem Jahr schon einen ausführlichen Artikel zum &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-06-gnd-in-lokale-datenbank-laden/">Laden der GND in einen Apache Jena Triplestore&lt;/a> verfasst. Das beschriebene Setup ist nach wie vor im Einsatz und wir sind auch (meistens) zufrieden damit. Jedoch dauert das Einlesen von Daten doch recht lange, was das Aufsetzen von Ad-Hoc Experimenten erschwert.&lt;/p>
&lt;p>Daher haben wir als Alternative das relativ neue Projekt Oxigraph getestet.&lt;/p>
&lt;h2 id="datenbank-oxigraph">Datenbank: Oxigraph&lt;/h2>
&lt;figure class="float-right" id="figure-oxigraphhttpsgithubcomoxigraphoxigraph-logo">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="[Oxigraph](https://github.com/oxigraph/oxigraph) Logo." srcset="
/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/oxigraph_hu63b9f0ab308a14bda665a5c76457113b_25957_f2299a627e7fb33ac96514090804a724.webp 400w,
/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/oxigraph_hu63b9f0ab308a14bda665a5c76457113b_25957_1d6ee86304e49f7ccba2ffbaf645acd7.webp 760w,
/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/oxigraph_hu63b9f0ab308a14bda665a5c76457113b_25957_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/oxigraph_hu63b9f0ab308a14bda665a5c76457113b_25957_f2299a627e7fb33ac96514090804a724.webp"
width="200"
height="450"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
&lt;a href="https://github.com/oxigraph/oxigraph" target="_blank" rel="noopener">Oxigraph&lt;/a> Logo.
&lt;/figcaption>&lt;/figure>
&lt;p>Das Projekt &lt;a href="https://github.com/oxigraph/oxigraph" target="_blank" rel="noopener">Oxigraph&lt;/a> ermöglicht uns ein ähnliches Setup, wie wir es mit &lt;a href="https://jena.apache.org/" target="_blank" rel="noopener">Apache Jena&lt;/a> aufgebaut haben.
Anders als Apache Jena basiert Oxigraph auf der Programmiersprache &lt;a href="https://www.rust-lang.org/" target="_blank" rel="noopener">Rust&lt;/a> und verwendet &lt;a href="https://rocksdb.org/" target="_blank" rel="noopener">RocksDB&lt;/a> als Datenbank im Hintergrund.
Das ist für den Endanwender jedoch nicht sichtbar, so dass diese technischen Details sich hauptsächlich in einer schnelleren Verarbeitungsgeschwindigkeit bemerkbar machen.&lt;/p>
&lt;h2 id="einlesen-der-daten">Einlesen der Daten&lt;/h2>
&lt;p>Zum Einlesen haben wir uns die Datei &lt;code>authorities-gnd_lds.nt.gz&lt;/code> aus dem &lt;a href="https://data.dnb.de/opendata/" target="_blank" rel="noopener">DNB Data Dump&lt;/a> heruntergeladen.
Anders als in unserem Apache Jena Projekt, müssen wir die Komprimierung der Daten vor dem Einlesen mit &lt;code>gzip -d authorities-gnd_lds.nt.gz&lt;/code> auflösen. &lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p>
&lt;p>Wir arbeiten mit der folgenden Ordnerstruktur:&lt;/p>
&lt;div class="mermaid">---
title: Ordnerstruktur
config:
look: handDrawn
theme: neutral
---
flowchart TD
subgraph data[far:fa-folder-open data]
fuseki[far:fa-folder oxigraph]
gnd_triples[far:fa-folder gnd_triples]
end
root[far:fa-folder-open oxigraph_test] --> data
root --> README[far:fa-file README.md]
&lt;/div>
&lt;ul>
&lt;li>&lt;strong>README.md&lt;/strong>: Überblick über das Projekt und die Daten geben!&lt;/li>
&lt;li>&lt;strong>oxigraph&lt;/strong>: Ordner zum Persistieren der Datenbank von Oxigraph.&lt;/li>
&lt;li>&lt;strong>gnd_triples&lt;/strong>: Speicherort der &lt;code>.nt&lt;/code> Datei.&lt;/li>
&lt;/ul>
&lt;h3 id="einlese-variante-1">Einlese-Variante 1&lt;/h3>
&lt;p>In dieser Variante lassen wir zuerst die Daten in einem Container einlesen und dann in einem neuen Container anzeigen.
Der folgende Befehl startet einen Docker Container mit dem Verzeichnis der Daten zum Einlesen und einem Verzeichnis zum Speichern der Datenbank.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">docker run -it --rm --name&lt;span class="o">=&lt;/span>gnd-oxigraph -v &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">PWD&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">/data/gnd_triples:/gnd_triples&amp;#34;&lt;/span> -v &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">PWD&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">/data/oxigraph:/data&amp;#34;&lt;/span> oxigraph/oxigraph --location /data load --file /gnd_triples/authorities-gnd_lds.nt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Sobald der Einleseprozess beendet wurde und der Container sich schließt, können wir einen neuen Container zum Arbeiten mit den Daten starten.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">docker run -d --rm --name&lt;span class="o">=&lt;/span>gnd-oxigraph -p 8080:7878 -v &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">PWD&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">/data/oxigraph:/data&amp;#34;&lt;/span> oxigraph/oxigraph --location /data serve --bind&lt;span class="o">=&lt;/span>0.0.0.0:7878
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Anschließend können wir die Benutzeroberfläche in einem Webbrowser über &lt;code>http://localhost:8080&lt;/code> aufrufen.
Der Port &lt;code>8080&lt;/code> wurde hierbei von uns im &lt;code>docker run&lt;/code> Befehl gesetzt und kann angepasst werden.&lt;/p>
&lt;h3 id="einlese-variante-2">Einlese-Variante 2&lt;/h3>
&lt;p>Wir können die Daten auch direkt &lt;strong>in&lt;/strong> dem Arbeitscontainer einlesen lassen.
Beim Starten des Containers müssen wir dabei zusätzlich den Pfad zu den GND Daten einbinden.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">docker run -d --rm --name&lt;span class="o">=&lt;/span>gnd-oxigraph -p 8080:7878 -v &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">PWD&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">/data/gnd_triples:/gnd_triples&amp;#34;&lt;/span> -v &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">PWD&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">/data/oxigraph:/data&amp;#34;&lt;/span> oxigraph/oxigraph --location /data serve --bind&lt;span class="o">=&lt;/span>0.0.0.0:7878
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Anschließend starten wir den Einleseprozess, indem wir den Befehl &lt;code>oxigraph_server load&lt;/code> in dem laufenden Container ausführen.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">docker &lt;span class="nb">exec&lt;/span> -it gnd-oxigraph /usr/local/bin/oxigraph load --location /data --file /gnd_triples/authorities-gnd_lds.nt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="3-anzeigen-der-daten">3. Anzeigen der Daten&lt;/h3>
&lt;p>Abschließend testen wir exemplarisch, ob die Daten nutzbar sind.
Hierfür verwenden wir eine SPARQL Abfrage mit einem Standardbeispiel aus der &lt;a href="https://d-nb.info/standards/elementset/gnd" target="_blank" rel="noopener">GND Ontology&lt;/a>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="nv">?p&lt;/span> &lt;span class="nv">?o&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/118514091&amp;gt;&lt;/span> &lt;span class="nv">?p&lt;/span> &lt;span class="nv">?o&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="zusammenfassung-und-ausblick">Zusammenfassung und Ausblick&lt;/h2>
&lt;p>Oxigraph ist im Vergleich zu Apache Jena noch etwas grob an manchen Stellen und befindet sich noch in der aktiven Entwicklung.
Es ist also gut möglich, dass die hier verwendeten Befehle in einer späteren Version nicht mehr so funktioniert oder Schritte wie das Auflösen der &lt;code>.gz&lt;/code>-Komprimierung nicht mehr notwendig sind. &lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/p>
&lt;figure id="figure-bildschirmfoto-der-weboberfläche-von-oxigraph">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto der Weboberfläche von Oxigraph." srcset="
/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/oxigraph-screenshot_hu46c0a90aff7302944c5b3bc96ca6bf21_89821_9a012596cf5469f100ebbf1a0ff06c8a.webp 400w,
/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/oxigraph-screenshot_hu46c0a90aff7302944c5b3bc96ca6bf21_89821_eca82f98e844b81442eb250a334bbf3e.webp 760w,
/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/oxigraph-screenshot_hu46c0a90aff7302944c5b3bc96ca6bf21_89821_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2022-12-gnd-in-lokale-datenbank-laden-reloaded/oxigraph-screenshot_hu46c0a90aff7302944c5b3bc96ca6bf21_89821_9a012596cf5469f100ebbf1a0ff06c8a.webp"
width="760"
height="485"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Bildschirmfoto der Weboberfläche von Oxigraph.
&lt;/figcaption>&lt;/figure>
&lt;p>Überrascht waren wir von der Geschwindigkeit, mit der die Daten der GND eingelesen und Abfragen ausgeführt werden können.
In der folgenden Tabelle ist ein direkter Vergleich mit unserem Apache Jena Setup für das Einlesens der GND und das Durchführens der Abfrage aus &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-06-erste-experimente-mit-der-gnd/">Erste Experimente mit der GND&lt;/a> gelistet.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>&lt;/th>
&lt;th style="text-align:right">GND laden&lt;/th>
&lt;th style="text-align:right">Testabfrage&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Apache Jena&lt;/td>
&lt;td style="text-align:right">5.329,1s&lt;/td>
&lt;td style="text-align:right">17,5s&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Oxigraph&lt;/td>
&lt;td style="text-align:right">391,0s&lt;/td>
&lt;td style="text-align:right">3,6s&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Das ist natürlich kein ausführlicher oder repräsentativer Benchmark, zeigt aber direkt den Geschwindigkeitsunterschied mit den Daten mit denen wir aktuell arbeiten. Das ermöglichst uns zukünftig Umgebungen für Ad-Hoc Experimente mit der GND zu erstellen.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Wir haben für diesen Blogbeitrag Oxigraph in Version v0.3.8 und den GND Dump vom 13. Oktober 2022 verwendet.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>&lt;a href="https://github.com/oxigraph/oxigraph/tree/main/server#using-a-docker-image" target="_blank" rel="noopener">Dokumentation zur Verwendung des Oxigraph Docker Image&lt;/a>&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Experiment zur Identifikation von doppelten Orten in der GND</title><link>https://fdmlab.landesarchiv-bw.de/post/2022-06-doppelte-orte-in-gnd/</link><pubDate>Tue, 21 Jun 2022 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2022-06-doppelte-orte-in-gnd/</guid><description>&lt;p>Bei unserer Arbeit mit Orten in der &lt;em>Gemeinsamen Normdatei&lt;/em> (GND) stolperten wir hin und wieder über Dubletten.
Also Orte, die in der GND mehrfach vorhanden waren.
Dieser Beitrag beschreibt, wie wir in einem praktischen Experiment versuchten diese Dubletten innerhalb des Bundeslandes Baden-Württemberg zu identifizieren.&lt;/p>
&lt;blockquote>
&lt;p>Bildnachweis&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;/p>
&lt;/blockquote>
&lt;h2 id="hintergrund">Hintergrund&lt;/h2>
&lt;p>In der GND sind nicht nur aktuelle Orte mit einer eindeutigen GND-Nummer verzeichnet, sondern auch historische Orte.
Beispielsweise wurde &lt;a href="https://d-nb.info/gnd/4069840-3" target="_blank" rel="noopener">Cannstatt&lt;/a> mit Stuttgart vereinigt und ist seit dem 1. April 1905 als &lt;a href="https://d-nb.info/gnd/4077993-2" target="_blank" rel="noopener">Stuttgart-Cannstatt&lt;/a> und später &lt;a href="https://d-nb.info/gnd/4077993-2" target="_blank" rel="noopener">Bad Cannstatt&lt;/a> ein Stadtteil von &lt;a href="https://d-nb.info/gnd/4058282-6" target="_blank" rel="noopener">Stuttgart&lt;/a>.&lt;/p>
&lt;p>Auch wurden Gemeinden und Städte im Zuge von Kreis- und Gemeindereformen eingemeindet oder neu gebildet.
Beispielsweise wurden &lt;a href="https://d-nb.info/gnd/4088388-7" target="_blank" rel="noopener">Bissingen&lt;/a> und &lt;a href="https://d-nb.info/gnd/4088300-0" target="_blank" rel="noopener">Bietigheim&lt;/a> im Jahre 1975 zu &lt;a href="https://d-nb.info/gnd/4006554-6" target="_blank" rel="noopener">Bietigheim-Bissingen&lt;/a> zusammengelegt.&lt;/p>
&lt;p>Diese Form von Mehrfachnennung meinen wir &lt;strong>nicht&lt;/strong>.
Wir sind darüber gestolpert, dass es speziell zu historischen Orten in Baden-Württemberg mehrere Einträge gab.&lt;/p>
&lt;h2 id="idee">Idee&lt;/h2>
&lt;p>Wir wollen basierend auf der &lt;em>Ortsnamensdatenbank Baden-Württemberg&lt;/em> (ONDB) mögliche Dubletten von Orten in Baden-Württemberg in der GND identifizieren. Die ONDB wurde in einem anderen Projekt in Form einer Datenspende in die GND eingespielt, so dass wir davon ausgehen, dass wir sie als &amp;ldquo;Referenz&amp;rdquo; verwenden können. Dafür identifizieren wir alle mit Baden-Württemberg verknüpften Orte in der GND, markieren die Orte, die in der ONDB vorliegen und betrachten anschließend die Restmenge.&lt;/p>
&lt;h2 id="vorgehen">Vorgehen&lt;/h2>
&lt;h4 id="1-ondb-aufbereitung">1. ONDB Aufbereitung&lt;/h4>
&lt;p>Ein Abzug der ONDB wurde im Kontext eines anderen Projektes mit &lt;a href="https://openrefine.org/" target="_blank" rel="noopener">OpenRefine&lt;/a> aufgearbeitet, so dass ein Mapping von GND-ID auf ONDB-ID möglich ist.
Wie so ein Mapping funktioniert, ist unter &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-fortgeschrittene/12-daten-zwischen-projekten-abgleichen/">Daten zwischen Projekten in OpenRefine abgleichen&lt;/a> beschrieben.&lt;/p>
&lt;h4 id="2-gnd-in-triple-store-laden">2. GND in Triple-Store laden&lt;/h4>
&lt;p>Wie unter &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-06-erste-experimente-mit-der-gnd/">Erste Experimente mit der GND&lt;/a> beschrieben, wurde die GND in ihrer LOD-Form in einen &lt;a href="https://jena.apache.org/" target="_blank" rel="noopener">Apache Jena&lt;/a> Docker Container geladen. &lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/p>
&lt;h4 id="3-daten-aus-triple-store-laden">3. Daten aus Triple-Store laden&lt;/h4>
&lt;p>Mit &lt;a href="https://www.w3.org/TR/sparql11-overview/" target="_blank" rel="noopener">SPARQL-Abfragen&lt;/a> werden die Daten aus dem Apache Jena Triple-Store extrahiert.&lt;/p>
&lt;h4 id="4-dubletten-identifizieren">4. Dubletten identifizieren&lt;/h4>
&lt;p>Mit Hilfe der ODNB, &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/05-clustering/">Clustering Methoden in OpenRefine&lt;/a> und externen Skripten mögliche Dubletten identifizieren und manuell prüfen.&lt;/p>
&lt;h2 id="sparql-abfragen">SPARQL Abfrage(n)&lt;/h2>
&lt;p>wir haben verschiedene Methoden getestet, verworfen und kombiniert, um die für uns relevanten Orte in der GND zu identifizieren und via SPARQL aus dem Apache Jena Triple-Store laden zu können.&lt;/p>
&lt;h3 id="angaben-zur-quelle">Angaben zur Quelle&lt;/h3>
&lt;p>In der GND ist auch die Quelle einer Dateninformation erfasst, also zum Beispiel die ONDB oder das Landesarchiv Baden-Württemberg als Datenquelle genannt. Diese Information ist in der LOD-Form der GND leider nicht enthalten.
Daher konnten wir diese Information nicht als zusätzliche Informationsquelle für unsere Filter nutzen.&lt;/p>
&lt;h3 id="verknüpfung-über-hierarchie">Verknüpfung über Hierarchie&lt;/h3>
&lt;p>Theoretisch sollten wir über den Property-Path &lt;a href="https://d-nb.info/standards/elementset/gnd#hierarchicalSuperiorOfPlaceOrGeographicName" target="_blank" rel="noopener">Hierarchical superior of place or geographic name&lt;/a> alle untergeordneten Orte von &lt;a href="https://d-nb.info/gnd/4004176-1" target="_blank" rel="noopener">Baden-Württemberg&lt;/a> finden können.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?place&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?place&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">hierarchicalSuperiorOfPlaceOrGeographicName&lt;/span>&lt;span class="o">+&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">4004176-1&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Diese Eigenschaft ist jedoch nicht konsequent und speziell für historische Orte gar nicht erfasst.
Daher haben wir diesen Ansatz verworfen.&lt;/p>
&lt;h3 id="verknüpfung-über-ländercode">Verknüpfung über Ländercode&lt;/h3>
&lt;p>Theoretisch sollten wir über die Verknüpfung mit dem Ländercode (&lt;a href="https://d-nb.info/standards/elementset/gnd#geographicAreaCode" target="_blank" rel="noopener">Geographic Area Code&lt;/a>) alle mit Baden-Württemberg (&lt;a href="https://d-nb.info/standards/vocab/gnd/geographic-area-code.html#XA-DE-BW" target="_blank" rel="noopener">XA-DE-BW&lt;/a>) verknüpften Orte erfassen können.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/vocab/gnd/geographic-area-code#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">rdfs&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;http://www.w3.org/2000/01/rdf-schema#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?place&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?place&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">geographicAreaCode&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">XA-DE-BW&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">type&lt;/span> &lt;span class="nv">?type&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?type&lt;/span> &lt;span class="nn">rdfs&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">subClassOf&lt;/span>&lt;span class="o">*&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">PlaceOrGeographicName&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Hier sind uns zwei Probleme aufgefallen:&lt;/p>
&lt;ol>
&lt;li>die Property-Path-Extension &lt;code>rdfs:subclassOf*&lt;/code> funktioniert nicht, wir konnten jedoch nicht klären ob das ein Problem mit Apache Jena oder mit den GND-Daten ist.&lt;/li>
&lt;li>Nicht alle Orte in Baden-Württemberg sind mit dem Ländercode &lt;code>XA-DE-BW&lt;/code> angelegt, sondern einige auch ausschließlich mit dem Ländercode für Deutschland &lt;code>XA-DE&lt;/code>.&lt;/li>
&lt;/ol>
&lt;h3 id="verknüpfung-über-ländercode-mit-aufzählung-aller-sub-klassen">Verknüpfung über Ländercode mit Aufzählung aller (Sub-)Klassen&lt;/h3>
&lt;p>Da die Property-Path Extension auf &lt;code>rdfs:subClassOf&lt;/code> nicht funktioniert hat, listen wir die für uns relevanten (Sub-)Klassen alle einzeln auf.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/vocab/gnd/geographic-area-code#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?place&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">VALUES&lt;/span> &lt;span class="nv">?geographicType&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">PlaceOrGeographicName&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">AdministrativeUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">BuildingOrMemorial&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">NameOfSmallGeographicUnitLyingWithinAnotherGeographicUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">NaturalGeographicUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">ReligiousTerritory&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">TerritorialCorporateBodyOrAdministrativeUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?place&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">geographicAreaCode&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">XA-DE-BW&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">type&lt;/span> &lt;span class="nv">?geographicType&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="anzahl-pro-sub-klasse">Anzahl pro (Sub-)Klasse&lt;/h3>
&lt;p>Die folgende Abfrage zählt, wie häufig die entsprechenden Typen für Orte in Baden-Württemberg in der GND vorkommen.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/vocab/gnd/geographic-area-code#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?geographicType&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nf">count&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?geographicType&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nv">?count&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">VALUES&lt;/span> &lt;span class="nv">?geographicType&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">PlaceOrGeographicName&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">AdministrativeUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">BuildingOrMemorial&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">NameOfSmallGeographicUnitLyingWithinAnotherGeographicUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">NaturalGeographicUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">ReligiousTerritory&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">TerritorialCorporateBodyOrAdministrativeUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?place&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">geographicAreaCode&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">XA-DE-BW&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">type&lt;/span> &lt;span class="nv">?geographicType&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span> &lt;span class="k">GROUP BY&lt;/span> &lt;span class="nv">?geographicType&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In der folgenden Tabelle ist das Ergebnis für die obige SPARQL-Abfrage dargestellt:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>geographicType&lt;/th>
&lt;th>count&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;a href="https://d-nb.info/standards/elementset/gnd#AdministrativeUnit" target="_blank" rel="noopener">AdministrativeUnit&lt;/a>&lt;/td>
&lt;td>423&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://d-nb.info/standards/elementset/gnd#NaturalGeographicUnit" target="_blank" rel="noopener">NaturalGeographicUnit&lt;/a>&lt;/td>
&lt;td>537&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://d-nb.info/standards/elementset/gnd#PlaceOrGeographicName" target="_blank" rel="noopener">PlaceOrGeographicName&lt;/a>&lt;/td>
&lt;td>4205&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://d-nb.info/standards/elementset/gnd#ReligiousTerritory" target="_blank" rel="noopener">ReligiousTerritory&lt;/a>&lt;/td>
&lt;td>68&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://d-nb.info/standards/elementset/gnd#TerritorialCorporateBodyOrAdministrativeUnit" target="_blank" rel="noopener">TerritorialCorporateBodyOrAdministrativeUnit&lt;/a>&lt;/td>
&lt;td>23685&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://d-nb.info/standards/elementset/gnd#BuildingOrMemorial" target="_blank" rel="noopener">BuildingOrMemorial&lt;/a>&lt;/td>
&lt;td>3711&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="https://d-nb.info/standards/elementset/gnd#NameOfSmallGeographicUnitLyingWithinAnotherGeographicUnit" target="_blank" rel="noopener">NameOfSmallGeographicUnitLyingWithinAnotherGeographicUnit&lt;/a>&lt;/td>
&lt;td>99&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="de-ländercode-mit-nachfolger-oder-vorgänger-in-bw">DE-Ländercode mit Nachfolger (oder Vorgänger) in BW&lt;/h3>
&lt;p>Bei den Orten, die mit dem Ländercode &lt;code>XA-DE&lt;/code> für Deutschland angelegt wurden, ergab sich ein Muster.
Diese hatten häufig einen &lt;a href="https://d-nb.info/standards/elementset/gnd#precedingPlaceOrGeographicName" target="_blank" rel="noopener">Vorgänger&lt;/a> oder &lt;a href="https://d-nb.info/standards/elementset/gnd#succeedingPlaceOrGeographicName" target="_blank" rel="noopener">Nachfolger&lt;/a>, der mit dem Ländercode &lt;code>XA-DE-BW&lt;/code> für Baden-Württemberg verknüpft war.&lt;/p>
&lt;p>Die folgende SPARQL-Abfrage zeigt, wie diese Orte abgefragt werden können.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/vocab/gnd/geographic-area-code#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">rdfs&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;http://www.w3.org/2000/01/rdf-schema#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?place&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">VALUES&lt;/span> &lt;span class="nv">?geographicType&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">PlaceOrGeographicName&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">AdministrativeUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">BuildingOrMemorial&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">NameOfSmallGeographicUnitLyingWithinAnotherGeographicUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">NaturalGeographicUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">ReligiousTerritory&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">TerritorialCorporateBodyOrAdministrativeUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?place&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">geographicAreaCode&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">XA-DE&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">type&lt;/span> &lt;span class="nv">?geographicType&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">(&lt;/span>&lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">precedingPlaceOrGeographicName&lt;/span>&lt;span class="o">+&lt;/span> &lt;span class="err">|&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">succeedingPlaceOrGeographicName&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="nv">?relatedPlace&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?relatedPlace&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">geographicAreaCode&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">XA-DE-BW&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="finale-sparql-abfrage">Finale SPARQL-Abfrage&lt;/h3>
&lt;p>Die folgende SPARQL-Abfrage kombiniert die Orte, die mit dem &lt;code>XA-DE-BW&lt;/code> für Baden-Württemberg angelegt wurden mit denen, die einen mit dem Ländercode &lt;code>XA-DE-BW&lt;/code> für Baden-Württemberg verknüpften Vorgänger oder Nachfolger haben.&lt;/p>
&lt;p>Zusätzlich werden noch die Eigenschaften &lt;a href="https://d-nb.info/standards/elementset/gnd#preferredNameForThePlaceOrGeographicName" target="_blank" rel="noopener">Bevorzugter Name des Geographikums&lt;/a> und die &lt;a href="https://d-nb.info/standards/elementset/gnd#definition" target="_blank" rel="noopener">Definition&lt;/a> abgefragt.
Da diese nicht zuverlässig gesetzt wurden, sind sie als &lt;code>OPTIONAL&lt;/code> gekennzeichnet.&lt;/p>
&lt;p>Da wir die GND-ID eindeutig halten wollen, diese aber gegebenenfalls mit mehreren geographischen Typen verknüpft sein kann, nutzen wir eine Gruppierung via &lt;code>GROUP BY&lt;/code> um doppelte GND-IDs zu filtern.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/vocab/gnd/geographic-area-code#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="nv">?place&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nf">SAMPLE&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?geographicType&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nv">?GeographicType&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nf">SAMPLE&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?preferredName&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nv">?PreferredName&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nf">SAMPLE&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?definition&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nv">?Definition&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="err">VALUES&lt;/span> &lt;span class="nv">?geographicType&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">PlaceOrGeographicName&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">AdministrativeUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">BuildingOrMemorial&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">NameOfSmallGeographicUnitLyingWithinAnotherGeographicUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">NaturalGeographicUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">ReligiousTerritory&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">TerritorialCorporateBodyOrAdministrativeUnit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?place&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">geographicAreaCode&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">XA-DE-BW&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">type&lt;/span> &lt;span class="nv">?geographicType&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">OPTIONAL&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?place&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">preferredNameForThePlaceOrGeographicName&lt;/span> &lt;span class="nv">?preferredName&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">OPTIONAL&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?place&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">definition&lt;/span> &lt;span class="nv">?definition&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">UNION&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?place&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">geographicAreaCode&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">XA-DE&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">rdf&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">type&lt;/span> &lt;span class="nv">?geographicType&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">(&lt;/span>&lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">precedingPlaceOrGeographicName&lt;/span>&lt;span class="o">+&lt;/span> &lt;span class="err">|&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">succeedingPlaceOrGeographicName&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="nv">?relatedPlace&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?relatedPlace&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">geographicAreaCode&lt;/span> &lt;span class="nn">gnd-area-code&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">XA-DE-BW&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">OPTIONAL&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?place&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">preferredNameForThePlaceOrGeographicName&lt;/span> &lt;span class="nv">?preferredName&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">OPTIONAL&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?place&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">definition&lt;/span> &lt;span class="nv">?definition&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span> &lt;span class="k">GROUP BY&lt;/span> &lt;span class="nv">?place&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="ergebnisse">Ergebnisse&lt;/h2>
&lt;p>Mit der oben beschriebenen SPARQL-Abfrage konnten etwa 33.000 zu Baden-Württemberg zuordenbare Orte aus der GND in unserem Apache Jena Triple-Store extrahiert werden.&lt;/p>
&lt;p>Innerhalb dieser Daten konnten etwa 600 eindeutige Dubletten und deren Ursprung identifiziert und der GND Fachstelle zur Korrektur vorgelegt werden. Das entspricht etwa zwei Prozent der gefunden Daten.&lt;/p>
&lt;p>Bei der Analyse der Dubletten ist aufgefallen, dass nach wie vor die historische Vorbelastung der GND durch die Verschmelzung der &lt;a href="https://de.wikipedia.org/wiki/Gemeinsame_K%C3%B6rperschaftsdatei" target="_blank" rel="noopener">Gemeinsamen Körperschaftsdatei&lt;/a> (GKD) mit der &lt;a href="https://de.wikipedia.org/wiki/Schlagwortnormdatei" target="_blank" rel="noopener">Schlagwortnormdatei&lt;/a> (SWD) für einen Großteil der Dubletten verantwortlich war.
Zusätzlich gab es einzelne Datenlieferungen, die ebenfalls für Dubletten geführt haben.&lt;/p>
&lt;p>Beim Identifikationsprozess für Dubletten ist aufgefallen, dass besonders das unterschiedliche Vorgehen bei der &amp;ldquo;Vorzugsbenennung&amp;rdquo; eines Ortes zu den vielen nicht offensichtlichen Dubletten geführt hat. Beispielsweise lässt sich &lt;a href="https://d-nb.info/gnd/4077993-2" target="_blank" rel="noopener">Bad Cannstatt&lt;/a> auch als &lt;em>Stuttgart-Cannstatt&lt;/em> benennen, was weder bei einer alphabetischen Sortierung, noch bei den meisten Standardverfahren zum algorithmischen Abgleich von Dubletten auffällt.&lt;/p>
&lt;p>Insgesamt haben wir vermutlich auch nur einen Teil der Dubletten für Orte in Baden-Württemberg in der GND identifiziert.
Unter anderem fallen alle Orte durch unsere Suchfilter, die Baden-Württemberg nicht als &lt;em>Geographic Area Code&lt;/em> definiert haben und auch keine mit Baden-Württemberg verknüpften Vorgänger oder Nachfolger haben.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Das Bild &amp;ldquo;Doppelte Orte in der GND identifizieren&amp;rdquo; wurde erstellt mit Bildern von &lt;a href="https://pixabay.com/de/users/peggy_marco-1553824/" target="_blank" rel="noopener">Peggy und Marco Lachmann-Anke&lt;/a> und &lt;a href="https://pixabay.com/de/users/geralt-9301/" target="_blank" rel="noopener">Gerd Altmann&lt;/a> auf &lt;a href="https://pixabay.com/" target="_blank" rel="noopener">Pixabay&lt;/a> und dem &lt;a href="https://commons.wikimedia.org/wiki/File:Logo_Gemeinsame_Normdatei_%28GND%29.svg" target="_blank" rel="noopener">&amp;ldquo;Logo Gemeinsame Normdatei (GND)&amp;rdquo;&lt;/a> von &lt;a href="https://www.dnb.de/" target="_blank" rel="noopener">Deutsche Nationalbibliothek (DNB)&lt;/a>, welches lizenziert ist unter einer &lt;a href="https://creativecommons.org/licenses/by-sa/4.0/deed.de" target="_blank" rel="noopener">CC BY-SA 4.0&lt;/a> Lizenz. Das Bild &amp;ldquo;Doppelte Orte in der GND identifizieren&amp;rdquo; ist ebenfalls lizenziert unter einer &lt;a href="https://creativecommons.org/licenses/by-sa/4.0/deed.de" target="_blank" rel="noopener">CC BY-SA 4.0&lt;/a> Lizenz.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>Der für dieses Experiment verwendete Abzug ist &lt;a href="https://data.dnb.de/opendata/authorities_lds_20211013.nt.gz" target="_blank" rel="noopener">authorities_lds_20211013.nt.gz&lt;/a>.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Experimente mit Visualisierungen für Sachbegriffe in der GND</title><link>https://fdmlab.landesarchiv-bw.de/post/2022-05-experiment-mit-gnd-visualisierungen/</link><pubDate>Tue, 24 May 2022 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2022-05-experiment-mit-gnd-visualisierungen/</guid><description>&lt;p>Die &lt;em>Gemeinsame Normdatei&lt;/em> (GND) enthält unter anderem semantische Daten zu Sachbegriffen.
In diesem Beitrag experimentieren wir mit Visualisierungen für &lt;strong>Sachbegriffe&lt;/strong> in der GND, um die Daten und die Ontologie dahinter besser kennen zu lernen.&lt;/p>
&lt;p>Wie im obigen Bild&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup> thematisiert, beinhaltet die als &lt;em>Linked Open Data&lt;/em> (LOD) zur Verfügung gestellte GND einen komplexen Graphen mit verlinkten Daten, deren Verlinkung und Struktur sich auf Grund ihrer Komplexität für Außenstehende nicht auf Anhieb verständlich gestaltet.&lt;/p>
&lt;p>Im Bereich der Sachbegriffe (&lt;a href="https://d-nb.info/standards/elementset/gnd#SubjectHeading" target="_blank" rel="noopener">Subject Heading&lt;/a>) gibt es mehrere Konzepte zur Gruppierung. Es gibt die &lt;a href="https://d-nb.info/standards/vocab/gnd/gnd-sc.html" target="_blank" rel="noopener">GND-Sachgruppen&lt;/a> und verschiedene Arten von Oberbegriffen&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>.&lt;/p>
&lt;div class="alert alert-note">
&lt;div>
Um die Daten und deren Verknüpfungen besser zugänglich zu machen, gibt es auch das am 31. Mai von der DNB als beta freigegebene Projekt &lt;a href="https://explore.gnd.network/" target="_blank" rel="noopener">GND-Explorer&lt;/a>.
&lt;/div>
&lt;/div>
&lt;p>In Kooperation mit Katharina Hardt von dem Projekt &lt;a href="https://landesarchiv-bw.de/de/landesarchiv/projekte/provenienzforschung-im-landesarchiv/provenienzforschung-hauptstaatsarchiv-stuttgart/73186" target="_blank" rel="noopener">Provenienzforschung am Hauptstaatsarchivs Stuttgart&lt;/a> hatten wir im FDMLab ein konkretes Problem, wofür wir eine visuelle Unterstützung benötigten. Dafür haben wir ein &lt;a href="https://fdmlab.landesarchiv-bw.de/experiment/gnd-hierarchy-vis/">Experiment zur Visualisierung von GND Sachbegriffen&lt;/a> umgesetzt, über welches wir im Folgenden berichten. &lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>&lt;/p>
&lt;div class="alert alert-warning">
&lt;div>
Es handelt sich bei der &lt;a href="https://fdmlab.landesarchiv-bw.de/experiment/gnd-hierarchy-vis/">GND Hierarchie Visualisierung&lt;/a> um ein prototypisch umgesetztes Experiment und &lt;strong>nicht&lt;/strong> um eine produktive Anwendung!
&lt;/div>
&lt;/div>
&lt;h2 id="die-ludwigsburger-porzellantasse">Die Ludwigsburger Porzellantasse&lt;/h2>
&lt;p>Eine Frage, die wir uns im Kontext der Provenienzforschung gestellt hatten, ist die mögliche Verschlagwortung mit Normdatenverknüpfung für den Begriff &lt;em>Ludwigsburger Porzellantasse&lt;/em>.&lt;/p>
&lt;p>Die &lt;em>Ludwigsburger Porzellantasse&lt;/em> gibt es nicht als Sachbegriff in der GND.
Die aus unserer Sicht passenden Begriffe in der GND sind &lt;a href="https://d-nb.info/gnd/4168206-3" target="_blank" rel="noopener">Ludwigsburger Porzellan&lt;/a> und &lt;a href="https://d-nb.info/gnd/4175414-1" target="_blank" rel="noopener">Porzellantasse&lt;/a>.&lt;/p>
&lt;p>Dabei stellten wir uns die folgenden Fragen:&lt;/p>
&lt;ol>
&lt;li>Haben die beiden Begriffe einen gemeinsamen Oberbegriff?&lt;/li>
&lt;li>Gehören die beiden Begriffe zu einer gemeinsamen Sachgruppe?&lt;/li>
&lt;li>Ist &lt;a href="https://d-nb.info/gnd/4046851-3" target="_blank" rel="noopener">Porzellan&lt;/a> ein gemeinsamer Oberbegriff?&lt;/li>
&lt;li>Ist &lt;a href="https://d-nb.info/gnd/4140542-0" target="_blank" rel="noopener">Geschirr&lt;/a> ein Oberbegriff von Porzellantasse?&lt;/li>
&lt;li>Wie verhält sich der Begriff &lt;a href="https://d-nb.info/gnd/4175411-6" target="_blank" rel="noopener">Porzellanfigur&lt;/a> &lt;sup id="fnref:4">&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref">4&lt;/a>&lt;/sup> im Kontext der beiden Begriffe?&lt;/li>
&lt;/ol>
&lt;p>Diese Antworten auf diese Fragen lassen sich im Einzelnen auch via der Weboberflächen von der &lt;a href="https://d-nb.info/gnd/4168206-3" target="_blank" rel="noopener">DNB&lt;/a>, &lt;a href="https://lobid.org/gnd/4168206-3" target="_blank" rel="noopener">lobid&lt;/a>, &lt;a href="https://swb.bsz-bw.de/DB=2.104/PPNSET?PPN=105419311&amp;amp;INDEXSET=21" target="_blank" rel="noopener">OGND&lt;/a> oder in &lt;a href="https://openrefine.org/" target="_blank" rel="noopener">OpenRefine&lt;/a> manuell recherchieren.
Bei mehreren Begriffen, ist dieses Vorgehen jedoch langwierig.&lt;/p>
&lt;p>Daher haben wir basierend auf dem &lt;a href="https://lobid.org/gnd/api" target="_blank" rel="noopener">lobid GND API&lt;/a>, dem &lt;a href="https://getbootstrap.com/" target="_blank" rel="noopener">Frontend-CSS-Framework Bootstrap&lt;/a> und dem &lt;a href="https://mermaid-js.github.io/" target="_blank" rel="noopener">JavaScript Framework Mermaid&lt;/a> prototypisch eine &lt;a href="https://fdmlab.landesarchiv-bw.de/experiment/gnd-hierarchy-vis/">Webanwendung zur GND Hierarchie Visualisierung von Sachbegriffen&lt;/a> umgesetzt, die es uns ermöglicht die oben genannten Antworten zu den obigen Fragen zu visualisieren und zu beantworten.&lt;/p>
&lt;p>Das nächste Diagramm zeigt ein bearbeitetes Beispiel zu der Hierarchie der Oberbegriffe von &lt;em>Ludwigsburger Porzellan&lt;/em>, &lt;em>Porzellantasse&lt;/em> und &lt;em>Porzellanfigur&lt;/em>.&lt;/p>
&lt;div class="mermaid">flowchart LR
4175414-1(["Porzellantasse"]):::initial
4184488-9["Tasse"]
4175411-6(["Porzellanfigur"]):::initial
4046277-8["Plastik"]
4046851-3["Porzellan"]
4168206-3(["Ludwigsburger Porzellan"]):::initial
4124863-6["Essgeschirr"]
4186181-4["Trinkgefäß"]
4181363-7["Silicatkeramik"]
4153870-5["Feinkeramik"]
4140542-0["Geschirr"]
4128003-9["Gefäß"]
4030282-9["Keramischer Werkstoff"]
4030271-4["Keramik"]
4132060-8["Hausrat"]
4020299-9["Gerät"]
4065579-9["Werkstoff"]
4169078-3["Material"]
4037940-1["Materie"]
4175414-1-->4184488-9
4175411-6-->4046277-8
4175411-6-->4046851-3
4168206-3-->4046851-3
4184488-9-->4124863-6
4184488-9-->4186181-4
4046851-3-->4181363-7
4046851-3-->4153870-5
4124863-6-->4140542-0
4186181-4-->4128003-9
4181363-7-->4030282-9
4153870-5-->4030271-4
4140542-0-->4132060-8
4128003-9-->4020299-9
4030282-9-->4065579-9
4065579-9-->4169078-3
4169078-3-->4037940-1
classDef default fill:#FFF,stroke:#0088c9,stroke-width:3px,color:#000;
classDef category fill:#FFF,stroke:#1fbeb8,stroke-width:3px,color:#000;
classDef initial fill:#FFF,stroke:#4dbd05,stroke-width:3px,color:#000;
&lt;/div>
&lt;p>Laut unserem Diagramm ist der Begriff &lt;em>Geschirr&lt;/em> ein Oberbegriff zur &lt;em>Porzellantasse&lt;/em>.
Die &lt;em>Porzellanfigur&lt;/em> und das &lt;em>Ludwigsburger Porzellan&lt;/em> haben &lt;em>Porzellan&lt;/em> als gemeinsamen Oberbegriff, die &lt;em>Porzellantasse&lt;/em> jedoch nicht.
Es gibt keinen gemeinsamen Oberbegriff für alle Begriffe, sie gehören jedoch, zur GND-Sachgruppe &lt;em>Kunsthandwerk&lt;/em> (siehe nächstes Diagramm).&lt;/p>
&lt;div class="mermaid">flowchart LR
4175414-1(["Porzellantasse"]):::initial
cat0[["Kunsthandwerk"]]:::category
4175411-6(["Porzellanfigur"]):::initial
cat1[["Plastik"]]:::category
4168206-3(["Ludwigsburger Porzellan"]):::initial
4175414-1-->cat0
4175411-6-->cat1
4175411-6-->cat0
4168206-3-->cat0
classDef default fill:#FFF,stroke:#0088c9,stroke-width:3px,color:#000;
classDef category fill:#FFF,stroke:#1fbeb8,stroke-width:3px,color:#000;
classDef initial fill:#FFF,stroke:#4dbd05,stroke-width:3px,color:#000;
&lt;/div>
&lt;h2 id="gemeinsamer-oberbegriff-für-bilder">Gemeinsamer Oberbegriff für Bilder?&lt;/h2>
&lt;p>Bei den GND Sachbegriffen für &lt;a href="https://d-nb.info/gnd/4132048-7" target="_blank" rel="noopener">Acrylbild&lt;/a>, &lt;a href="https://d-nb.info/gnd/4002511-1" target="_blank" rel="noopener">Aquarell&lt;/a>, &lt;a href="https://d-nb.info/gnd/4036042-8" target="_blank" rel="noopener">Lithografie&lt;/a>, &lt;a href="https://d-nb.info/gnd/4043238-5" target="_blank" rel="noopener">Ölgemälde&lt;/a>, &lt;a href="https://d-nb.info/gnd/4048166-9" target="_blank" rel="noopener">Radierung&lt;/a> und &lt;a href="https://d-nb.info/gnd/4075923-4" target="_blank" rel="noopener">Pastellzeichnung&lt;/a> fragten wir uns, ob diese einen gemeinsamen Oberbegriff wie &lt;a href="https://d-nb.info/gnd/4006568-6" target="_blank" rel="noopener">Bild&lt;/a> oder &lt;a href="https://d-nb.info/gnd/4145419-4" target="_blank" rel="noopener">Bildliche Darstellung&lt;/a> haben. &lt;sup id="fnref:5">&lt;a href="#fn:5" class="footnote-ref" role="doc-noteref">5&lt;/a>&lt;/sup>&lt;/p>
&lt;div class="mermaid">flowchart LR
4132048-7(["Acrylbild"]):::initial
4037220-0["Malerei"]
4002511-1(["Aquarell"]):::initial
4036042-8(["Lithografie"]):::initial
4154503-5["Flachdruck"]
4043238-5(["Ölgemälde"]):::initial
4048166-9(["Radierung"]):::initial
4113357-2["Druckgrafik"]
4075923-4(["Pastellzeichnung"]):::initial
4124801-6["Drucktechnik"]
4021845-4["Grafik"]
4021850-8["Graphische Technik"]
4794555-2["Medientechnik"]
4145419-4["Bildliche Darstellung"]
4132048-7-->4037220-0
4002511-1-->4037220-0
4036042-8-->4154503-5
4043238-5-->4037220-0
4048166-9-->4113357-2
4075923-4-->4037220-0
4154503-5-->4124801-6
4113357-2-->4021845-4
4124801-6-->4021850-8
4124801-6-->4794555-2
4021845-4-->4145419-4
classDef default fill:#FFF,stroke:#0088c9,stroke-width:3px,color:#000;
classDef category fill:#FFF,stroke:#1fbeb8,stroke-width:3px,color:#000;
classDef initial fill:#FFF,stroke:#4dbd05,stroke-width:3px,color:#000;
&lt;/div>
&lt;p>Wie im obigen Diagramm abzulesen, ist das nicht der Fall.
Interessant ist hier, dass die &lt;em>Pastellzeichnung&lt;/em> mit &lt;em>Acrylbild&lt;/em>, &lt;em>Aquarell&lt;/em> und &lt;em>Ölgemälde&lt;/em> als gemeinsamen Oberbegriff in die &lt;em>Malerei&lt;/em> verortet wurde, die &lt;em>Pastellzeichnung&lt;/em> im nächsten Diagramm aber mit der &lt;em>Radierung&lt;/em> und der &lt;em>Lithografie&lt;/em> in die GND-Sachgruppe &lt;em>Zeichnung, Grafik&lt;/em> eingeordnet wird.&lt;/p>
&lt;div class="mermaid">flowchart LR
4132048-7(["Acrylbild"]):::initial
cat0[["Malerei"]]:::category
4002511-1(["Aquarell"]):::initial
4036042-8(["Lithografie"]):::initial
cat1[["Zeichnung, Grafik"]]:::category
cat2[["Papierherstellung, Grafische Technik"]]:::category
4043238-5(["Ölgemälde"]):::initial
4048166-9(["Radierung"]):::initial
4075923-4(["Pastellzeichnung"]):::initial
4132048-7-->cat0
4002511-1-->cat0
4036042-8-->cat1
4036042-8-->cat2
4043238-5-->cat0
4048166-9-->cat1
4075923-4-->cat1
classDef default fill:#FFF,stroke:#0088c9,stroke-width:3px,color:#000;
classDef category fill:#FFF,stroke:#1fbeb8,stroke-width:3px,color:#000;
classDef initial fill:#FFF,stroke:#4dbd05,stroke-width:3px,color:#000;
&lt;/div>
&lt;h2 id="fazit">Fazit&lt;/h2>
&lt;p>Mit wenig Aufwand, auch Dank dem &lt;a href="https://lobid.org/gnd/api" target="_blank" rel="noopener">GND API von lobid&lt;/a>, konnten wir eine Webanwendung umsetzen, mit der wir die Sachbegriffe in der GND besser kennen lernen können.
Die nachträglich bearbeitbaren Visualisierungen helfen uns bei der Projektdokumentation und bei der Kommunikation mit unseren Fachkollegen.&lt;/p>
&lt;ul class="cta-group">
&lt;li>
&lt;a href="https://fdmlab.landesarchiv-bw.de/experiment/gnd-hierarchy-vis/" class="btn btn-primary px-3 py-3">GND Hierarchie Visualisierung selbst ausprobieren&lt;/a>
&lt;/li>
&lt;/ul>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Das Bild &amp;ldquo;GND Sachbegriffe visualisieren&amp;rdquo; wurde erstellt mit Bildern von &lt;a href="https://pixabay.com/de/users/peggy_marco-1553824/" target="_blank" rel="noopener">Peggy und Marco Lachmann-Anke&lt;/a> und &lt;a href="https://pixabay.com/de/users/geralt-9301/" target="_blank" rel="noopener">Gerd Altmann&lt;/a> auf &lt;a href="https://pixabay.com/" target="_blank" rel="noopener">Pixabay&lt;/a> und dem &lt;a href="https://commons.wikimedia.org/wiki/File:Logo_Gemeinsame_Normdatei_%28GND%29.svg" target="_blank" rel="noopener">&amp;ldquo;Logo Gemeinsame Normdatei (GND)&amp;rdquo;&lt;/a> von &lt;a href="https://www.dnb.de/" target="_blank" rel="noopener">Deutsche Nationalbibliothek (DNB)&lt;/a>, welches lizenziert ist unter einer &lt;a href="https://creativecommons.org/licenses/by-sa/4.0/deed.de" target="_blank" rel="noopener">CC BY-SA 4.0&lt;/a> Lizenz. Das Bild &amp;ldquo;GND Sachbegriffe visualisieren&amp;rdquo; ist ebenfalls lizenziert unter einer &lt;a href="https://creativecommons.org/licenses/by-sa/4.0/deed.de" target="_blank" rel="noopener">CC BY-SA 4.0&lt;/a> Lizenz.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>&lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTerm" target="_blank" rel="noopener">Broader term&lt;/a>, &lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTermGeneral" target="_blank" rel="noopener">Broader term (general)&lt;/a>, &lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTermGeneric" target="_blank" rel="noopener">Broader term (generic)&lt;/a>, &lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTermInstantial" target="_blank" rel="noopener">Broader term (instantial)&lt;/a>, &lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTermPartitive" target="_blank" rel="noopener">Broader term (partitive)&lt;/a>, &lt;a href="https://d-nb.info/standards/elementset/gnd#broaderTermWithMoreThanOneElement" target="_blank" rel="noopener">Broader term (with more than one element)&lt;/a>&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>Danke hier auch an die &lt;a href="https://www.leo-bw.de/gnd-agentur" target="_blank" rel="noopener">GND-Agentur LEO-BW-Regional&lt;/a> für ein erstes Feedback!&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:4">
&lt;p>Die Vorzugsbenennung für &lt;em>Porzellan&lt;strong>figur&lt;/strong>&lt;/em> in der GND ist &lt;em>Porzellan&lt;strong>plastik&lt;/strong>&lt;/em>. Wir verwenden hier im Artikel teilweise offiziell in der GND gelistete Synonyme für Sachbegriffe, wenn sie besser in unsere Erzählstruktur passen.&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:5">
&lt;p>In der GND ist teilweise die Bildart und teilweise die entsprechende Maltechnik die Vorzugsbenennung.
Also &lt;em>Aquarellmalerei&lt;/em> ist ein Synonym für den Vorzugsbegriff &lt;em>Aquarell&lt;/em> und &lt;em>Ölgemälde&lt;/em> ist ein Synonym für den Vorzugsbegriff &lt;em>Ölmalerei&lt;/em>. Für eine einheitliche Erzählstruktur, haben wir uns daher teilweise für die Verwendung der Synonyme in unserem Text und den Diagrammen entschieden.&amp;#160;&lt;a href="#fnref:5" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Verborgene Datenschätze heben: Das FDMLab experimentiert mit KI im Archiv</title><link>https://fdmlab.landesarchiv-bw.de/publication/2022-archivnachrichten-64/</link><pubDate>Thu, 28 Apr 2022 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/publication/2022-archivnachrichten-64/</guid><description/></item><item><title>Workshop - Reconciling mit OpenRefine und der GND</title><link>https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/</link><pubDate>Fri, 01 Apr 2022 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/</guid><description>&lt;p>Wir nutzen die Daten der GND über OpenRefine, gleichen damit Daten ab und laden Daten nach.&lt;/p>
&lt;blockquote>
&lt;p>Reconciling in der &lt;a href="https://docs.openrefine.org/manual/reconciling" target="_blank" rel="noopener">OpenRefine Dokumentation&lt;/a>.&lt;/p>
&lt;/blockquote>
&lt;div class="alert alert-note">
Dieser Workshop wurde erstellt mit OpenRefine Version 3.5.0.&lt;br>
Dieser Workshop wurde zuletzt getestet mit OpenRefine Version &lt;strong>3.9.3&lt;/strong>.
&lt;/div>
&lt;h2 id="hintergrund">Hintergrund&lt;/h2>
&lt;p>Die Gemeinsame Normdatei (GND) wird als Linked Open Data (LOD) angeboten. Das ermöglicht uns Daten mit eindeutigen Identifikatoren (GND-ID) zu verknüpfen.&lt;/p>
&lt;p>Mit OpenRefine können wir mit der GND zwei Dinge tun:&lt;/p>
&lt;ol>
&lt;li>basierend auf GND-IDs weitere Daten nachladen (Aufgabe 1).&lt;/li>
&lt;li>via Reconciliation Service GND-IDs für Entitäten suchen (Aufgabe 2).&lt;/li>
&lt;/ol>
&lt;h3 id="kurzer-exkurs-zur-gnd-als-lod">Kurzer Exkurs zur GND als LOD&lt;/h3>
&lt;p>Die GND als LOD bedeutet, dass die Daten nicht in einer klassischen Datenbank angeboten werden, sondern mit einer Ontologie versehen wurden.
Die Hierarchie der Ontologie ist in Abbildung 1 visualisiert.&lt;/p>
&lt;figure id="figure-visualisierung-der-gnd-ontologie-mit-den-für-uns-relevanten-bereichen-personen-orte-und-dinge">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Visualisierung der GND Ontologie, mit den für uns relevanten Bereichen Personen, Orte und Dinge." srcset="
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/gnd_ontology_huc2fd5ef60259cb939e2f1be69042268b_197325_71edcd371b7f2aaada84eb827ee081bc.webp 400w,
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/gnd_ontology_huc2fd5ef60259cb939e2f1be69042268b_197325_3606ef697c47aadeb8ca7f005cb242ca.webp 760w,
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/gnd_ontology_huc2fd5ef60259cb939e2f1be69042268b_197325_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/gnd_ontology_huc2fd5ef60259cb939e2f1be69042268b_197325_71edcd371b7f2aaada84eb827ee081bc.webp"
width="760"
height="578"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Visualisierung der GND Ontologie, mit den für uns relevanten Bereichen Personen, Orte und Dinge.
&lt;/figcaption>&lt;/figure>
&lt;p>Neben den Typen der Objekte in der GND Ontologie gibt es auch vordefinierte Verbindungen zwischen diesen Objekten.
Ein Beispiel ist im folgenden Diagramm für einen Teil der GND-Daten für Winfried Kretschmann gezeigt.
Beispielsweise gibt es die bidirektionale Verbindung &lt;code>hasSpouse&lt;/code>, zwischen ihm und Gerlinde Kretschmann.
Oder die unidirektionale Verbindung &lt;code>placeOfBirth&lt;/code> zwischen der Person Winfried Kretschmann und dem Ort Spaichingen.&lt;/p>
&lt;div class="mermaid">---
title: Visualisierung zu Objekten und Verbindungen in der GND
config:
look: handDrawn
theme: neutral
---
flowchart LR
subgraph place["fa:fa-map-marked Place"]
spaichingen["Spaichingen"]
laiz["Laiz"]
end
subgraph person["fa:fa-user Person"]
kretschmann_winfried["Kretschmann, Winfried"]
kretschmann_gerlinde["Kretschmann, Gerlinde"]
end
subgraph shss["fa:fa-tag Subject heading senso stricto"]
politiker["Politiker"]
politikerin["Politikerin"]
lehrer["Lehrer"]
lehrerin["Lehrerin"]
end
kretschmann_winfried &lt;-- hasSpouse --> kretschmann_gerlinde
kretschmann_winfried -- professionOrOccupation --> politiker &amp; lehrer
kretschmann_gerlinde -- professionOrOccupation --> lehrerin
kretschmann_winfried -- placeOfBirth --> spaichingen
kretschmann_gerlinde -- placeOfBirth --> laiz
kretschmann_winfried -- placeOfActivity --> laiz
lehrer &lt;-- relatedTerm --> lehrerin
politiker &lt;-- relatedTerm --> politikerin
&lt;/div>
&lt;p>Optional kann in einer Ontologie festgelegt werden, dass zum Beispiel eine Verbindung wie &lt;code>placeOfBirth&lt;/code> nur zwischen einer Person und einem Ort existieren kann.&lt;/p>
&lt;h2 id="vorbereitung">Vorbereitung&lt;/h2>
&lt;h3 id="datensatz-laden">Datensatz laden&lt;/h3>
&lt;p>Wir erstellen eine neues Projekt mit dem Namen &amp;ldquo;Kretschmann Kabinett III&amp;rdquo; aus der Datei &lt;code>06_kretschmann-kabinett-iii.csv&lt;/code>.&lt;/p>
&lt;blockquote>
&lt;p>💾 Wir benötigen die folgende Datei (Rechtsklick und &amp;ldquo;Ziel speichern unter&amp;hellip;&amp;rdquo;):&lt;/p>
&lt;/blockquote>
&lt;a href="https://fdmlab.landesarchiv-bw.de/data/openrefine-workshop/06_kretschmann-kabinett-iii.csv" target="_blank">
&lt;i class="fas fa-file-csv pr-1 fa-fw">&lt;/i>Kretschmann III als CSV&lt;/a>
&lt;p>Diese Datei besteht nur aus einer Spalte mit GND-IDs.&lt;/p>
&lt;h3 id="reconciliation-service-hinzufügen">Reconciliation Service hinzufügen&lt;/h3>
&lt;p>Die GND selbst wird von der DNB aktuell als kompletter Datensatz zur Verfügung gestellt und nicht als Service.
Daher nutzen wir den &lt;a href="https://lobid.org/gnd" target="_blank" rel="noopener">GND Service von lobid&lt;/a>. Über diesen kann die GND via einer Online-Oberfläche durchsucht werden. Es gibt aber auch einen so genannten &lt;a href="https://lobid.org/gnd/reconcile" target="_blank" rel="noopener">Reconciliation Service&lt;/a>, mit dem direkt via OpenRefine Daten mit den Daten in der GND abgeglichen werden können.&lt;/p>
&lt;p>Dafür fügen wir den Service zu OpenRefine hinzu. Im Spaltenmenü finden wir den in Abbildung 2 gezeigten Dialog über
&amp;ldquo;GND-ID&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Reconcile&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Start reconciling&amp;rdquo;.&lt;/p>
&lt;figure id="figure-bildschirmfoto-von-openrefine-reconciliation-services">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto von OpenRefine Reconciliation Services." srcset="
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_reconciliation_services_hu8d6a26d9b55f88943ffb6ad478e41a57_18083_147b52cca785efa5f65677fbdabb4985.webp 400w,
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_reconciliation_services_hu8d6a26d9b55f88943ffb6ad478e41a57_18083_8303cd34867b0ee0cc082800e528f491.webp 760w,
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_reconciliation_services_hu8d6a26d9b55f88943ffb6ad478e41a57_18083_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_reconciliation_services_hu8d6a26d9b55f88943ffb6ad478e41a57_18083_147b52cca785efa5f65677fbdabb4985.webp"
width="760"
height="520"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto von OpenRefine Reconciliation Services.
&lt;/figcaption>&lt;/figure>
&lt;p>Über &amp;ldquo;Add Standard Service&amp;rdquo; geben wir die folgende URL ein:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-plain" data-lang="plain">&lt;span class="line">&lt;span class="cl">https://lobid.org/gnd/reconcile/
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="aufgabe-1-daten-nachladen">Aufgabe 1: Daten nachladen&lt;/h2>
&lt;p>Wir wollen die folgenden Spalten zu unserem Datensatz aus der GND ergänzen:&lt;/p>
&lt;ul>
&lt;li>Name der Person&lt;/li>
&lt;li>Geburtsdatum&lt;/li>
&lt;li>Geburtsort&lt;/li>
&lt;li>GND-ID des Geburtsortes&lt;/li>
&lt;li>Liste der Berufe der Person&lt;/li>
&lt;/ul>
&lt;p>Dafür nutzen wir im Spaltenmenü der Spalte &amp;ldquo;GND-ID&amp;rdquo; die Funktion
&amp;ldquo;GND-ID&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Reconcile&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Use values as identifiers&amp;rdquo;
und wählen den Service &amp;ldquo;GND reconciliation for OpenRefine&amp;rdquo; aus.&lt;/p>
&lt;p>Anschließend können wir ebenfalls über das Spaltenmenü mit
&amp;ldquo;GND-ID&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Edit column&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Add column from reconciled values&amp;hellip;&amp;rdquo;
weitere Daten nachladen.&lt;/p>
&lt;p>Das Ergebnis sieht dann ungefähr wie in Abbildung 3 aus.&lt;/p>
&lt;figure id="figure-bildschirmfoto-von-openrefine-ergebnis">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto von OpenRefine Ergebnis." srcset="
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_ergebnis_hu5fcd1a8d65005e27c086d66cbabdad9b_49580_e79caaa3edab95ce0e96d1b63b99d437.webp 400w,
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_ergebnis_hu5fcd1a8d65005e27c086d66cbabdad9b_49580_bd75d9c51074da63cf1a7b787987c320.webp 760w,
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_ergebnis_hu5fcd1a8d65005e27c086d66cbabdad9b_49580_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_ergebnis_hu5fcd1a8d65005e27c086d66cbabdad9b_49580_e79caaa3edab95ce0e96d1b63b99d437.webp"
width="633"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto von OpenRefine Ergebnis.
&lt;/figcaption>&lt;/figure>
&lt;details class="spoiler " id="spoiler-11">
&lt;summary>&lt;strong>Hinweise:&lt;/strong>&lt;/summary>
&lt;p>&lt;ul>
&lt;li>Die Spaltennamen stimmen nicht unbedingt mit der Bezeichnung in der GND überein.&lt;/li>
&lt;li>Die GND-ID des Geburtsortes erhalten wir über die Spalte &amp;ldquo;Geburtsort&amp;rdquo;.&lt;/li>
&lt;li>Sollten Sie für Zeilen keine Ergebnisse erhalten, prüfen Sie ob sich ggf. noch Leerzeichen im Datensatz befinden.&lt;/li>
&lt;/ul>
&lt;/p>
&lt;/details>
&lt;h2 id="aufgabe-2-daten-verknüpfen">Aufgabe 2: Daten verknüpfen&lt;/h2>
&lt;p>Hierfür verwenden wir den Gurs-Datensatz, der uns über den kompletten Workshop begleitet.&lt;/p>
&lt;p>In der Spalte &amp;ldquo;Geburtsort&amp;rdquo; sind nicht alle Orte mit GND-IDs verknüpft. Wir filtern diese Orte und verknüpfen sie mit GND-IDs.&lt;/p>
&lt;p>Dafür nutzen wir im Spaltenmenü der Spalte
&amp;ldquo;Geburtsort&amp;quot;
&lt;i class="far fa-caret-square-down pr-1 fa-fw">&lt;/i>&amp;quot;Reconcile&amp;quot;
&lt;i class="fas fa-caret-right pr-1 fa-fw">&lt;/i>&amp;quot;Start reconciling&amp;rdquo;
und wählen den Service &amp;ldquo;GND reconciliation for OpenRefine&amp;rdquo; aus.&lt;/p>
&lt;figure id="figure-bildschirmfoto-des-gefilterten-gurs-datensatzes-mit-reconciliation-vorschlägen">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Bildschirmfoto des gefilterten Gurs Datensatzes mit Reconciliation Vorschlägen." srcset="
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_gnd_reconciling_hu4d9c700a3cffecb94f94f42023252736_136298_d98f04b062215adbfbfc677066a2fd3f.webp 400w,
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_gnd_reconciling_hu4d9c700a3cffecb94f94f42023252736_136298_23096a6d1f9e5f4fe05c267117e03b79.webp 760w,
/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_gnd_reconciling_hu4d9c700a3cffecb94f94f42023252736_136298_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/06-reconciling-mit-gnd/screenshot_openrefine_gnd_reconciling_hu4d9c700a3cffecb94f94f42023252736_136298_d98f04b062215adbfbfc677066a2fd3f.webp"
width="693"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Bildschirmfoto des gefilterten Gurs Datensatzes mit Reconciliation Vorschlägen.
&lt;/figcaption>&lt;/figure>
&lt;p>Die GND-ID können wir anschließend wie in Aufgabe 1 als extra Spalte hinzufügen. Anschließend verbinden wir die neue Spalte &amp;ldquo;GND-Nummer&amp;rdquo; mit der Spalte &amp;ldquo;Geburtsort (GND-ID)&amp;rdquo; (siehe &lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/03-transformieren/#aufgabe-5-spalten-zusammenf%C3%BChren">Aufgabe 5 in 03 Daten mit OpenRefine umwandeln&lt;/a>).&lt;/p>
&lt;h2 id="fazit">Fazit&lt;/h2>
&lt;p>Durch die Implementierung und Integration des &lt;a href="https://reconciliation-api.github.io/specs/" target="_blank" rel="noopener">Reconciliation Service API&lt;/a> in OpenRefine und der GND von dem &lt;a href="https://www.hbz-nrw.de/produkte/linked-open-data" target="_blank" rel="noopener">hbz&lt;/a> gestaltet sich der Abgleich von ganzen Datensätzen mit der GND auch für technische Laien als machbar.
Im Workshop für Fortgeschrittene besprechen wir, wie wir die Treffer beim Abgleich mit dem lobid API verbessern können.&lt;/p>
&lt;hr>
&lt;p>Im nächsten Teil beschäftigen wir uns mit dem Abgleich von Daten in OpenRefine mit Wikidata.&lt;/p>
&lt;ul class="cta-group">
&lt;li>
&lt;a href="https://fdmlab.landesarchiv-bw.de/workshop/openrefine-einsteiger/07-reconciling-mit-wikidata" class="btn btn-primary px-3 py-3">07 Reconciling mit OpenRefine und Wikidata&lt;/a>
&lt;/li>
&lt;/ul></description></item><item><title>Erste Experimente mit der GND</title><link>https://fdmlab.landesarchiv-bw.de/post/2021-06-erste-experimente-mit-der-gnd/</link><pubDate>Tue, 29 Jun 2021 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2021-06-erste-experimente-mit-der-gnd/</guid><description>&lt;p>Die &lt;em>Gemeinsame Normdatei&lt;/em> (GND) enthält unter anderem semantische Daten zu Personen und Orten.
In diesem Beitrag verwenden wir &lt;em>SPARQL&lt;/em> um die Daten und die Ontologie dahinter besser kennen zu lernen.&lt;/p>
&lt;p>Wir versuchen mit der GND die folgende Frage zu beantworten:&lt;/p>
&lt;blockquote>
&lt;p>Welche Berufe gab es Nürnberg im 17. Jahrhundert.&lt;/p>
&lt;/blockquote>
&lt;p>Zur Beantwortung dieser Frage verwenden wir &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-06-gnd-in-lokale-datenbank-laden/">unseren lokalen Apache Jena Server&lt;/a>.
Die SPARQL-Anfragen können entweder in der Web GUI von Apache Jena ausgeführt werden, oder mit einer der vielen SPARQL-Clients&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>.&lt;/p>
&lt;h2 id="lade-beispielperson">Lade Beispielperson&lt;/h2>
&lt;p>In der &lt;a href="https://d-nb.info/standards/elementset/gnd" target="_blank" rel="noopener">GND Ontology&lt;/a> sind einige Beispiel &lt;em>Entities&lt;/em> genannt.
Wir laden hier das Beispiel für eine &lt;em>Individualisierte Person&lt;/em> der &lt;em>GND ID&lt;/em> &lt;code>118514091&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="nv">?p&lt;/span> &lt;span class="nv">?o&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">118514091&lt;/span> &lt;span class="nv">?p&lt;/span> &lt;span class="nv">?o&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>p&lt;/th>
&lt;th>o&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;a href="http://www.w3.org/1999/02/22-rdf-syntax-ns#type" target="_blank" rel="noopener">http://www.w3.org/1999/02/22-rdf-syntax-ns#type&lt;/a>&lt;/td>
&lt;td>gndo:DifferentiatedPerson&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;a href="http://www.w3.org/2002/07/owl#sameAs" target="_blank" rel="noopener">http://www.w3.org/2002/07/owl#sameAs&lt;/a>&lt;/td>
&lt;td>&lt;a href="http://www.wikidata.org/entity/Q5383" target="_blank" rel="noopener">http://www.wikidata.org/entity/Q5383&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:gndIdentifier&lt;/td>
&lt;td>118514091&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:preferredNameForThePerson&lt;/td>
&lt;td>Bowie, David&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:biographicalOrHistoricalInformation&lt;/td>
&lt;td>spielt zahlreiche Instrumente&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:homepage&lt;/td>
&lt;td>&lt;a href="http://www.davidbowie.com" target="_blank" rel="noopener">http://www.davidbowie.com&lt;/a>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:placeOfBirth&lt;/td>
&lt;td>gnd:4074335-4&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:placeOfDeath&lt;/td>
&lt;td>gnd:4042011-5&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:dateOfBirth&lt;/td>
&lt;td>1947-01-08&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:dateOfDeath&lt;/td>
&lt;td>2016-01-10&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:professionOrOccupation&lt;/td>
&lt;td>gnd:4040841-3&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:professionOrOccupation&lt;/td>
&lt;td>gnd:4032009-1&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:professionOrOccupation&lt;/td>
&lt;td>gnd:4052154-0&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:professionOrOccupation&lt;/td>
&lt;td>gnd:4124099-6&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:professionOrOccupation&lt;/td>
&lt;td>gnd:4167564-2&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>gndo:professionOrOccupation&lt;/td>
&lt;td>gnd:7628944-8&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&amp;hellip;&lt;/td>
&lt;td>&amp;hellip;&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Die Anzahl der Trippel wurde aus Darstellungsgründen gekürzt.
Bei der Person handelt es sich um &lt;em>David Bowie&lt;/em>.
Wir erhalten unter anderem weitere Verweise auf andere Graphen mit Informationen über &lt;em>David Bowie&lt;/em>, persönliche Daten über ihn, sowie eine Liste in der &lt;em>GND&lt;/em> definierter &lt;em>Berufe&lt;/em> und &lt;em>Tätigkeiten&lt;/em>, die er ausgeübt hat.&lt;/p>
&lt;h2 id="berufe-und-tätigkeiten-von-david-bowie">Berufe und Tätigkeiten von David Bowie&lt;/h2>
&lt;p>Als Nächstes suchen wir die Berufe und Tätigkeiten von &lt;em>David Bowie&lt;/em> und berücksichtigen dabei auch alternativen Schreibweisen und Bezeichnungen der Berufe.
Dafür verwenden wir die Verbindung &lt;a href="https://d-nb.info/standards/elementset/gnd#professionOrOccupation" target="_blank" rel="noopener">professionOrOccupation&lt;/a>.
Alternativ gibt es die Verbindung &lt;a href="https://d-nb.info/standards/elementset/gnd#professionOrOccupationAsLiteral" target="_blank" rel="noopener">professionOrOccupationAsLiteral&lt;/a>, die in unseren Tests aber einige fehlerhaft geparste Daten beinhaltete (Zahlen, Buchstaben, &amp;hellip;) oder Zusatzinformationen lieferte (z.B. Zeitraum in der eine Tätigkeit ausgeübt wurde).
Der Beruf ist in der &lt;em>GND&lt;/em> als &lt;a href="https://d-nb.info/standards/elementset/gnd#SubjectHeading" target="_blank" rel="noopener">Schlagwort&lt;/a> (engl. &lt;em>subject heading&lt;/em>) hinterlegt.
Daher holen wir uns für das Schlagwort die bevorzugte Bezeichnung und alternative Bezeichnungen.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?job&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">118514091&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">professionOrOccupation&lt;/span> &lt;span class="nv">?jobId&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?jobId&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">preferredNameForTheSubjectHeading&lt;/span>&lt;span class="err">|&lt;/span>&lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">variantNameForTheSubjectHeading&lt;/span> &lt;span class="nv">?job&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
&lt;p>Musiker, Musikschaffender, Komponist, Tonsetzer, Schauspieler, Darsteller (Schauspieler), Sänger, Konzertsänger, Librettist, Textdichter (Librettist), Bandleader, ld&lt;/p>
&lt;/blockquote>
&lt;p>Zur Übersichtlichkeit haben wir an dieser Stelle eine Listendarstellung für die Ergebnisse gewählt.&lt;/p>
&lt;h2 id="berufe-und-tätigkeiten-in-nürnberg-fixiert">Berufe und Tätigkeiten in Nürnberg (fixiert)&lt;/h2>
&lt;p>Nachdem wir herausgefunden haben, wie wir die Berufe und Tätigkeiten einer Person aus der GND auslesen können,
verknüpfen wir diese Information mit einem Ort. Konkret mit dem Ort Nürnberg, welches die &lt;em>GND ID&lt;/em> &lt;code>4042742-0&lt;/code> hat.
Hierfür suchen wir zuerst nach Personen, die über eine Auswahl von Eigenschaften (z.B. Geburtsort) mit Nürnberg verknüpft sind
und suchen dann nach deren Berufsbezeichnungen.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?job&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?person&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">placeOfBirth&lt;/span>&lt;span class="err">|&lt;/span>&lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">placeOfDeath&lt;/span>&lt;span class="err">|&lt;/span>&lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">placeOfActivity&lt;/span>&lt;span class="err">|&lt;/span>&lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">placeOfExile&lt;/span>&lt;span class="err">|&lt;/span>&lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">characteristicPlace&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">4042742-0&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">professionOrOccupation&lt;/span> &lt;span class="nv">?jobId&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?jobId&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">preferredNameForTheSubjectHeading&lt;/span>&lt;span class="err">|&lt;/span>&lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">variantNameForTheSubjectHeading&lt;/span> &lt;span class="nv">?job&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">LIMIT&lt;/span> &lt;span class="mi">20&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
&lt;p>Künstler, Bildender Künstler, Künstlertum, Kunstschaffender, Grafiker, Graphiker, Kupferstecher, Maler, Mathematiker, Diplommathematiker, Zeichner, Musiker, Musikschaffender, Dirigent, Orchesterleiter, Chorleiter, Chorregent, Chordirektor, Chormeister, Chordirigent&lt;/p>
&lt;/blockquote>
&lt;p>Um eine übersichtliche Ergebnismenge zu erhalten, haben wir die Anzahl der Ergebnisse auf 20 limitiert.&lt;/p>
&lt;h2 id="berufe-und-tätigkeiten-in-nürnberg-frei">Berufe und Tätigkeiten in Nürnberg (frei)&lt;/h2>
&lt;p>In der letzten Anfrage haben wir die Art der Verknüpfung von Personen mit dem Ort Nürnberg fixiert.
Dazu gehört ein intensives Studieren der GND Ontoloy.&lt;/p>
&lt;p>Es geht auch einfacher. In der folgenden Anfrage suchen wir nach Personen,
die in irgendeiner Beziehung zu Nürnberg stehen (&lt;code>?person ?p gnd:4042742-0&lt;/code>)
und suchen dann die Berufsbezeichnungen.&lt;/p>
&lt;p>Theoretisch erhöhen wir dadurch die Trefferquote, verringern aber die Genauigkeit.
Praktisch spielte das in unseren Experimenten keine Rolle.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?job&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?person&lt;/span> &lt;span class="nv">?p&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">4042742-0&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">professionOrOccupation&lt;/span> &lt;span class="nv">?jobId&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?jobId&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">preferredNameForTheSubjectHeading&lt;/span>&lt;span class="err">|&lt;/span>&lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">variantNameForTheSubjectHeading&lt;/span> &lt;span class="nv">?job&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">LIMIT&lt;/span> &lt;span class="mi">20&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
&lt;p>Künstler, Bildender Künstler, Künstlertum, Kunstschaffender, Grafiker, Graphiker, Kupferstecher, Maler, Mathematiker, Diplommathematiker, Zeichner, Physiker, Astronom, Astronomen, Kartograf, Kartograph, Pfarrer, Pastor, Evangelischer Theologe, Theologe / Evangelische Kirche&lt;/p>
&lt;/blockquote>
&lt;p>Die Ergebnisse dieser Vorschau unterscheiden sich von der letzten Abfrage, da der Graph in einer anderen Reihenfolge traversiert wird.
Vergleicht man die Gesamtmenge der Ergebnisse, dann unterscheiden sie sich nur in der Reihenfolge der Elemente.&lt;/p>
&lt;h2 id="berufe-und-tätigkeiten-in-nürnberg-im-17-jahrhundert">Berufe und Tätigkeiten in Nürnberg im 17. Jahrhundert&lt;/h2>
&lt;p>Um die Anfrage aus dem letzten Beispiel auf das 17. Jahrhundert einzuschränken,
fügen wir einen Filter für das Geburtsdatum und das Sterbedatum der Personen hinzu.&lt;/p>
&lt;p>Der Vollständigkeit halber, haben wir &lt;code>gndo:dateOfBirth&lt;/code> und &lt;code>gndo:dateOfDeath&lt;/code> optional gesetzt.
Das verhindert, dass wir ungewollt Personen filtern, bei denen eines der beiden Daten fehlt.
Daher brauchen wir noch ein extra Filterkriterium, welches das Geburtsdatum nach unten und das Todesdatum nach oben beschränkt&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">xsd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;http://www.w3.org/2001/XMLSchema#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?job&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?person&lt;/span> &lt;span class="nv">?p&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">4042742-0&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">professionOrOccupation&lt;/span> &lt;span class="nv">?jobId&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?jobId&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">preferredNameForTheSubjectHeading&lt;/span>&lt;span class="err">|&lt;/span>&lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">variantNameForTheSubjectHeading&lt;/span> &lt;span class="nv">?job&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">OPTIONAL&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nv">?person&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">dateOfBirth&lt;/span> &lt;span class="nv">?birthDay&lt;/span> &lt;span class="p">.&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">OPTIONAL&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nv">?person&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">dateOfDeath&lt;/span> &lt;span class="nv">?deathDay&lt;/span> &lt;span class="p">.&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">FILTER&lt;/span> &lt;span class="p">(&lt;/span> &lt;span class="nf">bound&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?birthDay&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">||&lt;/span> &lt;span class="nf">bound&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?deathDay&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">)&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">FILTER&lt;/span> &lt;span class="p">(&lt;/span> &lt;span class="nf">bound&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?birthDay&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="nv">?birthDay&lt;/span> &lt;span class="o">&amp;gt;=&lt;/span> &lt;span class="s">&amp;#34;1501-01-01&amp;#34;&lt;/span>&lt;span class="o">^^&lt;/span>&lt;span class="nn">xsd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">date&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="nv">?birthDay&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;1701-01-01&amp;#34;&lt;/span>&lt;span class="o">^^&lt;/span>&lt;span class="nn">xsd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">date&lt;/span> &lt;span class="p">)&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">FILTER&lt;/span> &lt;span class="p">(&lt;/span> &lt;span class="nf">bound&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?deathDay&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="nv">?deathDay&lt;/span> &lt;span class="o">&amp;gt;=&lt;/span> &lt;span class="s">&amp;#34;1601-01-01&amp;#34;&lt;/span>&lt;span class="o">^^&lt;/span>&lt;span class="nn">xsd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">date&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="nv">?deathDay&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;1801-01-01&amp;#34;&lt;/span>&lt;span class="o">^^&lt;/span>&lt;span class="nn">xsd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">date&lt;/span> &lt;span class="p">)&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">LIMIT&lt;/span> &lt;span class="mi">20&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
&lt;p>Kupferstecher, Zeichner, Künstler, Bildender Künstler, Künstlertum, Kunstschaffender, Maler, Radierer, Buchhändler, Buchführer, Drucker, Buchdrucker, Verleger, Verlagsbuchhändler, Verlagsleiter, Musikverleger, Pfarrer, Pastor, Jurist, Rechtswissenschaftler&lt;/p>
&lt;/blockquote>
&lt;h2 id="methodische-probleme">Methodische Probleme&lt;/h2>
&lt;p>Bevor wir mit diesen Ergebnissen versuchen spezifische Aussagen zu treffen, sollten wir zuerst einige methodische Probleme betrachten.&lt;/p>
&lt;h3 id="-beruf-und--ort">💼 Beruf und 🏠 Ort&lt;/h3>
&lt;p>Die Verknüpfung von Beruf und Ort lässt sich in der GND nur über eine 👤 Person herstellen.
Mit den vorliegenden Daten kann jedoch nicht festgestellt werden, ob die 👤 Person den Beruf (oder die Tätigkeit) auch an diesem Ort ausgeübt hat.
Zum Beispiel wurde Albert Einstein in Ulm geboren, hat den Beruf des Physikers dort jedoch nie ausgeübt.&lt;/p>
&lt;h3 id="-zeit-und--ort">📅 Zeit und 🏠 Ort&lt;/h3>
&lt;p>Mit dem Filter auf Geburtsdatum und Sterbedatum haben wir zwar eine grobe Einschränkung getroffen.
Es ist jedoch nicht zu bestimmen, ob eine 👤 Person mit Sterbedatum 1601 ihren Beruf im 17. Jahrhundert noch ausgeübt hat.
Es ist sicherlich auszuschließen, dass die meisten 👥 Personen mit einem Geburtsdatum von 1699 ihren Beruf im 17. Jahrhundert schon ausgeübt haben.&lt;/p>
&lt;h3 id="-datengrundlage">📜 Datengrundlage&lt;/h3>
&lt;p>Die GND beinhaltet (noch) keinen repräsentative Darstellung der Gesamtbevölkerung.
Es gibt einen starken Bias in Richtung 👥 Personen, die schriftliche Erzeugnisse produzierten, oder künstlerisch tätig waren.
Das wird im folgenden Beispiel deutlich.&lt;/p>
&lt;h2 id="berufe-und-tätigkeiten-in-nürnberg-im-17-jahrhundert-mit-häufigkeit">Berufe und Tätigkeiten in Nürnberg im 17. Jahrhundert mit Häufigkeit&lt;/h2>
&lt;p>Anstatt wie zuvor alle Berufe und Tätigkeiten mit alternativen Bezeichnungen zu sammeln, schreiben wir hier eine Auswertung, die die Häufigkeit der einzelnen Berufe und Tätigkeiten bestimmt. Die alternativen Bezeichnungen, werden in einer separaten Spalte der Ausgabetabelle gesammelt.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;https://d-nb.info/standards/elementset/gnd#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">PREFIX&lt;/span> &lt;span class="nn">xsd&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="nl">&amp;lt;http://www.w3.org/2001/XMLSchema#&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="nv">?job&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nf">COUNT&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?job&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">AS&lt;/span> &lt;span class="nv">?count&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nf">GROUP_CONCAT&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">DISTINCT&lt;/span> &lt;span class="nv">?jobAlternative&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="nf">SEPARATOR&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;, &amp;#34;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="k">AS&lt;/span> &lt;span class="nv">?alternatives&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?person&lt;/span> &lt;span class="nv">?p&lt;/span> &lt;span class="nn">gnd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">4042742-0&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">professionOrOccupation&lt;/span> &lt;span class="nv">?jobId&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?jobId&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">preferredNameForTheSubjectHeading&lt;/span> &lt;span class="nv">?job&lt;/span> &lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">variantNameForTheSubjectHeading&lt;/span> &lt;span class="nv">?jobAlternative&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">OPTIONAL&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nv">?person&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">dateOfBirth&lt;/span> &lt;span class="nv">?birthDay&lt;/span> &lt;span class="p">.&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">OPTIONAL&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nv">?person&lt;/span> &lt;span class="nn">gndo&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">dateOfDeath&lt;/span> &lt;span class="nv">?deathDay&lt;/span> &lt;span class="p">.&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">FILTER&lt;/span> &lt;span class="p">(&lt;/span> &lt;span class="nf">bound&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?birthDay&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">||&lt;/span> &lt;span class="nf">bound&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?deathDay&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">)&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">FILTER&lt;/span> &lt;span class="p">(&lt;/span> &lt;span class="nf">bound&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?birthDay&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="nv">?birthDay&lt;/span> &lt;span class="o">&amp;gt;=&lt;/span> &lt;span class="s">&amp;#34;1501-01-01&amp;#34;&lt;/span>&lt;span class="o">^^&lt;/span>&lt;span class="nn">xsd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">date&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="nv">?birthDay&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;1701-01-01&amp;#34;&lt;/span>&lt;span class="o">^^&lt;/span>&lt;span class="nn">xsd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">date&lt;/span> &lt;span class="p">)&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">FILTER&lt;/span> &lt;span class="p">(&lt;/span> &lt;span class="nf">bound&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?deathDay&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="nv">?deathDay&lt;/span> &lt;span class="o">&amp;gt;=&lt;/span> &lt;span class="s">&amp;#34;1601-01-01&amp;#34;&lt;/span>&lt;span class="o">^^&lt;/span>&lt;span class="nn">xsd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">date&lt;/span> &lt;span class="o">&amp;amp;&amp;amp;&lt;/span> &lt;span class="nv">?deathDay&lt;/span> &lt;span class="o">&amp;lt;&lt;/span> &lt;span class="s">&amp;#34;1801-01-01&amp;#34;&lt;/span>&lt;span class="o">^^&lt;/span>&lt;span class="nn">xsd&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="nt">date&lt;/span> &lt;span class="p">)&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">GROUP BY&lt;/span> &lt;span class="nv">?job&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">ORDER BY&lt;/span> &lt;span class="k">DESC&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nv">?count&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>job&lt;/th>
&lt;th>count&lt;/th>
&lt;th>alternatives&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Kaufmann&lt;/td>
&lt;td>270&lt;/td>
&lt;td>Kaufleute, Fernkaufmann, Fernhandelskaufmann, Großkaufmann, Handelsmann&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Jurist&lt;/td>
&lt;td>270&lt;/td>
&lt;td>Rechtswissenschaftler, Juristischer Beruf, Juristen&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Patriziat&lt;/td>
&lt;td>164&lt;/td>
&lt;td>Patrizier, Stadtadel&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Schriftsteller&lt;/td>
&lt;td>156&lt;/td>
&lt;td>Dichter, Literaturproduzent, Literat, Homme de lettres&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Hochschullehrer&lt;/td>
&lt;td>120&lt;/td>
&lt;td>Professor (Hochschule), Lehrkörper / Hochschule, Lehrpersonal / Hochschule, Universitätsprofessor, Hochschulprofessor&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Verleger&lt;/td>
&lt;td>104&lt;/td>
&lt;td>Verlagsbuchhändler, Verlagsleiter&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Pfarrer&lt;/td>
&lt;td>94&lt;/td>
&lt;td>Pastor&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Arzt&lt;/td>
&lt;td>76&lt;/td>
&lt;td>Mediziner, Ärzte&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Künstler&lt;/td>
&lt;td>72&lt;/td>
&lt;td>Bildender Künstler, Künstlertum, Kunstschaffender&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Unternehmer&lt;/td>
&lt;td>57&lt;/td>
&lt;td>Industrieller, Fabrikant, Entrepreneur&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&amp;hellip;&lt;/td>
&lt;td>&amp;hellip;&lt;/td>
&lt;td>&amp;hellip;&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Zur Übersichtlichkeit haben wir die Tabelle auf 10 Einträge reduziert, sie kann als&lt;/p>
&lt;a href="https://fdmlab.landesarchiv-bw.de/data/nuernberg-jobs-1700.csv">
&lt;i class="fas fa-file-csv pr-1 fa-fw">&lt;/i>CSV komplett&lt;/a>
heruntergeladen werden.
&lt;figure id="figure-silhouette-der-kaiserburg-in-nürnberg-mit-nach-häufigkeit-gewichteter-wortwolke-der-in-der-gnd-gelisteten-berufe-und-tätigkeiten-im-17-jahrhundert-mit-einer-verbindung-zu-nürnberg">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Silhouette der Kaiserburg in Nürnberg, mit nach Häufigkeit gewichteter Wortwolke, der in der GND gelisteten Berufe und Tätigkeiten im 17. Jahrhundert, mit einer Verbindung zu Nürnberg." srcset="
/post/2021-06-erste-experimente-mit-der-gnd/featured_hu9de53fc8c4372273836a8ef7220996a7_256456_ab851dcc72f12f70d2a42e79273a6701.webp 400w,
/post/2021-06-erste-experimente-mit-der-gnd/featured_hu9de53fc8c4372273836a8ef7220996a7_256456_657d5e2dc1cc3c72e35f578ecc54008b.webp 760w,
/post/2021-06-erste-experimente-mit-der-gnd/featured_hu9de53fc8c4372273836a8ef7220996a7_256456_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-06-erste-experimente-mit-der-gnd/featured_hu9de53fc8c4372273836a8ef7220996a7_256456_ab851dcc72f12f70d2a42e79273a6701.webp"
width="760"
height="505"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
Silhouette der Kaiserburg in Nürnberg, mit nach Häufigkeit gewichteter Wortwolke, der in der GND gelisteten Berufe und Tätigkeiten im 17. Jahrhundert, mit einer Verbindung zu Nürnberg.
&lt;/figcaption>&lt;/figure>
&lt;p>Wenn man einen Blick auf diese Auswertung wirft, wird schnell klar, dass dies weder eine repräsentative, noch eine vollständige Darstellung der Berufe und Tätigkeiten im 17. Jahrhundert in Nürnberg darstellt.
Für unseren Streifzug durch die Daten der GND war die Fragestellung jedoch sehr hilfreich.
Und auch im Archivalltag haben wir immer wieder Rechercheaufgaben, in denen konkret nach Personen mit einem bestimmten Beruf gesucht werden, die in einem bestimmten Zeitraum in einer Stadt gelebt haben.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Wir verwenden &lt;a href="https://pypi.org/project/sparql-dataframe/" target="_blank" rel="noopener">sparql_dataframe&lt;/a>.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>Die 100 Jahre sind etwas großzügig, wir erhöhen damit die Trefferquote und verringern die Genauigkeit.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>GND in lokale Datenbank laden</title><link>https://fdmlab.landesarchiv-bw.de/post/2021-06-gnd-in-lokale-datenbank-laden/</link><pubDate>Tue, 22 Jun 2021 00:00:00 +0000</pubDate><guid>https://fdmlab.landesarchiv-bw.de/post/2021-06-gnd-in-lokale-datenbank-laden/</guid><description>&lt;p>Normdaten sind hilfreiche und notwendige Datenquellen zum Aufbereiten, Erschließen und Finden von Archivmaterial.
In diesem Beitrag laden wir die &lt;em>Gemeinsame Normdatei&lt;/em> (GND) zur Weiterverarbeitung in einen lokalen &lt;em>Triple Store&lt;/em> von &lt;em>Apache Jena&lt;/em>.&lt;/p>
&lt;figure class="float-right" id="figure-gnd-logohttpswwwdnbdegnd-von-derdnb-unter-cc-by-sa-lizenzhttpscreativecommonsorglicensesby-sa40">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="[GND Logo](https://www.dnb.de/gnd) von der
DNB unter [CC BY-SA Lizenz](https://creativecommons.org/licenses/by-sa/4.0/)." srcset="
/post/2021-06-gnd-in-lokale-datenbank-laden/gnd_hubf082f7bbdaac622ea39cd2aed6726e1_38178_89e8517eb08384fb4e1deb9cb8ec3e07.webp 400w,
/post/2021-06-gnd-in-lokale-datenbank-laden/gnd_hubf082f7bbdaac622ea39cd2aed6726e1_38178_1b5aa3fd08c0facd7faebc94c2e45e69.webp 760w,
/post/2021-06-gnd-in-lokale-datenbank-laden/gnd_hubf082f7bbdaac622ea39cd2aed6726e1_38178_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-06-gnd-in-lokale-datenbank-laden/gnd_hubf082f7bbdaac622ea39cd2aed6726e1_38178_89e8517eb08384fb4e1deb9cb8ec3e07.webp"
width="200"
height="760"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
&lt;a href="https://www.dnb.de/gnd" target="_blank" rel="noopener">GND Logo&lt;/a> von der&lt;br>DNB unter &lt;a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener">CC BY-SA Lizenz&lt;/a>.
&lt;/figcaption>&lt;/figure>
&lt;h2 id="über-die-gemeinsame-normdatei">Über die Gemeinsame Normdatei&lt;/h2>
&lt;p>Die &lt;a href="https://www.dnb.de/gnd" target="_blank" rel="noopener">GND&lt;/a> ist ein von der Deutschen National Bibliothek (DNB) betreuter Dienst zur kooperativen Nutzung von Normdaten.
Im Archivbereich interessieren wir uns insbesondere für eindeutig zu identifizierende Personen, Orte und Dinge.&lt;/p>
&lt;p>Die GND liegt im Format &lt;a href="https://www.loc.gov/marc/" target="_blank" rel="noopener">MARC 21&lt;/a> und in &lt;a href="https://www.w3.org/RDF/" target="_blank" rel="noopener">RDF&lt;/a> vor und kann über unterschiedliche Schnittstellen abgerufen werden.
Wir konzentrieren uns hier auf die &lt;a href="https://www.dnb.de/DE/Professionell/Metadatendienste/Datenbezug/LDS/lds_node.html" target="_blank" rel="noopener">GND Daten im RDF Format&lt;/a>, da wir diese effektiver durchsuchen können.
Zum heutigen Stand gibt es von Seiten der DNB keinen SPARQL Endpoint für den Zugriff auf die Daten&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>.
Daher spielen wir einen Daten Dump in eine lokale Datenbank ein.
Die Verwendung der Daten in einem Memory basierten Graphen z.B. mit &lt;a href="https://rdflib.readthedocs.io" target="_blank" rel="noopener">RDFlib&lt;/a> funktioniert auf Grund der Größe des Graphen nicht.&lt;/p>
&lt;h2 id="datenbank-apache-jena-fuseki">Datenbank: Apache Jena Fuseki&lt;/h2>
&lt;figure class="float-right" id="figure-apache-jena-logohttpsjenaapacheorg-von-derapache-software-foundation">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="[Apache Jena Logo](https://jena.apache.org/) von der
Apache® Software Foundation." srcset="
/post/2021-06-gnd-in-lokale-datenbank-laden/jena_hu2356985c631d3f3d54e2729962d749aa_49736_9d3ca77f0e108edf462976f508cce2a0.webp 400w,
/post/2021-06-gnd-in-lokale-datenbank-laden/jena_hu2356985c631d3f3d54e2729962d749aa_49736_097e5ee1d49ca7c0cf8db86174ba32cd.webp 760w,
/post/2021-06-gnd-in-lokale-datenbank-laden/jena_hu2356985c631d3f3d54e2729962d749aa_49736_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-06-gnd-in-lokale-datenbank-laden/jena_hu2356985c631d3f3d54e2729962d749aa_49736_9d3ca77f0e108edf462976f508cce2a0.webp"
width="200"
height="525"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
&lt;a href="https://jena.apache.org/" target="_blank" rel="noopener">Apache Jena Logo&lt;/a> von der&lt;br>Apache&lt;sup>®&lt;/sup> Software Foundation.
&lt;/figcaption>&lt;/figure>
&lt;p>Als lokale Datenbank für unser Experiment haben wir uns für &lt;a href="https://jena.apache.org/" target="_blank" rel="noopener">Apache Jena&lt;/a> entschieden.
Das Projekt vereint einen Triple Store (TDB) zum Speichern und Verwalten der RDF Triple der GND,
eine Implementierung von &lt;a href="https://www.w3.org/TR/sparql11-overview/" target="_blank" rel="noopener">SPARQL&lt;/a> namens ARQ, sowie einen SPARQL Endpoint mit Fuseki.
Zusätzlich gib es auch noch Tools zum Arbeiten mit RDF und &lt;a href="https://www.w3.org/OWL/" target="_blank" rel="noopener">OWL&lt;/a>, die wir erstmal nicht nutzen werden.
Da wir &lt;a href="https://fdmlab.landesarchiv-bw.de/post/2021-06-wie-wir-docker-einsetzen/">gerne mit Docker arbeiten&lt;/a>,
es aber kein offizielles Docker Image des Apache Projektes gibt,
verwenden wir das Docker Image &lt;a href="https://hub.docker.com/r/stain/jena-fuseki" target="_blank" rel="noopener">stain/jena-fuseki&lt;/a> aus dem Docker Hub&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>.&lt;/p>
&lt;h2 id="einlesen-der-daten">Einlesen der Daten&lt;/h2>
&lt;div class="alert alert-note">
&lt;div>
Da das Einlesen der Daten mehrere Stunden dauern kann, empfehlen wir den Workflow zuerst mit einem kleineren Testdatensatz auszuführen.
&lt;/div>
&lt;/div>
&lt;p>Zum Einlesen haben wir uns die Datei &lt;code>authorities_lds.nt.gz&lt;/code> aus dem &lt;a href="https://data.dnb.de/opendata/" target="_blank" rel="noopener">DNB Data Dump&lt;/a> heruntergeladen&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>.&lt;/p>
&lt;p>Wir arbeiten mit der folgenden Ordnerstruktur:&lt;/p>
&lt;div class="mermaid">---
title: Ordnerstruktur
config:
look: handDrawn
theme: neutral
---
flowchart TD
subgraph data[far:fa-folder-open data]
fuseki[far:fa-folder fuseki]
fuseki_test[far:fa-folder fuseki_test]
gnd_triples[far:fa-folder gnd_triples]
test_triples[far:fa-folder test_triples]
end
root[far:fa-folder-open gnd_test] --> data
root --> README[far:fa-file README.md]
&lt;/div>
&lt;ul>
&lt;li>&lt;strong>README.md&lt;/strong>: Überblick über das Projekt und die Daten geben!&lt;/li>
&lt;li>&lt;strong>fuseki&lt;/strong>: Ordner zum Persistieren der Datenbank von Apache Jena.&lt;/li>
&lt;li>&lt;strong>fuseki_test&lt;/strong>: Ordner für den Test mit Apache Jena.&lt;/li>
&lt;li>&lt;strong>gnd_triples&lt;/strong>: Speicherort der &lt;code>.nt.gz&lt;/code> Datei.&lt;/li>
&lt;li>&lt;strong>test_triples&lt;/strong>: Speicherort von Testdateien im &lt;code>.ttl&lt;/code> Format.&lt;/li>
&lt;/ul>
&lt;h3 id="testdaten-einlesen">Testdaten einlesen&lt;/h3>
&lt;p>Als erstes starten wir einen Docker Container mit dem Namen &lt;code>fuseki&lt;/code>,
machen die Web GUI verfügbar über &lt;a href="http://localhost:8080" target="_blank" rel="noopener">http://localhost:8080&lt;/a>, setzen
das Administrator Passwort auf &lt;code>123123&lt;/code> und &lt;em>mounten&lt;/em> unsere Testordner in den Container&lt;sup id="fnref:4">&lt;a href="#fn:4" class="footnote-ref" role="doc-noteref">4&lt;/a>&lt;/sup>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">docker&lt;/span> &lt;span class="n">run&lt;/span> &lt;span class="n">-it&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-rm&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-name&lt;/span>&lt;span class="p">=&lt;/span>&lt;span class="n">fuseki&lt;/span> &lt;span class="n">-p&lt;/span> &lt;span class="mf">8080&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="mf">3030&lt;/span> &lt;span class="n">-e&lt;/span> &lt;span class="n">ADMIN_PASSWORD&lt;/span>&lt;span class="p">=&lt;/span>&lt;span class="mf">123123&lt;/span> &lt;span class="n">-v&lt;/span> &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">$(&lt;/span>&lt;span class="n">PWD&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="s2">\data\test_triples:/staging&amp;#34;&lt;/span> &lt;span class="n">-v&lt;/span> &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">$(&lt;/span>&lt;span class="n">PWD&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="s2">\data\fuseki_test:/fuseki&amp;#34;&lt;/span> &lt;span class="n">stain&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="nb">jena-fuseki&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Den Docker Container lassen wir laufen und öffnen ein zweites Terminal (Shell, PowerShell, &amp;hellip;).
Von diesem aus können wir uns mit dem Container verbinden und den Einlesevorgang starten.
Hierfür gibt es zwei Varianten. In der ersten wird das bereitgestellte &lt;code>load.sh&lt;/code> Skript verwendet, welches auf &lt;code>tdbloader&lt;/code> verweist.
Wir verzichten darauf dem &lt;code>load.sh&lt;/code> Skript spezifische Dateien vorzugeben, sondern lesen alle kompatiblen Formate im &lt;code>fuseki_test&lt;/code> Ordner in die &lt;code>test&lt;/code> Datenbank ein.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">docker&lt;/span> &lt;span class="n">exec&lt;/span> &lt;span class="n">-it&lt;/span> &lt;span class="n">fuseki&lt;/span> &lt;span class="p">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">bash&lt;/span> &lt;span class="n">-c&lt;/span> &lt;span class="s1">&amp;#39;./load.sh test&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Abschließend wird der geladene Datensatz in der Web GUI angelegt. In dem folgenden Bildschirmfoto in Abbildung 1 wird ein &lt;code>TDB&lt;/code> Datensatz mit dem Namen &lt;code>test&lt;/code> angelegt. Hier ist der gleiche Bezeichner zu wählen, wie er auch beim Laden verwendet wurde.&lt;/p>
&lt;figure id="figure-hinzufügen-des-test-datensatzes-in-der-web-gui">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Hinzufügen des Test Datensatzes in der Web GUI." srcset="
/post/2021-06-gnd-in-lokale-datenbank-laden/apache-jena-add-test-dataset_hu7de0ec55cdf555c075315fa09a7828f7_31568_3ebcb8e78b5e65817acfcaa7832ab045.webp 400w,
/post/2021-06-gnd-in-lokale-datenbank-laden/apache-jena-add-test-dataset_hu7de0ec55cdf555c075315fa09a7828f7_31568_44ec608008c18bf6afac67dd2ee66eec.webp 760w,
/post/2021-06-gnd-in-lokale-datenbank-laden/apache-jena-add-test-dataset_hu7de0ec55cdf555c075315fa09a7828f7_31568_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-06-gnd-in-lokale-datenbank-laden/apache-jena-add-test-dataset_hu7de0ec55cdf555c075315fa09a7828f7_31568_3ebcb8e78b5e65817acfcaa7832ab045.webp"
width="760"
height="249"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Hinzufügen des Test Datensatzes in der Web GUI.
&lt;/figcaption>&lt;/figure>
&lt;p>Anschließend kann entweder in der Web GUI im Tab &lt;em>info&lt;/em> oder mit dem folgenden SPARQL-Befehl die Anzahl der eingelesenen Trippel bestimmt werden.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="nf">COUNT&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">?s&lt;/span> &lt;span class="nv">?p&lt;/span> &lt;span class="nv">?o&lt;/span> &lt;span class="p">.&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="alternative-mit-tdb2">Alternative mit TDB2&lt;/h4>
&lt;p>Alternativ kann auch der &lt;a href="https://jena.apache.org/documentation/tdb2/" target="_blank" rel="noopener">tdbloader2&lt;/a> verwendet werden. Hier werden explizit nur Dateien im &lt;code>*.ttl&lt;/code> Format eingelesen.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">docker&lt;/span> &lt;span class="n">exec&lt;/span> &lt;span class="n">-it&lt;/span> &lt;span class="n">fuseki&lt;/span> &lt;span class="p">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">bash&lt;/span> &lt;span class="n">-c&lt;/span> &lt;span class="s1">&amp;#39;./tdbloader2 --loc=/fuseki/databases/test /staging/*.ttl&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>In der Web GUI darauf achten, den Datensatz als &lt;code>TDB2&lt;/code> anzulegen.&lt;/p>
&lt;h3 id="gnd-einlesen">GND einlesen&lt;/h3>
&lt;p>Nach einem erfolgreichen Test lesen wir nun die komplette GND ein.
Wir haben uns für &lt;code>TDB2&lt;/code> entschieden, da wir planen den Datensatz länger zu verwenden. Das Einlesen benötigt mit 6 Stunden und 15 Minuten etwa eine Viertelstunde länger als mit der Vorgängerversion &lt;code>TDB&lt;/code>.&lt;/p>
&lt;h4 id="1-starten-des-containers-mit-daten-zum-einlesen">1. Starten des Containers mit Daten zum Einlesen&lt;/h4>
&lt;p>Der folgende Befehl startet einen Docker Container mit dem Verzeichnis der Daten zum Einlesen und einem Verzeichnis zum Speichern der Datenbank von Apache Jena.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">docker&lt;/span> &lt;span class="n">run&lt;/span> &lt;span class="n">-it&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-rm&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-name&lt;/span>&lt;span class="p">=&lt;/span>&lt;span class="n">fuseki&lt;/span> &lt;span class="n">-p&lt;/span> &lt;span class="mf">8080&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="mf">3030&lt;/span> &lt;span class="n">-e&lt;/span> &lt;span class="n">ADMIN_PASSWORD&lt;/span>&lt;span class="p">=&lt;/span>&lt;span class="mf">123123&lt;/span> &lt;span class="n">-v&lt;/span> &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">$(&lt;/span>&lt;span class="n">PWD&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="s2">\data\gnd_triples:/staging&amp;#34;&lt;/span> &lt;span class="n">-v&lt;/span> &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">$(&lt;/span>&lt;span class="n">PWD&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="s2">\data\fuseki:/fuseki&amp;#34;&lt;/span> &lt;span class="n">stain&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="nb">jena-fuseki&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="2-einlesen-der-daten-im-tdb2-format">2. Einlesen der Daten im &lt;code>TDB2&lt;/code> Format&lt;/h4>
&lt;p>In einem separaten Terminal starten wir den Einlesevorgang der GND Daten mit dem &lt;code>tdbloader2&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">docker&lt;/span> &lt;span class="n">exec&lt;/span> &lt;span class="n">-it&lt;/span> &lt;span class="n">fuseki&lt;/span> &lt;span class="p">/&lt;/span>&lt;span class="n">bin&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="n">bash&lt;/span> &lt;span class="n">-c&lt;/span> &lt;span class="s1">&amp;#39;./tdbloader2 --loc=/fuseki/databases/gnd /staging/*.nt.gz&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="3-anlegen-des-datensatzes-in-der-web-gui">3. Anlegen des Datensatzes in der Web GUI&lt;/h4>
&lt;p>Nach dem erfolgreichen Einlesen legen wir den Datensatz in der Weg GUI an.
Hierbei achten wir darauf, den gleichen Bezeichner zu verwenden, wie beim Einlesen und als Format &lt;code>TDB2&lt;/code> zu wählen.&lt;/p>
&lt;figure id="figure-hinzufügen-des-gnd-datensatzes-in-der-web-gui">
&lt;div class="d-flex justify-content-center">
&lt;div class="w-100" >&lt;img alt="Hinzufügen des GND Datensatzes in der Web GUI." srcset="
/post/2021-06-gnd-in-lokale-datenbank-laden/apache-jena-add-gnd-dataset_hu5d67e5c0519dade124681b5a02d949f1_31074_e44833b33d84e25ec3294609e448e6a8.webp 400w,
/post/2021-06-gnd-in-lokale-datenbank-laden/apache-jena-add-gnd-dataset_hu5d67e5c0519dade124681b5a02d949f1_31074_cc005c6d4dc61bb81a6064c541a09cb3.webp 760w,
/post/2021-06-gnd-in-lokale-datenbank-laden/apache-jena-add-gnd-dataset_hu5d67e5c0519dade124681b5a02d949f1_31074_1200x1200_fit_q75_h2_lanczos_3.webp 1200w"
src="https://fdmlab.landesarchiv-bw.de/post/2021-06-gnd-in-lokale-datenbank-laden/apache-jena-add-gnd-dataset_hu5d67e5c0519dade124681b5a02d949f1_31074_e44833b33d84e25ec3294609e448e6a8.webp"
width="760"
height="249"
loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption data-pre="Abbildung&amp;nbsp;" data-post=":&amp;nbsp;" class="numbered">
Hinzufügen des GND Datensatzes in der Web GUI.
&lt;/figcaption>&lt;/figure>
&lt;h4 id="4-exemplarisches-testen-der-eingelesenen-daten">4. Exemplarisches Testen der eingelesenen Daten&lt;/h4>
&lt;p>Anschließend testen wir exemplarisch, ob die Daten nutzbar sind.
Hierfür verwenden wir eine SPARQL Abfrage mit einem Standardbeispiel aus der &lt;a href="https://d-nb.info/standards/elementset/gnd" target="_blank" rel="noopener">GND Ontology&lt;/a>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-sparql" data-lang="sparql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">SELECT&lt;/span> &lt;span class="nv">?p&lt;/span> &lt;span class="nv">?o&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">WHERE&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nl">&amp;lt;https://d-nb.info/gnd/118514091&amp;gt;&lt;/span> &lt;span class="nv">?p&lt;/span> &lt;span class="nv">?o&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Falls zu diesem Zeitpunkt noch keine Ergebnisse angezeigt werden, den Container beenden und wie in Schritt 5 starten.&lt;/p>
&lt;h4 id="5-wiederverwendung-des-containers">5. Wiederverwendung des Containers&lt;/h4>
&lt;p>Um einen neuen Apache Jena Docker Container zu starten und die eingelesenen Daten wiederzuverwenden, kann der folgende Befehl verwendet werden.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="n">docker&lt;/span> &lt;span class="n">run&lt;/span> &lt;span class="n">-it&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-rm&lt;/span> &lt;span class="p">-&lt;/span>&lt;span class="n">-name&lt;/span>&lt;span class="p">=&lt;/span>&lt;span class="n">fuseki&lt;/span> &lt;span class="n">-p&lt;/span> &lt;span class="mf">8080&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="mf">3030&lt;/span> &lt;span class="n">-e&lt;/span> &lt;span class="n">ADMIN_PASSWORD&lt;/span>&lt;span class="p">=&lt;/span>&lt;span class="mf">123123&lt;/span> &lt;span class="n">-v&lt;/span> &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="p">$(&lt;/span>&lt;span class="n">PWD&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="s2">\data\fuseki:/fuseki&amp;#34;&lt;/span> &lt;span class="n">stain&lt;/span>&lt;span class="p">/&lt;/span>&lt;span class="nb">jena-fuseki&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="zusammenfassung-und-ausblick">Zusammenfassung und Ausblick&lt;/h2>
&lt;p>Zu Beginn war es etwas frustrierend, einen funktionierenden Workflow zum Einlesen der Daten in den Docker Container von Apache Jena aufzubauen.
Kleine Abweichungen der obigen Beschreibung oder der Reihenfolge sorgen dafür, dass der komplette Einlesevorgang neu gestartet werden muss.&lt;/p>
&lt;p>Die Einlesezeit wird sich auf anderen Systemen drastisch unterscheiden.
Das liegt unter anderem daran, dass wir bei unseren Tests die Dateien von einem Windows Dateisystem in ein Linux-Dateisystem im Docker Container eingelesen und dann wieder auf das Windows Dateisystem herausgeschrieben haben.&lt;/p>
&lt;p>Mit der Kombination aus Apache Jena, Docker und GND haben wir jetzt eine lokale Testdatenbank, mit der wir intensiv mit den Daten arbeiten können,
ohne durch Bandbreiten- oder API-Beschränkungen ausgebremst zu werden.&lt;/p>
&lt;div class="footnotes" role="doc-endnotes">
&lt;hr>
&lt;ol>
&lt;li id="fn:1">
&lt;p>Alternativ gibt es den Dienst &lt;a href="https://lobid.org/gnd" target="_blank" rel="noopener">lobid&lt;/a> des hbz NRW.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:2">
&lt;p>Zum Zeitpunkt unseres Tests gab es mehrere Probleme, die mit &lt;a href="https://github.com/stain/jena-docker/pull/50" target="_blank" rel="noopener">stain/jena-docker#50&lt;/a> gefixt werden sollten.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:3">
&lt;p>Die Daten werden auch im für die Kompression optimierten &lt;a href="https://www.rdfhdt.org/" target="_blank" rel="noopener">HDT&lt;/a> Format angeboten, jedoch hätten wir dafür &lt;a href="https://www.rdfhdt.org/manual-of-hdt-integration-with-jena/" target="_blank" rel="noopener">Apache Jena für HDT anpassen&lt;/a> müssen.&amp;#160;&lt;a href="#fnref:3" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;li id="fn:4">
&lt;p>Die Sicherheit des Passworts ist hier nicht relevant, da wir die Anwendung lokal auf unserem Rechner testen.&amp;#160;&lt;a href="#fnref:4" class="footnote-backref" role="doc-backlink">&amp;#x21a9;&amp;#xfe0e;&lt;/a>&lt;/p>
&lt;/li>
&lt;/ol>
&lt;/div></description></item></channel></rss>