Los Sistemas de Gestión de Contenidos como pieza fundamental en el despliegue de la Web Semántica

Juan Antonio Pastor Sánchez, un estimado y muy competente amigo y colega de la Universidad de Murcia, publicó el pasado mes de julio un interesante texto, en el marco de las notas del Grupo ThinkEPI, sobre el papel a desempeñar por los sistemas de gestión de contenidos en la implementación de la web semántica. Con su permiso, lo reproduzco íntegro a continuación, al tiempo que lo he enriquecido ligeramente incorporando enlaces dentro del texto a normas y herramientas citadas.

Los Sistemas de Gestión de Contenidos como pieza fundamental en el despliegue de la Web Semántica

Hace ya algún tiempo que las tecnologías de la Web Semántica han creado la suficiente masa crítica que permite pasar de una fase de laboratorio a otra de exploración y explotación de las posibilidades que ofrecen. Algunas iniciativas, como Linked Open Data, destacan por su atractivo y empuje, al tiempo que la necesidad de muchas instituciones para incorporarse a este nuevo mundo precisa de una serie de inversiones para el desarrollo de nuevos proyectos. Por tanto, se precisan herramientas diseñadas para representar datos, información y conocimiento, al tiempo que permitan la interoperabilidad de sistemas, de forma precisa, eficiente y escalable.

Este cambio conlleva una evolución en la política de gestión de información en el seno de las organizaciones. No se precisan grandes inversiones para adquirir o implantar nuevas tecnologías, sino más bien realizar modificaciones en la planificación estratégica de los servicios y productos de información, así como en las herramientas a utilizar. Estamos ante un nuevo escenario que precisa, necesariamente, de un cambio de mentalidad corporativa apoyándose en tres factores determinantes:

  1. El auge del Software libre y de código abierto que permite afianzar un modelo de creación de herramientas y aplicaciones de calidad, con el compromiso de comunidades de usuarios dedicadas a su desarrollo y actualización (Fitzgerald, 2006). Ya no es sostenible el viejo argumento de que este tipo de software no ofrece garantías en su uso. El código abierto permite una revisión de las funciones del software y la detección de problemas de seguridad. Por otro lado las posibilidades de adaptabilidad, e interoperabilidad, uso de estándares y especificaciones abiertas, la independencia de proveedores y el ahorro en los costes de adquisición de licencias suponen una serie de ventajas obvias.
  2. El desarrollo, en el ámbito de la Web, de estándares y especificaciones abiertas, para la representación de datos de un modo transparente y evolutivo a través de niveles de abstracción cada vez mayores. Su creación y mantenimiento es realizada por comunidades participativas de usuarios (formadas por investigadores, docentes, desarrolladores y empresas), cuyo trabajo es coordinado y supervisado por el W3C. Se trata de un modelo colaborativo de desarrollo tecnológico de largo recorrido y que ha dados frutos tales como XML, RDF, OWL, SKOS o SPARQL (1).
  3. La difusión abierta de datos y contenidos, como parte de una política de productos y servicios de información de las organizaciones. Este aspecto se está llevando a cabo en administraciones públicas, instituciones culturales, empresas, proyectos de investigación o iniciativas de comunidades de usuarios. Para la administración pública resulta fundamental compartir datos según unos criterios de interoperabilidad, que faciliten la comunicación transparente de la administración con ciudadanos y empresas (Alanis et al, 2007 y Ding et al, 2010). Espacios como el Government Linked Data (GLD) Working Group o iniciativas como Europeana parten de un apoyo claro a este tipo de iniciativas.

Muchas instituciones han encontrado, en este nuevo contexto, la solución a múltiples problemas que bloqueaban el desarrollo de proyectos asociados a la colaboración dentro de comunidades heterogéneas de usuarios (2). Estas tecnologías hacen posible la coordinación a nivel institucional, ya sea adoptando esquemas de descripción compartidos, o utilizando soluciones propias que puedan mapearse (3) entre sí.

Dentro del diverso grado de evolución de los elementos de la Web Semántica, RDF se vislumbra, por su solidez y grado de implantación, como el instrumento para representar vastas cantidades de datos. Éstos pueden ser utilizados directamente por aplicaciones, sin que tengan que realizarse costosos procesos de conversión o traducción, puesto que se utilizan mecanismos compartidos de representación.

Definiendo el campo de batalla: infraestructura de software para la integración de los CMS en la Web Semántica.

Los planteamientos expuestos anteriormente deben considerar que la mayor parte de los contenidos que alberga la Web no se encuentran en formatos adecuados para la Web Semántica. En este sentido, ha de considerarse que la Web con la que trabajan las personas precisa de una interfaz para la consulta de información, en donde las técnicas de Accesibilidad, Usabilidad y Arquitectura de la Información representan los ejes centrales en el diseño de los contenidos. Así pues ¿debe hablarse a partir de ahora de dos Webs separadas, una para personas y otra para las máquinas? ¿Se formarán dos universos paralelos de desarrollo de aplicaciones y tecnologías pero separados para contenidos en HTML y datos RDF? Aquí es donde los Sistemas de Gestión de Contenidos (CMS) tienen mucho que decir.

Una de las principales características de estos sistemas radica en la superación del modelo de edición centrado en la gestión de ficheros, a otro más cercano a procesos de organización y estructuración de contenidos definidos a partir de criterios de Arquitectura de la Información. También debe tenerse en cuenta a los CMS especializados, cuyo campo de trabajo es la creación de repositorios digitales, la gestión de foros de debate, wikis o plataformas educativas (LCMS). Este paradigma de gestión de sitios web, sólidamente establecido, se fundamenta en la definición de taxonomías, tipos de contenidos, sistemas de navegación facetados, uso de plantillas de presentación, reutilización de objetos e información y conexión con fuentes de datos externas. Además, la mayoría de estos sistemas utilizan sistemas de bases de datos relacionales (SGBDR) para almacenar los componentes informativos de los contenidos (y otros aspectos operativos) separando estructura, información y presentación.

Puesto que tenemos información con un alto grado de estructuración y almacenada en bases de datos es razonable plantear la cuestión acerca de si es posible utilizar un CMS para:

  • Reutilizar los datos almacenados, utilizados en principio para la elaboración de las páginas de un sitio web, e incorporarlos a la ámbito Web Semántica.
  • Añadir información semántica, procesable por máquinas, dentro de un contenido pensado inicialmente para su consulta por personas.
  • Explotar fuentes externas de datos RDF para enriquecer los contenidos de un sitio web (4).

Tal como se ha mencionado anteriormente, la mayoría de los CMS existentes utilizan SGBDR para almacenar los datos. La Web Semántica se basa en el uso de un modelo de descripción totalmente distinto, RDF, que difiere considerablemente del modelo relacional (Allemang y Hendler, 2011:23; Velegrakis, 2010).

Esto supone un inconveniente, puesto que el uso de soluciones relacionales (la inmensa mayoría: MySQL, MariaDB, PostgreSQL, Oracle, SQLite, SQL Server, etc) para el soporte de base de datos del CMS, no permite operar directamente con RDF. Es necesario utilizar una capa intermedia que permita almacenar datos RDF en tablas relacionales. De este modo se facilita enormemente el desarrollo de aplicaciones que utilicen la misma infraestructura de SGBDR con la que funciona el CMS al tiempo que se trabaja con datos RDF. Las aplicaciones informáticas solucionan este tipo de problema utilizando una capa de abstracción que suele tomar la forma de librerías o algún tipo de middleware (Bishop y Karne, 2003), que en este caso interactúan con el CMS a través de algún tipo de API en combinación con SPARQL para recuperar datos RDF.

Esta integración de software resulta compleja en las fases iniciales de desarrollo, pero una vez que se pone en marcha y se comprenden los principios básicos de funcionamiento y gestión resulta más sencilla. Las funcionalidades de los CMS suelen ampliarse agregando módulos o plugins que hacen uso de las librerías o del middleware para realizar ciertas operaciones. Dichas operaciones se refieren a procesos encargados del almacenamiento de datos en un tiplestore (5), uso y definición de SPARQL Endpoints para obtener y exponer datos, parseado, extracción y conversión de RDF.

En entornos PHP es muy popular el uso de ARC que proporciona una potente librería para la manipulación de datos RDF y su almacenamiento en un SGBDR. En el caso de Java debemos referirnos a JENA, que además ofrece un motor de inferencia basado en OWL. Si buscamos cierta independencia con respecto al soporte de lenguaje de programación web utilizado puede utilizarse SESAME, aunque la solución más potente y versátil tal vez sea Virtuoso Universal Server que combina un servidor web, con un framework de desarrollo/ejecución de aplicaciones y un completo soporte de base de datos y gestor de datos estructurados. Virtuoso puede almacenar los datos directamente en RDF, pero permite “virtualizar” cualquier SGBD relacional, por lo que podríamos instalar y manejar cualquier CMS, de forma totalmente transparente, y ampliar sus funcionalidades para la Web Semántica mediante módulos de terceros o desarrollos propios.

