Linked (Open) Data - Von der Theorie zur Praxis

In der Linked Data Umgebung Daten aus Datenbanken nutzen

  In der Linked Data Umgebung Daten aus Datenbanken nutzen

 

 

In der Linked Data Umgebung Daten aus Datenbanken nutzen

Die oben geschilderten Möglichkeiten, zum flexiblen Aufbau von neue Applikationen mittels Linked Data stehen Unternehmen offen, die die Datenverwaltung von Grund auf neu konzipieren können. In der Regel sind Unternehmen jedoch in einer andern Situation. Normalerweise sind verschiedene Fachapplikationen parallel im Einsatz. Daten sind in zahlreichen Datenbanken gefangen und erst im Nachhinein wird offensichtlich, dass hier Redundanzen bestehen und Daten miteinander verknüpft werden sollten. In dieser Situation ist der Entscheid auf eine Architektur mit Linked Data umzustellen ungemein schwieriger, da die bestehenden Informationssysteme abgelöst werden müssten. Meist ist das ein Schritt, der kaum zu wagen ist.

Doch der radikale Schritt ist nicht zwingend. Die Daten aus relationalen Datenbanken (Fachapplikationen) können in eine linked enterprise data-Umgebung eingebunden werden. Legt man einen Layer über die Datenbank, gelingt es, gezielt Daten aus der Datenbank zu exportieren und in RDF-Datensätze zu konvertieren. Diese Datensätze stehen im Triple-Store so für eine Weiterverarbeitung in der Linked Data Umgebung zur Verfügung, auch wenn die Fachanwendung weiterhin genutzt wird.

In unserer Beispielapplikation haben wir Daten aus der bestehenden Personaldatenbank in die LED-Umgebung eingebunden. In der Personaldatenbank sind alle Mitarbeitenden mit ihren Stammdaten und weiteren anstellungsrelevanten Daten erfasst. Die HR-Abteilung von energyinfo.ch führt hier die Personaldossiers. Dies soll auch weiterhin möglich sein.

In jüngster Zeit ist energyinfo.ch stark gewachsen. Aufgrund dieses Wachstums wurde der Betrieb reorganisiert. Neu sollen sich die Mitarbeitenden auf einzelne Produktegruppen spezialisieren, so dass sich interessierte Personen nicht mehr nur auf dem Portal informieren können, sondern auch eine persönliche Beratung bei den Mitarbeitenden in Anspruch nehmen können. Die SpezialistInnen betreuen jeweils auch diejenigen Firmen, die Produkte des Spezialgebiets der Mitarbeitenden anbieten.

In einer neuen Fachapplikation soll nun festgehalten werden, welche Mitarbeitenden für welche Produktegruppen und welche Firmen zuständig sind. Vorerst gilt es diese Funktionalität mittels interner Reports zu realisieren. Später sollen dann auch NutzerInnen des Portals recherchieren können, wer für welche Produktegruppen zuständig ist. Dies ist in der Personaldatenbank nicht zu realisieren.

In unserer Beispielapplikation setzen wir die Software D2RQ (Accessing Relational Databases as Virtual RDF Graphs) ein, die es uns erlaubt, einen Layer über die Datenbank zu legen. Mit diesem Layer können die Daten der Datenbank wie RDF-Daten behandelt werden. Dazu gilt es zu definieren, welches Vokabular zur Strukturierung der Daten verwendet werden soll. In Analogie zu den Firmendaten verwenden wir hier schema.org. Werden die Stammdaten der Mitarbeitenden in den Triple-Store importiert, kann diese neue Funktion jedoch ohne Weiteres realisiert werden.

Unsere Personaldatenbank enthält u.a. die folgenden Daten, die wir teilweise auch in der linked data-Umgebung nutzen wollen:

id firstname lastname age street postcode city
1 Peter Müller 28 Ausserdorfstrasse 7000 Chur
2 Claudia Schneider 44 Poststrasse 7208 Malans
3 Stefanie Keller 35 Im Gargell 7306 Fläsch

Diese Daten werden in regelmässigen Intervallen exportiert, in RDF konvertiert und in den Tripel-Store abgelegt. Neue Beziehungen können nun im Tripel-Store definiert werden. Hier kann somit definiert werden: Mitarbeiterin X (Name und Personalnummer werden aus der Personaldatenbank bezogen) ‚ist Spezialistin für‘ ‚Wärmepumpen‘; oder: Mitarbeiter X hat im Pad Y einen Eintrag gemacht.

Ein Datensatz eines Mitarbeiters in im Triple-Store sieht dann inklusive der Verlinkungen wie folgt aus:

Obwohl die Daten zu den Mitarbeitern in einer bestehenden Datenbank gefangen sind, gelingt es so, relativ einfach neue Funktionalitäten zu realisieren, ohne dass eine neue Applikation geschaffen werden müsste.

 

Protokolle der Realisierung