Que es RDF

Escrito el 14 Febrero, 2001 – 10:01 | por storm | 5.401 lecturas

RDF (Resource Description Framework) es uno de los vocabularios de XML que mas se ha hecho sentir ultimamente, RDF propone ser el gran habilitador de la web semantica y convertirse en el standard universal para los metadatos en la web. Este articulo de Tim Bray nos cuenta con una notable claridad que es RDF y por que es importante.

¿Que es RDF?

Por Tim Bray (xml.com)

La forma correcta de encontrar cosas

RDF significa “Resource Description Framework”. RDF esta pensado para la web, pero dejemos la web de lado y pensemos en como buscamos cosas en el mundo real

Escenario 1: La biblioteca

Estas en una biblioteca para buscar libros sobre como tener un mono como mascota. En la mayoria de las bibliotecas hoy en dia usarias el sistema de busqueda de la biblioteca desde una computadora, basicamente un sistema electronico del viejo archivo de tarjetas. El sistema permite listar libros por autor, titulo, tema y algunos datos mas. La lista incluye la fecha, autor, titulo y mas informacion util incluyendo, como dato mas importante,en donde puede encontrarse el libro.

Escenario 2: El video club

Estamos en un video club buscando una pelicula sobre John Huston. Un video club moderno ofrece un sistema de busqueda similar al de la biblioteca, pero por supuesto los datos que deuvelve la busqueda son distintos. Mas alla de esto el sistema es analogo al de la biblioteca.

Escenario 3: La guia telefonica

Estas trabajando fuera de horario en una oficina en una ciudad remota y aparentemente la pizza se convierte en un elemento escencial para continuar el trabajo. Toda oficina viene equipada con un buen set de paginas amarillas que usadas apropiadamente pueden ser usadas para encontrar un delivery de pizza

El comun denominador

Que tienen todas estas situaciones en comun? y que diferencias hay entre los distintos escenarios? En primer lugar,
cada uno de estos sistemas esta basado en metadatos, es decir, informacion sobre la informacion. En cada caso necesitamos una porcion de informacion (la ubicacion del libro, el nombre del video, el telefono de la pizzeia) que no tenemos. En cada caso usamos metadatos para encontrarlos.

Todos estamos acostumbrados a estas coss, los metadatos ordinariamente aparecen en conjuntos con nombre (direccion, telefono, nombre, horario) que finalmente se asocian con una pieza de informacion (“South Side Pizza”) que es la que realmente buscamos.

Aqui hay una cuestion sutil pero importante, en teoria los metadatos no son realmente necesarios, una persona puede recorrer toda la biblioteca en busqueda de un libro, o todo el video club hasta encontrar una pelicula, o llamar a todos los numeros de la ciudad hasta encontrar un delivery de pizza. Pero esto seria sumamente ineficiente, de hecho seria estupido, los metadatos son la forma correcta de resolver estas situaciones

Todo es distinto detras de cada escenario

En cada uno de los escenarios usamos metadatos y los usamos de modos notablemente similares. Quiere esto decir que la biblioteca, el video club y la empresa telefonica usan el mismo tipo de metadatos? Por supuesto que no. Cada biblioteca tiene su metodo entre varios disponibles para organizar sus libros. Lo mismo ocurre obviamente con los video clubes que pueden elegir entre cientos de paquetes disponibles.

En la realidad muchos de estos productos definen su propio sistema de metadatos y sus propios metodos para almacenarlos y manejarlos. Tipicamente estos datos no ofrecen facilidades para ser compartidos o intercambiados. Esto no causa demasiados problemas asumiendo que quienes usan estos metadatos diseñan interfaces apropiadas para los usuarios finales. Estamos conformes con el proceso general que llamamos “buscar algo”.

No solo para buscar

El uso mas comun de los metadatos es para ayudarnos a descubirir o encontrar cosas. Pero hay muchos otros usos detras de las cortinas. La biblioteca y el video club estan almacenando metadatos que no podemos ver, cuan seguido los libros y los videos estan siendo usados, cuanto cuesta comprarlos, donde ir por un reemplazo, etc. Mantener un video club o una biblioteca seria imposible sin metadatos. Similarmente la empresa telefonica usa metadatos para publicar las paginas amarillas pero ademas usan metadatos en cientos de procesos internos de la empresa que los consumidores no notan.

Que pasa con la web

La web tiene mucho que ver con una gran biblioteca. Hay millones de cosas en la web y si conocemos la URL (el numero telefonico en cierta forma) podemos conseguirlas. Dado que la web incluye libros, peliculas y pizzerias es evidente que la cantidad de formas en las cuales un usuario puede querer buscar informacion incluyen todas las cosas que se necesitan en una biblioteca mas todas las del video club mas todas las de la empresa telefonica y mucho mas.

El problema por el momento es que existen muy pocos metadatos en la web. Por lo tanto como hacemos para encotrar cosas? En general encontramos cosas usando tecnicas de fuerza bruta, robots de sitios buscadores como Altavista, Infoseek y Excite recopilan toda la informacion posible y luego esta informacion es usada para buscar cosas. Estos sitios operan en forma equivalente a recorrer la biblioteca, leer cada libro y guardar las palabras encontradas en los libros en un catalogo.

En realidad existen algunos sitios de busqueda generales basados en metadatos como por ejemplo dmoz o yahoo. Al buscar en estos sitios estamos buscando en metadatos generados por humanos luego de la clasificacion de cientos de miles de sitios.

Las personas que han estudiado estos aspectos incluyendo muchos bibliotecarios y webmasters en general concuerdan en la urgente necesidad de metadatos en la web. Pero como se implementarian los mismos? Si la web tuviera un todo-poderoso organizador general (www.god.org?) entonces el mismo podria establecer ciertos campos como Autor,titulo,Tema,Fecha, etc. Luego el supremo simplemente decretaria que todas las paginas deberian tener estos divinos metadatos y eso seria todo. Por supuesto que quedarian algunos detalles por resolver como por ejemplo como los web sites obtendrian los metadatos, como los intercambiarian, etc.

En la realidad no hay algo como www.god.org. Por esta razon no hay chances de que todos acuerden empezar el mismo esquema de metadatos. Si las bibliotecas que han existido por cientos de años no pueden ponerse de acuerdo en un standard no hay demasiadas chances que los websites lo hagan

Quiere esto decir que no hay chances para los metadatos? Que todos tienen que construir sus propios esquemas de datos y aplicaciones de busqueda y que tendremos que basarnos en robots que buscan por fuerza bruta para siempre?

No. Como hemos observado con nuestros tres escenarios de busqueda, las operaciones de metadatos tienen mucho en comun, incluso cuando los metadatos son diferentes. RDF es un esfuerzo por indentificar estos comunes denominadores y proveer un mecanismo para los webmasters para que ellos puedan proveer metadatos utiles para todos sin la necesidad de intervencion divina

Presentando RDF

RDF (Resource Description Framework) como su nombre lo indica es un framework para describir e intercambiar metadatos. Esta construido en base a las siguientes reglas:

  • Un recurso es cualquier cosa que puede tener un URI, esto incluye todas las paginas web, todos los elementos individuales de cada documento XML y mucho mas.
  • Una propiedad es un recurso que tienen un nombre y que puede usarse como una propiedad, por ejemplo autor o titulo. En muchos casos todo lo que nos importa en realidad es el nombre, pero una propiedad necesita ser un recurso de forma tal que pueda tener sus propias propiedades
  • Una sentencia consiste en la combinacion de un recurso, una propiedad y un valor. Estas partes son conocidas como el sujeto, predicado y el objeto de la sentencia. Una sentencia es por ejemplo “El autor de http://www.textuality.com/RDF.why.html es Tim Bray”. El valor puede ser un string por ejemplo “Tim Bray” o puede ser otro recurso por ejemplo “El home page de http://www.textuality.com/RDF/Why.html es http://www.textuality.com.”

Existe una forma directa de expresar estas propiedades abstractas usando XML, por ejemplo:

Tim Bray 

RDF esta cuidadosamente diseñado para tener las siguientes caracteristicas.

Independencia

Dado que una propiedad es un recurso, toda organizacion independiente o incluso cada persona puede inventarlas. Podemos inventar una propiedad llamada “Autor” y otros pueden inventar una propiedad llamada “Director” que podria aplicarse, por ejemplo, a recursos asociados con peliculas. Esta libertad es necesaria porque no hay un dios que se encargue de definir cuales son las propiedades a usar en todo el mundo

Intercambio

Dado que las sentencias RDF se escriben en XML pueden ser facilmente usadas para intercambiar informacion. Esto eventualmente es necesario aun con la existencia de un dios.

Escalabilidad

Las sentencias RDF son simples, registros con tres campos (Recurso, propiedad, valor) por lo que son faciles de manejar y de usar para buscar objetos aun en volumenes realmente grandes. La web ya es lo suficientemenet grande y continua creciendo. Es probable que tengamos en algun momento miles de millones de RDFs flotando a nuestro alrededor algun dia. Por eso la escalabilidad es importante

Las propiedades son recursos

Las propiedades pueden tener sus propieas propiedades y pueden ser encontradas y manipuladas como cualquier otro recurso. Esto es importante porque tendremos muchisimos recursos que manejar. Demasiados como para buscarlos uno por uno. Por ejemplo, podriamos tener que saber si alguien tiene definido una propiedad que describa el genero de una pelicula, con valores como Comedia u Horror, son necesarios metadatos para resolver esta consulta.

