Das Open Linked Data Projekt OD.FMI der Fakultät

Inhalt


Über einen SPARQL Endpunkt können Interessenten lesend auf die aktuellen Stundenplandaten zugreifen. Diese Datenbasis od.fmi ist die Primärquelle der Stundenplandaten an der Fakultät. Dort werden schrittweise weitere Daten integriert, die für das operative Geschäft auf Fakultätsebene relevant sind. Sie haben damit in der Regel nichts zu tun, können aber diese Daten in eigenen Applikationen ebenfalls verwenden. Bitte nehmen Sie bei Interesse Kontakt mit mir auf.


Diese Entwicklungen sind ein komplexer Showcase für das Ontowiki-Projekt unseres Lehrstuhls.

Workflow


Die im RDF Store od.fmi.uni-leipzig.de vorgehaltene Datenbasis orientiert sich grundsätzllich am aktuellen, operativen Zustand der Lehrplanungsdaten der Fakultät. Änderungen werden sowohl in den semesterspezifischen als auch den semesterübergreifenden RDF-Graphen (studium, rooms, personal) aktuell gehalten, Querverbindungen zwischen verschiedenen Graphen orientieren sich immer am operativen Zustand.


Um auch Zustandsbeschreibungen vergangener Semester verfügbar zu machen, müssen diese zusammen mit den damals gültigen Querverbindungen in die semesterübergreifenden Daten archiviert werden. Dies geschieht nach Ablauf des jeweiligen Semesters als Schnappschuss über eine entsprechende SPARQL-Anfrage. Die dabei erzeugte Turtle-Datei wird im od.fmi-Archiv gespeichert.


Im RDF Store od.fmi.uni-leipzig.de (und damit über den SPARQL-Endpunkt abfragbar) werden nur die semesterspezifischen Daten des vergangenen, aktuellen und kommenden Semesters vorgehalten. Die anderen semesterspezifischen Daten werden nach Fristablauf im Store gelöscht und stehen danach nur noch in der archivierten Form zur Verfügung.

Struktur der Datenquelle


Die URL der einzelnen Ontologien lautet http://od.fmi.uni-leipzig.de/<name>/


Die Datenquelle besteht aus mehreren Wissensbasen, und zwar


den semesterübergreifende Wissensbasen, jeweils auf dem Stand des aktuellen Lehrangebots

  • model (Präfix od:) – Klassenstruktur der Wissensbasen
  • almaweb (Präfix aw:)- Schnittstelle zu Almaweb, derzeit nur zur Modellierung der Verbindung zur Almaweb Kurs-Modul-Struktur
  • personal (Präfix odp:) – Mitarbeiter (und zukünftig Abteilungen)
  • rooms (Präfix odr:) – Räume (und zukünftig genauere Lage derselben)
  • studium (Präfix ods:) – Units, Module, Zeitfenster, od:Studiengang, od:StudiengangSemester

Semesterspezifische LV-Wissensbasen (importieren die semesterübergreifenden Wissensbasen)

  • w14 – Lehrveranstaltungen im Wintersemester 2014/15
  • s15 – Lehrveranstaltungen im Sommersemester 2015
  • p15 – Lehrveranstaltungsblock im September 2015
  • w15 – Lehrveranstaltungen im Wintersemester 2015/16

Die LV-Wissensbasen seit 's10' liegen in archivierter Form vor, wobei der jeweils aktuelle Schnappschuss der Wissensbasis 'studium' importiert sowie die Referenzen auf Räume und Personen aufgelöst wurden.


Das Projekt folgt einer iterativen Entwicklungsmethodik. In die aktuellen Datenstrukturen werden nur Korrekturen eingearbeitet, die den Betrieb beeinträchtigen. Grundlegendere Strukturänderungen werden ausschließlich im Vorfeld der LV-Planung für das nächste Semester umgesetzt und für die Daten der neuen Lehrplanung wirksam.

Änderungen der Struktur der Datenquelle


  • Juni 2015: od:inTimeSlotLA aus dem Units entfernt, wird nur noch über Studiengang Semester verwaltet.
  • Oktober 2014: RDF-Graphen Groups.ttl und Janassary.ttl (nicht dauerhaft öffentlich) ergänzt, um die Zuordnung zu einzelnen Organisationseinheiten abzubilden und dies mit dem Jahresdump von Dr. Janassary abzugleichen. Umbenennung des RDF-Graphen mit der Personalliste in Personal.ttl, der Namensraum odp: bleibt aber <http://od.fmi.uni-leipzig.de/personal/>.
  • März 2013: od:Person zu foaf:Person migriert
  • Juni 2012: Neue Wissensbasen almaweb und kurse angelegt. kurse enthält die Semester übergreifende Zuordnung von Kursen zu Units, s12 und w12 wurden entsprechend abgespeckt.
  • Feb 2012: Die bisherige Einheit Block wurde zugunsten von Unit komplett aufgelöst, eine weitere Einheit Kurs (Namensraum ods) wurde zwischen Unit und LV eingeschoben, um die Almaweb-Modellierung abzubilden.
  • Nov 2011: Die Einführungsveranstaltungen (Programmierpraktikum und Propädeutikum) wurden in eine eigene Wissensbasis ausgelagert, um sie ohne Datenredundanz für den Stundenplan sowohl im Sommer- als auch im Wintersemester verfügbar zu machen.
  • Aug 2011 – Wirksam ab Wintersemster 2011/12
    • Die bisherige Struktureinheit Block wurde in die Struktureinheiten Block (semesterspezifische Informationen) und Unit (semesterübergreifende Informationen) zerlegt. Letztere wurden in die Wissensbasis studium verschoben. Die Verbindung zwischen beiden wird durch das neue Feld od:relatedUnit hergestellt. Einander entsprechende Einheiten haben den gleichen relativen Namen und unterscheiden sich nur durch den jeweiligen Namensraumpräfix.
    • Neue Prädikate bei Studiengang+Semester: od:estimatedPeople, od:inTimeSlotLA, od:toStudiengang, od:hasSemesterType
    • Typ od:Semester wurde abgeschafft, die entsprechenden Informationen als globale Eigenschaften der LV-Wissensbasis abgespeichert.
  • 2011–02–21: od:additionalInformation – ergänzt als Prädikat von od:LV
  • 2010–11–05: od:hasStatus – ergänzt als Prädikat von od:LV
  • 2010–09–18: Umbenennungen und Erweiterungen laut obiger Übersicht. Wissensbasis general aufgelöst und in rooms, studium, personal unterteilt. s10 und w10 wurden entsprechend umgeschrieben.
  • 2010–07–02: od:lvBeginn und od:lvEnde als Attribute der LV-Datenbasis w10 und s10
  • Juni 2010: Wissensbasis general (allgemeine Daten) aus w10 abgespalten und in w10 als odg: importiert. s10 bleibt, wie es war, wegen Bezug zum SWT-Praktikum.
  • Mai 2010: Aufnahme einer Klasse od:Semester – Informationen zum jeweiligen Semester (deprecated – nun als Eigenschaften (Klassenattribute) der Ontologie selbst)

Probleme


od:additionalInformation enthält auch HTML-Tags, die zu Problemen führen

  • SPARQL scheint einzelne HTML-Elemente zu verschlucken (inbs. a-Tag)
  • Jena API wird mglw. von HTML-Tags in Strings verwirrt und endet mit “Stax Error”

Achtung, keine & in Links verwenden, das bringt den Parser aus dem Takt!

Änderungen

Änderungen zum Wintersemester 2015/16


  • Zeitfenster E1 (LA.SMath-Gym/MS.3) und F1 (LA.SMath-MS.6) als Erweiterungen der Zeitfenster E und F ergänzt
  • od:inTimeSlotLA aus dem Units entfernt, wird nur noch über Studiengang Semester verwaltet.
  • Die ausgelaufenen Studiengänge Master Lehramt wurden komplett entfernt.

Änderungen zum Sommersemester 2015


  • Die ausgelaufenen Studiengänge Bachelor Lehramt wurden komplett entfernt.
  • Einarbeitung der beiden FKV vom 23.01.2014 mit der Wifa.
  • Der Workflow des Portals wurde konkretisiert und schriftlich fixiert.
  • Einbau von od:ProKooperation, Hinterlegung der dort einbezogenen LV und Einarbeitung des Lehrangebots der HTWK, das im Rahmen des Kooperationsprojekts angeboten wird.

Änderungen zum Wintersemester 2014/15


  • RDF-Graphen Groups.ttl und Janassary.ttl (nicht dauerhaft öffentlich) ergänzt, um die Zuordnung zu einzelnen Organisationseinheiten abzubilden und dies mit dem Jahresdump von Dr. Janassary abzugleichen. Umbenennung des RDF-Graphen mit der Personalliste in Personal.ttl, der Namensraum odp: bleibt aber <http://od.fmi.uni-leipzig.de/personal/>.
  • Zuordnung des Personals zu Struktureinheiten: foaf:Group wurde durch org:OrganizationalUnit ersetzt, ein neuer Namensraum-Präfix odg: für Organisationseinheiten eingeführt und weiter der RDF-Graph Zuordnung Personal.ttl angelegt, wo die Zugehörigkeit über das Prädikat org:memberOf beschrieben wird.

Änderungen zum Sommersemester 2014


  • Um Inferenzen zu vermeiden, sind im Portal immer nur die beiden aktuellen Studienjahre enthalten, alle anderen liegen in archivierter Form im Repo.
  • Die Units *.Schwerpunkt der Mathematik wurden in Studium.ttl durch die Kurse *.K1 = Spezialvorlesungen und *.K2 = Fachseminare untersetzt, so dass in den jeweiligen Stundenplänen nur noch die Zuordnungen der LV enthalten sind.
  • Aufsetzen eines cron-Jobs, der die Ausgaben unter http://www.informatik.uni-leipzig.de/~graebe/stdplan einmal täglich neu aus den Quellen erzeugt.
  • Die Daten wurden auf einen neuen Rechner umgesetzt, auf dem ein Virtuoso basiertes Ontowiki läuft. Damit dient Ontowiki allein noch dem Editieren (durch berechtigte Personen) und Inspizieren der RDF-Datenbasis.
  • Obsolete alte Lehramtsstudiengang-Semester LA.B*.4 wurden entfernt samt der ausschließlich für diese eingestellten Modulbeschreibungen.
  • Weitere Modulbeschreibungen der Lehramtsstudiengang-Semester LA.S*.* wurden eingearbeitet, insbesondere LA.S*.4.

Änderungen zum Wintersemester 2013/14


  • Obsolete Module und die Unit Unit.Obsolete sowie in der Lehre nicht mehr aktives Personal wurden gelöscht.
  • Es wurde ein ordentlicher Archivierungsprozess alter Studienjahres-Beschreibungen mit Import der relevanten Informationen aus den aktuell gültigen studienjahresübergreifenden Wissensbasen unter Nutzung eines lokalen Sparql-Endpunkts aufgesetzt.
  • Studiengänge Physik: Obsolete Units entfernt
  • Abgleich der Modulnummern im Master Informatik und Ergänzung des Studiengangs Master Bioinformatik
  • Aktualisierung der Modulnummern der Lehramtsstudiengänge
  • Obsolete Klasse Module Description gelöscht, hatte keine Instanzen mehr.
  • od:hasStatus um Wert “reserve” ergänzt, der im Stundenplan Zerbst nicht angezeigt wird.
  • Studiengang Master Bioinformatik integriert

Änderungen zum Sommersemester 2013


  • Personal.ttl auf foaf:Person geändert
  • Instanzen von od:Kurs wurden in die Wissensbasis Studium integriert.
  • LVType und LVCategory in der Almaweb-Anbindung von Literal auf URI umgeschrieben.
  • Die entsprechenden Semesterinformationen für Lehramt auf Staatsexamen 2. und 3. Semester gefixt und alte Bachelorstudiengänge Lehramt entfernt.
  • Studiengänge Physik in Phys.Mathe- 1..4 und IPSP.Mathe-1..4 vereinheitlicht. Obsolete Units mit level=X markiert. Fliegen perspektivisch raus. So weit Modulbeschreibungen da sind, weisen die Module auf die Unit Unit.Obsolete und werden gelöscht, wenn entsprechende Beschlüsse des Fakultätsrats vorliegen. Wissensbasis Studium stellt damit ebenfalls nur die Sicht auf das operative Geschäft dar.

Änderungen zum Wintersemester 2012/13


  • Erweiterung der Datenbasis um ein Feld od:hasExpandedDates, unter dem zu einem Regular Event die genauen Wochentage dieses Termins eingetragen werden können. Diese können mit dem Skript expandDates.pl erzeugt werden und sind für die Räume in Verwaltung der Fakultät in w12 nachgetragen.
  • Neue Studiengänge LA.SMath-Gym, LA.SMath-MS, LA.SMath-GS, LA.SInf-Gym, LA.SInf-MS für Lehramt auf Staatsexamen eingerichtet und die entsprechenden Semesterinformationen für 1. Semester gefixt.
  • Räume der Fakultät in rooms (entsprechend Zuständigkeit fmi-goetz, fmi-wenzel, fmi-other) und Organisationszugehörigkeit von Personen in personal ergänzt.
  • Neue Wissensbasen almaweb und kurse angelegt. kurse enthält die Semester übergreifende Zuordnung von Kursen zu Units, s12 und w12 wurden entsprechend abgespeckt. Nach außen keine Änderung, da kurse in beiden Wissensbasen importiert wird.
  • Inf.Bachelorseminar und Inf.Masterseminar auf der Ebene von Units und Kurs neu eingerichtet. Hier sind (ggf. zusätzlich) die relevanten Seminar-Angebote der Abteilungen einzutragen.
  • od:ModuleDescription wird obsolet, da die Modulbeschreibungen aus der zentralen Moduldatenbank zeitnah extrahiert werden können.

Änderungen zum Sommersemester 2012


  • Studiengang+Semester Phys.IPSP.* und Phys.Phys- B.* zugunsten Export.Phys.W und Export.Phys.S aufgelöst, um den Lehrexport der Fakultät genauer darzustellen. Alle Export-Studiengang+Semester gehören zum Studiengang “Export”.
  • od:estimatedPeople wird in od:Unit verwendet, wenn sich diese Anzahl nicht aus den empfohlenen Studienjahr-Semester-Angaben berechnen lässt oder wesentlich davon abweicht (etwa Erfahrungszahlen bei Wahlpflichtangeboten, insoweit sie über die Zahl 70 hinausgehen).
  • od:OberSeminar obsolet zugunsten od:Seminar (eingearbeitet in w11 und s12)
  • Im Zuge der Almaweb-Modellierung wurde die Strukturierungseinheit od:Block (ab s12) aufgelöst und die relevante Information nur noch bei od:Unit vorgehalten, wobei für die jeweilige Unit semesterspezifische Informationen in der semesterspezifischen Datenbasis (bspw. s12) erfasst ist.
  • Auf der Ebene zwischen Unit und LV gibt es eine weitere Struktur od:Kurs (Namensraum ods), in der zusammengehörende LV nach Almaweb-Systematik erfasst sind.
  • Einrichtung einer Obsolete-Unit, auf die alle obsoleten Module verweisen.

Auflistung der Struktur im Detail


Globale Eigenschaften einer LV-Wissensbasis

  • od:beginDate Literal^xsd:date – Beginn des Semesters
  • od:endDate Literal^xsd:date – Ende des Semesters
  • od:hasCalendarWeeks List Decimals – Kalenderwochen
  • od:hasSemesterType {"W","S"} – Winter- oder Sommersemester

od:Kurs – Gruppierungseinheit zwischen den Ebenen Unit und LV (Almaweb-Systematik, ab S12)

  • rdf:about (Unit).K<nr> (Namensraum ods)
  • rdfs:label Literal – Titel (single)
  • od:containsLV od:LV – zugeordnete Lehrveranstaltungen (ab S12 nun hier angebunden)
  • rdfs:comment Literal – interner Kommentar

od:Module

  • rdf:about (Modulnummer)
  • od:toStudiengangSemester od:StudiengangSemester – empfohlen für Studiengang Semester
  • od:hasModuleDescription od:ModuleDescription – existierende Beschreibungen zu dieser Modulnummer
  • od:contains Literal – Bestandteile, die sich als Almaweb-Kurse wiederfinden müssten

