Archivo etiqueta herramientas
Cómo publicar Linked Data
Cuando nuestra administración ya ha decidido que quiere publicar sus datos de forma abierta y semántica surge la pregunta: ¿Cómo publicamos Linked Data? Recordamos ahora brevemente los principios que deben cumplir nuestros datos para ser considerados Linked Data:
- Nuestros recursos deben ser unívocamente identificables a través de su URI. Las URIs deben estar basadas en el esquema HTTP para hacer su gestión descentralizada y para hacer su acceso ubicuo a través de la web.
- Los recursos deben ser descritos mediante RDF que es el modelo de datos de la web semántica. De entre las diferentes representaciones RDF, al menos la serialización oficial en XML, RDF/XML, debe estar disponible para cada recurso.
- Para crear una auténtica web de datos es necesario que los datos estén enlazados. Nuestros recursos deben incluir referencias en forma de enlaces RDF a otras fuentes de datos y, en la medida de lo posible, deberían ser referenciados desde recursos externos.
En realidad, los principios de la web de datos son muy parecidos a los de la web tradicional de páginas. Cuando a través de una URL devolvemos descripciones de recursos en RDF ya estamos publicando linked data.
Formas de publicación RDF
A la hora de crear las descripciones en RDF de nuestros recursos tenemos varias posibilidades dependiendo de las circunstancias.
Cuando los datos a publicar son pocos y se espera que no cambien mucho con el tiempo, la forma más práctica de generarlos es mediante un recurso o fichero estático. Un ejemplo típico de esta estrategia son los recursos FOAF (“foaf.rdf”) que son colgados en los sitios web.
Otra forma de realizar las descripciones es obtenerlas de documentos ya existentes no RDF. RDFa es el estándar del W3C que permite embeber RDF en páginas web. Mediante la especificación GRDDL es posible extraer información semántica de documentos XML mediante transformaciones XSL. Existen también otras utilidades “RDF-ificadoras” que transforman en semánticos datos disponibles en otros formatos como hojas excel.
Cuando el volumen de nuestros recursos es elevado no es útil mantener una serie de ficheros descriptores estáticos para cada uno. La forma de publicación más utilizada es generar los documentos RDF de forma dinámica cuando llega una petición para una URI concreta. El W3C ha creado la especificación SPARQL, que define un lenguaje de consultas para RDF. Típicamente, un servidor semántico hará público este punto de consultas a traves del protocolo HTTP. Cuando el servidor recibe una petición para la URI de un recurso concreto esta petición es transformada en una consulta SPARQL sobre los datos de ese recurso, que son devueltos al cliente serializados en RDF/XML.
Plataformas para la publicación
Una vez que hemos definido las descripciones de nuestros recursos, ¿cómo y dónde las colgamos? De nuevo las opciones son similares a cuando publicamos en la web tradicional.
Si tenemos entre manos un proyecto grande de publicación de recursos semánticos, por cuestiones de almacenamiento y escalabilidad la mejor opción pudiera ser recurrir a plataformas especializadas que ofrezcan este tipo de servicios. Sin duda en el futuro proliferarán este tipo de soluciones aunque en la actualidad organizaciones como Talis ya ofrecen una plataforma de esta naturaleza.
Si optamos por publicar y mantener nuestros datos en nuestro propio servidor también disponemos de otras tecnologías, a menudo open source. Dos diferentes opciones son almacenar nuestros datos en un formato nativo de tripletas RDF o bien generarlos dinámicamente en base a otros formatos. Por ejemplo, Virtuoso, que es un completo servidor con soporte para almacenar modelos RDF y publicación mediante protocolo SPARQL; D2R, utilidad que mapea y publica de forma semántica los datos de bases de datos relacionales existentes; o Pubby, herramienta que genera y gestiona las URIs de nuestros recursos cuando ya se dispone de un punto SPARQL con datos publicados.
Acciones a seguir
Una vez que nuestros recursos son deferenciables (accesibles) desde la web la “visibilidad” de nuestros datos dependerá del número de recursos externos que los referencien. Para ayudar a que nuestros recursos sean más fácilmente descubiertos existen, igual que en la web tradicional, servicios de registro de datos semánticos. Uno de ellos es Ping the Semantic Web. También es buena idea apuntar nuestros recursos en páginas web que actúan como directorios para humanos, como esta lista de servicios semánticos .
Próximamente en entradas de este blog ahondaremos en algunas de las cuestiones técnicas mencionadas con algunos ejemplos y casos de uso.