Los valores pueden ser resources

Por ejemplo, la mayoria de las paginas web podrian tener una propiedad llamada “home” que apunte al home del sitio. Por lo tanto los valores de sus propiedades que podrian incluir el titulo y autor de la pagina tambien tienen que incluir recursos

Las sentencias pueden ser recursos

Las sentencias tambien tienen propiedades. Dado que no hay un dios que provea un standard para todos los recursos posibles y dado que la web es demasiado grande como para que cada uno provea el suyo tendremos que realizar busquedas basadas en los metadatos de otras personas, tal y como se hace hoy con Yahoo. Esto significa que querremos, dada una sentencia como “El tema de esta pagina es monos” poder preguntar “Quien lo dice”, “Cuando”. Una forma util de hace esto es mediante metadatos y por ello las sentencias deben poder tener sus propias propiedades

Por que no usar solo XML

XML nos permite inventar nuestros propios vocabularios, inventar nuestros propios tags que pueden contener texto, datos u otros tags. XML sin embargo falla en el objetivo de diseño de escalabilidad par metadatos. Debido a dos problemas:

El orden en el cual los elementos aparecen en un documento XML es significativo y muchas veces necesario. Esto es altamente antinatural en el mundo de los metadatos. Nadie se preocupa sobre si el director o el titulo de la pelicula es listado primero siempre y cuando ambos datos esten disponibles para realizar busquedas. Ademas mantener el orden correcto de millones de elementos de datos es caro y dificil.

El diablo esta en los detalles

Las cuatro reglas generales antes definen las ideas centrales del vocabulario RDF. Resulta que toma un tanto de terminologia abstracta y sintaxis XML definir precisamente los documentos RDF de forma tal que se puedan escribir programas para procesarlos. En particulas, convertir sentencias en reursos es bastante complejo.

El proposito de este articulo no es explicar todos estos detalles, hay una variedad muy grande de excelentes recursos que pueden encontrarse en http://www.w3.org/RDF que fueron diseñados justo para eso

vocabularios

RDF, com hemos visto, provee un modelo para los metadatos y un sintaxis de forma tal que partes independientes puedan usarlos e intercambiarlos. Lo que RDF no provee es propiedades por si mismo, RDF no define autor, titulo o director como propiedades a ser usadas. Por lo que ese trabajo queda en cada uno

Parece poco probable que una sola propiedad por si misma sea util, se espera que las propiedades standard se distribuyan en paquetes; por ejemplo, un set de propiedades para libros podria tener autor, titulo y fecha. Estos paquetes se denominan vocabularios RDF es facil imaginar vocabularios RDF para describir distintos tipos de datos: videos, libros, pizzerias, etc.

Que puede significar RDF

La web es demasiado grande para que una persona u organizacion la controle. De hecho, contiene informacion sobre un enorme numero de temas y para muchos de esos temas la web tiene demasiada informacion como para que un solo individuo pueda entenderla o manipularla

Esto significa que opiniones, links, indices y todo aquello que ayude a la gente a encontrar cosas en la web seran utilidades de gran valor. Nadie piensa que todos van a utilizar el mismo vocabulario RDF.Los mejores vocabularios RDF van subrevivir y prosperar, probablemente la mayoria de los sitios web finalmente adopte un pequeño conjunto de vocabularios tal y como las bibliotecas han ido evolucionando hasta el dia de hoy

E incluso entre personas que comparten el uso de vocabularios RDF no hay necesidad de compartir software. RDF hace posible el usar multiples piezas de software para procesar los mismos metadatos, y tambien es posible, inversamente, usar un solo conjunto de programas para procesar varios vocabularios RDF distintos.

Con algo de suerte RDF puede acercar la web a la usabilidad que tiene una biblioteca o video club hoy en dia

Empezando a usar RDF

desde que RDF se convirtio en una recomendacion de la W3C en Febrero de 1999 un buen numero de herramientas han sido construidas por desarrolladores trabajando con RDF. Para un tratamiento en profundidad de estas herramientas se puede consultar la pagina de recursos de la W3C.

La comunidad de desarrolladores

La principal lista de discusion para desarrolladores RDF es el grupo de interes en RDF de la W3C. Existen otras listas de discusion sobre RDF en el sitio de Mozilla y otros lugares mas.

Nota: esta nota fue originalmente publicada en ingles en xml.com pueden consultar la nota original mediante este link (version cacheada de la nota)

Maldita Internet publica este articulo bajo autorizacion de xml.com a quienes agradecemos mucho por facilitarnos el contenido

You must be logged in to post a comment.

Buscar: