RDF Schema (RDFS)

RDF Schema (RDFS) es una extensión de RDF.

RDF Schema y clases de aplicaciones

RDF describe recursos mediante clases, propiedades y valores.

Además, RDF necesita un método para definir clases y propiedades específicas de aplicaciones. Las clases y propiedades específicas de aplicaciones deben definirse utilizando extensiones de RDF.

RDF Schema es una de estas extensiones.

RDF Schema (RDFS)

RDF Schema no proporciona clases y propiedades específicas de aplicaciones, sino que ofrece un marco para describir clases y propiedades específicas de aplicaciones.

Las clases en RDF Schema son muy similares a las clases en lenguajes de programación orientados a objetos. Esto permite definir recursos como instancias de clases y subclases de clases.

Ejemplo de RDFS

Este ejemplo demuestra ciertos aspectos de la capacidad de 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>

En el ejemplo anterior, el recurso "horse" es una subclase de la clase "animal".

Ejemplo abreviado

Dado que una clase RDFS es un recurso RDF, podemos abreviar el ejemplo anterior utilizando rdfs:Class en lugar de rdf:Description y eliminando la información rdf:type:

<?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>

¡Es así de simple!