foaf:Person – Mitarbeiter

  • rdf:about (Name)_(Vorname) – transkribiert in ASCII-Zeichen
  • foaf:name (Name), (Vorname)
  • spezielle Person odp:NN – noch keine Zuordnung
  • od:hasBuero Literal – Arbeitszimmer
  • foaf:mbox Literal – Dienst-Email
  • org:memberOf org:organizationalUnit – Organisationsstruktur, der die Person zugehört
  • foaf:phone Literal – Dienst-Telefon

org:organizationalUnit – Struktureinheiten (auf verschiedenen Ebenen) siehe Groups.ttl


od:RegularEvent
Oberklasse zu verschiedenen Event-Arten, der folgenden Struktur:
wöchentlicher Termin mit Literalen dayOfWeek, beginsAt und endsAt sowie hasRegularity mit Range od:TimeConstraint (A-Woche, Blockveranstaltungen usw., default: weekly), die auf Nummern der entsprechenden Kalenderwochen abgebildet werden. Siehe auch od:Semester

  • od:dayOfWeek Literal – Wochentag (single)
  • (neu) -> od:hasTimeConstraint od:TimeConstraint – Turnus, steht auch literal in od:dayOfWeek
  • od:beginsAt Literal – Beginn des Termins (hh:mm) (single)
  • od:endsAt Literal – Ende des Termins (hh:mm) (single)
  • od:hasExpandedDates Literal::xsd:date – die genauen Wochentage dieses Termins im Semester.
  • od:locatedAt od:Room – zugeteilter Raum (single)
  • rdfs:label Literal – Titel (single)

od:Extern rdfs:subClassOf od:regularEvent – weitere Termine, die für die Raumplanung zu berücksichtigen sind

  • rdf:about “Extra”.(Nummer) oder “LSGM”.(Nummer)

od:LV rdfs:subClassOf od:regularEvent

  • rdf:about (Block).(Nummer)
  • od:servedBy foaf:Person – Verantwortliche Lehrkraft (multiple)
  • od:hasStatus Literal – Planungsstatus (alt, ok, tok, pok, reserve)
  • rdf:type (rdfs:subClassOf od:LV) – Typ der Lehrveranstaltung
  • od:additionalInformation Literal – Informationen zur LV, die in den Stundenplan übernommen werden sollen

rdfs:subClassOf od:LV

  • od:Oberseminar – obsolet zugunsten od:Seminar entsprechend Almaweb-Planung
  • od:Onlinekurs
  • od:Praktikum
  • od:Seminar
  • od:Uebung
  • od:Vorlesung

od:Room

  • spezieller Raum odp:nV – Nach Vereinbarung
  • od:planung Literal – Wer verwaltet den Raum (entsprechend Zuständigkeit “fmi-goetz”, “fmi-wenzel”, “fmi-other”, “imise”, “wifa”, “zentral”)

od:Studiengang – von uns verantwortete Studiengänge

  • rdf:about (Bereich).(Studiengang)

od:StudiengangSemester – Aggregat aus Studiengang und Semester für Stundenplaneinteilung

  • rdf:about (Bereich).(Studiengang).(Semester)
  • od:estimatedPeople Literal^xsd:integer – erwartete Teilnehmerzahl (neu)
  • od:inTimeSlotLA od:TimeSlotLA – Zeitfenster bei Lehramtsstudiengängen
  • od:toStudiengang od:Studiengang – zugehöriger Studiengang
  • od:hasSemesterType {"W","S"} – Winter- oder Sommersemester

od:TimeConstraint – Klassifikation nicht wöchentlicher Termine

  • od:hasCalendarWeeks List Decimals – Kalenderwochen

od:TimeSlotLA – Lehramt-Zeitfenster laut zentraler Übersicht

  • rdf:about “Zeitfenster”.[A-H] -> "Time Slot LA".[A-H] – entsprechend der offiziellen Liste, sowie E1 und F1

