Exponiendo datos

miércoles, 12 de enero de 2011
Tal y como comentaba en el anterior post, a la hora de decidir como exponer datos en un website corporativo suelen existir muchas alternativas: mostrar estos datos directamente en el propio sitio web en HTML estático o generado a través de una o varias consultas a una base de datos, subir documentos presentando esos datos estáticos disponibles para su descarga en distintos formatos, tanto propietarios como libres en el mejor de los casos, autogenerar estos documentos mediante herramientas de reporting, etc. Siguiendo con esas pautas, tu posición dentro del ranking The five-stars of Open Linked Data, sería como mucho de tres estrellas, lo que determina que publicas datos en tu website corporativo de forma estructurada y disponible en formatos abiertos.   

Para llegar a las cinco estrellas, necesitas introducir herramientas que te permitan la semantificación de tus contenidos. Es decir, aquellos que puedes identificar mediante URLs y que pueden enlazarse, consumirse, exponerse con otros datos y otras plataformas. Aqui Triplify vuelve a ayudarnos, ya que tal y como vimos, nos posibilita que la información extraida se pueda disponer en formatos RDF/n3 y JSON entre otros. 

Ahora hay que decidir como exponer estos datos. Al margen del diseño de la solución final, de como vaya a presentarse el catalogo de datos de una entidad, y del conjunto de datos que conforman ese catalogo, hay que proporcionar el listado de formatos disponible para cada uno de estos datos. Así pues vamos a volver a realizar un ejercicio práctico. En esta ocasión me he decidido a extraer y exponer el listado de usuarios activos de una aplicación propia de gestión de tareas denominada yourtask (uno de mis primeros proyectos web donde suelo cacharrear). Para ello he definido la siguiente configuración para extraer dichos datos:

1
2
3
4
$triplify['queries']=array(
 'users'=>"SELECT u.id AS id, u.usuario AS 'foaf:name'
   FROM usuarios u",
);

Con esto como sabemos es suficiente para definir como se llevará a cabo la extracción de los datos deseados. Ahora vamos a definir en esta misma configuración como se expondrán dichos datos, para ello fundamentalmente nos pararemos en dos: LinkedDataDepth y license

LinkedDataDepth: Con este parámetro configuramos el nivel de la URL donde expondremos los datos, con tres posibles valores: 0 que identifica que la exposición vendra dada cuando se acceda a triplify/ en el servidor; 1 que identifica que la exposición vendra dada por un nivel más de profundidad sobre la URL anterior, en este caso para consultar usuarios triplify/users/; y 2 para acceder a una instancia concreta a traves de su URL, por ejemplo triplify/users/1/. Para nuestro ejemplo hemos decidido exponer todos los usuarios con el nivel de profundidad que se determina por defecto (0)

1
$triplify['LinkedDataDepth']='0';

license:con este parametro especificamos con que licencia vamos a exponer nuestros datos en la web. Hay que decidir con el cliente que licencia desea. Para este ejemplo usare Creative Commons Attribution.

1
$triplify['license']='http://creativecommons.org/licenses/by/3.0/us/';

Tras esto, ya solo nos falta decidir si queremos publicar nuestros datos en algún otro formato, por ejemplo: un listado de los usuarios que se proporcione en un fichero .csv y en pdf. Explicar cómo autogenerar estos listados esta fuera del proposito de este post, ya que no requiere de semantificación de contenidos y es algo habitual en las soluciones que existen hoy dia.

Finalmente, publicamos nuestro catalogo en una URL determinada. A continuación vamos a hacer uso de la plataforma de exposición de datos semánticos de Triplify para ver si efectivamente nuestros datos estan expuestos mediante la identificación de los mismos bajo una URL, requisito indispensable para disponer de las cinco estrellas.


En este caso hemos publicado nuestro catalogo de datos para yourtask, de tal forma que el listado de usuarios esta disponible en RDF/N3 y JSON. Vamos a ver si efectivamente hemos expuesto nuestros datos de forma semantica mediante la plataforma de exposición de Triplify. Para esto accedemos a la siguiente URL:


Una vez procesado el RDF vemos que efectivamente se muestran los datos de los usuarios de la plataforma. Para ver si estos datos son validos vamos a exponer consultas SPARQL sobre los mismos que probaremos mediante Rasqal. En este caso construimos la siguiente consulta SPARQL:

1
2
3
4
5
6
7
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT DISTINCT ?name
WHERE {
?x foaf:name ?name
}
ORDER BY ?name

Dándonos el resultado deseado. Con esto hemos concluido nuestra exposición de datos y hemos demostrado que efectivamente nuestra solución esta completamente preparada para poder ser consumida por terceros. Esto lo veremos en un próximo post.


Compárteme en: Eskup Facebook Tuenti Meneame Bitacoras Google Yahoo Windows Live

0 comentarios:

Publicar un comentario