Wie ein Triplestore Daten der Schweizer Seen veröffentlichen kann

Das Bundesamt für Umwelt (BAFU) nutzt als Datenbank einen TripleStore um Umweltdaten im Internet zu veröffentlichen. In diesem Artikel wird aufgezeigt, welche Vorteile eine solche Technologie beim Aufbau eines Netzwerks von Umweltdaten bieten kann.

Das BAFU hat in Zusammenarbeit mit dem Bundesarchiv (BAR) unter lindas.admin.ch einen TripleStore in Betrieb genommen und dort erste Umweltdaten veröffentlicht, die mit Hilfe von SPARQL abgefragt werden können. Möchte man technisch weniger tief einsteigen, kann man über die Website visualize.admin.ch selbständig die Umweltdaten aus Lindas in Diagramme umsetzen. Visualize greift dazu live via SPARQL auf die in Lindas gespeicherten Triples zu.

Betreffend URIs stehen wir bei den Umweltdaten noch am Anfang. Sollten andere Umweltorganisationen ebenfalls auf die TripleStore Technologie setzen, ist es durch die Ergänzung von URIs aber nur noch ein kleiner Schritt zum übergreifenden Umweltdatennetz. Viele bekannte Werkzeuge und Datenbanken nutzen Tabellen als Basis zur Informationsverarbeitung. Zum Beispiel wird zur Bestimmung der Badewasserqualität in den Seen die Konzentration einzelner Bakterien gemessen. In Tabellenform könnten diese Messungen wie folgt veröffentlicht werden:

Die für dieses Beispiel gewählte Struktur erscheint intuitiv – wurde aber völlig willkürlich getroffen. Denkbar wäre es

  • die Spalte Einheit wegzulassen, da ihr Wert immer gleichbleibend ist
  • die Namen der Spalten ins Englische zu übersetzen
  • weitere Spalten hinzuzufügen, wie z.B. die Messmethode oder der Standort des Messgeräts

Der Kreativität sind hier keine Grenzen gesetzt. Leider erschwert diese Flexibilität aber gerade auch das Zusammenführen von Daten aus unterschiedlichen Quellen.