od:Unit – semesterübergreifende Gruppierungseinheit für zusammenhängende Lehrveranstaltungen (LV-Verantwortungsbereich) in “studium” – ab WS 11/12

  • rdf:about (Bereich).(Kuerzel)
  • od:additionalInformation Literal – Informationen zur Unit, die in den Stundenplan übernommen werden sollen
  • od:containsKurs od:Kurs – zugeordnete Kurse (Almaweb-Systematik Kurs als Ebene zwischen Unit und LV)
  • od:estimatedPeople Literal^xsd:integer – erwartete Teilnehmerzahl – nur in den Fällen, wo sich diese nicht aus den empfohlenen Studiengängen berechnen lässt (etwa SQ)
  • od:hasLevel Literal – intern für Planungszwecke, Planungsebene (single)
  • od:hasUmfang Literal – Umfang laut Modulbeschreibung (single)
  • od:planung Literal – intern für Planungszwecke, Planungsträger (single)
  • rdfs:label Literal – Titel (single)
  • od:hasMaintainer foaf:Person – prinzipiell Verantwortlicher (single)
  • od:recommendedFor od:StudiengangSemester – empfohlen für Studiengang / Semester (m:n)
  • od:relatedModule od:Module – zugehörige Module
  • rdfs:comment Literal – interner Kommentar (single)

Anbindung an Almaweb


Die Modellierung der Prüfungsordnungen von Almaweb kennt eine Baumstruktur (wohl eher ein DAG) – im Weiteren Almaweb-DAG -, deren Blättern die einzelnen Module sind, die im jeweiligen Studiengang zur Wahl stehen. Module können in mehreren Studiengängen eingehängt sein, um die bisherige Vervielfachung von Modulnummern für einen Modul in verschiedenen Studiengängen zu vermeiden. Jedem Modul ist eine Reihe von Kursen zugeordnet, die wiederum Lehrveranstaltungen enthalten.


Die Modul-Kurs-Zuordnung bildet semesterübergreifende Zusammenhänge ab und ist – so weit dies geht – auf od-Seite in eine eigene Wissensbasis Kurse ausgelagert, in der diese semesterübergreifenden Zusammenhänge auf Unit-Kurs-Ebene dargestellt sind, da unsere Planungseinheit nicht Modul, sondern Unit (als planungstechnische Zusammenfassung mehrerer LV, die auf mehrere Module verteilt sind) ist. Unit-Kurs-Zusammenhänge, die sich nicht (oder noch nicht) so darstellen lassen, sind in der Wissensbasis des jeweiligen Semesters zu finden wie auch alle Kurs-LV-Beziehungen.


aw:Kurs

  • aw:belongsToLVCategory aw:LVCategory (konsolidiert aus Almaweb)
  • aw:hasLVType aw:LVType (konsolidiert aus Almaweb)
  • aw:servedByOrgUnit aw:ServingUnit (aus Almaweb)
  • rdfs:label string – Bezeichnung des Kurses (aus Almaweb)
  • owl:sameAs od:Kurs – od:Kurs, wenn eine solche Zuordnung möglich ist.
  • od:mapsTo od:Kurs – wenn mehrere aw:Kurse auf einen od:Kurs abgebildet werden. Dabei werden alle LV im od:Kurs in jedem aw:Kurs angeboten.

aw:GradeSystem – Graduierungssystem aus Almaweb (was das auch immer ist)


aw:LVCategory – Kategorie einer LV aus Almaweb (was das auch immer ist)


aw:LVType – Typ einer LV aus Almaweb (was das auch immer ist)


aw:Modul

  • aw:belongsTo aw:Tag – Anbindung an nächsthöheren Knoten
  • aw:containsKurs aw:Kurs (multiple) (aus Almaweb)
  • aw:duration int – Dauer in Semestern (aus Almaweb)
  • aw:ects int – Credits (aus Almaweb)
  • aw:hasGradeSystem aw:GradeSystem – Graduierungssystem des Moduls (konsolidiert aus Almaweb)
  • aw:servedByOrgUnit aw:ServingUnit (aus Almaweb)
  • od:relatedUnit od:Unit – Zuordnung des Moduls zu einer od:Unit
  • od:toStudiengang od:Studiengang – zugehöriger Studiengang
  • od:wasModule od:Modul – Zuordnung zu früherem od:Modul (multiple)
  • rdfs:label string – Bezeichnung der Unit (aus Almaweb)

aw:ServingUnit – Resource-URI in die Almaweb-Wissensbasis


aw:Tag

  • aw:belongsTo aw:Tag – Anbindung an nächsthöheren Knoten
  • rdfs:label string – Bezeichnung der Einheit


 
Zu dieser Seite gibt es keine Dateien. [Zeige Dateien/Upload]
Kein Kommentar. [Zeige Kommentare]