Conceptos básicos sobre Open Linked Data

Open DataExisten varias formas en las que las Administraciones pueden hacer pública su información. La información si se hace pública no implica que sea reutilizable. Supongamos un ejemplo extremo: una Administración hace público en la web un directorio con toda su información en PDFs sin catalogar, sin índices y sin ningún sentido en la nomenclatura de los ficheros. La información es pública, pero encontrar un dato concreto es una labor casi imposible. En el otro extremo, está la Administración que realmente quiere hacer sus datos útiles, que son perfectamente identificables y permite la interoperabilidad (esto es, poder enlazar y hacer útil su información con otras Administraciones, y permitir comparar sus datos con otros organismos). Este segundo caso es el nivel de las cinco estrellas (open linked data), y al que deberían tender las Administraciones que estén interesadas en la reutilización y la transparencia, y no sólo en cumplir los mínimos exigibles por las leyes correspondientes.

En este post veremos las ideas básicas de los conceptos fundamentales y la tecnología actual que debe emplearse para hacer los datos reutilizables en open linked data, que es el nivel de máxima reutilización de los datos. Los formatos de datos, la catalogación, la definición de los esquemas, los lenguajes de consulta, y la forma de enlazar los datos, están perfectamente definidos y se basan en recomendaciones de la W3C (consorcio internacional sobre estándares de internet). Como este post es divulgativo sobre la idea de OpenData y la reutilización pública, sólo se darán unas nociones mínimas sobre qué tecnología es la que debe emplearse para hacer la información reutilizable, y se definirá el vocabulario básico sobre estos términos. Se va a intentar comentar lo fundamental, simplificando mucho las ideas aunque se pierda precisión en las afirmaciones. Aquellos que quieran ampliar conocimientos técnicos sobre Linked data, les recomendamos que utilicen las referencias que se indican al final de este documento.

Se van a ir definiendo los términos a nivel muy básico acompañados de un ejemplo muy simple, pero se debería comprender las posibilidades que tiene el acceso y la reutilización de la información de una Administración que utilizara los formatos en open linked data.

Como elemento básico para representar la información en la web se utilizan los URIs. Un URI (Uniform Resource Identifier) “identificador uniforme de recurso”, es una cadena de caracteres que identifica un recurso (una página web, un servicio, un fichero, etc). Pongamos un ejemplo (inventado, no existe):

Obra ayuntamiento Villa Arriba

Al copiar este URI en un navegador, se mostraría (si el ejemplo no fuera inventado) la información que se encuentra en ese fichero. Un ayuntamiento, por ejemplo el de VillaArriba, ha decidido poner en sus servidores web toda la información que dispone de cada obra para mejora del acerado adjudicada en su municipio. Va a ponerle un código, y para cada obra de acerado, va a utilizar un URI de forma que así puede obtenerse la información asociada a cada obra cuando se escribe ese URI en un navegador.

Lo lógico es que el ayuntamiento de VillaArriba haya establecido previamente qué información quiere guardar de cada obra adjudicada. Se dice que la idea, o el concepto ObraAcerado es una clase, y todas las obras concretas de la clase ObraAcerado (por ejemplo la obra ObraAc7342334) deberían tener la misma información almacenada. Por ejemplo, para la clase ObraAcerado se puede haber definido que se almacene información como «código de obra», «descripción de la obra», «tipo de acerado», «presupuesto adjudicado», «proveedor de la licitación», «arquitecto municipal supervisor», «fecha de adjudicación», «fecha de terminación», etc. Cada uno de estos campos de información (llamados atributos) pueden ser de un tipo diferente (tipo texto, tipo numérico, tipo fecha, etc) y además se pueden poner restricciones a estos campos: por ejemplo, que la fecha de terminación debe ser mayor que la fecha de adjudicación, o que la titulación de la persona identificada en «arquitecto municipal supervisor» sea «Arquitecto».

Todo este esquema de campos, tipos de datos de los campos, restricciones en los campos y relaciones con otros campos se puede definir en un fichero, que puede estar accesible en la web. Los ficheros que mantienen esta información de definición de los esquemas de representación en open linked data se denominan ontologías. Las ontologías pueden almacenar las descripciones de varias clases con sus correspondientes atributos, y relaciones entre clases. Por ejemplo, se puede haber decidido almacenar una ontología en un fichero OntologiaObras, con todas las clases y atributos correspondientes. Siguiendo el ejemplo, el ayuntamiento puede haber definido estos datos y situarlos en un fichero en la web, por ejemplo:

http://datos.AytoVillaArriba.es/Esquemas/OntologiaObras

Es decir, ha colocado en sus servidores esta ontología (en un URI), y la información de cada obra (por ejemplo la ObraAc7342334) debe estar de acuerdo con los atributos indicados en la clase ObrasAcerado que se encuentra en el fichero OntologiaObras. Se dice que ObraAc7342334 es una instancia de la clase ObrasAcerado definida en la ontología OntologiaObras. Cada instancia de ObrasAcerado (es decir, una obra concreta) tendrá información «estandarizada», de forma que se pueden hacer consultas complejas al estar de esta forma. Por ejemplo, «saber todas las obras de más de 5.000€ asignadas a ConstruccionesPepe antes del 1 enero de 2012«.

En cada ontología, pueden existir varias clases y puede haber definida una taxonomía entre ellas; es decir, pueden definirse de forma jerárquica las clases, indicando que unas sean subclases de otras. Por ejemplo, puede haber una clase Obras que tenga como subclases ObrasAcerado, ObrasFontaneria, etc. Esto permite reutilizar los atributos de clases superiores, y hacer consultas y restricciones más complejas en la información representada.

La información que el ayuntamiento de VillaArriba quiere hacer pública en opendata, la pueden colocar en uno o varios servidores accesibles en la web, pero es lógico que los ciudadanos, otras administraciones o empresas quieran saber qué información tienen disponible. Este índice o catálogo de datos describe la información que se encuentra disponible en opendata por una institución, y que puede ser visualizada o consultada de forma útil. Es decir, el catálogo de datos es un listado de la información que una administración quiere hacer pública, y suele situarse en una página web. Por ejemplo, el Ayto de VillaArriba pone en su página web el listado de sus datos públicos: «Obras», «PersonalAyuntamiento», «SituaciónContenedores», «OfertasEmpleo», etc.

En este índice del catálogo que aparece en la web, cada conjunto de datos (que lo ideal es que fueran ontologías), suele tener asociada información sobre su descripción, fecha de actualización, sector al que pertenece, editor de la información, formatos en los que se ofrece, etc. Por ejemplo, el Ayuntamiento de VillaArriba, puede tener esta información asociada a la ontología OntologiaObras: frecuencia de actualización es semanal, pertenece a la categoría «Sector Público», lo edita la Concejalía de Urbanismo, se ofrece en formato PDF, html, RDF, Excel y CSV. A esta información asociada a cada conjunto de datos en el catálogo de datos se denomina metadatos.

Como ya se ha comentado, según se quiera hacer útil la información, las Administraciones harán disponibles los datos en diferentes formatos. Si se quiere hacer la información reutilizable al máximo nivel, los datos provenientes de diferentes fuentes (ficheros Excel, bases de datos, páginas web, etc) deben transformarse al formato estándar de reutilización indicado por la W3C denominado RDF (Resource Description Framework). Este lenguaje de representación de datos es un formato que tiene una gran capacidad expresiva (permite la definición de ontologías) y está preparado para que las máquinas puedan hacer consultas sobre él y hacer deducciones. Existe un lenguaje con mayor capacidad de representación llamado OWL, pero el más extendido es RDF.

Los datos almacenados en ficheros con formato RDF, entonces, estarán al máximo nivel de reutilización. Estos ficheros se pueden colocar en los diferentes servidores (convenientemente catalogados) «en bruto», para que cualquiera pueda descargarlos o hacer programas software que puedan usarlos. Lo adecuado, sin embargo, es que los suministradores de datos (por ejemplo el Ayto de VillaArriba), prepare puntos de consulta web en sus servidores para poder acceder a datos concretos que cumplan ciertas condiciones. Por ejemplo, poder consultar «obras de electricidad del ayuntamiento de VillaArriba, entre el 2010 y 2012, mayores de 12.000€». Existen servidores estándar (establecidos por la W3C) para poder formular estas consultas, en un lenguaje determinado denominado SPARQL.

Para aquellos que conozcan este lenguaje, le permitirá hacer consultas complejas en los servidores donde se encuentren estos servicios de consulta SPARQL (del Ayto de VillaArriba). Pero, además, por ser un estándar de opendata, otros programas software pueden consultar directamente a otros servidores web usando este lenguaje SPARQL. Esto es muy importante porque va a permitir buscar información de forma automática, y hacer comparaciones entre datos proporcionados por diferentes administraciones.

Como último punto, si se ha seguido los estándares RDF, podemos además hacer que la información que se proporcione esté enlazada. Esto consiste en que los datos no sólo se limiten a proporcionar información explícitamente (representada dentro de los ficheros RDF) sino que, además, permita ampliarla desde otros ficheros RDF que se encuentren en otros servidores. Siguiendo el ejemplo, supongamos que el dato concreto del «Arquitecto» de una obra, en vez de aparecer «Pepe Calatrava», aparece un enlace a un URI con información de este arquitecto situada en un fichero RDF de otro servidor de la correspondiente Comunidad Autónoma o a nivel nacional:

http://opendata.AdmAutonomicaAlfa.es/recurso/sector-publico/arquitecto/arq439185

Este enlace podría ser un fichero RDF con toda la información de «Pepe Calatrava», con sus datos personales, DNI, email, tfno, etc.

Las consultas, entonces, tienen un enorme potencial si se encuentran dispuestos en la forma de linked data (datos enlazados), ya que permiten consultas complejas, pudiendo utilizar datos situados en diferentes servidores.