Publicar, Semantizar y Reutilizar: un camino de ida y vuelta

Una de las primeras tareas que se desea realizar con un CMS en el ámbito de la Web Semántica es ofrecer ciertos contenidos en RDF. Generalmente, la explotación de información generada por una aplicación web se ha realizado normalmente a través de servicios web utilizando algún tipo de protocolo para el intercambio de datos. Es decir, una aplicación se conecta a una URL y accede a un conjunto de datos. Por regla general, estos datos suelen encontrarse en formato XML. RDF puede codificarse con XML (RDF/XML) y supone una primera aproximación a la publicación en la Web Semántica de los contenidos gestionados por un CMS.

Otro método supone la creación y uso de SPARQL Endpoints. Se trata de servicios web que utilizan SPARQL como lenguaje de consulta y como protocolo para obtener los datos RDF recuperados. Podríamos decir que se trata del SQL de RDF. Lo interesante es que pueden ser utilizados por personas o por aplicaciones. De este modo no siempre es necesaria la publicación de vastos conjuntos de datos RDF/XML accesibles a través de una URL para que otras aplicaciones puedan descargar ficheros y reutilizar los datos de nuestro sitio. Es posible acceder a información más específica, enviando una consulta al SPARQL Endpoint que a su vez devuelve los datos en un formato determinado. Este mecanismo proporciona mayor flexibilidad en el desarrollo de aplicaciones recolectoras de datos que el uso de protocolos como OAI-PMH con un conjunto limitado de instrucciones.

Ya se utilice una u otra opción, es necesario mapear los elementos de los contenidos gestionados por el CMS a sus correspondientes elementos de vocabularios RDF. Precisamente aquí reside la principal dificultad para que muchos CMS aporten contenidos a la Web Semántica y participen en el universo Linked Data. No se trata de “volcar” tablas de una base de datos relacional a RDF/XML y por supuesto estamos buscando algo más que ofrecer canales o fuentes RSS. El proceso es más complicado, puesto que hay que tomar decisiones: qué vocabulario es el más adecuado para representar un determinado campo de un tipo de contenido, qué elemento debe utilizarse, qué nivel de detalle y agregación, etc.

Algunos CMS como Liferay y Drupal, disponen de soluciones que permiten publicar datos utilizando RDF e incluso ofreciendo SPARQL Endpoint. En el caso de Liferay existen algunas soluciones como el módulo Liferay Linked Data que precisa de D2R-Server. Drupal ofrece soporte RDF en su núcleo que se amplia mediante la combinación de la librería ARC y módulos, como RDF Extensions y Views Datasource o RESTful Web Services, que permiten publicar nodos individuales o vistas en cualquier formato (entre los cuales se encuentra RDF/XML) , así como la definición de SPARQL Endpoint limitado al contenido de nodos y taxonomías.

Pero participar en la Web Semántica no conlleva participar en la corriente Linked Open Data. De hecho, Linked Data utiliza un subconjunto de las tecnologías desarrolladas al amparo de la Web Semántica. Cualquier sitio web puede incorporar información semántica dentro de cualquier página HTML (6). Para ello debemos tener en cuenta que RDF es para las máquinas lo que HTML para las personas. Pero ¿existe alguna forma de que ambas versiones coexistan en una única URL de la que personas y máquinas puedan consultar información y extraer información respectivamente?

En efecto, es posible “insertar” declaraciones RDF dentro del código HTML de una página. Para ello podemos utilizar RDFa, de forma que es posible reutilizar el código HTML para insertar información semántica (Pemberton, 2009). Un ejemplo: para indicar el título de un documento en su contenido informativo se usaría el siguiente código <h1>Título del documento</h1>; con RDFa el código podría quedar <h1 about=”http://ejemplo.org/documento.html” property=”dc:title”>Título del documento</h1>. Su funcionamiento es muy similar al de los microformatos, pero en este caso se utiliza RDF como modelo para describir un elemento de información del contenido. A través de aplicaciones conocidas como RDFa extractors es posible obtener los datos RDF del propio código HTML para su posterior procesamiento.

Otra de las posibilidades que ofrece la Web Semántica es la incorporación a nuestro sitio web de datos externos. Esta funcionalidad es, con diferencia, la mejor resuelta en la mayoría de los CMS. No importa el sistema utilizado: Joomla, WordPress, Drupal, OpenCMS, Liferay, eZ Publish, Mediawiki, phpBB, Plone… todos disponen de algún módulo o incorporan alguna funcionalidad para recuperar, procesar, formatear e interactuar con datos RDF. El principal motivo se debe a que la mayoría de los CMS incorporan en su instalación básica herramientas para la sindicación de fuentes RSS, entre cuyos formatos encontramos RSS 1.0 (RDF Site Summary).

