Freie Universität Berlin – Institut für Informatik
Fachbereich Mathematik und Informatik
AG Netzbasierte Informationssysteme – Prof. Dr.-Ing. Robert Tolksdorf


Projekt Semantic Web
Meilensteinbericht 9. Juni 2004

Frederik Bäßmann <fbaess@gmx.de>, Richard Cyganiak <richard@cyganiak.de>, Anja Jentzsch <anja@anjeve.de>

Dieses Dokument als PDF

Abstract

Das Projekt Semantic Web ist eine Lehrveranstaltung am Institut für Informatik der Freien Universität Berlin im Sommersemester 2004. Veranstalter ist Prof. Dr.-Ing. Robert Tolksdorf. Der vorliegende Bericht dokumentiert Verlauf und Ergebnisse bis zum 9. Juni 2004.

Inhalt

Überblick

Das Projekt Semantic Web ist eine Lehrveranstaltung am Institut für Informatik der Freien Universität Berlin im Sommersemester 2004. Veranstalter ist Prof. Robert Tolksdorf und die AG Netzbasierte Informationssysteme.

Die Lehrveranstaltung wird als Projekt durchgeführt. Dabei tritt Prof. Tolksdorf als Auftraggeber auf. Die Teilnehmer sollen dabei nach Vorgaben des Auftraggeber einen Projektplan entwickeln, diesen umsetzen, und Verlauf und Ergebnisse dokumentieren. Als Vergütung bei erfolgreicher Mitarbeit winkt jedem Teilnehmer ein Projektschein über 2 SWS.

Das Projekt wird extern begutachtet. Als Gutachter fungieren die Mitglieder einer Arbeitsgruppe des Seminars XML und Semantic Web, das zeitgleich an der TU Berlin stattfindet.

Ein ähnlich angelegtes Projekt wurde bereits im Jahr 2003 von Prof. Tolksdorf angeboten.

Das vorliegende Dokument beschreibt Planung, Durchführung und Stand der Arbeiten zum Meilenstein am 2. Juni 2004.

Projektziele

Das Projekt soll ein Online-Informationssystem (OIS) auf Grundlage von Technologien des Semantic Web erstellen. Im System sollen die Studiengänge der Berliner Hochschullandschaft unter besonderer Berücksichtigung der Informatik erfasst sein. Es soll die Studiengänge inhaltlich erschließ- und vergleichbar machen und als "Berliner Hochschulkompass Informatik" geeignet sein.

Die Projektskizze fordert die Umsetzung folgender Komponenten:

Weiterhin sollen Verlauf und Ergebnisse des Projekts in geeigneter Form dokumentiert und in einer Abschlusspräsentation dargestellt werden.

Organisation

Das Projekt hat 21 Teilnehmer. Die Mehrzahl sind Studenten des Fachbereichs; drei kommen von der TU Berlin. Gemäß den Vorgaben des Auftraggebers wurden drei Arbeitsgruppen gebildet:

AG Modellierung (8 Personen)
Aufgaben sind die Erstellung von Modellen für die Beschreibung von Hochschulen, Studiengängen und Informatikthemen, wenn möglich aufbauend auf vorhandenen Ansätzen; die Erfassung der Daten über die Berliner Hochschullandschaft mit Hilfe dieses Modells; und die Dokumentation des Modells und der anderen Arbeiten
AG Programmierung (8 Personen)
Hauptaufgabe der Gruppe ist die Umsetzung des Online-Informationssystems auf Grundlage der Modelle und Daten der AG Modellierung. Dazu notwendig ist die Auswahl und Einrichtung geeigneter Werkzeuge und Komponenten, die Entwicklung eines geeigneten Navigations- und Interaktionskonzepts, und die Dokumentation der Arbeiten.
AG Projektmanagement (5 Personen)
Aufgaben dieser Gruppe sind die Organisation und Dokumentation der Projektarbeit und die Außenvertretung des Projekts. Jeweils zwei Mitglieder dieser Gruppe organisieren die Arbeit einer der beiden anderen Gruppen.

