La web semantica y el vocabulario RDF

Escrito el 21 febrero, 2001 – 10:01 | por storm | 5.992 lecturas

Muchos han oido hablar de la web semantica ¿pero que es realmente la web semantica? ¿Que es el vocabulario RDF y como puede todo esto cambiar el funcionamiento de la web? Todos estos interrogantes y varios mas son respondidos en esta nota que es en parte una fabulosa introduccion al mundo de la web semantica y tambien un valioso tutorial de RDF.

La web semantica y el vocabulario RDF

Garland Foster (Maldita Internet)

Mucho se ha hablado sobre la “web semantica” desde que Tim Berners Lee, el creador mismo de la web se embarcara en la tarea de definir este concepto como un paso clave hacia el progreso de la web. Una de las claves de la web semantica es permitir la automatizacion de procesos a traves de la web y para ello es necesario crear una “capa” de metadatos que sea entendible por las maquinas y que sirva para describir la web, esto es en si mismo, la web semantica. En articulo se describe la utilizacion de RDF como herramienta para especificar metadatos en la web.

La web fue desarrollada originalmente como un producto a ser consumido por seres humanos, y si bien todo en la web es “legible” para las maquinas esta informacion no es “entendible” para las mismas. Es muy dificil automatizar procesos en la web y dado el enorme tamaño de la misma es imposible realizar estos procesos en forma manual.

La solucion propuesta pasa por la utilizacion de “metadatos” que son datos que describen a los verdaderos datos, un catalogo de libros es por ejemplo un conjunto de metadatos ya que son datos que describen a los libros. A menudo un cierto conjunto de informacion puede interpretarse tanto como datos o como metadatos dependiendo esta distincion de la aplicacion que haga uso de los mismos.

RDF es la propuesta del World Wide Web Consortium (W3C) para definir metadatos en la web, RDF enfatiza la habilidad de realizar procesamiento automatico de los datos en la web. RDF puede aplicarse en una gran variedad de disciplinas que requieren procesamiento automatizado de datos en la web, por ejemplo en motores de busqueda, en aplicaciones catalogadoras, para describir conjuntos de paginas que constituyen un solo “documento” logico, en bases de conocimiento que necesitan reunir informacion sobre ciertos temas, para indicar las preferencias de privacidad sobre los datos que el autor de los mismos desea, etc.

En este articulo describimos la sintaxis basica de RDF y los mecanismos basicos para utilizar RDF para le generacion de metadatos en la web.

RDF es un vocabulario de XML y como tal respeta la sintaxis XML, el modelo basico de RDF consta de tres tipos de objetos:

  • Recursos: Todo aquello que puede ser decripto por una expresion RDF es un “recurso”, un recurso puede ser una pagina web, un recurso puede ser parte de una pagina web por ejemplo un tag html o xml dentro de una pagina con un cierto id. Un recurso puede ser tambien una coleccion entera de paginas o un site entero. Un recurso puede ser un objeto que no es directamente accesible via la web como por ejemplo un libro. Todos los recursos son identificados mediante URIs con anchor ids opcionales, es importante destacar que cualquier cosa puede tener una URI, la extensibilidad de un URI permite la definicion de identificadores para cualquier objeto imaginable.
  • Propiedades: Una propiedad es una caracteristica, aspecto, atributo o relacion usada para describir un recurso. Cada propiedad tiene un significado especifico, define sus valores posibles, los tipos de recursos que puede describir y su relacion con otras propiedades.
  • Sentencias: Un recurso junto con una propiedad con nombre mas el valor de la propiedad para dicho recurso se denomina una “sentencia”. Estas tres partes de una sentencia se denominan respectivamente el sujeto, predicado y el objeto. El objeto (el valor de la propiedad) puede ser otro recurso (especificado por una URI) o bien un valor literal.

Ejemplos:

Los recursos son identificados por indentificadores de recursos, un identificador de recurso es un URI mas un anchor id opcional. Consideremos la siguiente oracion:

“Juan Perez es el creador del recurso http://www.w3.org/home/jperez

La oracion tiene las siguientes partes:

Sujeto (recurso) http://www.w3.org/home/jperez
Predicado (propiedad) Creador
Objeto (literal) Juan Perez

En este articulo vamos a diagramar una sentencia RDF usando un grafo dirigido y rotulado. En estos diagramas los nodos (dibujados como ovalos) representan recursos y los arcos representan propiedades con nombre (el rotulo del arco es el nombre de la propiedad). Los nodos literales se dibujan como rectangulos. Para el ejemplo anterior el diagrama es:

Las imagenes fueron tomadas de la W3C por lo que puede que no coincidan en cuanto a los nombres usados pero si en el concepto del diagrama

La direccion del arco es importante, siempre empieza en el sujeto y termina en el objeto de la sentencia. Este tipo de diagramas se lee de la forma TIENE , en este caso “http://www.w3.org/home/jperez” tiene “Creador” “Juan Perez”

Supongamos ahora que queremos decir algo mas sobre las caracteristicas del creador del recurso, por ejemplo:

El individuo cyyo nombre es Juan Perez, email jperez@yahoo.com es el creador de http://www.w3.org/home/jperez