Evidentemente el CMS siempre puede descargar un fichero de datos RDF. Pero un funcionamiento eficiente precisa de los refinamientos adicionales que ofrece SPARQL. Typo3, Drupal y Liferay destacan en este apartado. En los tres casos el funcionamiento de los módulos es muy similar: se registra en el sistema un SPARQL Endpoint externo y a continuación se utiliza el lenguaje de consulta SPARQL para establecer los criterios de selección de los datos externos. Cuando se lanza la consulta se recuperan una serie de datos, que a partir de ese momento se manipulan como si fueran contenidos generados por el propio CMS. Por regla general, la recuperación de datos, y por tanto su visualización, se realiza de forma dinámica. Es decir, los datos no suelen incorporarse al propio CMS, sino que éste actúa de interfaz para su recuperación y visualización. Sin embargo, en algunas circunstancias estos datos se utilizan para crear nuevos contenidos gestionados por el CMS, generalmente por motivos de rendimiento. En este caso el sistema actúa de un modo similar a como lo hace un agregador OAI-PMH.

Alcanzando metas mediante la integración de componentes: simplificando lo aparentemente complejo

El panorama descrito muestra un conglomerado de sistemas, arquitecturas, elementos de software y especificaciones que funciona. Los CMS son capaces de publicar datos, reutilizar fuentes externas RDF e incluir información semántica en sus contenidos. Incluso podrían ser el soporte para crear contenidos y modelos de interacción que se adapten a diferentes tipos de plataformas y dispositivos. La combinación de datos RDF interrelacionados, su integración en contenidos web y la adaptación de su consulta a las posibilidades del dispositivo final del usuario, abren un mundo nuevo de ideas y aplicaciones. Es decir, se va más allá de la adaptación de contenidos a través de hojas de estilo CSS personalizadas a cada tipo de dispositivo: la información marcada semánticamente permite su reutilización hasta el limite que marque el nivel de detalle de los datos que la conforman.

En este sentido, no sería descabellado pensar en aplicaciones avanzadas para un Smartphone, que utilicen información marcada semánticamente, y que puedan indicar, por ejemplo, qué restaurante es el mejor valorado en un radio de 50 metros. O bien otras aplicaciones para planificar un trayecto entre dos ciudades que precise el uso de varios medios de transporte y realizar la compra de los billete correspondientes. Incluso acceder a imágenes de obras y documentos sobre Leonardo da Vinci de cualquier biblioteca o museo de Europa según unos criterios de búsqueda. Un mismo contenido podría interactuar con el usuario de un modo diferente en función de si se visualiza con una pantalla táctil, si se cuenta con una superficie de visualización amplia o si el dispositivo utilizado dispone capacidad GPRS. Son algunos de ejemplos de aplicaciones que mostrarían datos de un modo atractivo y totalmente transparente al usuario, que no tiene porqué saber que la información consultada se basa en datos RDF o en la ejecución de inferencias.

Pero frente a la pregunta ¿puede utilizarse un único CMS para realizar todas estas funciones y conseguirlo de un modo sencillo? no sería atrevido contestar con un “No”, pero con ciertos matices.

Una vez adquirida una visión de conjunto de las posibilidades de los CMS en la Web Semántica, es difícil no tener una considerable sensación de dispersión de tecnologías y sistemas. La existencia de diferentes entornos de desarrollo, por ahora, como son PHP y Java, complica aún más si cabe la situación. Existen diversas soluciones, entre las cuales, las basadas en Java están obteniendo una mayor aceptación en el desarrollo de proyectos de envergadura, asociados a la creación de repositorios, iniciativas Linked Data y la publicación y manejo de grandes conjuntos de datos RDF.

Por contra, los CMS más utilizados actualmente y que ofrecen una mayor flexibilidad y capacidad de personalización se basan en PHP. Además, la realidad en algunas organizaciones (Universidades, Administración Regional, Proyectos Europeos) tienden también a la dispersión tecnológica. Incluso CMS o gestores de portales basados en Java carecen de un soporte nativo global para una integración completa en la Web Semántica. Como puede verse es una situación, a veces incomprensible, que produce una brecha entre diferentes tipos de necesidades (publicar contenidos y publicar datos) que conduce, a su vez, a contemplar de un modo separado la gestión de sitios web, el potencial de datos que ofrece la Web Semántica y la integración de éstos en aquellos y viceversa.