Der Termin der Lehrveranstaltung wird zu einer wöchentlichen zweistündigen Projektsitzung genutzt, an der nach Möglichkeit alle Projektmitglieder teilnehmen. Weitere Treffen einzelner Gruppen und Mitglieder wurden nach Bedarf vereinbart. Dennoch steht wenig Zeit für persönliche Treffen zur Verfügung. Zur Kommunikation und Koordination der Arbeiten werden intensiv elektronische Medien benutzt, insbesondere eine Mailingliste, ein Wiki und Instant Messaging.

Die Mehrheit der Projektteilnehmer verfügten über wenig oder keine Vorkenntnisse im Bereich Semantic Web, dafür aber über breit gefächerte Vorkenntnisse in relevanten Bereichen wie XML, Webserver-Technologien und Softwareentwicklung. Leider wurde nicht wie beim Vorgängerprojekt ein paralleles Seminar mit Schwerpunkt Semantic Web angeboten. Aus Zeitgründen kann auch die Projektsitzung nicht für die Vermittlung von Grundwissen genutzt werden. Die Teilnehmer mussten sich relevante Kenntnisse selbst erarbeiten.

Projektplan

Die Arbeitsgruppe Projektmanagement entwickelte bis zum 4. Mai einen ersten Projektplan, der die Entwicklung folgender zentraler Komponenten vorsieht:

  1. Ein Vokabular zur Beschreibung von Hochschulen und Studiengängen, formuliert in RDFS und/oder OWL.
  2. RDF-Daten, welche die Landschaft der Informatik an Berliner Hochschulen beschreiben.
  3. ein Informationssystem, das die übersichtliche Navigation und Suche innerhalb der Daten mittels Webbrowser ermöglicht.

Zusätzlich sollen folgende Hilfskomponenten erstellt werden:

  1. Eine Referenzdokumentation dieses Vokabulars als HTML-Seite(n).
  2. Ein kurzes Tutorial, das die Erfassung typischer Daten mit diesem Vokabular als RDF anhand von Beispielen erklärt. Tutorial und Referenzdokumentation dokumentieren das erstellte Vokabular, erleichtern der AG Programmierung die Arbeit damit, und machen die Daten leichter für Dritte nutzbar.
  3. Eine Anzahl mit Javascript hinterlegter HTML-Formulare nach dem Vorbild der Foaf-a-matic. Sie erleichtern die Datenerfassung, sowohl für die Projektmitglieder als auf für Dritte.
  4. Einen Verzeichnisdienst, bei dem die publizierten RDF-Daten erfasst werden. Er ermöglicht die Verwendung der Daten durch Dritte.
  5. Ein Prototyp-Informationssystem, das Daten im FoaF-Vokabular verarbeiten und darstellen kann. Es soll entwickelt werden, bevor das Hochschulvokabular fertig gestellt ist. So kann die AG Programmierung bereits Erfahrungen im Umgang mit den notwendigen Technologien sammeln.

Die Arbeitsgruppe Modellierung übernimmt

Die Arbeitsgruppe Programmierung übernimmt

Die HTML-Formulare werden von Mitgliedern beider Gruppen erstellt.

Folgende Termine sind für die Fertigstellung der Komponenten vorgesehen:

Meilenstein 2. Juni 2004 (W6)
Meilenstein 23. Juni 2004 (W9)
Meilenstein und Projektabschluss 14. Juli 2004 (W12)

Revidierter Projektplan

Der ursprüngliche Projektplan wurde im bisherigen Verlauf des Projekts leicht revidiert.

Der Verzeichnisdienst wird nun nicht als eigenständiges Modul erstellt, sondern direkt in das jeweilige Informationssystem integriert. Dadurch wird die Implementierung vereinfacht, aber eine getrennte Variierung beider Komponenten ist nicht mehr möglich.

Das Vokabular konnte nicht zum geplanten Termin (W6) fertig gestellt werden. Grund dafür waren die Lernkurve von RDF und RDFS, und einige schwierige Modellierungsentscheidungen. Das Vokabular wird nun zu W7 weitgehend fertiggestellt. Entgegen der ursprünglichen Planung werden auch nach diesem Termin noch Korrekturen und Ergänzungen nötig sein.