Como se ha comentado, si se siguen las indicaciones de órganos administrativos superiores (por ejemplo de la Comunidad Autónoma, de Organismos Nacionales, etc) se podrá extraer información homogénea proporcionada desde diferentes fuentes. Para ello, los datos que proporcione cada Administración deben seguir los esquemas especificados en ontologías proporcionadas por órganos administrativos con las competencias correspondientes.

Suponiendo el caso de que el Ayto de VillaArriba y el de VillaAbajo siguieran el formato de ontologías establecido por la comunidad autónoma, y almacenado en un URI (por ejemplo):

http://opendata.AdmAutonomicaAlfa.es/recurso/sector-publico/licitaciones/obras

Sería posible resolver consultas a un servidor SPARQL del tipo: «obras de fontanería del ayto de VillaArriba y VillaAbajo menores de 2.000€ adjudicadas al proveedor con nombre Construcciones Juan«

 

Como resumen, puede afirmarse que sólo es posible hacer verdadera reutilización de la información de la Administración si se usa la tecnología de open linked data. Hacer portales con pretensiones menores, (por ejemplo haciendo un índice de ficheros PDF o una colección de datos donde no se encuentra detallado qué es cada campo, y donde la extracción de información no puede hacerse de manera inmediata), supone un retraso en los procesos de transparencia. Como se ha podido intuir, es necesario realizar un esfuerzo en transformar y catalogar los datos para seguir las recomendaciones de la W3C sobre open linked data, pero es la única forma de conseguir el máximo nivel de reutilización y de utilidad en la información pública.

Ejemplo real para comprobar estas ideas:

Aunque en este apartado sólo se ha descrito superficialmente la tecnología, le aconsejamos que realice la búsqueda en su navegador de las siguientes direcciones. No es necesario que entienda todos los elementos, pero puede servirle para intuir cómo es una representación real en linked data.

1) Vaya al URI del Ayto de Cáceres:

http://opendata.caceres.es/

2) En el menú, verá parte de su catálogo de datos.

3) Seleccione por ejemplo Museos.

4) Al final de la página, verá los metadatos que el Ayto de Cáceres ha puesto sobre los museos de su municipio.

5) Entre los formatos de datos verá, entre otros, el formato RDF-XML.

6) Si lo selecciona, verá en su navegador información estructurada del fichero RDF. Al menos que sepa RDF, no entenderá lo que aparece. Pero debe saber que contiene información perfectamente identificada (datos de geolocalización, nombre oficial, página web, etc). Esta es la información «en bruto» que puede utilizarse para hacer consultas o crear aplicaciones.

7) A toda la información que proporciona en opendata el Ayto de Cáceres, se pueden hacer consultas en su punto SPARQL:

http://opendata.caceres.es/consulta-sparql

(La finalidad de probar las consultas mediante el lenguaje SPARQL no es que comprenda su sintaxis, sino que intuya las posibilidades y capacidades de estos puntos de acceso a los datos).

Si copia lo siguiente dentro de esa caja de «SELECT», al pulsar «Realizar consulta», le aparecerán todos los identificadores de los museos de Cáceres:

select ?identificador  Where{ ?identificador a dbpedia-owl:Museum. }

8) El Ayuntamiento, empresas externas o cualquier usuario con conocimientos técnicos en opendata (infomediarios) pueden desarrollar aplicaciones software que consulten este punto de acceso con SPARQL. Para hacer consultas SPARQL, no es necesario escribir en la caja de «SELECT» (como aparecía en el apartado 7), sino que directamente se puede hacer la consulta al servidor. Esto es útil porque programas software pueden crear consultas de forma automática y acceder a los datos del servidor SPARQL. Debe darse cuenta de que estas URIs de consulta podrían haber sido generadas directamente por un programa software.

9) Como ejemplos prácticos de uso, el Ayto de Cáceres se irán recogiendo aplicaciones (propias y de otras empresas) que utilizan sus datos que ha publicado en formatos abiertos:

http://opendata.caceres.es/aplicaciones

 

 

Fuentes de este documento:


– «Ingeniería del Conocimiento: Aspectos Metodológicos». Amparo Alonso, Adolfo Lozano, María Taboada y José Palma. Ed. Pearson Prentice Hall. ISBN: 84-205-4192-3. 2004.

– «Tecnologías para la reutilización de la información: Open Linked Data».  Adolfo Lozano y Jesús Redondo. Informe Técnico grupo QuercusSEG. Universidad de Extremadura.

– «Linked Open Data. The Essentials». F. Bauer and M. Kaltenborg, January 2012

La Promesa del Gobierno Abierto. Capítulo «Open linked data: la nueva frontera» Carlos de la Fuente y Martín Álvarez Espinar.

Glosario sobre términos de linked data. Fundación CTIC.

Información sobre recomendaciones para representar metadatos en catálogos de la W3C (inglés).

Descripción del lenguaje RDF de la W3C (inglés).

Descripción del lenguaje de consulta SPARQL de la W3C (inglés).


 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.