Antes que todo, si el término SPARQL es nuevo para ti, es importante aclararte algo: SPARQL no es un error de dedo ni el primo perdido de SQL. SPARQL es el lenguaje query estándar y el protocolo para recuperar Linked Data de la web o de las tiendas triples RDF. Básicamente, si tu información sigue el estándar RDF, que se conforma de sujeto, predicado y objeto, o si se puede mapear para seguir este estándar, puede ser consultado por SPARQL. La especificación SPARQL fue desarrollada por el Consorcio World Wide Web (W3C) y describe las reglas generales que sigue el protocolo SPARQL. En general, una consulta SPARQL puede tener una de las 4 formas existentes (SELECCIONAR, DESCRIBIR, CONSTRUIR O PREGUNTAR) y utiliza un conjunto de patrones triples (sujeto, predicado y objeto), con lo que cualquier variable se puede cambiar por un comodín para obtener un resultado específico.
Figure 1 - Consulta. SPARQL para encontrar al autor de los libros de Harry Potter en http://dbpedia.org
En términos generales, al igual que SQL, SPARQL es un lenguaje query bastante utilizado. Y aunque suenan similar, difieren en varios aspectos. Para quienes son principiantes, SPARQL está diseñado para generar consultas sobre datos que no siguen un esquema fijo. Por lo tanto, las queries SPARQL se centran en lo que el usuario quiere saber de los datos, en lugar de cómo se estructuran. Por otro lado, SQL es un lenguaje de consulta para datos relacionales. Esto quiere decir que depende en gran medida de la estructura que siguen los datos. Esto puede hacer que las queries SPARQL parezcan más intuitivas para los nuevos usuarios que las queries SQL. Esta facilidad de uso es un beneficio importante para que el usuario decida adoptarlo.Figure 2 - Consulta SPARQL para obtener el nombre del autor de los libros de Harry Potter de una aplicación local.
Figure 3 - Comparativa de la misma consulta usando SQL asumiendo un esquema de prueba.
Además, SPARQL cuenta con la ventaja de tener varios recursos públicos y parámetros para consultar. Adicionalmente, se pueden incluir múltiples fuentes de información dentro de una sola consulta SPARQL, lo que le permite superar las capacidades de una búsqueda local simple. Finalmente, permite al usuario que realiza las consultas enriquecer su información utilizando datos externos proporcionados por diferentes organizaciones en toda la web. Sin embargo, SPARQL y SQL comparten algunas similitudes. Por ejemplo, ambos tienen funciones agregadas similares. De igual manera, ambos permiten consultar datos incluso si no se cumplen ciertas restricciones. Y por último, aunque su funcionamiento interno puede diferir, alguien que haya trabajado con SQL se dará cuenta que el lenguaje utilizado en SPARQL es bastante conocido. SPARQL es un poderoso lenguaje query que puede ahorrarnos tiempo y costos en el desarrollo. El siguiente ejemplo complejo que te presentamos destaca las habilidades de SPARQL. Imagina que tienes la tarea de encontrar a las parejas de las personas que obtuvieron el promedio más alto de la universidad y, además, tienen que ser de las generaciones donde estuvieron las esposas de los presidentes del 40 al 45 de Estados Unidos. Sin SPARQL, puedes abordar esto escribiendo una consulta inicial para obtener información de las páginas de los presidentes de Estados Unidos en Wikipedia. Luego, una segunda consulta para obtener los datos de sus parejas, seguida de una tercera consulta para conocer su generación en la universidad. Una cuarta consulta más te permitiría buscar el promedio más alto en esa generación. Y por último, una quinta consulta te permitiría descubrir quiénes son las parejas de las personas con mejores promedios de esa generación. Sin embargo, si utilizamos SPARQL, una sola consulta que unifique las fuentes de datos adecuadas puede proporcionarte la respuesta a esta pregunta complicada. No sería necesario ningún código adicional para formatear o filtrar información adicional, lo que simplifica en gran medida el proceso. En este ejemplo, SPARQL reduce drásticamente el esfuerzo y el tiempo para encontrar la respuesta. El poder de SPARQL puede desbloquear información sustancialmente más rápido que otros lenguajes de consulta. ¿Cómo puedes usar SPARQL para mejorar tu negocio? ¿Tu grupo de operaciones necesita acceder a información de múltiples bases de datos? ¿Podrían tus equipos de ventas y marketing beneficiarse de una gestión más rápida de la base de datos de los clientes? Comienza a consultar la información obtenida en tu aplicación Carbon LDP, usando el cliente SPARQL de Carbon LDP Workbench, o SPARQLER (generador de consultas SPARQL) del SDK Javascript de Carbon LDP. En Base22 nos encanta encontrar soluciones a los problemas. Comunícate con nosotros aquí para conocer cómo podemos ayudarle a tu empresa a manejar sus datos o para obtener información sobre Carbon LDP.