Ontologie-zu-DB-zu-.NET-Brücke
Ontologie und Relationale Datenbank
Ontologie und XML Schema
Die nächste Abbildung enthält einen großen, aber im Hinblick auf
die tatsächliche XML Schema-Datei bzw. die Inhalte der Ontologie
nur sehr kleinen Ausschnitt aus der XML Schema. Es handelt sich
lediglich um einen einzigen Fragetyp der Ontologie mit seinen
diversen Eigenschaften. Die gesamte Definition ist ungefähr
achtmal umfangreicher, da neben den eigentlichen Eigenschaften der
verschiedenen Fragetypen auch der Fragebogen-Aufbau, die
Beziehungsregeln und die Anzeigeinformationen enthalten sind.
Ontologie und Klassen-Struktur
Wie schon im Rahmen der Planung festgelegt und dann während der
überlegungen, die bei der Ontologie-Entwicklung und
Anforderungsbeschreibung angestellt wurden, bestätigt wurde,
erwies sich die Nutzung einer sehr umfangreichen XML-Struktur für
die Abbildung des Fragebogens und auch der Antworten als besonders
zielführend. Durch die Nutzung von XML bot sich hier die
Möglichkeit, Schnittstellendefinitionen in XML Schema (und für die
Ontologie auch in OWL) anzugeben, welche dann für unterschiedliche
Software-Module des Prototyps wie auch für andere Produkte
(Datenintegration oder -auswertung sowie Datenumwandlung in andere
Formate wie Excel/CSV) wieder zum Einsatz kommen können. Da das
vollständige System als Server-Software geplant ist, geht man
davon aus, dass die Verwendung von Web Services, die ja auch
XML-basiert sind, für die Kommunikation zwischen Server- und
Client-Software oder auch von anderen Software-Bausteinen
ebenfalls problemlos möglich ist. Die XML-Strukturen können dann
in sehr ähnlicher Form direkt auch als Nachrichten für die
SOAP-Nachrichten bei der Web Service-Nutzung und die XML
Schema-Definitionen in der WSDL-Definition des Web Service zum
Einsatz kommen.
Ein großer Teil der Arbeit in diesem Arbeitspaket bestand aus der
übertragung des schriftlichen und teilweise in Zeichnungen
vorliegenden Ontologie-Modells in OWL als direkt für Ontologien
nutzbare Syntax und in ein eigenes XML-Format, das mit XML Schema
umgesetzt wurde. Als zweiter großer Aufgabenbereich galt es,
zwischen XML Schema bzw. den XML-Daten und der Software eine
Schnittstelle zu schaffen, welche es einfach ermöglicht, beide
Welten zu verbinden und damit auch eine tatsächliche
System-Schnittstelle zu entwickeln, die für die unterschiedlichen
Einsatzbereiche (Web Service, Import/Export, Kommunikation
zwischen Software-Schichten etc.) geeignet ist.
Die nachfolgenden beiden Abbildungen geben einen kurzen Eindruck
in den Programmquelltext, mit dem der Zusammenhang (das Mapping)
zwischen Klassendefinitionen und den Regeln in XML Schema, also
dem Datenbestand, der von der Ontologie beschrieben wird,
eingerichtet wird. Man kann deutlich die Zuordnungen von Klassen
und ihren Eigenschaften zu Elementen von XML Schema erkennen. Dies
musste aufgrund der Komplexität der Ontologie/des Datenmodells
manuell durchgeführt werden, da die Standard-Serialisierung in XML
zu einfach war und daher nicht zum Einsatz kommen konnte.
Ontologie, XML Schema und XML-Instanz
Wie schon zuvor erläutert, wurde ein Weg gesucht, die sehr
komplexen Daten eines Fragebogens mit seinen zahlreichen
Einstellungen sowie dann auch die Daten, Beziehungsregeln und
Anzeigevorgaben sowie Validierungen zu speichern und zwischen den
einzelnen Software-Bausteinen/Schichten zu übertragen. Auch hierzu
wird das XML Schema verwendet, welches aus der beschriebenen
Ontologie abgeleitet und dazu genutzt wurde, ein Objektmodell
aufzubauen und mit der selbst definierten übertragungsstruktur
zwischen den Bausteinen Datenbanken mit Tabellen- und
Spaltenstruktur, der Anzeigesoftware für den Fragebogen, der
Software für die Fragebogendefinition bzw. das Design desselben
und schließlich der Umfragesteuerung zu kommunizieren. Zusätzlich
kann es zum Einsatz kommen, wenn Import- und Exportformate
definiert werden, andere Anwendungen per Web Services auf die
Server-Software oder die Datenbank zugreifen wollen oder überhaupt
ein maschinenlesbares Datenformat benötigt wird, in dem die
Ergebnisse der Ontologie-Erstellung enthalten sind.