¿Qué pasó con la Web Semántica?
La web semántica ha sido un concepto estudiado y desarrollado por W3C prácticamente desde el comienzo de la web misma por el propio Tim Berners-Lee, aunque su desarrollo se aceleró con el artículo de 2001 en Scientific American, The Semantic Web. La idea es muy sencilla, si la web ha servido para enlazar documentos, de distintos orígenes, la web semántica es lo mismo, pero reduciéndonos a lo más fundamental, los datos en sí y además, de forma comprensible para ser procesado por una máquina.
El concepto es muy prometedor, pero con el paso de los años cada vez se oye menos sobre el tema. En este artículo analizaremos las tecnologías que componen la web semántica y los problemas que tiene en el mundo actual.
Demasiados estándares
La web semántica dispone de varios estándares con la misma finalidad, o con objetivos superpuestos. Esto es una redundancia que impide a los desarrolladores saber exactamente a qué adherirse. Por ejemplo, es habitual pensar que RDF es un tipo de XML. Pero esto es incorrecto. RDF es un estándar abstracto que no especifica como se debe almacenar su información. Aparte de XML existen muchas otras implementaciones, válidas, para representar datos RDF: Turtle, N3, N-Quads, RDFa, JSON-LD,...
No solo RDF sufre este problema. En los lenguajes de representación de reglas de inferencia también ocurre. Existe de hecho un estándar diseñado para la interoperabilidad entre estos lenguajes, RIF: Although originally envisioned by many as a "rules layer" for the semantic web, in reality the design of RIF is based on the observation that there are many "rules languages" in existence, and what is needed is to exchange rules between them.. Mientras tanto W3C mantiene otro estándar para las reglas, SWRL (Semantic Web Rule Language). Existen además otros estándares inpendientes: R2ML y RuleML.
Estos estándares disponen muchas veces de varios perfiles o dialectos, diseñados para cargas de trabajo diferentes. RIF por ejemplo, tiene varios dialectos, algunos estandarizados (DTB, Core, FLD, BLD y PRD) y otros sin estandarizar (CASPD, URD y SILK principalmente).
Esta fragmentación también se ha visto en el propio formato RDF. Al ser demasiado abstracto, algunos programadores diseñaron de forma más pragmática los formatos microformats y microdata, que aunque pueden ser sustituidos por RDFa, estos primeros son más sencillos de comprender. Estos estándares tienen unas ontologías fijas, útiles, adaptadas y sin posibilidad de ser extendidas o reemplazadas (aunque microformats2 si es más potente es este aspecto). La idea es evolucionar la web en vez
de revolucionar la web, proponiendo cambios que causen poca fricción en el desarrollo web actual. Esto forma parte del movimiento de la web semántica en letras minúsculas.
Demasiada abstracción y falta de formación
Muchos estándares de la W3C se definen de forma muy abstracta, priorizando la corrección de los estándares desde un punto de vista teórico. Los desarrolladores no están acostumbrados a tales niveles de abstracción y esperan tecnología mucho más concreta.
Si a esto se le suman pocos ejemplos de uso práctico, poca documentación de entrada y una falta de marketing respecto a otras tecnologías, muy poca gente va a poder entender el modelo mental de RDF y sacar toda su potencia.
Burocracia
Algunas partes de la web semántica sufren de un problema burocrático. No solo los estándares llegan tarde y sin implementación de referencia, sino que muchas veces el proceso de realizar modificaciones o añadir un elemento es lento y laborioso.
El proceso de comité de W3C ha demostrado ser lento e ineficaz en otras áreas. Por ejemplo, los navegadores han dejado de seguir el estándar HTML de W3C para centrarse en el estándar HTML de WHATWG, una organización creada por ellos mismos, mucho más rápida en definir nuevas características. Gracias a WHATWG se pudo lograr HTML5, que luego fue estandarizado por W3C cuando todos los navegadores ya habían implementado las características del estándar. Otro caso similar existe con SVG, el estándar de gráficos vectoriales, que ha sido criticado por nunca lanzar la revisión SVG 2.0, debido a problemas internos.
Otros componentes de la web semántica como las URI ni siquiera son asignadas por la W3C sino que la asignación de esquemas depende de IANA.
Protección de datos
A nivel legal, muchos empresas y organizaciones prefieren mantener los datos de carácter personal de forma privada. No existe un sistema integrado que permita acceder solamente a ciertos agentes acceder a determinada información de una base de datos. La web semántica parece preparada únicamente para datos de carácter totalmente abierto, no parcialmente abiertos.
Valor de los datos
Según diversos analistas los datos se han convertido en el nuevo petróleo. Una empresa vale más por los datos que tiene que por los servicios que presta. Si asumimos esto, ¿por qué regalar los datos? Sería tan tonto como regalar dinero. Las empresas han aprendido a mantener los datos de forma cerrada, para consumo propio o previo pago de grandes cantidades de dinero.
Existen empresas, no obstante, que facilitan APIs para acceder y manipular la información. La gracia de estos sistemas es que están limitados en cuanto a peticiones y a la información a la que podemos acceder. Estas APIs, aunque suelen seguir un modelo REST común, no son interoperables entre sí. De este modo se intenta mantener la filosofía del jardín cerrado. Que los desarrolladores puedan hacer software que complemente a mi plataforma y no al revés.
A grandes empresas como Google o Facebook no les interesa que toda su información sea accesible por otros desarrolladores, ya que les restaría valor a su empresa. Es evidente que estas empresas no van a invertir en estas tecnologías, al menos para su desarrollo público. En el caso de Google está actitud es muy evidente. En 2010 compró Freebase, una base de datos semántica abierta bastante importante, para después cerrarla e integrar su tecnología en Google Knowledge Graph.
Sólamente organizaciones como Wikipedia, MusicBrainz, DBpedia y los distintos organismos públicos mantienen bases de datos accesibles de forma totalmente abierta y transparente de los datos. Muchas de estas acciones englobadas dentro del movimiento Open Data pero la adopción por parte de las empresas ha ido decreciendo.
Escalabilidad
Se ha criticado que los modelos basados en RDF no son escalables. En efecto la mayoría de implementaciones no han sido tan trabajadas como lo han podido ser bases de datos relacionales, o software de procesamiento Big Data. Es cierto que servidores como Virtuoso son capaces de manejar miles de millones de tripletas, pero sigue habiendo problemas subyacentes relacionado con la dificultad del indexado de RDF.
Laboriosidad
Formalizar el conocimiento lleva un esfuerzo considerable. Lleva esfuerzo tanto en la parte de creación de los esquemas como en la parte de generación de los datos. Con la aparición de sistemas Big Data, la tendencia es a almacenar los datos tal y como es generada, para luego ser analizada. Aunque se podrían usar estos sistemas, para intentar formalizar los datos, no parece ser una práctica común. Existen pocas herramientas enfocadas a hacer menos laborioso el trabajo, con la única excepción de Protégé para la elaboración de ontologías.
Han surgido ontologías más simples, con enfoque práctico en organizaciones como Schema.org, donde los buscadores (Google, Bing, Yandex, ...) definen ontologías válidas para RDFa, con el fin de dotar a sus buscadores de mayor poder semántico. Otros ejemplos son la iniciativa Dublin Core.
Falta de implementaciones
La web semántica dispone de muchas programas, de tipo académico, muchos de ellos abandonados al poco tiempo. No obstante no hay apenas sistemas listos para producción. Muchos sistemas de gestión de bases de datos con soporte a tecnologías de la web semántica no lo hacen de forma exclusiva. Existen varias bases de datos con soporte a SPARQL, Virtuoso, MarkLogic, Apache Jena, Amazon Neptune, Neo4j, aunque no en todos estos sistemas SPARQL es la opción recomendada por sus autores. Algunos estándares no están implementados (OWL2 solo es implementado por MarkLogic de forma completa).
Fuera de las bases de datos existen todavía menos librerías que manejen RDF de forma sencilla para el programador, siendo el único ejemplo destacable la librería RDFLib para Python, que incluye un intérprete de SPARQL para consultas locales, así como un adaptador para usar PostgreSQL como almacén de tuplas RDF.
W3C no se ha encargado de mantener implementaciones de referencia de sus estándares.
Conclusiones
Creo firmemente que estamos ante una situación de worse is better. Concepto ingenieril donde los haya que viene a decir se
resume en estas máximas:
- El diseño debe ser simple, tanto en implementación como en interfaz. La simplicidad es el elemento más importante del diseño
- El diseño no debe ser inconsistente. La consistencia puede ser sacrificada por la simplicidad, o pueden eliminarse del diseño las partes menos comunes o que introducen complejidad innecesaria
- El diseño cubrir todas las situaciones cuál probables sea que ocurran. Todos los casos razonablemente probables deben ser cubiertos. En todo caso, la completitud es la última propiedad a tener en cuenta.
Este estilo, denominado escuela de Nueva Jersey tiene su máximo exponente en UNIX y C, piezas tecnológicas de gran éxito cuya fama se basa en el uso de estas reglas. Un enfoque ingenieril basado en compromisos. Todo en contraposición a la escuela de MIT, de origen académico, identificado popularmente con Lisp. El enfoque académico no admite incorreciones, inconsistencias y completitud. La simplicidad es deseable, pero sin sacrificar en ningún momento las características anteriores.
Las tecnologías de la web semántica parecen cumplir el enfoque de la escuela del MIT. Un producto académico, que engloba a todo, a costa de reducir simplicidad.
Afortunadamente muchos de los problemas mencionados aquí están siendo tratados actualmente en una lluvia de ideas, denominada EasierRDF y W3C tiene intención de ser más dinámica, sobre todo después de haber perdido el control estandarizador de HTML y otras tecnologías clave, en favor de organizaciones más dinámicas.
Además, se están desarrollando nuevos estándares de gran interés, como IPLD (InterPlanetaryLinkedData) que permite extender la web semántica a IPFS, Git y plataformas basadas en blockchain como Ethereum y Bitcoin.