Resource Description Framework

ontologieDie erste Möglichkeit, mit Hilfe der Techniken des W3C und damit unabhängig von herstellerspezifischen Konstruktionen Metadaten zu verwalten, stellt der RDF-Standard dar. Das Akronym löst sich zu „Resource Description Framework“ auf und stellt eine Möglichkeit dar, allgemeine Metadaten von einem Dokument (im Sinne des Standards stellt dies eine Ressource dar) sowie auch innerhalb desselben spezifischen Angaben zu den Metadaten der Dokumentinhalte zu verwalten. Dieser Abschnitt soll zunächst die Prinzipien des Standards einführen und dann diese an einigen Beispielen darlegen. Er orientiert sich innerhalb seines Aufbaus also an der vorherigen Darstellung von XML Schema.

Ziele von RDF

ontologieFür die Verwaltung von Metadaten sowie die Erstellung einfacher Ontologien eignet sich das Resource Description Framework. Es stellt eine mögliche Lösung für die Abbildung des semantischen Internets dar und kann auch im internen Unternehmenseinsatz für die Abbildung von Metainformationen für Ressourcen genutzt werden. In eine Erweiterung ist es zusätzlich für ontologische Modellierung verwendbar. Sein Datenmodell sowie die allgemeinen Zielsetzungen, die man während der Softwareentwicklung mit seinem Einsatz verfolgen kann, sollen in diesem Abschnitt beschrieben werden.

Allgemeine Zielsetzungen von RDF

Eine große Herausforderung für alle Syntaxstrukturen, welche sich mit der Abbildung von Meta-Informationen beschäftigen, stellt die Formalisierung der Strukturen der Meta-Informationen selbst dar. Dies ist gerade im Hinblick auf die Möglichkeiten, die Informationen zu durchsuchen und Informationen zu extrahieren, von besonderer Bedeutung. Daher weist die Syntax von RDF folgende Zielsetzungen auf:

Unabhängigkeit

Die Entwicklung und Definition von Ressourcen ist von der veröffentlichenden Einheit wie eine Organisation, ein Unternehmen oder eine reale Person abhängig und nicht von einer übergeordneten Instanz. Dies zwingt indirekt auch erst dazu, Meta-Informationen in einer so formalen Sprache zu erfassen, dass sie für unterschiedlichste Ressourcen gültig ist.

Austausch

Da die RDF-Aussagen in XML umgewandelt werden bzw. RDF ein XML-Format ist, lassen sie sich als Texte selbst wiederum leicht austauschen und von unterschiedlichen Einheiten verarbeiten.

Skalierbarkeit

Aufgrund der überaus geringen Komplexität der RDF-Aussagen, welche aus den drei Teilen Ressource, Eigenschaft und einem Wert bestehen, lassen sie sich leicht verarbeiten. Dies geht sowohl mit der Zielsetzung des einfachen Austauschs einher wie auch mit der massenweisen Verarbeitung von RDF-Aussagen. Dies ist eine wichtige Voraussetzung, um sie in großen Textdatenbanken wie für das Inter- oder Intranet auswerten zu können.

Eigenschaften sind Ressourcen

Die Eigenschaften einer Ressource selbst können auch wieder Eigenschaften aufweisen. Dadurch ist es möglich, sie wie Ressourcen zu verarbeiten. In Kombination mit der Eigenschaft der Austauschbarkeit aufgrund der Textspeicherung im XML-Format lassen sie sich mit den gängigen Werkzeugen der XML-Transformation untersuchen und verarbeiten.

Werte können Ressourcen sein

Da in der realen Welt Ressource auch Werte enthalten können, die selbst wiederum Ressourcen sind, wie dies bei Links und Verweisen der Fall ist, ist eine grundsätzliche Eigenschaft von RDF, dass Werte auch als Ressourcen betrachtet werden können.

Aussagen können Ressourcen sein

Um Metainformationen untereinander vergleichen zu können bzw. um Abfragen auf Meta-Informationen durchzuführen, deren Antworten auf andere Meta-Informationen der gleichen Ressource abzielen, können Aussagen selbst auch Ressourcen sein.

 

Datenmodell von RDF

Mit Hilfe der RDF-Syntax sollen Metadaten von Textdokumenten (typischerweise in einem XML-Vokabular, das über ein Schema-Dokument validiert werden kann) erfassen, um diese durchsuchbar zu machen. Der Standard basiert auf den folgenden Bausteinen , welche auch im Element-Namen der RDF-Syntax erscheinen:

Ressource

Mit diesem Begriff ist im allgemeinen Verständnis ein Dokument gemeint. Sobald allerdings die Metadaten sich nicht nur auf ein einzelnes Dokument beziehen, sondern erweiterte Metainformationen für Dokumentinhalte beschrieben werden, kann mit ihm jedes Objekt bezeichnet werden, dass eine URI aufweist. In seiner Gesamtheit bezeichnet es also einzelne Dokumente im Inter- oder Intranet sowie Elemente innerhalb desselben. Über die URI ist dieses Dokument bzw. das Element identifizierbar. In einer erweiterten Sicht werden unter Ressourcen allerdings auch alle Objekte verstanden, die einen Namen tragen, ohne eine Webressource sein zu müssen.

Literale

Alle Zeichenketten gemäß der allgemeinen XML-Spezifikation sind auch in RDF zulässig und stellen den verfügbaren lexikalischen Bereich für die Werte in RDF dar.

Eigenschaft

Eine Eigenschaft stellt selbst wiederum eine Ressource dar und beschreibt den Zustand einer Ressource oder eine Beziehung zwischen Ressourcen.

Aussage

Eine Aussage besteht aus der Kombination einer Ressource mit einer Eigenschaft und einem Wert, der z.B. der eigentliche Inhalt in Form eines Textknotens darstellt. Die einzelnen Bestandteile dieser Kombination bezeichnet man als Subjekt, Prädikat und Object einer Aussage. Dies können Zuordnungen, Unterordnungen oder Übeordnungen von Eigenschaften eines Elements sein, die über einen bestimmten, individuellen Wert gekennzeichnet werden. Einfache Zugehörigkeiten in diesem Zusammenhang sind z.B. Name einer Ressource oder Autor einer bestimmten Ressource, welche man jeweils in einen einfachen Hauptsatz bestehend aus (nun aus grammatischer Sicht) Subjekt, Prädikat und Objekt ausdrücken kann. Damit entsteht ein 3-Tupel, welche sich an erster Stelle aus einem Eigenschaftennamen, an zweiter Stelle aus einem Ressourcennamen und an dritter Stelle entweder aus einem Literal oder einem Ressourcennamen zusammensetzen. Beispiel: www.example.org/index.html has a creator whose value is John Smith

RDF:type

Ein Element aus der Mengen der Eigenschaften stellt RDF:type dar, welches zum Einsatz kommt, wenn eine Ressource einer Klasse zugeordnet wird. Damit kann also eine Beziehung zwischen Daten eingerichtet und angegeben werden. Dabei ist eine solche Klasse eine Ressource RDFS:class, die selbst vom Typ RDF:type ist und als Menge verstanden werden kann.

TypeRel

Über eine Type-Beziehung lässt sich eine Ressource einer Klasse zuordnen und entstammt selbst der Menge der Aussagen (statements). Dabei müssen Subjekt und Objekt einer solchen Typ-Beziehung eine Ressource darstellen und kein Literal.

RDF:Statement

