Los miembros del grupo de investigación ‘Sistemas de Información’, de la Universidad de Almería, hacen un completo trabajo con el estudio teórico subyacente, el diseño del depurador y su implementación, dando lugar a una herramienta web que permite depurar consultas en este lenguaje, publicada en una revista de alto índice JCR dado su gran interés.
Los propios autores de la investigación han usado el aforismo ‘errar es humano’ para dar introducción a su propuesta de soluciones, añadiendo además que “todas las personas cometen fallos, pero solo las inteligentes aprenden de ellos”. Dicha expresión latina lleva intrínseco ‘aprender de ese error cometido para evitar que se repita’, y justo eso es lo que han sabido poner en práctica para desarrollar un mecanismo de depuración para un lenguaje de programación conocido como SPARQL. Son los miembros del grupo de investigación ‘Sistemas de Información’ (TIC-194), de la Universidad de Almería, Jesús Almendros y Antonio Becerra, y del Departamento de Informática de la UAL, los que han creado un depurador para SPARQL.
Ante la certeza de que todo el mudo “ha sufrido alguna vez la desagradable experiencia de que su ordenador o su móvil no hace lo que el usuario pretende”, y que “normalmente esto suele ocurrir cuando más le urge”, desde este grupo de investigación describen de modo ameno que “los ordenadores no huelen el miedo, sino que lo que ocurre, aunque no siempre sea ésta la razón, es que esos programas, el software, que los hacen funcionar, tienen fallos”. Han recordado además que “vivimos en una sociedad digital en la que la fiabilidad del software se ha convertido en un asunto de vital importancia, tanto por los riesgos para las personas que un error puede provocar, como por el coste económico de su mal funcionamiento”. Para colmo, “cada vez es más complejo y pese a que nos alegramos de tener interconectados móvil, portátil, redes sociales, impresora… esto tiene un precio, y todo debe funcionar como si de una orquesta se tratase”.
Han explicado, siguiendo su exposición, que “un error de software, o simplemente fallo, también conocido por el inglés bug, no es otro caso que un defecto que desencadena un resultado indeseado, siendo realmente complicado encontrar ese error en cualquier programa”. La solución la dan otros programas que comprueban los errores, conocidos como depuradores, en inglés debuggers, y siempre contemplando que cada lenguaje de programación necesita el suyo propio: “Un depurador sería en el caso de un idioma, un corrector sintáctico ortográfico, que detecta fallos de ortografía o semántico, que detecta fallos en la construcción de las frases, y obviamente no serviría el depurador del español para depurar el inglés porque las reglas son distintas”. Así, el SPARQL es un lenguaje de consulta de bases de datos para la Web Semántica, creada hace años al pensarse que era adecuado que la información que hay en ella no fuese solo un conglomerado de información sin conexión, sino que hubiese algún mecanismo para dotarla de significado y de interconectarla. Surgieron los formatos RDF y OWL con este fin, y SPARQL como lenguaje de consulta.
La idea de fondo es “ofrecer los datos en la Web en dichos formatos y proporcionar más información en ellos sobre los datos, y su consulta es algo que permite SPARQL. Pero un programador puede cometer errores, lo que normalmente provoca que la consulta no devuelva datos. Como ejemplo, los investigadores han puesto una cuestión normal: “Nuestra consulta a la base de datos es que quiero saber los vuelos que salen a las 9.00 de Almería y llegan a las 8.00 a su destino, ante lo que no se devuelven datos porque hay un error por cuestión semántica, la pregunta está mal formulada al no poder llegar un avión antes de salir, por razones más que obvias”. Esta y otras preguntas son tratadas en el estudio realizado y publicado en una revista de máximo impacto, con un alto índice JCR, por el grupo de la UAL, incluyendo su investigación tanto el estudio teórico subyacente, como el diseño del depurador, como su implementación, dando lugar a la citada herramienta Web que permite depurar consultas SPARQL.