Triples stellen eine Möglichkeit dar, Informationen standardisiert zu modellieren. Dazu wird die Information in drei Bereiche (daher der Name Triple) aufgeteilt:

  • Einem Subject – das «Thema» über das wir etwas aussagen wollen (z.B. das Nordbad)
  • Einem Prädikat (besser Property Eigenschaft) des Subjects (z.B. Datum an dem eine Messung erfolgt ist, und
  • Einem Object, dass den Wert der Property enthält (z.B. 01.07.2022)

Die Sammlung aller Informations-Triples bildet dann die TripleStore Datenbank:

Alle TripleStores verfügen über genau diese Struktur – und auch wenn diese Struktur auf den ersten Blick etwas einfach aussieht, so kann sie doch schon eine Reihe interessanter Fragen beantworten.

  • Frage: Welche Subjects sind im TripleStore?
  • Antwort: Nordbad, Südbad
  • Frage: Welche Properties hat das Subject Nordbad?
  • Antwort: Datum, Parameter, Wert
  • Frage: Welche Parameter wurden gemessen?
  • Antwort: e.Coli, Enterokokken

Ohne die Struktur jemals ändern zu müssen können im Laufe der Zeit immer weitere Informationen ergänzt werden. Mit einem neuen Triple wie (Enterokokken, Kategorie, Bakterien) wird das Object Enterokokken nun als Subject verwendet und diesem über eine Property «Kategorie» das neue Object Bakterien zugeordnet. Auf diesem Weg entstehen komplexe Graphen, die Anfragen erlauben wie «Welche Bakterien wurden im Nordbad untersucht? ». Technisch werden die Anfragen an den TripleStore in der Sprache SPARQL ausgedrückt. Konsequenterweise wird auch hier mit Triples gearbeitet.  Das folgende Muster (Südbad, Parameter, ?) sucht z.B. alle Objects, deren Subject den Wert «Südbad» und deren Property den Wert «Parameter» hat. In diesem Fall würde die Antwort «Enterokokken» lauten.

Zusammenfassung

Ein TripleStore ist eine Datenbank, die Informationen in Form von Triples speichert. Wird der TripleStore im Internet verfügbar gemacht, können Anwender über das Web SPARQL-Abfragen an den Server senden und erhalten so immer die aktuellsten Daten. Da alle TripleStores die gleiche Struktur zur Speicherung von Informationen verwenden, können Daten aus verschiedenen Quellen sehr viel einfacher zusammengeführt werden.


Der Zusammenhang zu Linked Data 

Die Vision ist sehr einfach: Genauso wie Webseiten miteinander verlinkt werden, können wir Triples aus verschiedenen TripleStores miteinander verlinken. Die Umsetzung dieser Vision gestaltete sich anfangs allerdings schwierig und benötigte eine Reihe neuer Ideen.

Die Herausforderung

Nehmen wir noch einmal die Bakterien aus dem obigen Beispiel. Will man Informationen aus mehreren Systemen zusammenführen, ist es wichtig, dass für diese Bakterien der gleiche Name verwendet wird. Verwendet jeder Autor einen eigenen Namen oder eine eigene Schreibweise (z.B. e.Coli, eColi, EColi) ist es nur mit hohem manuellem Aufwand möglich zu entscheiden, dass hier das gleiche Bakterium gemeint ist.

 Gesucht wird …

Was uns helfen würde, wäre ein sogenannter URI (Uniform Resource Identifier, zu deutsch: eine einheitliche Identifikation für eine Ressource). Gäbe es eine solche URI – und nennen wir sie hier im Beispiel vereinfacht URI_ECOLI, dann könnte jeder TripleStore, der Informationen zu diesem Bakterium enthält, ein Triple ergänzen wie:

(e.Coli, URI, URI_ECOLI)

Mit dieser neuen Information wird der interne Name e.Coli mit der weltweit eindeutigen ID URI_ECOLI verknüpft. Würde ein anderer TripleStore unter dem Namen e-Coli Informationen zu diesem Bakterium verwalten und dort auch den Link zwischen e-Coli und URI_ECOLI herstellen, ist sichergestellt, dass es sich um das gleiche Thema handelt und die Daten können (z.B. in einer SPARQL Abfrage) zusammengeführt werden.

Eine Lösung

Es gibt inzwischen sehr viele Ansätze zur Erzeugung von URIs, der bekannteste basiert auf der Nutzung der Information aus Wikipedia.

Bereits im Jahr 2007 wurde in einem Gemeinschaftsprojekt der Inhalt der Wikipedia in einen TripleStore konvertiert und jedes dieser Triple kann seitdem über eine URI identifiziert werden. So lautet z.B. der URI der Berner Fachhochschule https://dbpedia.org/resource/Bern_University_of_Applied_Sciences[1]

Wenn es also zu einem Thema einen Eintrag in der dbpedia gibt, so bietet es sich an, diesen URI wie oben beschrieben in seinen TripleStore aufzunehmen und darüber die Verbindung zu anderen TripleStores herzustellen.

Zusammenfassung

Um Daten in linked data umzuwandeln, müssen diese mit Hilfe von URIs so angereichert werden, dass sichergestellt werden kann, dass Daten aus verschiedenen Quellen dieselbe Bedeutung haben. Der TripleStore liefert die technische Basis, das Erweitern der Informationen um URIs erfordert jedoch manuelle Arbeit. Diese wird aber durch die Möglichkeit, Daten sinnvoll miteinander zu vernetzen, belohnt.


Referenzen

  1. Semantic Web for the Working Ontologist. Dean Allemang, James Hendler, Fabien Gandon, acm, 3rd Edition, 2020
  2. A Developer’s Guide to the Semantic Web. Liyang Yu, Springer Verlag, 2016
  3. The Semantic Web. Tim Berners-Lee, James Hendler, Ora Lassila, Scientific American, Ausgabe vom 01.05.2001
  4. Website: lindas.admin.ch
  5. Die LinkedData Webseite vom BAFU und dem BAR
  6. Website: visualize.admin.ch. Erstellen von Datenvisualisierungen basierend auf den Umweltdaten aus Lindas

[1] Die oben angegebene URI passt ihre Darstellung dem Programm an, das die Anfrage gesendet hat. Wird die URI in einen Browser eingegeben erhält man die Triples in Form einer HTML Seite. Um die «nativen» Triples der Berner Fachhochschule anzuschauen, benötigt man einen RDF Browser, alternativ den Link: https://dbpedia.org/data/Bern_University_of_Applied_Sciences.xml

AUTOR/AUTORIN: Markus Böhme

Markus Böhm ist wissenschaftlicher Mitarbeiter für Digitalisierung beim Bundesamt für Umwelt (BAFU).

PDF erstellen

Ähnliche Beiträge

1 Antwort
  1. Prof. Alexander Hunziker
    Prof. Alexander Hunziker sagte:

    Danke Markus, dass Du dieses Pronzip und die Tools so anschaulich erklärst. Ich bin überzugt, dass es einen Quantensprung bezüglich der Nützlichkeit bedeutet, wenn Daten nicht nur «open» sind, sondern auch «networked». Entsprechend wichtig finde ich, dass sich grosse Players darauf verständigen. Toll, geht das BAFU hier voran.

    Antworten

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert