RDF Schema (RDFS)

RDF Schema (RDFS) ist eine Erweiterung von RDF.

RDF Schema und Klassen der Anwendung

RDF beschreibt Ressourcen durch Klassen, Attribute und Werte.

Darüber hinaus benötigt RDF eine Methode zur Definition von anwendungsspezifischen Klassen und Attributen. Anwendungenpezifische Klassen und Attribute müssen mit Erweiterungen von RDF definiert werden.

RDF Schema ist eine solche Erweiterung.

RDF Schema (RDFS)

RDF Schema bietet keine tatsächlichen, anwendungenpezifischen Klassen und Attribute an, sondern einen Rahmen zur Beschreibung solcher Klassen und Attribute.

Die Klassen in RDF Schema ähneln stark den Klassen in objektorientierten Programmiersprachen. Dies ermöglicht es, Ressourcen als Instanzen und Unterklassen von Klassen zu definieren.

RDFS-Beispiel

Das folgende Beispiel zeigt einige Aspekte der Fähigkeiten von RDFS:

<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base=  "http://www.animals.fake/animals#">
<rdf:Description rdf:ID="animal">
  <rdf:type 
   rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>
<rdf:Description rdf:ID="horse">
  <rdf:type
   rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdf:Description>
</rdf:RDF>

Im obigen Beispiel ist die Ressource "horse" eine Unterkategorie der Klasse "animal".

Kurzgefasster Beispielcode

Da eine RDFS-Klasse gleichzeitig ein RDF-Ressource ist, können wir den Beispielcode durch die Verwendung von rdfs:Class anstelle von rdf:Description und Entfernung der rdf:type-Informationen verkürzen:

<?xml version="1.0"?>
<rdf:RDF 
xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xml:base=  "http://www.animals.fake/animals#">
<rdfs:Class rdf:ID="animal" />
<rdfs:Class rdf:ID="horse">
  <rdfs:subClassOf rdf:resource="#animal"/>
</rdfs:Class>
</rdf:RDF>

Genau so!