Y por si esto fuera poco, las soluciones basadas en plugins o módulos de ampliación de las funciones de los CMS aportan mayor confusión. No es inusual encontrarse con un complejo ecosistema de módulos, en donde no se termina de resolver una necesidad de forma completa e integral con una única opción. A veces hay que instalar varios módulos que interactúen con un middleware específico y actualmente muchas de éstas soluciones se encuentran en fase beta o de desarrollo inicial.

Pese a todo lo anterior, es muy posible que se alcance una simplificación de escenario actual. Se observa una tendencia a la integración, en el núcleo de algunos CMS, de ciertas funcionalidades de la Web Semántica. Las nuevas versiones de OpenCMS, Drupal o Liferay “absorben” o integran módulos y plugins relacionados con la Web Semántica. Así pues, conforme se produzca esta integración, la optimización y eficiencia en la manipulación de datos RDF se incrementará considerablemente, lo que conducirá inevitablemente a que los CMS lleguen a utilizarse como frameworks para el desarrollo de interfaces entre datos de la Web Semántica y contenidos de los sitios web que gestionen (7). Mientras tanto identificamos que algunos CMS, en especial Drupal y phpBB, hacen uso de RDFa a un nivel muy básico siguiendo un modelo de representación de sus contenidos con RDF (8).

La hoja de ruta de la incorporación de los CMS en la Web Semántica, pasa ineludiblemente por la instalación y configuración de todo el software (entornos de ejecución, middlewares, CMS, módulos) de un modo sencillo, para acelerar la productividad de los sistemas y comenzar rápidamente a publicar ciertos tipos de contenido a través de SPARQL Endpoints, generar URLs de fuentes de datos RDF para su acceso por parte de otras aplicaciones o integrar fuentes de datos de, por ejemplo, Europeana o Dbpedia.

En definitiva, se precisan soluciones del tipo “instalar y listo” esenciales para simplificar la complejidad que supone el uso de software heterogéneo sin tener que caminar (y posiblemente perderse) en el laberinto “modular” de los CMS. Todo lo anterior, con un objetivo claro: evitar los problemas que, en la era de la Web Semántica, acarrearía el hecho de que datos y contenidos sigan dos caminos divergentes en su gestión y uso. El futuro demostrará en qué grado y en qué forma se cumplirán todas estas expectativas y necesidades.

Notas

  1. XML, RDF, OWL y SPARQL con especificaciones del W3C. XML (eXtensible Markup Language) define una sintaxis para el intercambio de datos entre aplicaciones. RDF es el modelo de descripción de recursos fundamental de la Web Semántica, basado en tripletas del tipo sujeto-objeto-predicado que conforman grafos comlejos. OWL se usa junto con RDF y permite definir ontologías que describen aspectos lógicos de las relaciones entre recursos. SKOS es una ontología OWL para la representación de Sistemas de Organización del Conocimiento muy utilizado para el desarrollo de tesauros y clasificaciones. SPARQL es un lenguaje de consulta para interrogar y recuperar datos de los grafos RDF.
  2. Existen infinidad de catálogos sobre Open Linked Data. A este respecto existe un mapa con todas las iniciativas de este tipo de la fundación CTIC: http://datos.fundacionctic.org/sandbox/catalog/faceted/ También puede consultarse un registro de la Open Knowledge Foundation con datasets de linked open data en: http://ckan.net/
  3. La expresión “mapeado” proviene del término inglés “mapping” que se asocia a la definición de correspondiencias entre elementos de diferentes conjuntos. En este caso se trataría de definir equivalencias o similitudes entre elementos de diferentes especificaciones de descripción.
  4. Para una comprensión global de lo que estas tres funciones implican a nivel de especificaciones de la Web Semántica puede consultarse la obra de 2011 de Heath y Bizer referenciada en la bibliografía.
  5. Un triplestore es una base de datos que almacena triplets (declaraciones RDF). Suele utilizarse mediante una interfaz de usuario, un SPARQL Endpont o mediante una API que permite el diseño de aplicaciones que utilicen el triplestore para almacenar datos.
  6. Al referirme a HTML también lo estoy haciendo a XHTML.
  7. Es muy sugerente el ejemplo de Islandora que integra Drupal y Fedora: https://wiki.duraspace.org/display/ISLANDORA/Islandora
  8. A modo de ejemplo puede consultarse: http://blog.semantic-web.at/semantic-web-and-drupal

Referencias

Dr. Juan Antonio Pastor Sánchez
Dep. de Información y Documentación
Facultad de Comunicación y Documentación
Universidad de Murcia
http://webs.um.es/pastor
pastor@um.es