El lenguaje de marcado semántico RDF

RDF (Resource Description Framework) es un lenguaje de marcado semántico para describir recursos Web. Se trata de la infraestructura recomendada por el W3C para codificar, reutilizar e intercambiar metadatos estructurados. El artículo de hoy presenta la idea general sobre la que se construye este lenguaje, explica el modelo de datos y la sintaxis RDF/XML, y, finalmente, analiza un ejemplo sencillo de la recomendación oficial RDF del W3C.

rdf

En lenguaje natural construimos enunciados con sentido completo para transmitir mensajes, por ejemplo, decimos: Pepe ha creado la fotografía http://www.ejemplo.com/fotoid/5634. Las palabras de esta oración gramatical se dividen en dos grupos: el sujeto y el predicado.

De forma parecida, RDF se basa en la idea de describir los recursos mediante sentencias. A diferencia de las oraciones gramaticales, sin embargo, las sentencias RDF se dividen en tres partes: el sujeto -aquello de lo que se habla-, el predicado -la propiedad del sujeto- y el objeto -el valor específico de dicha propiedad-.

Según esto, podemos reescribir la frase anterior de esta manera:

http://www.ejemplo.com/fotoid/5634 tiene un creador el valor del cual Pepe

E identificar las tres partes de la sentencia RDF:

  • http://www.ejemplo.com/fotoid/5634 es el sujeto
  • creador es el predicado
  • Pepe es el objeto

El modelo de datos RDF y la sintaxis RDF/XML

Las sentencias RDF se escriben en notación de tripletas. Con esta notación las sentencias se representan con una tripleta que contiene el sujeto, el predicado y el objeto. RDF utiliza referencias URI (URIrefs) para identificar las tres partes de la sentencia y para reforzar el desarrollo y el uso de vocabularios compartidos en la Web.

No obstante, como con esta notación se tienen que escribir completamente las referencias URI -las sentencias pueden llegar a ser muy largas-, se utiliza otra notación para abreviar las referencias URI: los QNames.

Los QNames están formados, por un lado, por un prefijo asociado a un espacio de nombres URI, y, por otro, por un nombre local. La referencia URI se construye a partir del espacio de nombres asociado al prefijo y el nombre local. Por ejemplo, si asignamos el prefijo exterms al espacio de nombres http://www.example.org/terms/, entonces la referencia URI http://www.example.org/terms/creation-date equivale al Qname exterms:creation-date.

Estos son algunos prefijos que se utilizan para describir recursos Web con RDF:

  • rdf
  • http
  • rdfs
  • dc
  • owl
  • xsd

Es importante señalar la importancia de declarar el espacio de nombres correspondiente a un determinado vocabulario antes de usar el conjunto de términos que lo constituyen. La declaración de los espacios de nombres XML se hace al comienzo del documento RDF​​, dentro de la etiqueta rdf:RDF.

Las sentencias RDF no suelen estar aisladas porque generalmente se definen simultáneamente varias propiedades de un recurso. Por cierto, las tripletas se pueden escribir de diferentes maneras: Turtle, N-Triples y RDF/XML. Con la recomendación del W3C, la sintaxis RDF/XML, se agrupan las sentencias de un recurso en el elemento Description. El atributo about del elemento Description permite especificar el recurso del que se habla.

Un ejemplo sencillo

La oración en lenguaje natural:

http://www.example.org/index.html has a creation date whose value is August 16, 1999

Se escribe así en notación de tripletas:

Y se serializa en RDF/XML de esta manera: