Presentación de RDFS

En el post anterior de esta categoría, la Web Semántica, hemos escrito sentencias sencillas que describen recursos Web, pero no hemos podido definir clases ni propiedades. Pues bien, RDF Schema es la extensión del lenguaje RDF que proporciona los elementos básicos para poder describir clases y propiedades. Es un lenguaje primitivo de ontologías que proporciona los elementos básicos para describir vocabularios.

Logo RDF

Como decimos, la capacidad expresiva de RDFS tiene forma de vocabulario. Se apoya en un conjunto especializado de recursos RDF con un significado especial, por ejemplo: rdfs:Resource, rdfs:Class, rdfs:subClassOf, etc.

Para ilustrar esta expresividad a continuación adjunto la definición de una jerarquía de clases de vehículos. Esta definición pertenece al apartado 5. Defining RDF vocabularies: RDF Schema del manual RDF del W3C (recomendación del 10 de febrero de 2004).

Este ejemplo describe las clases específicas de la aplicación: MotorVehicle, PassengerVehicle, Truck, Van y Minivan mediante los términos rdfs:Class, rdf:ID y rdfs:subClassOf.

Con RDFS, sin embargo, no se pueden hacer cosas como:

  • Restringir la cardinalidad de las propiedades. Por ejemplo, un camión sólo tiene un propietario.
  • Especificar que dos clases diferentes representan la misma clase.
  • Especificar que dos instancias diferentes representan el mismo individuo.
  • Describir nuevas clases en términos de combinaciones de otras clases.

En la actualidad ya existen vocabularios RDF a los que podemos acudir para anotar semánticamente nuestros recursos; por ejemplo, el lenguaje FOAF. FOAF es un diccionario de propiedades y clases con el que podemos describir relaciones entre personas e información de la Web.

A continuación voy a describirme a mí mismo con FOAF:

¿Qué te parece nuestra primera anotación RDF con FOAF? Para ampliar esta información te recomiendo que eches un vistazo a este artículo de Edd Dumbill.