Das FoaF-Informationssystem war zu W6 nur teilweise lauffähig. Es waren noch kleinere Nacharbeiten nötig, die drei Mitglieder der AG Programmierung übernommen haben. Mit W7 wird die Arbeit am FoaF-Informationssystem eingestellt.

Trotz dieser Verzögerungen sind wir optimistisch, dass der Gesamtzeitplan eingehalten werden kann.

Durchführung

Projektstart

Die Lehrveranstaltung begann mit der 0. Sitzung am 21. April 2004. Prof. Tolksdorf stellte die Arbeitsziele des Projekts vor, es wurden die drei Arbeitsgruppen gebildet und verschiedene organisatorische Dinge besprochen.

Ab der 1. Sitzung am 28. April leitete die Arbeitsgruppe Projektmanagement die Sitzungen. In der ersten Sitzung bekamen alle Teilnehmer die Aufgabe, ein Profil ihrer selbst mit dem FoaF-Vokabular zu erstellen und zu publizieren. Dadurch

In der 2. Sitzung am 5. Mai stellte das Projektmanagement den zuvor erarbeiteten Projekt- und Zeitplan vor. Arbeitspakete wurden aufgeteilt und es begann die Arbeit in den AGs Modellierung und Programmierung.

Infrastruktur

Zur Unterstützung der Projektarbeit haben die Teilnehmer verschiedene internetgestützte Werkzeuge eingerichtet.

Die Mailingliste nbi_sp_sw@lists.spline.inf.fu-berlin.de dient der Koordinierung der Projektarbeit. Im Zeitraum vom 21. April bis zum 5. Juni 2004 gingen 85 Emails über die Liste. Ein Web-Archiv ist für Abonnenten der Liste zugänglich; das Abonnieren der Liste steht auch Personen außerhalb des Projekts frei.

Dank eines Accounts auf einem Server des Instituts, projects.mi.fu-berlin.de, konnten folgende Dienste eingerichtet werden:

Weiterhin haben sich eine Reihe frei verfügbarer Online-Dienste als sehr nützlich herausgestellt:

Entwicklung des Vokabulars

Für die Entwicklung des Vokabulars und die Erfassung von Beispieldaten wurde auf Ontologie-Editoren wie Protégé oder OilEd verzichtet. Statt dessen wurde das Vokabular direkt als Textdatei in der Syntax RDF/N3 aufgeschrieben. Dadurch wurden verschiedene Interoperabilitätsprobleme vermieden, die sonst im Umgang mit Semantic-Web-Tools an der Tagesordnung sind. Die Projektmitglieder konnten sich auf RDF konzentrieren und mussten sich nicht mit den Eigenheiten verschiedener Editoren auseinandersetzen. Die gängige Syntax RDF/XML wurde nicht benutzt, da sie für Menschen schwer les- und schreibbar ist. Die Verwendung von CVS funktioniert mit RDF/N3 problemloser als mit XML-Formaten.

Als problematisch haben sich Umlaute in den RDF/N3-Dateien herausgestellt, da sie UTF-8-codiert sein müssen. Das wird von vielen Texteditoren und CVS unzureichend unterstützt.

Dank der CVS-Webschnittstelle und verschiedener Online-Dienste steht jederzeit eine nach RDF/XML konvertierte Version des aktuellen Vokabulars bereit. Dabei gehen allerdings Kommentare im N3 verloren.

Um eine gemeinsame Arbeit am Vokabular für 8 Personen zu ermöglichen, wurde dieses in der 1. Sitzung am 28. April in 6 Konzepte unterteilt. Das Konzept Hochschule umfasst die verschiedenen Hochschularten, sowie deren Eckdaten. Die Organisationsstrukur von Hochschulen modelliert die einzelnen Einrichtungen an Hochschulen wie Fachbereiche, Fakultäten etc. und deren Beziehung zueinander. Das Personenkonzept umfasst die für unsere Anwendung wichtigsten an einer Hochschule tätigen Personen wie Professoren, Wissenschaftliche Mitarbeiter etc.. Die verschiedenen Arten von Lehrveranstaltungen sind in einem weiteren Konzept modelliert. Die Studiengänge mit ihren Zugangsvoraussetzungen, Sachgebieten und Schwerpunkten bilden ein weiteres Konzept. Das Konzept Abschlüsse umfasst alle Arten von Abschlüssen und deren Zugehörigkeit zu den verschiedenen Studiengängen.

