sábado, 31 de octubre de 2015

3.4.3 La noción de SPARQL endpoint


¿Qué es un SPARQL endpoint? Básicamente es lo que hay detrás de la página web que ustedes utilizan para consultar la dbpedia, por ejemplo, algunos datos de la wikipedia o de la dbpedia es Santiago, que es de tipo lugar, Santiago está en un país que es Chile, y Chile es de tipo país. Además Santiago tiene un nombre oficial que es Santiago.

Esos datos que hemos visto en la anterior imagen, aquí están en formato de triples, y los podemos almacenar. ¿Pero cómo accedemos a ellos? ¿Cómo permitimos que muchas personas, miles de personas que están en internet accedan a esos datos?

Eso se permite a través de esta caja de texto en la url http://dbpedia.org/sparql Uno escribe ahí su SPARQL y nos retorna los resultados de la consulta. ¿Pero qué hay detrás de este textbox de la página web? Lo que hay es un SPARQL endpoint, y ¿qué es un SPARQL endpoint?

Es un servicio web que permite consultar los datos en un grafo RDF. Estas consultas se realizan utilizando el lenguaje SPARQL y, además de permitir a los usuarios consultar los datos de forma muy sencilla y potente, permite a las organizaciones que se encargan de generar estos datos una forma fácil de acceder a ellos. ¿Qué tipos de datos podemos encontrar en los SPARQL endpoints que hay en internet?
Podemos encontrar datos bibliográficos como, por ejemplo dblp, que es una base de datos de referencias bibliográficas, datos científicos, datos de redes sociales, gubernamentales, de medios de comunicación, genéricos, lingüísticos. Estos son los principales tipos y estos tipos están mostrados en la siguiente figura.

Esta figura que corresponde al link Open-Data Cloud representa multitud de SPARQL endpoints (no están todos los que hay), y cada circulo representa una base de RDF que expone sus datos a través de un SPARQL endpoint. Además, cada flecha que hay entre cada círculo, representa que hay enlaces entre una base de datos y otra; cuánto más gruesa es la línea más enlaces hay, y la dirección de la flecha indica la dirección en la cual se han generado los enlaces. Por ejemplo, dbpedia en inglés contiene enlaces a dbpedia en español, y dbpedia en español contiene enlaces a dbpedia en inglés; vemos así que hay dos flechas en cada extremo, en cada extremo de la línea que las une.

Esto nos lleva al siguiente tema, que son los datos enlazados. Los datos que existen en distintos endpoints se enlazan. Como veíamos en el ejemplo anterior, la dbpedia en inglés contiene enlaces a la dbpedia en español; de esta forma, es posible generar consultas que accedan a dos bases de datos, a dos SPARQL endpoints distintos, y entonces generar unos resultados mucho más ricos. Por ejemplo, podría consultar, la descripción de Santiago en inglés, y además acceder a la descripción en español, o en japonés, o en ruso. Eso se puede conseguir consultando las distintas bases de datos, los distintos SPARQL endpoints que están en el link de data cloud.

¿Qué estadísticas sobre datos enlazados hay? Por ejemplo, en el dominio Medios de comunicación hay 1,800 millones de triples, y los enlaces de salida, que van desde, por ejemplo, el endpoint de la dbc de música hacia otro dato, son en total como 50 millones. Datos geográficos hay como 6 millones y 35 millones de enlaces de salida, etcétera.

En resumen, un SPARQL endpoint es un servicio web que permite consultar datos de un grafo RDF. Las consultas en un SPARQL endpoint son reaizadas utilizando SPARQL. Y además muchos de los datos de los SPARQL endpoints, los datos que almacenan, están enlazados a otros SPARQL endpoints, permitiendo así generar datos mucho más interesantes y mucho más completos.

No hay comentarios:

Publicar un comentario