Mit RDF:Statement liegt ein Element aus der Menge der Ressourcen, aber nicht der Eigenschaften vor. Es lässt sich syntaktisch für die Reifikation einer Aussage verwenden, d.h. für die Abbildung von „Aussagen über Aussagen“. Dabei benötigt man eine zweite Ressource – den Reifikant -, welche eine Aussagen darstellt und selbst daher als RDF:Statement angegeben werden muss [Vgl. W3C, RDF: Syntax, 2004, Abschnitt 5.3.1 unter www.w3.org/TR/rdf-schema/.

Vordefinierte Eigenschaften

Aus der Menge an möglichen Eigenschaften stellen RDF:predicate, RDF:subject und RDF:object vordefinierte Eigenschaften für den Einsatz in reifizierten Aussagen dar. Sie bezeichnen das jeweilige Subjekt, Prädikat und Objekt innerhalb eines 3-Tupels in RDF [Vgl. W3C, RDF: Concepts, 2004, Abschnitt 6.1 unter www.w3.org/TR/2004/REC-rdf-concepts-20040210/.

Reifizierte Aussage

Um eine Aussage über Aussagen treffen zu können (indirekte Aussage, Zitat, Verweis etc.), verwendet man einen Reifikant, der vierfach in Aussagen als Subjekt RDF:subject auftritt. Von diesen vier Aussagen dienen drei der Angaben der reifizierten Aussage (Subjekt, Prädikat und Objekt) [Vgl. W3C, RDF: Primer, 2004, Abschnitt 4.3 unter www.w3c.org/TR/rdf-primer/.

Sammlungen

Drei vordefinierte Elemente der Menge Ressource stellen RDF:seq, RDF:bag und RDF:alt dar. Sie ermöglichen die Angabe von Sammlungen, also von Zusammenstellungen mehrerer Ressourcen oder Literalen, wobei Wiederholungen zulässig sind. Dabei dient [Vgl. W3C, RDF:Primer, 2004, Abschnitt 4.2 unter www.w3c.org/TR/rdf-primer/]

  • RDF:bag für die Angabe einer ungeordneten Sammlung,
  • RDF:seq für die Angabe einer geordneten Sammlung und
  • RDF:alt für die Angabe einer alternativ zu sehenden Auswahl an Ressourcen oder Literalen.

 

 

Repräsentation

ontologieDie Datenrepräsentation von RDF entspricht einer 3-Tupel-Notation in einer einfachen Graph-Form. Sie wird in diesem Artikel übersichtsartig dargestellt, wobei auch auf die XML-Notation dieser Form eingegangen wird.

Für das RDF-Konzept stehen drei unterschiedlichen Notationen zur Verfügung, von denen die ersten beiden (grafische Notation und die 3-Tupel-Notation) für das Verständnis der Aussagen in einem RDF-Dokument verwendet werden können.

Grafische Notation

RDF lässt sich in einer einfachen Graph-Form, dem so genannten RDF-Graph, ausdrücken. Er besteht aus zwei Knoten und einer gerichteten, markierten Kante, wobei die Knoten wahlweise eine Ressource oder ein Literal repräsentieren. Dabei wird eine Ressource als Oval und ein Literal als Rechteck dargestellt. Die Beschriftung der Kante stellt dabei die Eigenschaft (property) der Aussage (statement) dar, welche durch den gesamten Graph abgebildet wird. Der Startknoten repräsentiert das Subjekt der Aussage, der Zielknoten dagegen ihr Objekt. Die Rechtecke stellen stets Blätter des RDF-Graphen dar, d.h. von ihnen gehen wiederum keine Kanten aus. Sie repräsentieren daher ständig Objekte einer Aussage [Vgl. W3C, RDF: Concepts, 2004, Abschnitt 6.2 unter www.w3.org/TR/2004/REC-rdf-concepts-20040210/.

Grafische Notation von RDF

3-Tupel-Notation

Die 3-Tupel-Notation stellt im Standard in Beispielen eine Formalisierung der Graph-Notation bzw. der Aussagen von RDF dar, ohne diese in RDF-Syntax auszudrücken. Das heißt, es entstehen keine XML-Ausdrücke, sondern eine textuell anders gefasste Variante, welche in knapper Form eine Aussage erfasst [Vgl. W3C, RDF: Test cases, 2004, Abschnitt 3.1 unter www.w3.org/TR/rdf-testcases/.

Neben den 3-Tupeln entwickelt das W3C auch eine erweiterte Tupel-Dartsellung für n-Tupel, wie sie z.B. in Form von 4-Tupeln für die reifizierten Aussagen notwendig sind. Die allgemeine Syntax lautet – leicht verkürzt -:

 

		ntripleDoc ::= line*  triple ::= subject ws+ predicate ws+ object ws* '.' ws*  subject ::= uriref | nodeID  predicate ::= uriref  object ::= uriref | nodeID | literal  uriref ::= '<' absoluteURI '>'  nodeID ::= '_:' name  literal ::= langString | datatypeString  langString ::= '"' string '"' ( '@' language )?  datatypeString ::= '"' string '"' '^^' uriref  	

 

XML-Notation

Während die grafische Darstellung für eine gut lesbare und tatsächlich nur grafische Repräsentation der RDF-Aussagen verwendbar ist, und die 3-Tupel-Notation nur als sehr schematische, aber nicht in XML-Form verarbeitbare Syntax einsetzbar ist, liegt natürlich das Hauptaugenmerk des gesamten RDF-Standards und seine eigentliche Verwendung auf der XML-Notation. Dabei stellen RDF-Dokumente eigene, wohlgeformte XML-Dokumente dar. Sie enthalten innerhalb des rdf-Namensraums eine Serialisierung der über die 3-Tupel angegebenen Aussagen [Vgl. die komplette Syntaxdarstellung in W3C, RDF: Syntax, 2004 unter www.w3.org/TR/rdf-schema/.].

 

		<?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"  xmlns:contact="http://www.w3.org/2000/10/swap/pim/contact#">  <contact:Person rdf:about="http://www.w3.org/People/EM/contact#me">  <contact:fullName>Eric Miller</contact:fullName>  <contact:mailbox rdf:resource="mailto:em@w3.org"/>  <contact:personalTitle>Dr.</contact:personalTitle>   </contact:Person> </rdf:RDF> [Vgl. W3C, RDF: Primer, 2004, Abschnitt 1 unter http://www.w3c.org/TR/rdf-primer/#intro.]

 

Dies ergibt als Graph folgende Darstellung [Vgl. W3C, RDF: Primer, 2004, Abschnitt 1 unter www.w3c.org/TR/rdf-primer/:

Grafische Notation von RDF

RDF Schema

ontologieDieser Artikel zeigt übersichtsartig die verschiedenen Syntax-Bereiche von RDF Schema. Es sind einige Ähnlichkeiten mit OWL zu erkennen, da sich OWL als Erweiterung zu RDF Schema versteht. Insbesondere an den verschiedenen vorhandenen Elementen fällt deutlich auf, wie grundlegend Ontologien abgebildet werden können.

Mit Hilfe weiterer Syntaxkonstrukte lassen sich jetzt nicht nur allgemeine Dokumentmetainformationen speichern, sondern zusätzlich so genannte RDF Schemata erstellen. Sie erlauben die Generierung von Vokabularen, die Ressourcen und ihre Eigenschaften sowie die Beziehungen von Datenstrukturen untereinander im Hinblick auf die Ressource beschreiben können. Für diese speziellen Elemente existiert der eigene Namensraum rdfs. Dabei werden folgende Strukturen verwendet

Rdfs:Class

Eine Klasse charakterisiert eine Ressource als Typisierungskonzept bzw. als Oberbegriff oder Oberkonzept für andere Ressourcen [Vgl. W3C, RDF Schema, 2004, Abschnitt 2.2 unter www.w3.org/TR/rdf-schema/. Gleichzeitig wird es vom Standard in die Gruppe der Klassen von RDF Schema eingeordnet [Vgl. W3C, RDF Schema, 2004, Abschnitt 6.1 unter www.w3.org/TR/rdf-schema/ sowie die angegebenen Abschnitte.], aus denen sich andere Konzepte ableiten. Damit stellen sie als Syntax selbst wiederum Typisierungskonzepte für z.B. Datentypen aus XML Schema oder die Eigenschaften dar.

  • rdfs:Resource stellt die Klasse der Ressourcen dar [Vgl. W3C, RDF Schema, 2004, Abschnitt 2.1 unter www.w3.org/TR/rdf-schema/, d.h. aller Objekte, welcher sich über eine URI angeben lassen. Alle Elemente, Dinge oder Konzepte der abzubildenden Umwelt, seien es konkrete Web-Ressourcen oder andere Objekte, stellen für RDF Schema Ressourcen dar. Die Beziehung zwischen rdfs:resource und rdfs:class ist eine Instanzbeziehung, d.h. eine Ressource stellt eine Instanz von einer Klasse dar, d.h. eine konkrete Ausprägung eines Typisierungskonzeptes. (Abschnitt: 2.1)
  • rdfs:Class stellt die Klasse der Klassen dar, mit denen Typisierungskonzepte abgebildet werden können. Eine konkrete Klasse, d.h. ein konkretes Typisierungskonzept stellt dabei genauso eine Instanz bzw. eine Ressource dar wie Klassenausprägungen einer angegebenen Klasse. (Abschnitt: 2.2)
  • rdfs:Literal stellt die Klasse der Literale, also Zeichenketten und Zahlen dar, welche z.B. als Objekte auftreten können. (Abschnitt: 2.3)
  • rdfs:Datatype stellt die Klasse der Datentypen dar und gilt gleichzeitig als Instanz der Klasse der Literale und als Instanz wie Unterklasse der Klasse rdfs:class. Dabei entsprechen die Datentypen den Datentypen aus XML Schema .(Abschnitt: 2.4) [Vgl. W3C, XML Schema Datytypes, 2004, unter www.w3.org/TR/xmlschema-2/.]
  • rdf:XMLLiteral stellt die Klasse der literalen Werte dar, wie sie für XML-Namen gültig sind. Sie ist gleichzeitig eine Instanz von rdfs:class und eine Unterklasse von rdfs:resource. (Abschnitt: 2.5)
  • rdf:Property stellt die Klasse der möglichen Eigenschaften dar und ist gleichzeitig eine Instanz von rdfs:class. (Abschnitt: 2.6)

 

Rdf:property

Eine Eigenschaft stellt in einer Aussage das Prädikat dar [Vgl. W3C, RDF Schema, 2004, Abschnitt 2.6 unter www.w3.org/TR/rdf-schema/. Allgemein fasst man sie als Beziehungsstruktur zwischen Subjekt und Objekt einer Aussage auf. Dies gilt gemeinsprachlich insbesondere für die Datenbeziehungen, welche bereits für die erweiterte Datenmodellierung angegeben wurden: TEIL VON oder INSTANZ VON. Die Struktur rdf:property zählt auch zu den Klassen und besitzt folgende Instanzen [Vgl. W3C, RDF Schema, 2004, Abschnitt 3 unter http www.w3.org/TR/rdf-schema/ sowie die angegebenen Abschnitte.]:

  • rdfs:range gibt an, dass ein Eigenschaftswert Instanz einer oder mehrerer Klassen ist. (Abschnitt: 3.1)
  • rdfs:domain gibt an, dass eine Ressource mit einer bestimmten Eigenschaft eine Instanz von einer oder mehreren Klassen ist. (Abschnitt: 3.2)
  • rdf:type gibt an, dass eine Ressource die Instanz einer Klasse ist. (Abschnitt: 3.3)
  • rdfs:subClassOf gibt an, dass die Instanzen einer Klasse Instanzen voneinander sind. (Abschnitt: 3.4)
  • rdfs:subPropertyOf gibt an, dass die Instanzen einer Klasse, die durch eine Eigenschaft verbunden sind, auch untereinander verbunden sind. (Abschnitt: 3.5)
  • rdfs:lable gibt einen menschenlesbaren Ressourcennamen an. (Abschnitt: 3.6)
  • rdfs:comment gibt eine menschenlesbare Ressourcenbeschreibung an. (Abschnitt: 3.7)

 

 

Bewertung von RDF und RDF Schema

ontologieRDF und RDF Schema bieten viele Möglichkeiten, Ontologien in XML-Strukturen zu modellieren, aufzubauen und auch auf Gültigkeit zu prüfen, bevor die Verarbeitung dieser Daten einsetzt. Dieser Artikel soll kurz die vorhandene Syntax bewerten und mit anderen Techniken wie OWL oder XTML vegleichen.

Da RDF sich auch in Graphenform abbilden lässt bzw. syntaktisch die eine 3-Tupel-Konzeption (Subjekt, Prädikat, Objekt) aufweist, entspricht diese Struktur den Konzeptmerkmalen eines semantischen Netzes. Zu diesen Merkmalen gehören der Konzeptname, die Extension (Menge aller Objekte) und die Intension (Merkmale der zu einem Konzept gehörenden Objekte) . Da in RDF die Möglichkeit besteht, Beziehungen zwischen Konzepten semantisch abzubilden, basieren sie auf so genannten assoziativen Beziehungen, die formal als zweistellige Relationen verstanden werden können. Dies ergibt in diesem Verständnis wie auch hinsichtlich des RDF Graphen ein Assoziationsmodell, welches Knoten für die Abbildung von Konzepten (Subjekt) und Kanten für die assoziativen Beziehungen (Prädikat) besitzt. Dabei lassen sich folgende zwei Graphen-Typen unterscheiden:

  • Assoziatives Netzwerk: Hier besitzt der Graph nur Kanten, welche eine assoziative Beziehung ausdrücken.
  • Semantisches Netzwerk: Hier besitzt der Graph verschiedene Kanten, die unterschiedliche Beziehungen ausdrücken. Da in einem RDF Graph unterschiedliche Kantentypen bzw. unterschiedliche Prädikate zulässig sind und in den meisten Fällen auch auftreten werden, entspricht der RDF Graph per Definition einem solchen semantischem Netzwerk.

Möchte man RDF für die Erstellung von Ontologien einsetzen und nicht nur einfache Zusatz- bzw. Dokumentmetainformationen zu einem Dokument speichern, dann ergibt sich ein zunächst eingeschränkter Einsatzbereich. Es ist zwar grundsätzlich möglich, die Grundbausteine von Ontologien in RDF wiederzufinden und dementsprechend auch Ontologien in RDF zu modellieren, aber – wie die spätere Darstellung von XML Topic Maps zeigen wird – die Verwendung ist nicht so ausgebildet und raffiniert wie in anderen Technologien.

Prinzipiell kann ein RDF Schema durchaus eine Ontologie abbilden. Objekte, Klassen und Eigenschaften sind modellierbar. Dies gilt auch für die Beziehungen zwischen Daten, die über die vordefinierten Eigenschaften INSTANZ VON oder TEIL VON ausgedrückt werden können. Dies dürften die wichtigsten Beziehungen oder zumindest die am häufigsten anzutreffenden Beziehungen zwischen Daten sein. Für alle darüber hinaus gehenden Beziehungsstrukturen, die notwendigerweise abgebildet werden sollen, lässt sich RDF nicht so angenehm verwenden wie die XML Topic Maps. Zusätzlich lassen sich auch Einschränkungen im Hinblick auf eine Domäne realisieren sowie Bereichsbeschränkungen für Attribute.

Im Hinblick auf Ontologien bietet RDF zwei wichtige Eigenschaften:

  • Es existiert eine standardisierte Syntax, um Ontologien abzubilden und sie zu formalisieren.
  • Die Syntax enthält primitive und grundsätzliche Techniken, um die beiden Grundbeziehungen INSTANZ VON und TEIL VON abzubilden.

Was an RDF zu kritisieren ist , liegt in der eingeschränkten Ausdruckskraft der gesamten Syntax begründet. Es besteht keine ausgereifte Möglichkeit, logische Axiome, die für die modellierten Daten bestehen, abzubilden. Nur durch die Angabe der Bezeichnungen bzw. Namen von Klassen und ihrer Eigenschaften, also ihrer Typen, lassen sich Objekte definieren. Damit sind allerdings keine bedeutungstragenden Informationen oder komplexe Beziehungen, welche sich über Axiome abbilden lassen, möglich.

Da RDF und RDF Schema jeweils bereits verabschiedete Standards sind, ist eine Verwendung problemlos möglich. Zusätzlich existieren geeignete Verarbeitungstechniken n unterschiedlichen Programmiersprachen, mit deren Hilfe modellierte bzw. ausgezeichnete Daten auch abgefragt werden können.