Die Konzepte Organisationsstruktur sowie Studiengänge wurden wegen ihrem Umfang von zwei Personen modelliert, die anderen jeweils von einer.

In Projektwoche 2 wurden alle Konzepte umgangssprachlich entworfen und eine grobe Klassenhierarchie erstellt, sowie Verbindungen zu anderen Konzepten notiert. Dadurch gewannen wir Zeit, um uns z.B. mit RDF/N3 zu beschäftigen und konnten besser über die entstehenden Konzepte diskutieren.

Hierbei wurde unter anderem beschlossen, das Konzept Lehrveranstaltungen zwar zu modellieren, jedoch aufgrund des hohen Aufwandes und der im Vergleich dazu sehr niedrigen Wiederverwendbarkeit von einer umfangreichen Instanz-Erfassung abzusehen.

Ab der 3. Sitzung begann die Modellierung mit RDF/N3.

Zur Validierung der RDF/N3 Dateien wurde CWM, ein RDF-Verarbeitungswerkzeug, verwendet.

Nachdem der Grundstock des Vokabulars feststand, wurde mit der Erstellung konkreter Beispiele zu jedem Konzept begonnen. Dies erleichterte es uns, Schwachstellen im Vokabular zu finden. Im weiteren Verlauf des Projektes ist die Erfassung von Beispielinstanzen durch unser Partnerprojekt an der TU Berlin geplant. Dadurch erhoffen wir uns sinnvolles Feedback zur Benutzbarkeit unserer Tutorials sowie der Strukturierung des Vokabulars.

In der ersten Projektwoche haben wir einige schon bestehende Vokabulare und Ontologien auf ihre Verwendbarkeit in unserem Kontext untersucht:

Es wurden zwei alternative Möglichkeiten diskutiert, um diese existierenden Vokabulare einzubinden:

  1. Direkte Verwendung dieser Vokabulare zum Ausdrücken der Hochschuldaten
  2. Definition eigener Klassen und Properties für diese Konzepte, und Herstellung von Äquivalenzen mit Hilfe von RDFS und OWL (rdfs:subClassOf, rdfs:subPropertyOf, owl:sameAs)

Es wurde beschlossen, Äquivalenzen zu anderen Vokabularen zu verwenden, da dies ein sprachlich einheitliches Vokabular ergibt.

Entwicklung des Online-Informationssystems

Zur Entwicklung des Online-Informationssystems wurde Jena als Framework gewählt, da Jena ein weit verbreitetes Java-Werkzeug zur Arbeit mit dem Semantic Web ist. Daher wird das System in Java implementiert.

Um sich mit den Werkzeugen, die für die Umsetzung der Programmieraufgaben benötigt werden, vertraut zu machen, und da zu Anfang noch nicht auf ein fertiggestelltes Hochschulmodell der Modellierungs-Gruppe zugegriffen werden konnte, wurde beschlossen, zunächst ein Servlet auf Basis des FOAF (Friend Of A Friend)-Vokabulars zu schreiben. Dieses erste Servlet diente der Auswertung von in RDF-Dateien repräsentierten FOAF-Profilen. Die zuvor erstellten Profile aller Projektmitglieder dienten als Testdaten für dieses System.

Ferner wurden ein User-Frontend für den Zugriff auf das Onlineinformationssystem über das WWW erstellt. Allerdings wurde dieser Dienst bisher nur lokal zu Testzwecken gestartet. Das FOAF-Onlineinformationsystem wurde als Servlet für den Apache-Tomcat 5 implementiert.

Auch zur Benutzung im Hochschul-Onlineinformationssystem wurden FOAF Beans erstellt.

Parallel wurden Use Cases als Leitfaden für die Anforderungen an das System gesammelt und nach Prioritäten geordnet. Zusätzlich wurden anhand des vorläufigen Vokabulars statische HTML-Prototypen für Suchmasken sowie Profilseiten für Personen, Hochschulen, Studiengänge und Lehrveranstaltungen erstellt.

Ein Servlet Container (Tomcat 4.0.4) wurde in Zusammenarbeit mit dem Rechnerbetrieb des Instituts aufgesetzt. Auf diesem wird das Hochschul-Informationssystem laufen.

Es ist geplant, die Jena-Anbindung an eine MySQL Datenbank zu nutzen.

Ergebnisse

Vokabular

Das Vokabular liegt in Form einer RDF/N3-Datei unter folgender URL vor:

http://projects.mi.fu-berlin.de/semweb/webcvs/co.php/psw/vocab/vokabular.n3?r=HEAD&p=1

Es ist mit RDFS und teilweise OWL beschrieben. Eine automatische Konvertierung zu RDF/XML ist unter folgender URL verfügbar:

http://projects.mi.fu-berlin.de/semweb/ns/hochschulen

Dies ist gleichzeitig der Namespace-Präfix für alle Klassen und Properties des Vokabulars.

Mit Hilfe des bereits bestehenden Vokabulars lassen sie Hochschulen mit ihren Einrichtungen sowie deren Beziehungen zueinander modellieren. Hierbei ist es dem Benutzer des Vokabulars überlassen, ob er Einrichtungen weiter spezifizieren möchte, z.B. als Fachbereich. Jede Einrichtungen kann einen Leiter, ein Sekretariat sowie Öffnungs- und Telefonische Sprechzeiten haben. Die an Hochschulen tätigen Personen wurden in die Klassen Professor, WissenschaftlicherMitarbeiter, StudentischerMitarbeiter und Tutor geteilt. Jede dieser Klassen ist eine Unterklasse von foaf:Person. Personen können eine Prüfungsberechtigung haben. Studiengänge an Hochschulen kennzeichnen sich durch Sachgebiete und zugehörige Abschlüsse aus. Zudem können auch einzelne Semester erfasst werden, um Zugangsvoraussetzungen für Studiengänge zu einem bestimmten Zeitpunkt festzuhalten. Lehrveranstaltungen beschäftigen sich wie Studiengänge mit bestimmten Sachgebieten und werden von Einrichtungen angeboten. Weiterhin haben sie Dozenten, welche nicht zwingend Teil der den genannten Personenklassen sein müssen, sondern auch nur foaf:Person.

Grenzen des Vokabulars sind unter anderem die Erfassung von persönlichen Daten und einzelnen Studiumsabschlüssen. Wir haben uns bewusst entschieden, nicht alles bis hin zum einzelnen Studenten zu modellieren. Da jedoch z.B. Einschreibefristen oder NCs für unsere Anwendung interessant sind, können Instanzen für konkrete Semester angelegt werden.

Vor der Benutzung für über die reine Informatik hinausreichende Studiengänge oder Lehrveranstaltungen bedarf das Konzept der Sachgebiete eine weitere Überarbeitung. Bisher ist nur die ACM als ein Sachgebiet angegeben.

In den nächsten Projektwochen wird das Vokabular um OWL-Restriktionen erweitert, es werden weitere Beispieldaten und ein Tutorial erstellt.

FoaF-Onlineinformationssystem

Das FoaF-Informationssystem ist nicht auf dem Tomcat-Webserver des Projekts lauffähig. Ursache dafür sind Versionskonflikte. Während der Entwicklung des Systems war noch nicht klar, welche Version des Tomcat letztendlich auf dem vom Rechnerbetrieb bereitgestellten Server laufen würde.

Das System ist auf den Entwicklungsrechnern der Gruppenmitglieder lauffähig und konnte dort demonstriert werden. Auf eine Anpassung für den Projektwebserver wurde verzichtet.

Die Navigation zwischen Profilen und das Auflisten der gespeicherten Profile konnte bis zum Endtermin des Arbeitspakets nicht vollständig umgesetzt werden.

Bei der Entwicklung gesammelte Erfahrungen werden für die Implementierung des Hochschul-OIS nützlich sein. Teile des Codes lassen sich direkt weiterverwenden.