Das Open Linked Data Projekt OD.FMI der Fakultät
Ü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 waren ein komplexer Showcase für
das
Ontowiki-Projekt am BIS-Lehrstuhl.
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, werden diese zusammen mit den damals gültigen
Querverbindungen in semesterübergreifenden Daten archiviert. 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
- groups (Präfix odg:) – Abteilungssstruktur
- model (Präfix od:) – Klassenstruktur der Wissensbasen
- personal (Präfix odp:) – Mitarbeiter
- rooms (Präfix odr:) – Räume
- studium (Präfix ods:) – Units, Module, Zeitfenster,
od:Studiengang, od:StudiengangSemester
- tags (Präfix odt:) – Ausstattungsmerkmale der Räume
- Semesterspezifische LV-Wissensbasen (importieren die
semesterübergreifenden Wissensbasen)
- wxx – Lehrveranstaltungen im Wintersemester
- sxx – Lehrveranstaltungen im Sommersemester
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
- September 2020: Zu od:LV wird das Prädikat od:hasCType eingeführt, um
die Corona-bedingte Unterscheidung von Lehrveranstaltungen in (digital)
asynchron, synchron, hybrid und praesenz zu modellieren. Weiter wurde
während der Aktualisierung der reduzierten Raumkapazitäten für die
Raumbeschreibungen die bisherige literale Ausstattungsbeschreibung durch
Tags aus dem Namensraum odt: ersetzt.
- Juli 2020: Zu Räumen wird das Prädikat od:reducedCapacity eingeführt,
um die Corona-bedingte reduzierte Belegungsgrenze zu modellieren.
- Juni 2019: Ein od:Kurs ist zusätzlich der Klasse od:English zugeordnet,
wenn die Lehrveranstaltungen in Englisch gehalten werden. Module und Units
des Studiengangs Mathematische Physik ergänzt.
- März 2019: od:ModuleGroup in Studium.ttl am Beispiel der Pflichtmodule
Mathematik und Informatik ausgerollt. Da die Mathematik keine Module hat,
wurden auch Units zugeordnet.
- Juni 2015: od:inTimeSlotLA aus den Units entfernt, wird nur noch über
Studiengang-Semester verwaltet.
- Oktober 2014: RDF-Graph Groups.ttl ergänzt, um die Zuordnung zu
einzelnen Organisationseinheiten abzubilden. 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.
- 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.
- Febr. 2011: od:additionalInformation – ergänzt als Prädikat von
od:LV, od:Kurs sowie od:Unit
- Nov. 2010: od:hasStatus – ergänzt als Prädikat von od:LV
Probleme
- Es führt zu Problemen, wenn od:additionalInformation auch HTML-Tags
enthält. SPARQL scheint einzelne HTML-Elemente zu verschlucken (inbs. a-Tag)
- Achtung, keine & in Links verwenden, das bringt den Parser aus dem
Takt!
Änderungen
Änderungen zum Sommersemester 2020
- Neuer Studiengang Inf.MDS Master Data Science angelegt.
- Modulbeschreibungen für Studiengang Math.MP entsprechend der
vorliegenden Modulbeschreibung aktualisiert. Units und Kurse dazu angelegt.
- Angebote der HTWK in eigener Datei HTWK.ttl archiviert und aus
Studium.ttl herausgenommen
Änderungen zum Wintersemester 2019/20
- Umbenennung der Module TI.* in NII.* bzw. TI.GTI-* in Inf.GTI-* abgeschlossen.
- Neuer Studiengang Math.MP Master Mathematische Physik angelegt.
Änderungen zum Wintersemester 2019/20
- Ein od:Kurs ist zusätzlich der Klasse od:English zugeordnet, wenn die
Lehrveranstaltungen in Englisch gehalten werden.
- Die Planungen für die Propädeutika vor Semesterbeginn sowie die Räume
an der HTWK wurden komplett entfernt.
Änderungen zum Sommersemester 2019
- Experimentell ist eine neue Klasse od:Modulgruppe eingeführt, um Module
nach Pflicht- und Wahlbereich zu klassifizieren.
- In Absprache mit dem Studienbüro werden die Angebote im Rahmen von
od:ProKooperation nicht mehr dargestellt.
Änderungen zum Sommersemester 2018
- Neuer Studiengang Seniorenstudium eingeführt
- Die Zuordnungen der Exportverpflichtungen aus den
Fächerkooperationsvereinbarungen sind dem Studiengang Lehrexport
und dort jeweils zwei Studiengang-Semestern pro FKV zugeordnet, eins für
Exporte im Sommersemester und eins für Exporte im Wintersemester.
Ä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.
Änderungen zum Sommersemester 2015
- Einarbeitung der beiden FKV vom 23.01.2014 mit der Wifa.
- 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-Graph Groups.ttl ergänzt, um die Zuordnung zu einzelnen
Organisationseinheiten abzubilden. 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 als Instanzen von
org:OrganizationalUnit, ein neuer Namensraum-Präfix odg: für
Organisationseinheiten eingeführt und im RDF-Graph Personal.ttl Zuordnungen
angelegt, wo die Zugehörigkeit über das Prädikat org:memberOf modelliert
ist.
Ä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.
- 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.
- Weitere Modulbeschreibungen der Lehramtsstudiengang-Semester LA.S*.*
wurden eingearbeitet, insbesondere LA.S*.4.
Änderungen zum Wintersemester 2013/14
- 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.
- Abgleich der Modulnummern im Master Informatik und Ergänzung des Studiengangs Master Bioinformatik
- Aktualisierung der Modulnummern der Lehramtsstudiengänge
- od:hasStatus um Wert reserve ergänzt, der im Stundenplan Zerbst nicht angezeigt wird.
- Studiengang Master Bioinformatik integriert
Änderungen zum Sommersemester 2013
- Instanzen in Personal.ttl als foaf:Person remodelliert.
- 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
- 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.
Ä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).
- 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.
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)
- URI-Schema (Unit).K<nr> (Namensraum ods)
- rdfs:label Literal – Titel (single)
- od:containsLV od:LV – zugeordnete Lehrveranstaltungen
- od:additionalInformation Literal – Informationen, die in den Stundenplan übernommen werden sollen
- rdfs:comment Literal – interner Kommentar
od:Module
- URI-Schema (Modulnummer) (Namensraum ods)
- od:toStudiengangSemester od:StudiengangSemester – empfohlen für Studiengang Semester
- od:hasModuleDescription od:ModuleDescription – existierende Beschreibungen zu dieser Modulnummer
- od:toModuleGroup od:ModuleGroup – Zuordnung zu einer oder mehreren Modulgruppen
- od:contains Literal – Bestandteile, die sich als Almaweb-Kurse wiederfinden müssten
od:ModuleGroup
- od:toStudiengang od:Studiengang – Studiengang, auf den sich die Modulgruppe bezieht.
foaf:Person –
Mitarbeiter
- URI-Schema (Name)_(Vorname) – transkribiert in ASCII-Zeichen (Namensraum odp)
- foaf:name (Name), (Vorname)
- spezielle Person odp:NN – noch keine Zuordnung
- org:memberOf org:organizationalUnit – Organisationsstruktur, der die Person zugehört
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)
- 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: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
- URI-Schema Extra.(Nummer) oder LSGM.(Nummer)
od:LV rdfs:subClassOf od:regularEvent
- URI-Schema (Unit).(Nummer) (Semesterspezifischer Namensraum sxx: oder wxx:)
- 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
- URI-Schema (Raumkuerzel) (Namensraum odr)
- od:capacity Integer – Raumkapazität
- od:reducedCapacity Integer – durch die Coronaregeln
reduzierte Raumkapazität
- od:hatAusstattung Literal – Ausstattung
- 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
- URI-Schema (Studienrichtung).(Studiengang) (Namensraum ods)
od:StudiengangSemester – Aggregat aus Studiengang und
Semester für Stundenplaneinteilung
- URI-Schema (Studienrichtung).(Studiengang).(Semester) (Namensraum ods)
- 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
- URI-Schema 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
- URI-Schema (Abteilung).(Kuerzel) (Namensraum ods)
- 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
- od:toModuleGroup od:ModuleGroup – Zuordnung zu einer oder mehreren Modulgruppen, wenn es zu dieser Unit keine Module gibt (trifft auf viele Units der Mathematik zu)
- rdfs:comment Literal – interner Kommentar (single)
od:recommendedFor kann aus od:Module und od:toStudiengangSemester inferiert
werden, wenn es Module gibt. Das ist aber für Veranstaltungen der Mathematik
nicht unbedingt gegeben. Deshalb sind beide im Zuge einer Qualitätssicherung
von Zeit zu Zeit abzugleichen.
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