La idea de esta sentencia es destacar que el valor de la propiedad Creador es una entidad estructurada. En RDF este tipo de entidades se representan como nuevos recursos. La sentencia anterior no le da un nombre al recurso, es anonimo, por lo que en el diagrama se lo representa como un ovalo vacio.

Dandole continuidad al ejemplo anterior este diagrama podria leerse de la forma “http://www.w3.org/home/jperez” tiene “Creador” “Alguien” y “Alguien” tiene “Nombre” “Juan Perez” y “email” “jperez@yahoo.com”

La entidad del ejemplo anterior puede tambien recibir un identificador unico, la designacion del identificador es responsabilidad del diseñador de la aplicacion. Por ejemplo supongamos que un id de empleado es usado como identificador de los recursos tipo persona. Y supongamos que la URI es de la forma: http://www.w3.org/staffId/37438. En cuyo caso el diagrama quedaria de la forma:

Notar que el diagrama es identico con el agregado del nombre en el recurso apuntado por “creador”.

Sintaxis RDF basica

Una sentencia RDF raramente aparece en forma aislada, comunmente varias propiedades de un recurso son indicadas simultaneamente. La sintaxis RDF XML ha sido diseñada para acomodar esto facilmente agrupando varias sentencias sobre un mismo recurso en un elemento “Description”. El elemento “Description” menciona en un atributo “about” el recurso para el cual las sentencias se aplican. Si el recurso no existe aun el elemento “Description” puede asignarle un identificador en el momento usando un atributo ID.

Tomando como base el ejemplo anterior:

Juan Perez es el creador del recurso http://www.w3.org/home/jperez

Se escribe en RDF/XML de la forma:


<rdf:RDF>
<rdf:Description about=”http://www.w3.org/home/jperez”>
<s:creator>Juan Perez</s:creator>
</rdf:Description>
</rdf:RDF>

Usando Namespaces el documento XML completo podria verse de la foma:


<?xml version=”1.0″?>
<rdf:RDF
xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
xmlns:s=”http://description.org.schema/”>
<rdf:Description about=”http://www.w3.org/home/jperez”>
<s:creator>Juan Perez</s:creator>
</rdf:Description>
</rdf:RDF>

El segundo ejemplo era:

El individuo cyyo nombre es Juan Perez, email jperez@yahoo.com es el creador de http://www.w3.org/home/jperez

Y podria escribirse en RDF/XML de la forma:


<rdf:RDF>
<rdf:Description about=”http://www.w3.org/home/jperez”>
<s:creator rdf:resource=”http://www.w3.org/staffId/37438″ />
</rdf:Description>

<rdf:Description about=”http://www.w3.org/staffId/37438″>
<v:name>Juan Perez</v:name>
<v:email>jperez@yahoo.com</v:name>
</rdf:Description>
</rdf:RDF>

Contenedores:

Frecuentemente es necesario referirse a una coleccion de recursos, por ejemplo para decir que un trabajo fue realizado por mas de una persona, o para listar los alumnos de un curso. RDF define contenedores para manejar listas de recursos o literales.

  • Bag: Un bag es una lista de recursos o literales sin orden. Se permiten valores duplicados y no hay diferencias en cuanto al orden en que aparecen los recursos.
  • Sequence: Una secuencia es una lista ordenada de recursos o literales. Una secuencia es usada para declarar un conjunto en el cual el orden de aparicion de los miembros es importante por ejemplo para mantener el orden alfabetico o de importancia. Se permiten valores duplicados.
  • Alternative: Es una secuencia de recursos o literales para un “unico” valor o propiedad, de la lista de recursos o literales debe elegirse uno. Por ejemplo para elegir el lenguaje de un texto o un mirror site.

Por ejemplo sea la siguiente sentencia:

Los estudiantes del curso 4500 son Juan,Jose y Pedro

El modelo RDF es:

Y la sintaxis RDF/XML es:


<rdf:RDF>
<rdf:Description about=”http://www.uba.edu/curso/4500″>
<s:estudiantes>
<rdf:Bag>
<rdf:li resource=”http://www.uba.edu/studentes/Juan” />
<rdf:li resource=”http://www.uba.edu/studentes/Jose” />
<rdf:li resource=”http://www.uba.edu/studentes/Pedro” />
</rdf:Bag>
</s:estudiantes>
</rdf:RDF>

La sentencia

El codigo de la aplicacion X34 esta en ftp.x.org o en ftp.y.org

Se implementa usando un alternative en lugar de un bag y tanto el diagrama como la sintaxis RDF las dejamos como ejercicio para el lector

Conclusiones:

En este articulo hemos descripto la filosofica basica de la web semantica y de como se puede utilizar RDF para representar meta-datos en la web. En un proximo articulo mencionaremos como darle una aplicacion valida a datos RDF para describir ciertas caracteristicas de un site usando un grupo de propiedades standard denominadas “Dublin Core”. Ademas mostraremos como incluir RDF dentro de documentos HTML evitando problemas de sintaxis con los browsers.

Garland Foster

You must be logged in to post a comment.

Buscar: