Ontologiebasierte Indexierung und Kontextualisierung multimedialer Dokumente für das persönliche Wissensmanagement

class AbstractOntologyResource interface OntologyResource abstract class AbstractOntologyClass interface OntologyClassclass AbstractOntologyClass interface OntologyClass abstract class AbstractOntologyClassInstance interface OntologyClassInstanceclass AbstractOntologyClassInstance interface OntologyClassInstance abstract class AbstractOntologyProperty interface OntologyPropertyclass AbstractOntologyProperty interface OntologyProperty Abbildung 5.4: Basisklassen und -schnittstellen der Ontologie-API in KIMMModel struktoren instanziiert werden können, womit gleichzeitig auch eine entsprechende Verwaltung der URI und der zugehörigen Metadaten verbunden ist. Zum anderen kann nur mit Hilfe von Interfaces eine Mehrfachvererbung (multiple inheritance) modelliert werden, da in Java Klassen jeweils nur von einer Klasse erben können (single inheritance), im Gegensatz zu RDF bzw. OWL (siehe auch [Kalyanpur & Jiménez, 2004]). Die Ontologie-API realisiert zudem die in Abschnitt 4.2.1 beschriebene Protokollierung von Änderungen in der Datenbasis. Dazu stellen die beschriebenen Basisklassen entsprechende LoggingFunktionen zur Verfügung, die beim Erstellen von Ressourcen (d. h. Aufruf der Konstruktoren) und dem Bearbeiten von Ressourceneigenschaften (d. h. Aufruf von setoder remove-Methoden) automatisch ausgeführt werden. Die konkrete Speicherung erfolgt in RDF entsprechend der in Abschnitt 4.2.1 beschriebenen Ontologie. 5.3.1.1 Container-Konzept Die Instanziierung der oben genannten Klassen erfolgt immer unter Angabe eines Ressourcencontainers, welchem die erzeugte Instanz zugeordnet wird. Hierbei fungieren Objekte vom Typ OntologyResourceContainer als Namensraumrepräsentanten , welche Ressourcen aufnehmen können. Neben Containern für einzelne Ontologien werden auch Container zur Verwaltung mehrerer Ontologien benötigt werden. Dazu wurde das Interface OntologyResourceContainerPool eingeführt, dessen implementierende Klassen Objekte vom Typ OntologyResourceContainer verwalten (vgl. Abbildung 5.5). Wie bereits bei den zentralen Klassen aus dem vorigen Abschnitt, wurden auch hier abstrakte Klassen erstellt, welche die deklarierten Methoden implementieren. Mit Hilfe des Container-Konzeptes kann die gesamte Wissensbasis aus softwaretechnologischer Sicht partitioniert werden. Einzelne Teilbereiche können separat geladen und verarbeitet werden. Copyright TU Dresden, Annett Mitschick 125 5 Eine Architektur für die semantische Dokumentenverwaltung interface OntologyResource abstract class AbstractOntologyResourceContainer interface OntologyResourceContainer abstract class AbstractOntologyResourceContainerPool interface OntologyResourceContainerPoolclass AbstractOntologyResourceContainerPool interface OntologyResourceContainerPool