Linked (Open) Data - Von der Theorie zur Praxis

Daten finden

  Daten finden

 

 

Daten finden

 

Einleitung

Jedes Datenprojekt muss mit der Suche nach einschlägigen Daten beginnen. Welche Daten zum Feld unserer Fragestellung stehen zur Verfügung? Können eventuell einschlägige Daten aus bestehenden Anwendungen gewonnen werden? In welchem Format sind die Daten verfügbar und müssen sie eventuell aufbereitet werden, um für unsere Zwecke genutzt werden zu können?

In unserer Beispielapplikation brauchen wir Daten, die uns erlauben:

  • die Stammdaten der Bibliotheken zu validieren und so zu ergänzen, dass wir die Bibliotheken auf einer Karte darstellen können
  • die Daten im Hinblick auf eine Auswertung zu gruppieren
  • die Daten mit anderen Daten in Verbindung zu setzen, um eventuelle Korrelationen aufzudecken.

Im Folgenden beschreiben wir, wie wir die Probleme angegangen sind.

 

Validierung der Daten und Anreicherung mit zusätzlichen Stammdaten

Aufgrund der Anregung von Alex beschliesst der Verband ‚Bibliothek Information Schweiz‘ eine Karte zu erstellen auf der alle Bibliotheken verzeichnet sind. Da der Verband selbst nur über eine Liste der Bibliotheken hat, die auch Mitglied im Verband sind, stützt er sich auf die Bibliotheksstatistik, in der wesentlich mehr Bibliotheken erfasst sind. Noch fehlen dem Verband jedoch die Geodaten zu diesen Bibliotheken.

Für unsere Bespielapplikation suchen wir nach Datensätzen, aus denen wir diese Geoinformation beziehen können. Potentiell gibt es verschiedene Dienste, die diese Information liefern könnte: Von local.ch über google.maps bis hin zu OpenStreetMap (OSM) stehen verschiedene Verzeichnisse zur Verfügung, die auch Geoinformationen zu den Verzeichnungseinheiten vorhalten. Da die Daten der beiden ersten Datenprovider privat und nur mit Einschränkungen nutzbar sind, haben wir uns entschieden, die Daten von OSM zu nutzen. Die Daten von OSM sind offen und sie sind über verschiedene Dienste (z.B. Citymap2go oder Naviki) aufzufinden. So haben die Bibliotheken selbst ein grosses Interesse, hier präsent zu sein und der Verband könnte davon ausgehen, dass sich viele Bibliotheken auf OpenStreetMap eintragen. Für unsere Applikation haben wir die Stammdaten aller in der Statistik verzeichneten Bibliotheken der Kantone Graubünden und Aargau selbst erfasst. Damit verfügen wir für diese Kantone sowohl über die Statistikdaten wie auch die OSM-Daten. Das erlaubt es uns, allenfalls notwendige Validierungen (Korrektur der Bibliotheksnamen etc.) jetzt vorzunehmen. Das ist allerdings ein notwendigerweise manueller Prozess, der nicht zu unterschätzen ist.

Die Daten von OSM sind zwar offen, doch sie liegen nicht in RDF vor. Mit dem Online-Dienst LinkedGeoData.or können die Datensätze aus OpenStreetMap in korrespondierende RDF-Datensätze umgewandelt werden. Über die Programmierschnittstelle (Application Programming Interface, API) von LinkedDeoData kann dies sogar "on the fly" geschehen. Der Online-Dienst stellt auch einen SPARQL-Endpoint mit Weboberfläche zur Verfügung. Leider funktionierte der Online-Dienst nicht zuverlässig. Wir haben deshalb die zu Grunde liegende open source Software genutzt, um Sparqlify lokal zu betreiben und damit die benötigten RDF-Datensätze zu generieren.

 

Datensätze gruppieren

Alex wünschte nicht nur eine Karte, auf der alle Bibliotheken verzeichnet sind, sondern auch eine erste Auswertung, die die Bibliotheksdichte in verschiedenen Regionen zeigt. Um diesem Bedürfnis entgegen zu kommen, suchen wir nach Daten, die es uns erlauben, die Bibliotheksdaten zu sinnvollen Clustern zusammenzufassen. Zweifellos wäre es sowohl für Alex als auch für Livia von Interesse, wenn wir die Bibliotheken nach Wirtschaftsregionen zusammenfassen könnten. Leider haben wir aber keine Datensätze gefunden, die diese Zusammenfassung ermöglicht hätte. So haben wir uns entschieden, auf die politischen Regionen auszuweichen.

Wir suchten somit nach Daten, die es erlauben, die Bibliotheken einem Bezirk resp. einem Kanton zuzuordnen. Die Suche nach Daten beginnt üblicherweise in der LOD Cloud. Unter den zentralsten LOD-Beständen der Cloud finden sich zwei, die uns für die Gruppierung dienlich sein könnten:

Der erste Bestand ist Geonames. Geonames ist ein wichtiger Dienst, da er zahlreiche geographische Entitäten geographisch verortet. In Geonames finden wir die Koordinaten von Gemeinden und derer übergeordneten Einheiten (Bezirken, Kantonen). So finden wir bei Geonames zu jeder Postleitzahl aus der Statistik die Zugehörigkeit zu Bezirken und Kantonen und gewinnen auch die Koordinaten der Grenzen derselben.

Der zweite Bestand ist DBpedia. DBpedia stellt die Infoboxen von Wikipedia im RDF-Format zur Verfügung. In DBpedia findet sich die Zuteilung aller Gemeinden zu Bezirken und Kantonen. Nicht systematisch erfasst sind hier jedoch die Koordinaten der Bezirke. Die Darstellung der Ergebnisse in einer Karte ist somit nicht gewährleistet.

Nicht in der LOD-Cloud verzeichnet sind die Dienste der schweizerischen Bundesämter, die für unsere Zwecke aber auch dienlich sein können. Zu erwähnen sind hier insbesondere die Daten von Swisstopo, die eine Zuordnung eines Ortes zu Bezirken und Kantonen erlauben und die Daten des Bundesamtes für Statistik BfS. Das BfS stellt neu Mappingtabellen von Gemeinden und Bezirken zur Verfügung.

In unserer Beispielapplikation haben wir die geographische Gruppierung der Bibliotheksdaten sowohl mit Geonames wie auch mit Hilfe der der Mappingtabelle des BfS vorgenommen. Wir haben beide alternativen Wege beschritten, um auf verschiedene mögliche Wege hinzuweisen.

 

Daten korrelieren

Schliesslich will Livia die Bibliotheksdaten auch in Zusammenhang mit Sozialdaten bringen. Um ihr dies zu ermöglichen suchen wir nach Daten, die solche Korrelationen ermöglichen. Die naheliegendste Quelle für solche Daten ist wiederum das Bundesamt für Statistik. Zu unserer Freude hat das BfS kürzlich in einem Pilot erste Datensätze der Bevölkerungsstatistik auch als RDF publiziert. Wie wir unten zeigen werden, können wir mit einer föderierten SPARQL-Abfrage diese Daten mit unseren Bibliotheksdaten in Verbindung bringen.

 

Protokolle der Realisierung