Bei allen positiven Aspekten werden in der Forschung aber auch grundsätzliche Probleme der Architektur diskutiert, die zu tieferliegenden Fragen führen. Eine fundamentale Unterscheidung, die für RDF und RDFS konstituierend ist, bezieht sich auf das Verhältnis von Klassen, Instanzen und realweltlichen Objekten. In der Philosophie sind Ontologien definiert als die Ordnung bzw. Einteilung des Seienden. Diesen Anspruch hat die Informatik gewissermaßen übernommen, allerdings in einem simplifizierenden Sinne, der der Komplexität dieses Problems nicht immer gerecht werden kann. Gewissermaßen ist es ein semiotisches Problem, das hier virulent wird, wenn es um eine saubere Unterteilung von Klassen und Instanzen geht. Die Klarheit dieser Unterscheidung stammt aus der objektorientierten Programmierung, einem heute dominierenden Programmierparadigma. In diesem wird davon ausgegangen, dass Klassen gewissermaßen Konstruktionspläne für Instanzen sind, aus denen zur Laufzeit dann beliebig viele Instanzen generiert werden können. Das bedeutet, dass die Klasse immer zuerst da ist und aus ihr dann Instanzen generiert werden. In einer solchen Umgebung ist immer klar, zu welcher Klasse eine Instanz gehört, da sie ja aus dieser generiert wird.
Dieses Prinzip wurde im Semantic Web nun als grundlegendes Paradigma übernommen. Klassen werden hier allerdings definiert als „sets of individuals“13. Immer dann, wenn man von etwas physisch Konkretem spricht, beispielsweise dem Eifelturm oder Albert Einstein, verwendet man Individuals. Gehören diese zu einer Klasse, spricht man von Instanzen dieser. RDF-Aussagen sind dabei nur zwischen Individuals bzw. Instanzen möglich. Im Vergleich zur Objektorientierten Programmierung ist das Verhältnis von Klasse und Instanz als Beschreibungsmuster für eine bereits existierende Welt und Sprache aber problematisch. In der exemplarischen Wine-Ontologie14, die immer wieder für auch vom W3C selbst als Beispielontologie herangezogen wird, wird das deutlich. Einzelne Weine, beispielsweise ein Longridge Merlot werden hier als Instanzen definiert, wohingegen der Merlot eine Klasse bildet. Die Frage die sich hier stellt ist, ob ein Longridge Merlot tatsächlich eine Instanz darstellt oder nicht vielmehr selbst eine Klasse ist, nämlich die aller Jahrgänge und Abfüllungen. Ein anderes Beispiel: Ist der Film Fitzcarraldo eine Instanz oder können wir von Instanzen erst bei einer konkreten DVD oder Filmrolle sprechen?
Abb. 3: Merlot als Klasse (gelber Kreis) und Longridge Merlot als Instanz (lila Raute) mit weiteren verknüpften Instanzen in der OntoGraf-Visualisierung des Ontologie-Editors Protegé
Noch gravierender wird das Problem mit Begriffen. Ist ein Begriff wie „Tier“ eine Instanz, wie es in der weitverbreiteten Ontologie SKOS (Simple Knowledge Organisation System) definiert ist, obwohl der Begriff selbst eine Klasse beschreibt? Was ist mit Begriffen wie „Einhorn“, die keine physischen Instanzen aufweisen, aber als Begriff existieren? Sind Begriffe nicht per se Klassen des Systems Sprache, weil sie immer auf unterschiedliche konkrete Sachverhalte anwendbar sind? Wie geht man mit den unterschiedlichen Definitionen eines Begriffs um, die alle in unterschiedlichen Kontexten als korrekt angesehen werden? Die vorgeschlagenen und praktizierten Lösungen dazu bewegen sich im Bereich der Metamodellierung15 und versuchen, Mischformen zwischen Instanzen und Klassen einzurichten, was ebenfalls problematisch und nicht abschließend geklärt ist. Die Unterscheidung hat für die Modellierung mitunter massive Konsequenzen, denn je nachdem ob etwas eine Klasse oder eine Instanz ist, können unterschiedliche Verknüpfungen angelegt und berechnet werden.
Da Modellierung immer eine Designfrage ist, die unterschiedliche Modellierer unterschiedlich lösen, entstehen verschiedene Varianten semantisch sehr ähnlicher oder äquivalenter Aussagen. Wie gleich aber sind diese wirklich? Immer wieder zu Verwirrungen und Kritik führt beispielsweise das Prädikat owl:sameAs, das auch verwendet wird, um unterschiedliche URIs als inhaltlich identisch auszuweisen. Identität ist aber nur bei physischen Objekten eindeutig zu bestimmen. Werden Begriffe modelliert, muss geprüft werden, ob die jeweils gültigen Definitionen eine identische Bedeutung haben. Diese Entscheidung ist schwierig und subjektiv, führt aber bei einer angelegten Relation dazu, dass alle zukünftigen Berechnungen durch Reasoner die Instanzen als identisch behandeln, so dass falsche Schlüsse entstehen.16 Generell gehen Reasoner davon aus, dass alle verwendeten Prädikate korrekt verwendet wurden. Immer wieder kommt es jedoch zu Fehlern, die sich in sehr großen Graphen kaum noch lokalisieren lassen. Bei allen Vorteilen des Semantic Web wirft das die Frage auf, wie es um die Qualität der Daten bestimmt ist, wie sich diese Qualität messen, einschätzen oder gewährleisten lässt und ob fehlerhafte Daten nicht die Gesamtaussagekraft von berechneten Semantiken in Frage stellen.17
Damit verbunden ist die Frage nach den Versionen: Für Dokumente ist es noch relativ leicht, verschiedene Versionen kenntlich zu machen und auch alte Versionen als Referenz aufzubewahren. In vielfach vernetzten, kollaborativ erstellten Graphen jedoch ist jede Ergänzung, Löschung oder Änderung eines Tripels eigentlich eine neue Version des Gesamtgraphen, deren Auswirkungen unter Umständen weitreichend sein können. Wie versioniert man solche Änderungen und wie macht man bestimmte Versionen als Referenz zugänglich? Wie schließlich entscheidet man, ob eine Aussage, die sich auf eine vergangene Version bezieht, auch in einer neuen noch voll gültig ist?
All diese und weitere Fragen beschäftigen die Forschung und fließen in neue Versionen der Standards ein. Auch werden neue Sprachen und Ansätze zur Semantikmodellierung entwickelt, die versuchen, diese Probleme zu lösen. In diesem Sinne trägt die aktive Forschung zum Semantic Web zu einer konstanten Verbesserung der Standards und Prozesse, aber auch zu einem größeren Problembewusstsein bei den Modellierern und Anwendern bei. Auch werden die Grenzen semantischer Modellierung sichtbar: Weder lässt sich alles modellieren, was modelliert werden kann, noch gibt es einen einzigen richtigen Weg der Modellierung. Kontextabhängigkeit und deren Modellierung wird für die Zukunft semantischer Netze genauso wichtig werden wie die Quantifizierung von Datenqualität und die Abschätzung des unbekannten, nichtmodellierten Anteils. Die Verschränkung von Linguistik und Informatik zeigt sich hier besonders deutlich, da die Ambiguität natürlicher Sprache eine gewisse Widerständigkeit gegen ihre Formalisierung an den Tag legt, der nicht mit den Mitteln der Informatik allein zu begegnen ist.
Comments (0)