4.2.4.1: Resource Description Framework
Ein allgemeines Modell, das eine Syntax zur Beschreibung der Semantik von Metadaten
zur Verfügung stellt, ist vom W3C mit dem
Resource Description Framework
(RDF) definiert worden.
"Resource" wird dabei als ein unscharfer Begriff für physische oder konzeptuelle Objekte
verwendet. Das Glossar der W3C RDF Syntax Recommendation (1999)
[->]
definiert Resource als
"An abstract object that represents either a physical object such as a person or a book or a
conceptual object such as a color or the class of things that have colors. (...)".
Im Folgenden wird der Begriff
als Objekt übersetzt. Diese Übersetzung kollidiert allerdings leider mit dem Begriff
Objekt, wie er in der Grammatik verwendet wird (siehe unten). Daher wird auch der Begriff
Ressource
verwendet, auch wenn das dem deutschen Sprachgebrauch eigentlich nicht entspricht, oder
das Wort Objekt wird durch das englische "resource" spezifiziert, um es vom Objekt aus der Grammatik zu
unterscheiden.
RDF ist unter anderem mit dem
Ziel entwickelt worden, Metadaten möglichst eindeutig und unabhängig von einem bestimmten Wissensgebiet
zu beschreiben, ihre maschinelle Verarbeitung und Nutzung zu unterstützen und den Austausch
von Metadaten zwischen unterschiedlichen Gruppen und Anwendungen zu fördern. RDF wurde mit Hilfe von
XML definiert, wobei XML aber lediglich ein Hilfsmittel zur Beschreibung und Unterstützung sein soll,
das prinzipiell auch durch andere Methoden ersetzt werden kann.
Das Datenmodell von RDF setzt sich aus drei Komponenten
zusammen (siehe W3C RDF Model and Syntax Specification, 1999 [->]
):
- Als Objekte oder
Ressourcen (resources)
werden alle "Dinge" bezeichnet, die mit RDF beschrieben werden.
In der Regel sind das "Web-Objekte", die mit einer URL und gegebenenfalls weiteren Anker- oder
Elementangaben spezifiziert werden. Genauer genommen werden sie durch
einen URI, also einen
Uniform Resource Identifier, bestimmt.
Mit diesem erweiterten Adressierungskonzept [->]
können nicht
nur Web-Seiten, sondern auch beliebige Objekte bezeichnet werden.
- Objekte können Eigenschaften
(properties) haben, die ihre Charakteristika oder Aspekte beschreiben.
Eigenschaften sollten eine festgelegte Bedeutung und wohl definierte zulässige Werte haben.
Auch der Unterschied oder die Beziehung zu anderen Eigenschaften sollte klar abgegrenzt sein.
- Mit Objekten und Eigenschaften können in RDF Aussagen
(statements) formuliert werden, indem einer Eigenschaft eines Objekts
ein Wert zugewiesen wird. Dieser Wert kann entweder aus einer vorgegebenen Wertemenge stammen oder
wiederum ein Objekt sein. Eine Aussage kann in diesem Sinne auch als ein Tripel aus
Subjekt, Prädikat
und Objekt aufgefasst werden. Dabei bezeichnet hier "Objekt"
(wie oben angekündigt) den grammatikalischen Begriff, nicht die Ressource.
Das Prädikat bezeichnet die Eigenschaft oder die
Art der Aussage und das Subjekt schließlich die Ressource (oder eben das Objekt), über die etwas
ausgesagt wird. Eine Aussage oder mehrere Aussagen über das gleiche Objekt werden zu
einer Beschreibung
(description) zusammengefasst.
Zu diesem Grundmechanismus stellt das Datenmodell von RDF drei
verschiedene Container
zur Verfügung, also Konzepte, mit
denen Objekte oder Werte zusammengefasst werden können:
Bag
beschreibt eine ungeordnete Menge, wobei aber einzelne
Objekte mehrmals vorkommen können (also keine Menge im mathematischen Sinne).
Sequence
ist eine geordnete Liste von Objekten und
Alternative
ist eine Menge, aus der ein Objekt ausgewählt
werden muss. Diese Container können anstelle von einzelnen Objekten (Ressourcen) oder Werten verwendet
werden.
Dabei kann auch spezifiziert werden, ob sich eine Aussage auf den Container oder auf die einzelnen
Objekte im Container bezieht.
Schließlich erlaubt das RDF-Datenmodell auch Aussagen höherer Ordnung - also Aussagen über Aussagen - ,
indem eine Aussage selbst als Objekt definiert wird. Der Inhalt einer solchen Aussage wird dann nicht
mehr als durch die Metadaten beschriebene Tatsache (oder als wahr) angenommen, sondern als ein Objekt,
über das Aussagen gemacht werden können.
Sowohl die Definition von Containern als auch die Definition einer Aussage als Objekt werden
dadurch spezifiziert, dass der entsprechenden Beschreibung ein in RDF definierter Typ zugewiesen wird.
Bei den Containern kann das durch die abgeleiteten XML-Elemente
bag, seq (für Sequence) und
alt (für Alternative) getan werden.
Um eine Aussage als Objekt zu definieren, wird ihr eine Eigenschaft
type mit dem Wert statement
hinzugefügt.
Darstellungsformen von RDF
Mit den RDF-Mechanismen lassen sich einfache Attribut-Wert-Paare definieren,
also z.B.
eine Dublin-Core-Metadatenbeschreibung
(siehe Abbildung 100
).
Wenn Aussagen aber entsprechend geschachtelt werden,
können auch sehr komplexe Beschreibungen entstehen.
Um diesen komplexen RDF-Beschreibungen gerecht zu werden, gibt es weitere Beschreibungsformate.
Eine mögliche Darstellungsform ist ein semantisches Netz oder
RDF-Graph,
bei dem Objekte als Knoten und Eigenschaften als Kanten eines gerichteten
Graphen gezeichnet werden. Diese Darstellungsform findet sich z.B.
in den W3C-Dokumenten, bei Miller (1998) [->]
und in Abbildung 101
.
Die beschriebenen Mechanismen stellen zunächst nur die Syntax der Metadatenbeschreibung zur Verfügung.
Die Bedeutung oder Semantik der Metadatenbeschreibung wird durch die Definition der Eigenschaften und
der Werte, die die Eigenschaften annehmen können, bestimmt, also z.B. durch die Dublin-Core- oder
LOM-Definitionen. Wie weit diese Bedeutung maschinell erfasst und verwendet werden kann, hängt von vielen
Faktoren ab, insbesondere natürlich von den Methoden, mit denen das so formal repräsentierte
Wissen verarbeitet wird. Dabei sind die in diesem Buch beschriebenen Information-Retrieval-
und Wissensextraktionsmethoden sicherlich einfache Modelle, die dafür aber mit heterogenen Sammlungen
noch verhältnismäßig gut umgehen können.
Bei der Entwicklung von Methoden zur Beschreibung der Inhalte können weitere Konzepte
zur Inhaltsrepräsentation verwendet werden. In Frage kommen z.B.
Ansätze, die auch schon in den Datenmodellen von
XML Schema verwendet wurden, wie das Konzept der Vererbung oder Ansätze der unscharfen
Wissensrepräsentation durch Fuzzy Sets sowie das Vektorraummodell.
RDF-Schema
RDF selbst soll mit der
RDF Vocabulary Description Language
RDF Schema
eine Beschreibungssprache zur Verfügung stellen, in der nach ihrer Bedeutung strukturierte Vokabularien
definiert werden können. Das geschieht dadurch, dass grundlegende Klassen und Eigenschaften
definiert werden, mit denen die inhaltlichen Strukturen beschrieben und weitere Klassen und
Eigenschaften (properties) definiert werden können.
Die folgende Darstellung stützt sich auf den W3C Working Draft 1.0 vom 30. April 2002
[->]
,
beschreibt also "work in progress" und keine verabschiedete Spezifikation oder W3C-Empfehlung.
Der theoretische Hintergrund der Vorschläge liegt in der Modelltheorie und wird von
Hayes (2002)
[->]
in einem W3C Working Draft näher beschrieben.
Dabei geht es darum, ein logisches Modell mit Hilfe eines Graphen (eben dem
RDF-Graphen) zu beschreiben, das die "reale Welt" abbilden soll (bzw. genauer: in das die
reale Welt abgebildet werden kann). Aus diesem Modell können dann Aussagen abgeleitet und
Schlüsse gezogen werden. Das Modell ist also erheblich mehr als nur ein Format
für die Beschreibung von Metadaten: Es kann zur Modellierung von Realitätsausschnitten
genutzt werden, wendet dabei aber in seiner gegenwärtigen Form lediglich binäre
Logik an. Die Inferenzmechanismen werden für die Dokumentsuche
allerdings nicht genutzt. Wie weit sie in anderen Anwendungen sinnvoll eingesetzt werden
können, scheint noch weitgehend offen.
Nach den Vorschlägen des RDF-Schema-Entwurfs (Bricklay und Guha, 2002 [->]
)
sollen die bereits in der RDF-Syntax eingeführten
Objekte (resources), Eigenschaften (properties),
Aussagen (statements) und Container
Bag,
Seq
und
Alt
als
RDF-Klassen
definiert werden. Weitere neue Klassen sind u. a.
Literal,
eine Klasse, die Werte wie die Menge aller Zeichenketten umfasst,
Container
als "Oberklasse" der genannten Container und die Klassen
class
selbst. (Hayes (2002) [->]
begründet,
wieso diese rekursive Definition unproblematisch ist. Darauf soll hier aber nicht eingegangen werden.)
Durch die Klassen werden sozusagen die grundlegenden Datentypen definiert.
Diese Datentypen werden einem Objekt durch die Eigenschaft
type zugewiesen.
Weiter werden die Eigenschaften (properties) nicht als Teile der Objekte oder Ressourcen,
sondern als eigenständige Einheiten definiert, die einen Definitionsbereich (domain) und einen
Wertebereich (range) haben.
Sie sind als "Verbindungen" oder "Kanten" im RDF-Graphen eingezeichnet.
Dabei ist der Ausgangsknoten der Kante ein Element des Definitionsbereichs und der
Endpunkt ein Element des Wertebereichs. Die oben definierte Eigenschaft
type
hat z.B. als Definitionsbereich die Klasse der Objekte (Ressourcen) und als Wertebereich
die Klasse der Klassen - sie ordnet einem Objekt also seine Klasse zu.
Da die Eigenschaften (properties) selbst aber auch eine Klasse bilden, können sie auch als Knoten
im Netz auftreten. In Abbildung 101
wird z.B. im oberen Teil die Eigenschaft
eg:author
als Knoten beschrieben und im unteren Teil als Kante verwendet.
(Formal handelt es sich bei dem RDF-Graphen um einen bezeichneten Graphen, bei dem jeder
Kante eine Bezeichnung zugeordnet werden kann. Als eine solche Bezeichnung kann dann auch ein
Knoten gewählt werden. Dadurch wird der Widerspruch aufgehoben, dass ein Objekt als
Knoten und an anderer Stelle im selben Graph als Kante auftritt.)
Dadurch, dass Eigenschaften als Kanten und Knoten auftreten können und die Menge der Knoten
selbst als Knoten auftritt, können RDF-Graphen zunächst etwas verwirrend aussehen.
Wie weit sie und die Inferenzmöglichkeiten letztendlich nützlich sind, wird sich zeigen müssen.
Die grundlegenden Eigenschaften (properties), die zur Strukturierung von Vokabularien definiert werden,
sind
SubClassOf
und
SubPropertyOf,
die Teilmengen und Spezialisierung beschreiben. Beide werden im Entwurf der Sprachdefinition
als transitiv bezeichnet. Das heißt, ein Objekt, das durch mehrere
SubClassOf-Eigenschaften von einem anderen Objekt aus "erreicht" werden kann,
ist selbst eine Unterklasse dieses Objekts.
Ist eine Eigenschaft eine Spezialisierung (SubPropertyOf)
einer anderen Eigenschaft, so sind ihre Definitions- und Wertebereiche Unterklassen
(SubClassOf) der Definitions- und Wertebereiche dieser Eigenschaft.
Mit dieser Definition können hierarchische Klassifikationen beschrieben werden, in denen
Vererbungsmechanismen gelten.
|