Skip to content

database

Vera Meister edited this page Jul 28, 2020 · 13 revisions

Zurück zu Entwicklung des RDF-Datenschemas


Aufsetzen der Datenbank

Im Projekt wurde mit verschiedenen RDF-Datenbanken und damit verbundenen Technologien experimentiert. In der Anfangsphase wurde OntoWiki genutzt, um ein einfaches Editieren und Browsen in der Datenbank zu unterstützen. OntoWiki basiert auf einer (inzwischen veralteten Version einer) Virtuoso-Datenbank, die keine SPARQL-1.1-Abfragen erlaubt.

In einer späteren Phase wurde im Kontext einer Kooperation mit der Firma eccenca GmbH aus Leipzig das Produkt Corporate Memory aufgesetzt, welches die Datenbank Stardog verwendet. Hier konnten die Lizenzprobleme nicht befriedigend gelöst werden.

Schließlich fiel die Entscheidung auf Apache Jena Fuseki - eine Open-Source-Datenbank, deren Performance für die Prototyping-Phase vollkommen ausreichend ist und die bezüglich der SPARQL-Abfragen keine Einschränkungen aufweist. Ein Browsen durch die Graph-Daten ist hier nicht möglich, allerdings werden alle Abfrage- und Update-Protokolle sowie vielfältige Ausgabeformate (JSON, XML, CSV, TSV, Tabellarisch) unterstützt. Auch ein direkter Upload von RDF-Dokumenten ist möglich.

Für die erste Spike Solution wurden die Daten für fünf ausgewählte Module aus dem Studiengang Wirtschaftsinformatik Bachelor manuell generiert und in die Datenbank geladen. Die Beschränkung auf wenige Module begrenzte den manuellen Aufwand und schuf zugleich eine sinnvoll auswertbare Datenbasis. Die manuelle Ausführung dieser Aufgabe sorgte für vielfältige Erkenntnisse und Korrekturen am Datenschema.

Die Modulbeschreibungsdaten liegen an der Hochschule in gering strukturierter und heterogener Form vor. Die Heterogenität resultiert nicht nur aus unterschiedlichen Fachkulturen in den drei Fachbereichen, sondern setzt sich vielfach auch innerhalb des Modulkatalogs eines einzelnen Studiengangs fort. Beispielhaft seien aus jedem der drei Fachbereiche je ein aktuell gültiger Modulkatalog verlinkt:

Es musste also ein Weg gefunden werden, diese Daten mit vertretbarem Aufwand in RDF zu überführen. Dafür wurden drei verschiedene Wege erprobt und evaluiert:

Variante 1. Entwicklung eines Python-Skripts auf Basis der re-Bibliothek (Regular Expression).

Variante 2. Entwicklung eines Mapping-Tools auf Basis von Excel-Funktionen und Makros.

Variante 3. Kombination beider Verfahren.

Wegen der Heterogenität und der hohen Anforderungen an die Zieldatenstruktur, wie sie im Datenschema konzipiert wurde, kann davon ausgegangen werden, dass eine vollautomatische Transformation mit einem nicht darstellbaren Aufwand verbunden wäre. Die Varianten 1 und 2 konnten letztlich nur ca. 60 % der gewünschten Struktur fehlerfrei umsetzen, bei zugleich hohem Entwicklungsaufwand und erheblichem Anpassungs-/Änderungsaufwand für jeden einzelnen Modulkatalog. Zugleich erwies sich Variante 2 als schwer wartbar. Für die weitere Arbeit ist demnach eine Kombination dieser Verfahren (also Variante 3) zu präferieren, die allerdings auch manuelle Nachbesserungen erfordert. Letztere erfolgten mit Hilfe der Code-Analyse und -Modifikationsfunktionen von Notepad++.

Beispielhafte Mapping-Tools:

Datenbasis für den Prototypen

Da die Ergebnisse aus dem Mapping nach Variante 1 nicht nachgepflegt wurden, umfasst der Prototyp insgesamt fünf Modulkataloge aus zwei Fachbereichen:

  • alle großen Studiengänge des Fachbereichs Wirtschaft (Wirtschaftsinformatik und Betriebswirtschaftslehre, jeweils Bachelor und Master)
  • Studiengang Informatik Bachelor des Fachbereichs Informatik und Medien, der jedoch massive Überschneidungen mit zwei weiteren Bachelorstudiengängen hat (Applied Computer Science und Medizininformatik), sodass auch hierzu bereits Daten vorliegen.
  • Datendump zum 25.07.2020



Weiter zu Erläuterungen zu den Python-Skripten

Clone this wiki locally