Cuando uno se enfrenta a la organización de información para la aplicación de Webservices ve que, además de los problemas de estándares tecnológicos, aparecen problemas con la taxonomía de la información.Según algunos, la respuesta a este problema está en la Red Semantica.
La Red Semántica promete, entre otras cosas, hacer que la información tenga sentido además de ser una cadena de datos sueltos. Pero sin resolver antes los problemas de la taxonomía, la RS, sólo será un grupo de promesas y la integración de webservices será imposible a gran escala.
Taxonomía de la Información
La taxonomía de la información es la estructuración de la infromación en categorías y sub-categorías. Por ejemplo, cuando uno busca en una biblioteca el libro "Das Kapital" un libro en una biblioteca, va a ver que el libro tiene "marcadores" sobre las categorías a las que pertenece y verá: "Economía" "Filosofía" "Marxismo", etc.etc.
Ahora bien; en caso que uno quiera buscar libros relacionados a ese para terminar una tesis (para seguir el ejemplo) espera que cuando en el buscador de la biblioteca aparezca los libros relacionados con ese tema y no los libros relacionados con la "Capital" de Argentina, Marruecos o Irak. Eso pasaría de no existir una taxonomía definida para la búsqueda.
Problemas de la taxonomía
El ejemplo más fácil y simple que conozco es el tomate, ¿es una fruta o un vegetal? Según mi taxonomía los tomates son "verduras"; pero según la taxonomía de Amazon.com los tomates entran en la categoría "frutas" cómo hago que MI producto aparezca en las búsquedas de los clientes de Amazon que quieren comprar tomates y solo entran a ver "frutas"? ¿Hago un relevamiento y re-implementación de todas mis categorías? ¿me adapto a la taxonomía del otro?
Y si encima mis tomates, además de estar categorizados como frutas están segmentados por "tipo de tomate" en vez de "Regiones de cosecha", ¿que debo hacer? ¿Tirar todas mis categorías y empezar a recategorizar todos mis sistemas o forzar a amazon a que use mi definicion/categorización de los tomates?
Lleven ese ejemplo simple, de problemas taxonómicos, y verán como se multiplica al imaginar que estamos hablando de documentos y búsqueda de información relevante.
Un documento, puede contener las palabras "Das Kapital" pero tratarse de la "Guia Michelín de Capitales del mundo" traducido al alemán. Entonces si trato de incluir mis librerías mediante web-services (o simplemente incluirlos en un motor de búsqueda con un algoritmo diferente al mio) tendría que hacer que mis categorías "matcheen" con las de las otras librerías. ¿Que hago? ¿Categorizo todo de nuevo o le digo a todos que lo hagan según mis categorías?
Soluciones rápidas
Las que enseguida deben haber pensado hasta ahora son:
1- Recategorizá todos tus documentos.
Sería simple, siempre y cuando manejen una lista corta de categorías. Pero cuando uno adopta una taxonomía, esta se ramifica por todos y cada uno de los sistemas de la empresa. No, esto no es una solución.
2- Categorizá toda la información de múltiples maneras; La categorización de miles de documentos puede llegar a ser una tarea gigantesca. Además de hacer que un documento termine manejando una carga de "metadata" gigantesca con los problemas que eso puede traerle a mis sistemas.
No, a no ser que pueda gastar tiempo y dinero en recursos sin sentido, esta solución no tendría sentido.
3- Categorizá de acuerdo a las categorías de Amazon; ¿Y si mañana otro proveedor los categoriza de otra manera? Tendria que recategorizar todo. Esta tampoco es una solución.
4- ¿¿¿Amazon tambien va a vender tomates??? No lo creo, sólo era un ejemplo, pero si sucede recuerden que lo leyeron acá primero ;)
Problemas sin recolver
Para lograr que la Red Semántica exista se deberían resolver más que simples esquemas de intercomunicación o interfaces.
Lograr que exista una taxonomía universal es imposible; el DublinCore es uno de los esfuerzos para lograr sistemas de búsqueda de información más perfectos, mediante la adopción de estándares de metadata y armando vocabularios de metada especializados para descripción de recursos.
Creo que este es uno de los problemas más grandes que habrá que resolver antes de pensar en la integración total de la información mediante web services y, que sin solucionar esto antes que nada, terminará naufragando en un mar de confusión.