D EPARTAMENTO DE C IENCIAS DE LA C OMPUTACI ÓN E I NTELIGENCIA A RTIFICIAL Wikis y tecnologı́as semánticas Una propuesta para la Externalización del Conocimiento V. B. Director Dr. Joaquı́n Borrego Dı́az Sevilla, 23 de mayo de 2011 Memoria de investigación presentada por Antonio Jiménez Mavillard dentro del programa de doctorado Lógica, Computación e Inteligencia Artificial. Universidad de Sevilla. A Juan. Índice general Prólogo 1 Resumen 3 1. Contexto 5 1.1. El origen de la Web . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2. Limitaciones de la Web actual . . . . . . . . . . . . . . . . . . 6 1.3. La Web Semántica . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3.1. XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3.2. RDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3.3. RDFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.4. OWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3.5. Lógica . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4. Ontologı́as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.4.1. Dificultades de las ontologı́as . . . . . . . . . . . . . . 19 1.4.2. Soluciones colaborativas . . . . . . . . . . . . . . . . . 20 1.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2. Estado del arte 23 V Índice general VI 2.1. Web 2.0 y Web Semántica . . . . . . . . . . . . . . . . . . . . 23 2.2. Semántica y wikis . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.1. AceWiki . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.2.2. COW . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2.3. IkeWiki . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.2.4. JSPWiki . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2.5. KiWi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.2.6. Makna . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.2.7. Moki . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.2.8. ODEWiki . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.2.9. Ontobrowse . . . . . . . . . . . . . . . . . . . . . . . . 41 2.2.10. OntoWiki . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2.11. Powl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.2.12. Semantic MediaWiki . . . . . . . . . . . . . . . . . . . 48 2.2.13. SweetWiki . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.2.14. SWiM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.2.15. Otras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.2.16. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3. Externalización del conocimiento 63 3.1. El conocimiento como activo . . . . . . . . . . . . . . . . . . 63 3.2. Modelo de Nonaka y Takeuchi . . . . . . . . . . . . . . . . . 64 3.3. Gestión del conocimiento . . . . . . . . . . . . . . . . . . . . 67 Índice general VII 3.3.1. Modelo de Nonaka y Takeuchi adaptado . . . . . . . 68 3.3.2. Semántica emergente . . . . . . . . . . . . . . . . . . . 69 3.3.3. Interfaces semánticas de usuario . . . . . . . . . . . . 72 3.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 4. Sword 75 4.1. Descripción general . . . . . . . . . . . . . . . . . . . . . . . . 75 4.1.1. Correspondencia ontologı́a – wiki . . . . . . . . . . . . 76 4.1.2. Interfaz de usuario . . . . . . . . . . . . . . . . . . . . 77 4.1.3. Funcionalidad . . . . . . . . . . . . . . . . . . . . . . . 78 4.1.4. Tecnologı́a y arquitectura . . . . . . . . . . . . . . . . 80 4.1.5. OSMV . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.1.6. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.2. Gestión del conocimiento semántico . . . . . . . . . . . . . . 86 4.3. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5. Conclusiones y proyecto de investigación futura 93 Apéndices 98 A. Ontologı́a OSMV 101 A.1. Diagrama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 A.2. Clases en detalle . . . . . . . . . . . . . . . . . . . . . . . . . . 103 A.3. Jerarquı́a de clases y propiedades . . . . . . . . . . . . . . . . 105 VIII Índice general B. API de Protégé–OWL 111 C. Base de datos de MediaWiki 113 Bibliografı́a 117 Índice de figuras 1.1. La Web Semántica de Tim Berners-Lee . . . . . . . . . . . . . 9 1.2. Arquitectura de la Web Semántica . . . . . . . . . . . . . . . 11 1.3. Elementos de una ontologı́a . . . . . . . . . . . . . . . . . . . 17 1.4. Anotación semántica usando una ontologı́a . . . . . . . . . . 19 2.1. Metaweb = Web Semántica + Web 2.0 . . . . . . . . . . . . . 24 2.2. Interfaz web de AceWiki . . . . . . . . . . . . . . . . . . . . . 26 2.3. Editor y navegador ontológico de COW . . . . . . . . . . . . 28 2.4. Arquitectura de COW . . . . . . . . . . . . . . . . . . . . . . 29 2.5. Interfaz de IkeWiki . . . . . . . . . . . . . . . . . . . . . . . . 30 2.6. Arquitectura de IkeWiki . . . . . . . . . . . . . . . . . . . . . 31 2.7. Interfaz de IkeWiki . . . . . . . . . . . . . . . . . . . . . . . . 32 2.8. TagIT: información geográfica en KiWi . . . . . . . . . . . . . 33 2.9. Arquitectura de KiWi . . . . . . . . . . . . . . . . . . . . . . . 34 2.10. Arquitectura de Makna . . . . . . . . . . . . . . . . . . . . . . 35 2.11. Separación entre ontologı́a e instancias en Makna . . . . . . 36 2.12. Typed pages y typed links . . . . . . . . . . . . . . . . . . . . . . 37 2.13. Metamodelo de empresa en Moki . . . . . . . . . . . . . . . . 38 IX X Índice de figuras 2.14. Interfaz de Moki . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.15. Interfaz de ODEWiki . . . . . . . . . . . . . . . . . . . . . . . 40 2.16. Arquitectura de Ontobrowse . . . . . . . . . . . . . . . . . . 42 2.17. Interfaz de Ontobrowse . . . . . . . . . . . . . . . . . . . . . 43 2.18. Ontologı́a SOA . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.19. Interfaz de OntoWiki . . . . . . . . . . . . . . . . . . . . . . . 46 2.20. Arquitectura de Powl . . . . . . . . . . . . . . . . . . . . . . . 47 2.21. Interfaz de Powl . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.22. Una vista semántica de Londres . . . . . . . . . . . . . . . . . 49 2.23. Código fuente del artı́culo sobre Londres . . . . . . . . . . . 50 2.24. Folksonomı́a y editor de ontologı́as en SweetWiki . . . . . . 52 2.25. Arquitectura de SweetWiki . . . . . . . . . . . . . . . . . . . 53 2.26. Interfaz de SWiM . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.27. Subconjunto de la ontologı́a de sistema . . . . . . . . . . . . . . 56 2.28. Extracción de RDF en SWiM . . . . . . . . . . . . . . . . . . . 57 3.1. Eras de creación de riquezas . . . . . . . . . . . . . . . . . . . 64 3.2. Ciclo de Nonaka y Takeuchi . . . . . . . . . . . . . . . . . . . 66 3.3. Creación de conocimiento . . . . . . . . . . . . . . . . . . . . 67 3.4. Proyección del ciclo de Nonaka y Takeuchi . . . . . . . . . . 70 4.1. Interfaz de usuario de OntoxicWiki . . . . . . . . . . . . . . . 78 4.2. Barra de herramientas de OntoxicWiki . . . . . . . . . . . . . 79 4.3. Arquitectura de Protégé con extensión OWL . . . . . . . . . 80 4.4. Arquitectura de MediaWiki . . . . . . . . . . . . . . . . . . . 81 Índice de figuras XI 4.5. Arquitectura de OntoxicWiki . . . . . . . . . . . . . . . . . . 82 4.6. Clase Expression en Protégé . . . . . . . . . . . . . . . . . . . 84 4.7. Clase Expression en OntoxicWiki . . . . . . . . . . . . . . . . 85 4.8. Creación de conocimiento mediante OntoxicWiki . . . . . . 87 A.1. Diagrama de clases y relaciones de OSMV . . . . . . . . . . . 102 A.2. Clases y propiedades de OSMV . . . . . . . . . . . . . . . . . 109 B.1. API de Protégé–OWL . . . . . . . . . . . . . . . . . . . . . . . 112 C.1. Sección de la base de datos de MediaWiki manipulada . . . 114 C.2. Base de datos de MediaWiki completa . . . . . . . . . . . . . 115 Índice de tablas 1.1. Vocabulario de RDFS . . . . . . . . . . . . . . . . . . . . . . . 13 1.2. Sintaxis y semántica en DL . . . . . . . . . . . . . . . . . . . . 14 2.1. Equivalencia entre wiki y ontologı́a . . . . . . . . . . . . . . . 51 2.2. Comparación entre wikis semánticas (a) . . . . . . . . . . . . 58 2.3. Comparación entre wikis semánticas (b) . . . . . . . . . . . . 59 4.1. Caracterı́sticas de OntoxicWiki . . . . . . . . . . . . . . . . . 88 4.2. Equivalencia entre ontologı́as y matemáticas . . . . . . . . . 90 A.1. Descripción de DocumentationClass . . . . . . . . . . . . . . . 103 A.2. Descripción de GlobalDocumentationClass . . . . . . . . . . . 103 A.3. Descripción de LocalDocumentationClass . . . . . . . . . . . . 104 A.4. Descripción de LicenseModel . . . . . . . . . . . . . . . . . . . 104 A.5. Descripción de Ontology . . . . . . . . . . . . . . . . . . . . . 105 A.6. Descripción de OntologyEngineeringTool . . . . . . . . . . . . 106 A.7. Descripción de OntologyLanguage . . . . . . . . . . . . . . . . 106 A.8. Descripción de OntologySyntax . . . . . . . . . . . . . . . . . 107 A.9. Descripción de OntologyTask . . . . . . . . . . . . . . . . . . . 107 XIII XIV Índice de tablas A.10.Descripción de OntologyType . . . . . . . . . . . . . . . . . . . 108 A.11.Descripción de SocialDocumentationClass . . . . . . . . . . . . 108 Prólogo Mucho se ha recorrido desde la concepción de la Web (Semántica) hasta nuestros dı́as, pero aun mayor es el camino que resta para hacer de la Web Semántica una realidad cotidiana. Trabajos como los de Tim Berners-Lee o como los aportados por Thomas R. Gruber sobre ontologı́as han contribuido considerablemente a dar pasos decisivos en esta larga travesı́a. Asumir que el futuro de la Web será inteligente es una fase superada y admitir que la inteligencia de la Web pasa por la semántica es algo en que la mayorı́a de investigadores están de acuerdo. En este punto, el papel de las ontologı́as es indiscutible. Nadie pone en duda que las ontologı́as se han convertido en la piedra angular de la Web Semántica. Sin embargo, como a veces sucede en estos casos, la novedad de las nuevas tecnologı́as se torna en su propia losa: en primer lugar, hay que comprenderlas para poder emitir juicios de valor; en segundo lugar, hay que aceptar su validez; y en tercer lugar, hay que aprender a utilizarlas para aplicarlas adecuadamente. Este trabajo habla sobre el rol predominante de las ontologı́as, sobre sus posibles formas de creación y mantenimiento, sobre la importancia de potenciar su uso y, por encima de todo, sobre la colaboración en la Web como elemento cohesionador. 1 Resumen La Gestión del Conocimiento se ha convertido en un tarea clave para las organizaciones y empresas que son conscientes del valor de este activo en el mercado actual, y para ello, las tecnologı́as semánticas pueden jugar un papel crucial. Una aproximación prometedora es potenciar la Externalización del Conocimiento en forma de ontologı́as, lo cual permitirı́a su gestión automática y eficiente en la inminente Web Semántica. Sin embargo, una de las grandes dificultades con que se encuentra la futura implantación de la Web Semántica es la aceptación social (en cuanto a comprensión y uso) de las ontologı́as. En este trabajo se propone el uso de wikis para manejar ontologı́as por comunidades (usuarios de una intranet, empleados de una empresa, etc.). En concreto, se presenta una plataforma semántica social, Sword1 con la que los miembros de la comunidad pueden diseñar y mantener ontologı́as colaborativamente, ası́ como describir sus usos y aportar sus propias experiencias a través de una wiki. El objetivo que se persigue es salvar la incipiente brecha semántica entre usuario y ontologı́a, para fomentar ası́ la utilización de éstas y, consecuentemente, mejorar la gestión del conocimiento. El contenido de esta memoria se distribuye en los siguientes capı́tulos: Capı́tulo 1: Contexto El capı́tulo 1 introduce el marco actual de la Web. Se justifica la necesidad de creación y mantenimiento colectivo de ontologı́as y se propone el uso de wikis para llevar a cabo esta tarea. Capı́tulo 2: Estado del arte En este capı́tulo se hace un estudio sobre el estado del arte en semánti1 Social Wiki for Ontology Revision and Documentation 3 4 Índice de tablas ca y wikis. Se concluye la necesidad de documentar las ontologı́as colaborativamente para fomentar su (re)usabilidad. Capı́tulo 3: Externalización del conocimiento El capı́tulo 3 expone la importancia del conocimiento como activo en las empresas y presenta un modelo para su creación y administración. Se argumenta la necesidad de contar con herramientas adecuadas para mejorar la gestión del conocimiento. Capı́tulo 4: Sword En el capı́tulo 4 se presenta una herramienta para documentar ontologı́as social y colaborativamente. Se describe su papel en el contexto de la gestión del conocimiento y se compara con otras soluciones existentes. Capı́tulo 5: Conclusiones y proyecto de investigación futura En el último capı́tulo se extraen las conclusiones más importantes de este trabajo y se plantean algunas lı́neas de trabajo para el futuro. Capı́tulo 1 Contexto 1.1. El origen de la Web La World Wide Web (WWW) ha crecido exponencialmente desde que en el año 1989 su inventor, Tim Berners-Lee, creara un sistema de documentos de hipertexto, llamados páginas webs o simplemente webs, enlazados y accesibles a través de Internet [1], y sentara las bases del protocolo de transmisión HTTP1 , el lenguaje de marcado de documentos HTML2 [2] y el concepto de URL3 . El enorme desarrollo que ha experimentado la Web desde sus inicios ha cambiado profundamente la forma de entender aspectos de la vida cotidiana tales como la comunicación personal o la manera de dirigir un negocio. Esta revolución está transformando al mundo, conduciéndolo hacia lo que hoy llamamos la Sociedad de la Información. En esta nueva era, la Web ha permitido un flujo de comunicación global a una escala sin precedentes en la historia de la humanidad. Personas separadas en el tiempo y el espacio pueden usar la Web para intercambiar todo tipo de información o incluso desarrollar mutuamente cualquier proyecto. Experiencias emocionales, ideas polı́ticas, cultura, negocios... todo puede ser compartido y difundido digitalmente con el menor esfuerzo, haciéndolo llegar casi de forma inmediata a cualquier otro punto del planeta. 1 HiperText Transfer Protocol HyperText Markup Language 3 Universal Resource Locator 2 5 6 Capı́tulo 1. Contexto Gracias a las Tecnologı́as de la Información y la Comunicación, la sociedad continúa evolucionando hacia la Sociedad del Conocimiento y, en un paso más, el modelo económico actual lo hace hacia la Economı́a del Conocimiento, donde se considera al conocimiento como el principal activo de la dinámica económica. 1.2. Limitaciones de la Web actual La inmensa mayorı́a de los usos de la Web está relacionada con la búsqueda y gestión de información, para lo cual los buscadores juegan un papel crucial –de hecho, indispensable–. Los motores de búsqueda más populares son los basados en palabras clave, como son Google4 , Yahoo!5 o MSN6 . Sin lugar a dudas, la Web debe gran parte de su enorme éxito a los buscadores; sin embargo, existen serios problemas asociados a su naturaleza [3]: Poca o ninguna información. A menudo ocurre que no obtenemos ninguna respuesta a nuestra pregunta, o que no se recuperan las páginas importantes. Demasiada información sin precisión. Incluso si se recuperan las páginas más relevantes, no serán de ninguna utilidad si se extraen junto a una gran cantidad de documentos. Mucha información puede resultar tan inútil como demasiada poca. Resultados sensibles al vocabulario. A veces nuestra palabra clave inicial no obtiene el resultado deseado. En estos casos, los documentos principales usan diferente terminologı́a de la consulta original. Consultas semánticamente similares deberı́an producir el mismo resultado. Páginas webs individuales como resultado. Si necesitamos información esparcida en distintos documentos, debemos realizar varias consultas para recopilar los documentos más significativos. A continuación, tenemos que navegar por los documentos seleccionados, extraer la información parcial y unirla manualmente. 4 http://www.google.com http://www.yahoo.com 6 http://www.msn.com 5 1.2. Limitaciones de la Web actual 7 Por estos motivos, la ingente cantidad de información que circula por la red en la actualidad nos lleva a la necesidad de encontrar fórmulas alternativas que nos garanticen búsquedas satisfactorias. El principal obstáculo para proporcionar mejores resultados a los usuarios es que, a dı́a de hoy, el significado de los contenidos de la Web no es comprensible por las máquinas. En otras palabras, la Web no incorpora mecanismos que permitan el procesado automático de la información. Por ejemplo, un buscador que acceda a la página web de un profesor de universidad desconoce que “existe un grupo de personas que trabaja en ciertas instituciones llamadas universidades” y que “estas personas imparten clases, a las cuales asiste otro grupo de personas llamadas alumnos, a quienes el profesor asigna calificaciones según sus conocimientos de la materia impartida en las clases”. Ignorando este conocimiento, el buscador sólo puede realizar un procesado muy primitivo de la información presentada en la página del profesor, basado en la búsqueda de palabras clave en el texto de la página. Ası́, actualmente es impensable hacer consultas del estilo “Obtén la lista de los antiguos alumnos a los que el profesor Joaquı́n Borrego impartió la asignatura de Seminario de Inteligencia Artificial en la Universidad de Sevilla y que ahora son profesores en universidades españolas”. Existen herramientas que pueden recuperar textos, separarlos en partes, comprobar la gramática, asociar sinónimos a sus palabras... No obstante, a la hora de interpretar y extraer información útil para el usuario, las capacidades del software actual se encuentran aún muy limitadas. Las deficiencias descritas no sólo se dan en la comunicación entre humano y máquina: también existe a nivel máquina–máquina. Esto se debe a que la Web actual no incluye mecanismos para la interoperabilidad entre sistemas de información basados en la Web. IEEE define la interoperabilidad como “la capacidad de dos o más sistemas o componentes para intercambiar información y usar la información que ha sido intercambiada” [4]. Para la autora Lisa L. Brownsword, es “la capacidad de una colección de entidades comunicativas de compartir información especificada y de operar sobre esa información de acuerdo con una semántica operacional establecida” [5]. Para intercambiar la información es necesario proporcionar aproximaciones que faciliten la creación de una comprensión común y compartida de un dominio, de forma que éste pueda ser usado por personas y máquinas. A esta capacidad de intercambio de información basada en un significado común se conoce como interoperabilidad semántica, un concepto fundamental y siempre presente en las sociedades modernas (por ejemplo, 8 Capı́tulo 1. Contexto en el comercio electrónico, en la industria electrónica, etc.). Para superar estos problemas, la solución más ampliamente respaldada en todo el mundo es la de representar el contenido de la Web de alguna forma que sea fácilmente comprensible para las máquinas y usar técnicas basadas en Inteligencia Artificial para sacar provecho de esta nueva representación. Se conoce a este plan para revolucionar la Web como la iniciativa de la Web Semántica (WS). 1.3. La Web Semántica Es indudable que el futuro de la Web será inteligente, es decir, estará lleno de información que las máquinas podrán comprender y, a partir de la cual, extraer conclusiones de interés para el usuario. Tim Berners-Lee, creador de la WWW, lo sabı́a; por eso su idea original no fue una mera colección de documentos de hipertexto (webs) enlazados y accesibles a través de Internet, ni siquiera la Web tal como la conocemos hoy, sino una web dotada de significado, de información que pudiera ser interpretada tanto por humanos como por máquinas [1]. Actualmente, este ambicioso proyecto se conoce como la iniciativa de la WS. El mismo Berners-Lee aclara su propio concepto: “El primer paso es colocar los datos en la Web de un modo en que las máquinas puedan entenderlos naturalmente o convertirlos a esa forma. Esto crea lo que yo llamo una Web Semántica: una red de datos que pueden ser procesados directa o indirectamente por máquinas.” [1] “La Web Semántica es una extensión de la actual Web en la cual la información se da mediante un significado bien definido, lo que facilita que los ordenadores y la gente trabajen en cooperación.” [6] “La Web Semántica proporcionará estructura al contenido importante de las páginas web, creando un entorno donde los agentes de software7 que viajan de página en página puedan enseguida llevar a cabo complicadas tareas para los usuarios. Ası́, un agente que venga de la página web de la universidad no sólo sabrá que la página tiene palabras como profesor, alumno, clase o asignatura (como puede codificarse hoy), sino también que el profesor Antonio Jiménez Mavillard8 7 8 Un agente es una entidad capaz de percibir y actuar sobre un entorno. Datos modificados del artı́culo original. 1.3. La Web Semántica 9 Figura 1.1: La Web Semántica de Tim Berners-Lee trabaja en la universidad de lunes a viernes, y que un posible script9 tomarı́a un rango de datos en el formato dı́a–mes–año y devolverı́a fechas y horarios de clase.” [6] La WS pretende ser una extensión de la Web actual (no una web paralela) en la que, gracias a la información extra añadida (metadatos), las máquinas comprenderán el contenido de la Web. El término comprensión referido a las máquinas no debe entenderse en el sentido humano (quizá algún dı́a), sino en el de inferir, deducir. Algunos autores prefieren utilizar expresiones como procesable o accesible por las máquinas en lugar de comprensible o entendible, por ello a menudo se encuentra ası́ en la literatura. En resumen, la WS puede definirse como una WWW donde la información se encuentra estructurada y ordenada, de manera que puede ser procesada por máquinas. Se trata, por tanto, de saber procesar en lugar de comprender. Esta sutil diferencia del lenguaje encierra un revolucionario cambio de filosofı́a y reaviva la cuestión de la inteligencia de las máquinas, planteada desde los orı́genes de las Ciencias de la Computación. En Maquinaria computadora e 9 Programa no compilado escrito en un lenguaje de programación sencillo. 10 Capı́tulo 1. Contexto inteligencia (1950), Alan Turing decı́a: “Creo que, a finales de siglo, (...) podrá hablarse de máquinas pensantes sin levantar controversias.” [7] Berners-Lee se muestra algo más escéptico: “El concepto de documentos que las máquinas puedan entender no implica ninguna inteligencia artificial que permita a la máquina comprender las palabras de los humanos. Sólo indica la habilidad de la máquina para resolver un problema bien definido desarrollando operaciones bien definidas sobre datos bien definidos. En lugar de pedir a las máquinas que entiendan el lenguaje humano, implica pedir a la gente que haga un esfuerzo.” [8] Esta segunda opinión conlleva que en vez de abordar la inteligencia de las máquinas desde el punto de vista de la Inteligencia Artificial, creando agentes “súper inteligentes”, habrá que hacerlo desde el lado de la propia Web. Algunos autores han llegado a interpretar la WS como la asunción del fracaso de la Inteligencia Artificial: “como no conseguimos crear máquinas con verdadera inteligencia artificial (idéntica a la inteligencia humana), vamos a ponerles las cosas más fáciles a las máquinas añadiendo metadatos”. Este argumento es falaz y fácilmente refutable. Si hablamos a un japonés en español, es muy probable que no nos entienda. Esto no significa que el japonés carezca de inteligencia, sino que hemos elegido el lenguaje equivocado. Del mismo modo, para hacernos entender por una máquina, debemos hablar en algún lenguaje que ella pueda comprender, en su idioma; es decir, usar lenguajes formales. Estos lenguajes se conocen como lenguajes de Representación del Conocimiento, los cuales definen correctamente el problema, las operaciones y los datos, y habilitan el Razonamiento Automático. Con este objetivo se han desarrollado diversas tecnologı́as (cumpliendo los estándares de W3C10 ) que, aplicadas convenientemente, hacen posible la interoperabilidad semántica y constituyen la base de la WS (ver figura 1.2). 1.3.1. XML XML11 [9] se trata de un lenguaje con el que describir documentos me10 11 http://www.w3.org eXtensible Markup Language 1.3. La Web Semántica 11 Figura 1.2: Arquitectura de la Web Semántica diante etiquetas que el propio usuario define –de ahı́ que el lenguaje sea extensible–. Aporta la sintaxis con la que estructurar contenidos pero sin expresar nada acerca de la semántica [10]. Este lenguaje es frecuentemente utilizado para el intercambio de datos en la Web. El siguiente código muestra un ejemplo de documento XML: <?xml version="1.0" encoding="ISO-8859-1"?> <libro> <titulo> La historia interminable </titulo> <autor> Michael Ende </autor> </libro> 1.3.2. RDF RDF12 [11] es un lenguaje para representar declaraciones sencillas sobre los recursos de la Web. Utiliza la sintaxis XML y aporta semántica mediante ternas de la forma sujeto–verbo–predicado, es decir, estableciendo relaciones entre recursos: un determinado elemento (sujeto) tiene cierta propiedad (verbo) con un valor concreto (predicado). Cada recurso (su12 Resource Description Framework 12 Capı́tulo 1. Contexto jeto, verbo o predicado) se identifica por una URI13 . El siguiente ejemplo muestra cómo se describe un recurso en RDF: <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/DC/"> <rdf:Description about="http://www.cs.us.es/˜joaquin/blog"> <dc:CREATOR> Joaquı́n Borrego Dı́az </dc:CREATOR> <dc:TITLE> Ontoblogia </dc:TITLE> </rdf:Description> </rdf:RDF> 1.3.3. RDFS RDFS14 [12] permite definir el vocabulario de un dominio categorizando los recursos en clases, propiedades e instancias, establecer relaciones entre estas categorı́as, controlar qué propiedades pueden aplicarse a qué recursos y comprobar que los valores vinculados a una propiedad sean correctos. En el ejemplo siguiente, el recurso caballo es una subclase de animal. <?xml version="1.0"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xml:base="http://www.animals.fake/animals#"> <rdf:Description rdf:ID="animal"> <rdf:type rdf:resource="#Class"/> </rdf:Description> <rdf:Description rdf:ID=çaballo)) <rdf:type rdf:resource="#Class"/> <rdfs:subClassOf rdf:resource="#animal"/> </rdf:Description> </rdf:RDF> 13 14 Universal Resource Identifier RDF Schema 13 1.3. La Web Semántica Tabla 1.1: Vocabulario de RDFS 1.3.4. OWL OWL15 [13] es un lenguaje para definir ontologı́as (apartado 1.4) que añade un vocabulario más rico que RDFS para describir clases y propiedades, lo que lo hace más expresivo, sin comprometer en exceso su complejidad computacional (si un lenguaje es lo suficientemente expresivo como para ser útil, las inferencias que se pueden extraer serán incompletas) [14]. OWL está estructurado en capas, cada una con un nivel de expresividad, diseñadas para satisfacer las necesidades especı́ficas de cada comunidad de usuarios. W3C define OWL con tres sublenguajes: OWL Lite es el lenguaje más simple y menos expresivo. Esta diseñado para aquellos casos que necesitan principalmente una clasificación jerárquica y restricciones simples. OWL DL permite la máxima expresividad conservando completitud computacional (garantiza que todas las conclusiones son computables) y resolubilidad (todos los cálculos se resuelven en tiempo 15 Ontology Web Language 14 Capı́tulo 1. Contexto Tabla 1.2: Sintaxis y semántica en DL finito). OWL DL es denominado de esta forma por su correspondencia con la Lógica Descriptiva (Description Logic), un campo de investigación que estudia la lógica que compone la base formal de OWL. La Lógica Descriptiva es un subconjunto decidible16 de la Lógica de Primer Orden y, por tanto, susceptible de aplicarse en razonamiento automático. Con OWL DL es posible computar automáticamente la clasificación jerárquica y chequear inconsistencias en la ontologı́a. OWL Full es el lenguaje más potente en expresividad pero es indecidible. Este lenguaje se encuentra ya en su segunda versión, OWL 2, que ofrece nueva funcionalidad respecto a su antecesor, OWL 1. El código siguiente representa una sección de ontologı́a donde se describe a una persona como un animal cuyos padres son también personas y tienen un único padre. <owl:Class rdf:ID="Person"> <rdfs:subClassOf rdf:resource="#Animal"/> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#hasParent"/> <owl:toClass rdf:resource="#Person"/> </owl:Restriction> 16 Una lógica es decidible si es computable en tiempo finito. 1.3. La Web Semántica 15 </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction owl:cardinality="1"> <owl:onProperty rdf:resource="#hasFather"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> 1.3.5. Lógica La Lógica es la disciplina que estudia los principios del razonamiento. Suministra una serie de reglas de inferencia que permiten aplicar razonamiento automático al conocimiento proporcionado por las ontologı́as (apartado 1.4). De este modo, es posible determinar si los datos son correctos o inferir conclusiones a partir de ellos. La Lógica garantiza fiabilidad y proporciona pruebas al usuario, aumentando la confianza en los resultados. El código siguiente es un ejemplo de inferencia en lógica de predicados: A partir de %Todos los profesores son miembros de la facultad prof (X) → f aculty(X) %Todos los miembros de la facultad son empleados f aculty(X) → staf f (X) %Michael es un profesor prof (michael) se deduce %Michael es miembro de la facultad f aculty(michael) %Michael es empleado staf f (michael) %Todos los profesores son empleados prof (X) → staf f (X) 16 Capı́tulo 1. Contexto 1.4. Ontologı́as Sobre las tecnologı́as descritas anteriormente (ver figura 1.2) se sustentan las ontologı́as. En Filosofı́a, la Ontologı́a es la rama de la Metafı́sica que estudia la naturaleza de la existencia. Abarca las categorı́as fundamentales de existencia (qué entidades existen) y sus propiedades trascendentales (que incluyen las relaciones entre las entidades existentes). Por analogı́a, la Inteligencia Artificial tomó prestada esta idea para definir una ontologı́a como un modelo del conocimiento en términos de qué conceptos hay17 y cuáles son las relaciones entre ellos en el contexto de un dominio de discurso18 . En términos generales, una ontologı́a consta de una taxonomı́a de clases, propiedades y axiomas. Las clases son los conceptos formalizados; las propiedades son caracterı́sticas de las clases, que pueden ser atributos intrı́nsecos a la clase o relaciones establecidas entre ellas; los axiomas son reglas lógicas que se declaran sobre los elementos de la ontologı́a. Formalmente, una ontologı́a es la declaración de una teorı́a lógica [15]. La literatura contiene numerosas definiciones de ontologı́a. Bob Neches (ARPA Knowledge Sharing Effort) dio la primera definición de ontologı́a en Inteligencia Artificial: “un instrumento que define los términos básicos y relaciones a partir del vocabulario de una área especı́fica, ası́ como las reglas para combinar dichos términos y las relaciones para definir extensiones de vocabularios” [16]. Thomas Robert Gruber (ARPA Knowledge Sharing Effort), investigador en el campo de la Inteligencia Artificial, define una ontologı́a como “una especificación explı́cita y formal de una conceptualización compartida” [17]. Que la especificación sea explı́cita hace referencia a que una ontologı́a identifica expresamente sus conceptos, propiedades, relaciones y axiomas. El término formal indica que la ontologı́a debe implementarse en algún lenguaje de representación de ontologı́as interpretable por un computador. Una conceptualización es un modelo19 de un dominio. Que la conceptualización sea compartida refleja la idea de que el conocimiento capturado por la ontologı́a debe ser consensuado y descrito mediante un vocabulario común consistente. Existen distintos tipos de ontologı́as, atendiendo a diversos criterios de 17 En Inteligencia Artificial, lo que existe es lo que puede ser representado. Conjunto de objetos que pueden ser representados cuando el conocimiento del dominio se representa de forma declarativa. 19 Abstracción o representación simplificada. 18 17 1.4. Ontologı́as Figura 1.3: Elementos de una ontologı́a clasificación. Según el ámbito de conocimiento al que se aplican, podemos encontrar: Ontologı́as generales. También llamadas ontologı́as fundacionales, son las ontologı́as de más alto nivel. Describen conceptos generales, independientes de cualquier dominio, por ejemplo, el espacio o el tiempo. Ontologı́as de dominio. Son las que describen algún dominio concreto de conocimiento, por ejemplo, vehı́culos o animales. Ontologı́as de núcleo. Describen el núcleo de un dominio especı́fico, sus conceptos y relaciones más importantes. Ontologı́as de tarea. Esta clase de ontologı́as describe tipos genéricos de actividades, por ejemplo, la venta de productos, la edición de un libro o el diagnóstico de una enfermedad. Ontologı́as de aplicación. Describen algún dominio, pero de un modo dependiente de la aplicación para la que han sido destinadas. Lo usual es que una ontologı́a no pertenezca sólo a una de estas categorı́as, sino a varias. 18 Capı́tulo 1. Contexto La principal caracterı́stica asociada a la utilización de ontologı́as es la facilidad que ofrecen para compartir y reutilizar el conocimiento entre personas o sistemas de información. Existen múltiples ventajas que se derivan de su uso: Reutilizar una ontologı́a facilita el intercambio de conocimiento y la comunicación entre personas, agentes inteligentes y sistemas de información, favoreciendo la consecución de objetivos comunes en colaboración. Siempre que dos sistemas de información tratan de comunicarse y compartir su información, pueden aparecer problemas de interoperabilidad semántica debido a que los sistemas no hablan el mismo idioma. Las ontologı́as favorecen la integración de información y la interoperabilidad entre fuentes heterogéneas de conocimiento. Se puede anotar la información (ver figura 1.4) para permitir la posterior recuperación semántica. Especial interés tiene el uso que los motores de búsquedas pueden hacer de las ontologı́as para realizar búsquedas semánticas. Los términos que aparecen en la Web referenciarı́an a un concepto de una ontologı́a, con un significado inequı́voco. Se evitarı́an ası́ ambigüedades en las búsquedas de términos polisémicos. Además, las ontologı́as especificarı́an qué términos se refieren al mismo concepto, estableciendo relaciones de equivalencia mediante axiomas, solucionando de este modo el problema de los sinónimos. Las ontologı́as pueden usarse para comprobar la validez de los datos. La lógica añadida suministra una serie de reglas de inferencia, gracias a la cual es posible verificar si los datos son correctos. Más aun, las reglas de inferencia permitirı́an deducir nuevo conocimiento a partir del ya existente. Por ejemplo, un razonador automático puede deducir fácilmente la respuesta la pregunta formulada anteriormente (apartado 1.2): “Obtén la lista de los antiguos alumnos a los que el profesor Joaquı́n Borrego impartió la asignatura de Seminario de Inteligencia Artificial en la Universidad de Sevilla y que ahora son profesores en universidades españolas”. Las ontologı́as serán la base para programar agentes inteligentes. Toda la información será accesible para ellos. Los servicios web se describirán también mediante ontologı́as, de los que los agentes podrán hacer uso automáticamente, sin intervención humana. 1.4. Ontologı́as 19 Figura 1.4: Anotación semántica usando una ontologı́a 1.4.1. Dificultades de las ontologı́as Numerosas investigaciones han argumentado las ventajas de usar ontologı́as para consensuar y compartir el conocimiento [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26]. El éxito de las ontologı́as depende del desarrollo de una verdadera disciplina de ingenierı́a para el diseño de ontologı́as [15]: la Ingenierı́a Ontológica. Noy y McGuinness crearon una sencilla metodologı́a de Ingenierı́a del Conocimiento para el desarrollo de ontologı́as [27]; Fernández y otros también aportaron su propio procedimiento para transformar el arte de construir ontologı́as en Ingenierı́a Ontológica [28]. La Ingenierı́a Ontológica es una poderosa aproximación a la interoperabilidad semántica. Los productos construidos, las ontologı́as, son, por un lado, la pieza clave para la implementación de dicha interoperabilidad en organizaciones y empresas [29] y, por otro, el pilar fundamental para implantar la WS. No podemos, no obstante, ignorar los problemas que plantea instaurar la WS y las crı́ticas de sus detractores. Uno de estos problemas radica en que la creación de ontologı́as consensuadas dista mucho de ser una tarea rápida. En cualquier área de conocimiento, resulta difı́cil que los actores involucrados se pongan de acuerdo en definir una ontologı́a común. Las ontologı́as no son verdades universales, sino modelos del universo. Dependen del punto de vista de la persona que las creó y del campo de aplicación. Por ello, crear una ontologı́a no es garantı́a de reusabilidad e interoperabilidad si su definición no va acompañada del debido consenso [19]. 20 Capı́tulo 1. Contexto 1.4.2. Soluciones colaborativas De las dificultades citadas, se puede concluir que el proceso de diseñar una ontologı́a debe ser cooperativo. Existen trabajos [17] donde ya se planteaban cuestiones que incluı́an cómo grupos de personas pueden alcanzar un consenso en conceptualizaciones compartidas. Aranda-Corral y otros proponen que sean los propios usuarios de las ontologı́as los que describan sus usos de forma colaborativa haciendo uso de una wiki [30]. Una wiki se puede entender como una colección de documentos de hipertexto simplificado que son leı́dos y editados por una comunidad [31]. Fue inventada por el programador Ward Cunningham en 1994 cuando estaba buscando un método para recopilar ejemplos de tareas comunes de programación entre un grupo de desarrolladores. La idea era construir un software que permitiera a los usuarios crear y editar libremente contenido web usando un navegador. Desde entonces, las wikis se han erigido en una de las formas más universales de colaborar en red, y muchas comunidades en lı́nea emplean wikis para intercambiar conocimiento [32]. Trabajos como el de Ebersbach y otros [33] avalan esta afirmación. En concreto, algunas de las razones que las han popularizado son: La wiki presenta su contenido en formato comprensible para todos los perfiles de usuario, principalmente en lenguaje natural. Una wiki hace posible la creación de contenido colaborativo. Los usuarios de una wiki se organizan en comunidades con intereses en temas comunes. Este planteamiento de cooperación no es novedoso, pues se remonta a la concepción inicial de la Web. Tim Berners-Lee la concibió de tal forma que favoreciera, además de la interactuación entre máquinas, la colaboración entre personas [1]. La Web ha evolucionado desde su creación hacia esa idea original; hasta llegar a lo que hoy se conoce como la Web 2.0 (W2.0). Para Tim O’Reilly, la W2.0 se fundamenta en siete pilares básicos [34], de los que cabe destacar los siguientes: La Web como plataforma de trabajo. El aprovechamiento de la inteligencia colectiva. 1.4. Ontologı́as 21 Experiencias enriquecedoras para el usuario. Sobre estos pilares se sustentan multitud de aplicaciones de enorme éxito. Yahoo!20 , eBay21 , Amazon22 , del.icio.us23 o Wikipedia24 son sólo algunos ejemplos del gran acierto que supuso el cambio de mentalidad surgido en el año 2005. La filosofı́a wiki encaja por completo con los valores 2.0: La Web como plataforma de trabajo. La Web fue originalmente concebida como un espacio de información hipertextual; pero el desarrollo de tecnologı́as cada vez más sofisticadas han extendido su uso como interfaz remota de software [35]. Este es el caso de la wiki. El aprovechamiento de la inteligencia colectiva. Los hipervı́nculos constituyen los cimientos de la Web. A medida que los usuarios agregan nuevo contenido, y sitios web nuevos, se enlazan con la estructura de la Web gracias a otros usuarios que descubren el contenido y enlazan con él. De forma muy parecida a la sinapsis del cerebro, donde las asociaciones llegan a ser más fuertes a través de la repetición o la intensidad, la red de conexiones crece orgánicamente como resultado de la actividad colectiva de todos los usuarios de la Web [34]. Del mismo modo, los usuarios de la wiki editan colaborativamente los artı́culos, a la vez que crean otros nuevos y los enlazan con el resto, crean comunidades de usuarios que comparten intereses comunes y completan cada vez más la información contenida en la wiki. Experiencias enriquecedoras para el usuario. Como muchos conceptos simples, la edición abierta tiene efectos profundos y sutiles sobre el uso de la wiki. Permitir a los usuarios crear y editar cualquier página de un sitio web es excitante, ya que fomenta el uso democrático de la Web y promueve la composición de contenidos por usuarios no técnicos25 20 http://www.yahoo.com http://www.ebay.com 22 http://www.amazon.com 23 http://www.delicious.com 24 http://www.wikipedia.com 25 Usuarios no expertos en un determinado área de conocimiento. 21 22 1.5. Capı́tulo 1. Contexto Conclusiones La Web actual debe seguir avanzando y evolucionar hacia la WS y para ello es necesario generalizar la adopción de ontologı́as. La tendencia va en ese sentido: las ontologı́as se han vuelto cada vez más comunes en muchas aplicaciones. Estas aplicaciones a menudo necesitan de ontologı́as de gran complejidad para modelar correctamente un sistema. Ontologı́as de tales magnitudes no pueden generarse por una sola persona, sino que han de desarrollarse en entornos distribuidos, por diferentes autores, cada uno con sus propios conocimientos [36]. Por lo tanto, se necesitan herramientas que den soporte a estas ideas de creación y mantenimiento de ontologı́as colectivo. En lo que sigue, se va a estudiar el uso de wikis como medio para diseñar y revisar ontologı́as colaborativamente, ası́ como para describir sus usos y discutir las experencias de los propios usuarios. Antes, se hace una revisión del estado del arte sobre semántica en wikis. Capı́tulo 2 Estado del arte 2.1. Web 2.0 y Web Semántica Mientras que la W2.0 ha introducido nuevas vı́as para construir y compartir datos colectivamente, la WS, por su parte, proporciona los medios para representar esos datos de forma que sean interoperables y procesables por máquinas. Estos dos campos a menudo se han considerado erróneamente disjuntos [37]. Sin embargo, la WS no es una Web paralela, sino una extensión de la Web actual que anota sus páginas con metadatos. Esto incluye a las webs de las wikis, que también se pueden anotar semánticamente conformando una wiki semántica. Esta idea de combinar la tecnologı́a wiki con tecnologı́as de la WS está considerada por muchos miembros de ambas comunidades como una alternativa prometedora a las soluciones actuales para la creación y uso colaborativo de la información en la Web. El concepto de wiki semántica surge de forma natural cuando hablamos de los términos semántica y wiki, aunque no necesariamente todas las wikis que manejan estas dos ideas han de ser semánticas propiamente dicho. Una wiki semántica es un sistema colaborativo de edición en la WS [38], que básicamente extiende a una wiki tradicional con tecnologı́a semántica, como OWL o RDF [39]. Se puede decir que circunscribe las ideas de la WS al entorno wiki. Estas wikis tienen un modelo de conocimiento subyacente descrito en sus propias páginas. Las wikis tradicionales contienen texto estructurado 23 24 Capı́tulo 2. Estado del arte Figura 2.1: Metaweb = Web Semántica + Web 2.0 e hipervı́nculos sin clasificar, mientras que las wikis semánticas contienen anotaciones semánticas que permiten realizar consultas a sus páginas sobre información especı́fica contenida en ellas o sobre relaciones entre ellas. Algunas de las caracterı́sticas más frecuentes en las wikis semánticas son la tipificación de páginas y de enlaces con términos de ontologı́as [40], la presentación de información dependiendo del contexto, la navegación mejorada (gracias a los enlaces anotados), la búsqueda semántica y el razonamiento automático (soportado sólo por un número pequeño de wikis). Existen numerosos trabajos, como el de Dello y otros [41], que analizan las ventajas de añadir semántica a los sistemas wiki. Además, se han organizado (y se sigue haciendo debido al enorme interés suscitado) congresos especı́ficos cuyo único tema ha sido el de las wikis semánticas. Caben destacar como ejemplos el prestigioso SemWiki [42, 43, 44, 45] o el WikiSym1 . A continuación se presenta un estudio de diversos trabajos seleccionados donde se relacionan semántica y wikis, en el que además se incluye una comparativa de dichas aplicaciones respecto a las siguientes caracterı́sticas: 1 http://www.wikisym.org 2.2. Semántica y wikis 25 Objetivos: própositos perseguidos por la aplicación. Tecnologı́a utilizada. Usuario objetivo: perfil del usuario al que va dirigida. Ontologı́as involucradas, ya sean propias de la aplicación (organización intrı́nseca del sistema), creadas por el usuario (ontologı́as tı́picamente de dominio) o de edición de contenidos. Organización del conocimiento: organización lógica y fı́sica de la información. Extensibilidad: mecanismos para extender la aplicación. Extracción del conocimiento: procedimientos para extraer la información contenida. 2.2. Semántica y wikis 2.2.1. AceWiki AceWiki2 [46] trata de superar dos dificultades de las wikis semánticas: por un lado, la que tienen los usuarios no expertos en su uso; y por otro, el soporte insuficiente que dan a los lenguajes de ontologı́as expresivos. La novedad en AceWiki es el uso del lenguaje natural controlado ACE3 [47] para representar el contenido. ACE es un subconjunto muy rico del inglés estándar que parece lenguaje natural pero es en realidad un lenguaje formal con una gramática restringida y una semántica formalizada. ACE permite a los usuarios modificar el contenido de la wiki de forma intuitiva, ocultando los detalles de la ontologı́a y la lógica de fondo. Según sus autores, también puede mejorar la usabilidad y es más expresivo que los lenguajes formales de otras wikis semánticas existentes. De hecho, existe una correspondencia4 biunı́voca entre ACE y OWL. El objetivo principal de AceWiki es mejorar la gestión del conocimiento, concretamente la agregación de información y la representación. Para 2 http://attempto.ifi.uzh.ch/acewiki Attempto Controlled English 4 Excepto para propiedades datatype y algunas descripciones de clase muy complejas. 3 26 Capı́tulo 2. Estado del arte Figura 2.2: Interfaz web de AceWiki lograrlo, AceWiki se rige por unos principios de diseño enfocados a la usabilidad pero sin sacrificar el grado de expresividad. Estos principios son: Naturalidad. Se obtiene gracias al uso de ACE, mediante el cual la ontologı́a se representa en un formato cercano al lenguaje natural. Las clases se escriben como sustantivos, las relaciones como verbos y los individuos como nombres propios. Además, la información se expresa de forma humana y se evita terminologı́a técnica. Por ejemplo, en vez de decir “hombre es una subclase de humano”, se dice “todo hombre es un humano”. Uniformidad. Sólo se usa un lenguaje en toda la interfaz. Es decir, la representación de la ontologı́a, la lógica para definir las reglas y el lenguaje de consultas5 es el mismo: ACE. Toda la información de la wiki es formal, sin necesidad de añadir anotaciones ni metadatos. Guı́a de usuario estricta. Un editor predictivo se encarga de que el usuario sólo pueda crear declaraciones bien formadas, guiándolo paso a paso y haciendo sugerencias. Este editor es consciente de la ontologı́a de fondo, lo cual hace imposible al usuario formular expresiones incorrectas. El razonador integrado, HermiT6 , se asegura de que el contenido de la wiki siempre es consistente. Más aun, puede inferir la jerarquı́a de clases y la pertencia a clases. 5 6 Se añade un signo de interrogación, ?, al final de la consulta. http://www.hermit-reasoner.com 2.2. Semántica y wikis 27 El editor de AceWiki puede usarse para extender la ontologı́a de fondo creando nuevos conceptos, roles o individuos. Por tanto, es también un editor muy simple de ontologı́as. Esta ontologı́a puede ser extraı́da en formato OWL. AceWiki está programada en Java7 y su interfaz utiliza tecnologı́a AJAX8 . Además, da soporte al almacenamiento persistente (aunque de forma muy rudimentaria) en texto. 2.2.2. COW COW9 [48] es una wiki semántica cuyo objetivo es crear y editar ontologı́as colaborativamente a través de una wiki. Esta herramienta aprovecha la facilidad de edición de las wikis para ocultar la complejidad ontológica. COW integra un navegador visual que habilita la edición colaborativa de ontologı́as. Este editor proporciona una interfaz web y su sencillez permite a usuarios no expertos contribuir al crecimiento de la ontologı́a y seguir su evolución sin necesidad de aprender lenguajes como OWL o RDF. El editor está construido sobre el framework KAON [49, 50, 51], el cual, junto a los mecanismos de bloqueo, se asegura de que las ontologı́as se mantienen consistentes. Los mecanismos de bloqueo impiden que durante la edición de una ontologı́a, ésta pueda ser manipulada por otros usuarios. Tras salvar los cambios, KAON comprueba su consistencia. KAON también actúa como procesador de consultas. Se pueden hacer consultas a la ontologı́a, tanto de forma interactiva como integradas en el propio texto de la wiki. Para la primera opción, existe una página especı́fica dedicada a tal fin. En la sengunda opción, la consulta se hace en el lenguaje que facilita KAON y se incrusta directamente en el texto de la wiki. El resultado de las consultas suele ser una o varias instancias de la ontologı́a, que se muestran como enlaces a los artı́culos de la wiki y a las instancias en el navegador visual. Existe la posibilidad de utilizar plantillas de consultas. Estas plantillas corresponden a consultas tı́picas, creadas por expertos. Los usuarios no expertos simplemente deben suministrar la información que falta para completar la consulta. 7 http://www.java.com Asynchronous JavaScript And XML 9 Combining Ontologies with Wikis 8 28 Capı́tulo 2. Estado del arte Figura 2.3: Editor y navegador ontológico de COW En COW, el contenido de las páginas es una combinación de texto normal y contenido dinámico. El texto es introducido por el usuario en lenguaje natural, con información acerca del tema del artı́culo. El conocimiento ontológico, en cambio, no se edita y almacena en la propia wiki, sino en una base de datos aparte. Las páginas utilizan este conocimiento para generar contenido dinámico producido por las consultas de los usuarios. COW tiene disposición multinivel (ver figura 2.4: capa de persistencia (base de datos), capa ontológica (KAON), capa de abstracción e interfaz de usuario. Una arquitectura de tales caracterı́sticas proporciona varias ventajas: permite conectar distintos gestores de bases de datos (MSSQL10 o PostgreSQL11 ), distintos motores de wiki (los autores lograron integrarar la funcionalidad de COW en JSPWiki –apartado 2.2.4– de manera satisfactoria) y la interacción del usuario con COW se realiza exclusivamente usando un navegador web. 10 11 http://www.microsoft.com/sqlserver/en/us/default.aspx http://www.postgresql.org 2.2. Semántica y wikis 29 Figura 2.4: Arquitectura de COW 2.2.3. IkeWiki IkeWiki12 [39, 52] es un motor de wiki semántico escrito en Java. Originalmente fue diseñado como una herramienta de Ingenierı́a Ontológica, siguiendo unos principios enfocados a dar soporte a la formalización del conocimiento colaborativo [53]. Posee una interfaz interactiva muy parecida a la de Wikipedia (MediaWiki13 ) que la convierte en una herramienta fácil de utilizar tanto por usuarios expertos como no expertos en tecnologı́a. Su editor WYSIWYG14 interactivo usa tecnologı́a AJAX para comunicarse con el servidor de información. Este editor, que también admite la anotación interactiva de enlaces y recursos, está pensado para el usuario no técnico. Además, y orientado al usuario más experimentado, dispone del tradicional editor de texto estructurado presente en las wikis, que en este caso utiliza una sintaxis similar a la de MediaWiki, lo que lo hace compatible con Wikipedia. Las anotaciones semánticas se encuentran separadas del lenguaje de marcado de la wiki. IkeWiki es una herramienta que cuenta con diferentes funcionalidades entre los distintos perfiles de usuario para facilitar el trabajo colaborativo. Asimismo, existen distintos niveles de formalización del conocimiento según las necesidades, que pueden ir desde textos informales hasta ontologı́as formales. Las ontologı́as se pueden importar y exportar; también 12 http://ikewiki.salzburgresearch.at http://www.mediawiki.org/wiki/MediaWiki 14 What You See Is What You Get, lo que ves es lo que (ob)tienes. 13 30 Capı́tulo 2. Estado del arte Figura 2.5: Interfaz de IkeWiki crear y editar, aunque de forma muy limitada (a escala de clases y propiedades). El propósito principal no es diseñar, sino reutilizar ontologı́as externas y crear instancias de ellas. Es completamente compatible con los estándares de la WS, ya que está basado puramente en estándares como RDF y OWL. Esto garantiza el intercambio de datos con otras aplicaciones semánticas. Además, es posible aplicar razonamiento automático sobre su base de conocimiento a nivel de OWL/RDFS. También admite búsquedas semánticas mediante una sintaxis en texto plano o con SPARQL [54] como lenguaje de consultas. IkeWiki está implementada como una aplicación web codificada por completo en Java. A través de un navegador (en este caso, sólo funciona con Mozilla Firefox15 ), accede a un servidor web que ofrece el contenido renderizado de una base de datos Postgres16 . Esta base de datos contiene toda la información relativa a las páginas de la wiki y a los datos RDF (que usa Jena17 para su representación). 15 http://www.mozilla-europe.org/es/firefox Posteriormente llamada PostgreSQL. 17 http://jena.sourceforge.net 16 2.2. Semántica y wikis 31 Figura 2.6: Arquitectura de IkeWiki 2.2.4. JSPWiki JSPWiki18 es un motor wiki basado en tecnologı́a JSP19 . Está escrito completamente en Java y tiene una estructura de diseño que facilita su extensión mediante plugins que añaden nueva funcionalidad a la wiki. La sintaxis de JSPWiki es muy sencilla y los metadatos son añadidos directamente al texto de la wiki usando etiquetas especiales [55]. Utiliza Lucene20 para las búsquedas, incluye sistema de autenticación [56] e implementa el concepto de StorageProvider intercambiable, esto es, el método de almacenamiento puede cambiar y la información puede ser almacenada en texto plano (por defecto) o en una base de datos. Esta caracterı́stica habilita el control de versiones de las páginas [57]. 2.2.5. KiWi KiWi21 [58] es una wiki semántica cuyo objetivo es habilitar la gestión del conocimiento de manera eficiente a través del software social. Por ello, esta wiki proporciona una plataforma para construir diferentes tipos de software semántico social. Schaffert, creador de KiWi, justifica este uso al 18 http://www.jspwiki.org JavaServer Pages, http://java.sun.com/products/jsp 20 http://lucene.apache.org 21 Knowledge in a Wiki, http://www.kiwi-project.eu 19 32 Capı́tulo 2. Estado del arte Figura 2.7: Interfaz de IkeWiki afirmar que la mayorı́a del software social, como son los blogs o las redes sociales, sigue los mismos principios que la filosofı́a wiki: libre edición, usabilidad, enlazado de conceptos, soporte para versiones, soporte multimedia, etc. El propósito principal de KiWi es la gestión del conocimiento en comunidades o entornos corporativos, haciendo especial énfasis en la conjunción colaboración – tecnologı́as semánticas. Aspira a corregir errores como, por ejemplo, la inconsistencia de la información (un defecto frecuentemente mencionado) que a menudo aparece en las wikis tras su uso diario. Kiwi puede adecuarse a los requisitos de cada organización o comunidad en la que se haya desplegado, y eso supone su adaptación a un gran espectro de perfiles de usuario. Por ello, esta wiki ofrece estructuras apropiadas y una interfaz modificable que da soporte a las necesidades especı́ficas de cada usuario. En KiWi, la unidad básica de información es la página, que puede ser visualizada, editada o anotada con etiquetas. Esta información sigue una aproximación que Schaffert y otros [59] denominan versatilidad de contenido. La idea es que cada unidad de información tiene asociada tanto 2.2. Semántica y wikis 33 Figura 2.8: TagIT: información geográfica en KiWi información informal para los usuarios como información formal para las máquinas, y que la misma unidad básica puede presentarse al usuario de múltiples formas: como la página de una wiki, como el post de un blog, como una foto, como una burbuja con información en un mapa, etc. Esta caracterı́stica se consigue gracias a la representación utilizada: cada página se identifica por una URI, el contenido informal usa el formato XHTML y los metadatos asociados, RDF. La versatilidad de contenido, junto a una interfaz flexible, permite que KiWi se comporte como una plataforma genérica para construir diferentes tipos de aplicaciones sociales. La aplicación principal y más genérica es la wiki semántica KiWi Wiki, que continúa a IkeWiki. La interfaz KiWi Wiki puede usarse de igual forma y ofrece la misma funcionalidad que su predecesora: importación/exportación, razonamiento, consultas, etc. El sistema KiWi está implementado en Java y utiliza Hibernate22 como medio para almacenar los datos en una base de datos relacional. 22 http://www.hibernate.org 34 Capı́tulo 2. Estado del arte Figura 2.9: Arquitectura de KiWi 2.2.6. Makna Makna23 [41] es una herramienta para la Ingenierı́a de Conocimiento distribuido. Está basada en JSPWiki y la extiende con componentes dirigidos por ontologı́as para editar contenidos colaborativamente, hacer consultas y navegar por la información de la WS. Este sistema se centra en explotar fácil y rápidamente el contenido semántico. Makna comparte la misma motivación que la WS: (entre otras,) recuperar, de forma eficiente, información especı́fica entre una inmensidad de información disponible. Por ello, el sistema provee de mecanismos para la creación y gestión de datos semánticos. En concreto, permite a los usuarios de la wiki anotar su contenido en términos de añadir, eliminar o modificar sentencias RDF a través del framework Jena. Es posible integrar ontologı́as disponibles en la Web, referenciándolas a nivel de sintaxis y utilizándolas para clasificar y mejorar la navegación en la wiki. También proporciona razonamiento automático para recuperar información o chequear la consistencia del contenido (aunque, para evitar problemas de rendimiento, se restringe esta caracterı́stica a un conjunto de ontologı́as definido). Pese esta interacción con ontologı́as, Makna 23 http://makna.ag-nbi.de 2.2. Semántica y wikis 35 Figura 2.10: Arquitectura de Makna no está dirigida a la Ingenierı́a Ontológica colaborativa y, por tanto, no incluye mecanismos para la creación colectiva de ontologı́as ni permite que usuarios arbitrarios realicen cambios a nivel ontológico. La manipulación de las ontologı́as utilizadas está limitada a un grupo de usuarios restringido (administradores) mientras que las instancias sı́ pueden ser modificadas por cualquier usuario del sistema. Mediante la interfaz de administrador, se pueden especificar las ontologı́as que van a ser usadas dentro del sistema e importar datos RDF externos. A través de la interfaz de usuario se pueden referenciar las ontologı́as importadas para anotar en forma de declaraciones RDF el contenido de la wiki o definir typed links24 (ver figura 2.12), y también exportar los datos representados semánticamente como RDF. Makna también implementa una interfaz que hace uso de Jena como motor de inferencia para habilitar las consultas semánticas. Por último, hay que notar que siempre que un usuario haga alguna modificación en la wiki, se chequea la validez de los cambios inmediatamente, informando del posible error al usuario. De este modo, la consistencia del modelo semántico está siempre garantizada. 24 Los typed links son enlaces entre artı́culos a los que se le ha añadido alguna semántica (habitualmente, el tipo de relación entre los conceptos representados por los artı́culos enlazados). 36 Capı́tulo 2. Estado del arte Figura 2.11: Separación entre ontologı́a e instancias en Makna 2.2.7. Moki Los objetivos de Moki25 [60, 61] son muy especı́ficos: dar soporte al modelado de empresa. El modelado de empresa se centra en construir una descripción estructurada de los aspectos relevantes de una empresa, es decir, el modelo de empresa. Fox y Grüninger [62] definen el modelo de empresa como “una representación computacional de la estructura, actividades, procesos, información, recursos, personas, comportamiento, objetivos y limitaciones de un negocio, gobierno o empresa”. Rospocher y otros [60] consideran que el modelado de una empresa requiere demasiadas habilidades por parte de una sola persona y que, por tanto, debe ser una actividad inherentemente colaborativa entre distintos actores: expertos en el dominio, ingenieros de conocimiento y técnicos capaces de integrar los distintos aspectos y dar una visión coherente y uniforme. Moki es una wiki semántica capaz de sustentar estas ideas: Soporta diferentes niveles de formalismo (informal para los expertos en el dominio y formal para los ingenieros de conocimiento). Proporciona acceso multimodo con distinta funcionalidad para cada perfil de usuario [63]. 25 Modeling wiKi, https://moki.fbk.eu 2.2. Semántica y wikis 37 Figura 2.12: Typed pages y typed links Integra los diversos aspectos del modelado de una empresa. En el apartado colaborativo, los expertos en el dominio introducen el conocimiento de manera informal en Moki; el sistema traduce semiautomáticamente parte de este conocimiento informal en una especificación formal y viceversa; y, ası́ncronamente, los ingenieros de conocimiento pueden refinar el modelo formal insertando nuevos elementos, modificando el conocimiento existente o pidiendo aclaraciones a los expertos en el dominio. Una caracterı́stica muy importante de esta aproximación es que se crea un alineamiento entre el conocimiento informal y su descripción formal. Este hecho proporciona un valor añadido al modelo de empresa ya que la documentación contenida en la parte informal es crı́tica para entender la parte formal. De este modo, el modelo puede ser explotado tanto por humanos como por máquinas. En cuanto a la integración, Moki considera tres aspectos interconectados: dominio, procesos y competencias (ver figura 2.13). El modelo de dominio proporciona la descripción del dominio de negocio en el que opera la empresa, y se formaliza mediante una ontologı́a OWL. El modelo de procesos describe los patrones y procedimientos que ocurren en el dominio de negocio de la empresa, los cuales se definen por medio de un flujo de control. Dicho flujo se organiza en una jerarquı́a de tareas y subtareas, y se formaliza en otra ontologı́a en OWL o en BPMN26 . El modelo de competencias describe las aptitudes de los empleados de la empresa para desempeñar las tareas y cumplir con los objetivos. Las competencias expresan los conocimientos que debe poseer un empleado sobre el dominio para llevar a cabo una tarea. Este modelo interconecta los modelos de dominio y de procesos. 26 Business Processes Modelling Notation, http://www.bpmn.org 38 Capı́tulo 2. Estado del arte Figura 2.13: Metamodelo de empresa en Moki Moki se basa en Semantic MediaWiki (SMW) (apartado 2.2.12), extendiéndola especı́ficamente para dar soporte al modelado de empresa. Sus desarrolladores eligieron SMW por su usabilidad y porque proporciona un entorno idóneo para la colaboración y uniforme para integrar los distintos componentes del modelo de empresa. Cada página de la wiki contiene la descripción de un elemento de alguno de los modelos, separada en dos partes: una descripción informal del elemento en lenguaje natural que sirve como documentación para otros usuarios (por ejemplo, referencias a documentos fuente, notas sobre opciones de modelado, problemas abiertos, etc.); y una descripción estructurada mediante declaraciones con formato (sujeto,relación,objeto) (al estilo RDF) que relacionan al elemento con otros elementos (por ejemplo, clase y subclase en el modelo de dominio, tarea y subtarea en el modelo de procesos, conocimiento requerido entre elementos de los modelos de dominio y de procesos, etc.). Esta forma de representar el conocimiento establece un valioso puente entre la representación formal e informal de cada elemento. Otras caracterı́sticas importantes son la capacidad de Moki de importar y exportar ontologı́as OWL, y la visualización gráfica. Al importar un modelo (dominio, procesos o compentencias), se crean las páginas correspondientes en la wiki con la información de cada elemento del modelo. Asimismo, al exportar el contenido de la wiki, se crea una ontologı́a OWL. Es posible exportar los distintos modelos de forma independiente. Gracias a las funciones de visualización, Moki puede mostrar una vista basada en árbol (jerárquica) de la taxonomı́a de conceptos presentes en la ontologı́a. 39 2.2. Semántica y wikis Figura 2.14: Interfaz de Moki 2.2.8. ODEWiki ODEWiki [64] se basa en JSPWiki y ofrece la mayorı́a de las funcionalidades tı́picas de las wikis semánticas: anotación, edición, búsqueda, navegación y visualización. La principal novedad es su integración con el portal semántico ODESeW27 [65]. ODESeW es una aplicación basada en ontologı́as que genera y gestiona automáticamente un portal de conocimiento28 [66] para intranets y extranets. Este portal permite modelar el conocimiento mediante una plataforma de desarrollo de ontologı́as, visualizar y editar el contenido mediante la edición y documentación de instancias de ontologı́as, buscar y hacer consultas. ODESeW está diseñado en la capa más alta de WebODE29 [67, 68, 69], una plataforma de Ingenierı́a Ontológica extensible que da soporte a la mayorı́a de las actividades involucradas en el proceso de desarrollo de ontologı́as: conceptualización, razonamiento, interoperabilidad, etc. ODEWiki interopera con ODESeW, que actúa como repositorio de conocimiento además de como sistema alternativo de publicación. Cada pági27 Semantic Web Portal based on WebODE platform Sitio web basado en conocimiento (comunmente estructurado en ontologı́as) que permite el acceso colectivo a su información y aplicaciones. 29 http://webode.dia.fi.upm.es/WebODEWeb/index.html 28 40 Capı́tulo 2. Estado del arte Figura 2.15: Interfaz de ODEWiki na de ODEWiki puede contener una o varias instancias de ontologı́a. Incluye una interfaz WYSIWYG para editar las páginas ası́ como para anotar su contenido con datos semánticos en formato RDFa [70], insertados en la propia página. Los usuarios pueden hacer estas anotaciones de dos formas: usando datos semánticos del portal de conocimiento o creando nuevos datos, que serı́an añadidos automáticamente a la base de conocimiento del portal. Una caracterı́stica importante de ODEWiki es su capacidad para gestionar las inconsistencias surgidas como consecuencia del desarrollo de una base de conocimiento de naturaleza distribuida, como es esta wiki/portal. ODEWiki proporciona mecanismos para detectar automáticamente las inconsistencias introducidas por un usuario. Las posibles inconsistencias se dan entre una página de la wiki que está siendo modificada –pero aun no ha sido guardada– y la base de conocimiento. Por este motivo, no se recomienda usar ODEWiki en entornos abiertos, sino dentro de entornos controlados, como compañı́as u organizaciones. 2.2. Semántica y wikis 2.2.9. 41 Ontobrowse En sentido general, el conocimiento arquitectural comprende la forma (canales de comunicación, esquemas de coordinación, etc.) en la que se integran los distintos componentes del conocimiento en una organización [71]. Se trata, por tanto, de un tipo de conocimiento fundamentalmente colectivo. Partiendo de esta premisa, Happel y Seedorf crearon Ontobrowse [72], una herramienta ideada especı́ficamente para compartir el conocimiento arquitectural de un sistema. En el ámbito de la Ingenierı́a del Software, el adjetivo arquitectural hace referencia a la arquitectura de software de una aplicación. La arquitectura de software es la abstracción de más alto nivel de la estructura de un sistema; sirve de enlace entre la elicitación de requisitos y el diseño concreto; y en su desarrollo y mantenimiento intervienen distintas partes, cada una con sus intereses: los desarrolladores requieren soporte técnico y guı́a para sus tareas de implementación, los arquitectos de sistema necesitan medios para el análisis y la documentación, los expertos en negocio priorizan la funcionalidad y eficiencia... Ontobrowse es una aplicación que se compone principalmente de una interfaz web, un motor wiki, una API para ontologı́as y un gestor de plugins. La infraestructura de plugins hace posible integrar conocimiento proveniente de fuentes externas. Las ontologı́as, por su parte, definen la estructura del conocimiento arquitectural y están asociadas a sus correspondientes bases de conocimiento, que contienen las instancias. La estructura del sistema es modular para que nuevas ontologı́as puedan ser añadidas en cualquier momento. Estas caracterı́sticas de extensibilidad son particularmente importantes en configuraciones de desarrollo distribuido [73], donde los participantes tienen que compartir su conocimiento con otros desarrolladores. Ontobrowse aborda temas clave en la documentación y el mantenimiento de las arquitecturas de software, tendiendo un puente entre la información técnica y la documentación de negocio. Existen dos formas de documentar las instancias: Mediante la interfaz de usuario de la wiki, añadiendo descripciones tanto formales como informales a las caracterı́sticas de una instancia. A través de aplicaciones conectadas a la wiki, mapeando recursos de descripción arquitectural externos con las instancias de la ontologı́a. 42 Capı́tulo 2. Estado del arte Figura 2.16: Arquitectura de Ontobrowse Es decir, las instancias de la ontologı́a pueden editarse en la propia wiki o importarse desde fuentes externas. Una entidad importada a la base de datos de la ontologı́a puede ser descrita con texto o con metadatos. En esta wiki, una página se interpreta como una entidad contenida en la base de conocimiento: bien un concepto, una relación, un atributo o una instancia. Cada página tı́picamente consiste en contenido informal y propiedades formales que establecen asertos sobre la página (por ejemplo, un objeto de negocio que es semánticamente descrito por un concepto de un dominio). Gracias a su representación formal basada en ontologı́as, es posible realizar búsquedas y consultas, y chequear la consistencia del contenido de la wiki. El principal escenario de aplicación de Ontobrowse es la documentación de arquitecturas orientadas a servicios (SOA) en una empresa [74]. SOA es un tipo de arquitectura de software que construye aplicaciones de negocio a partir de servicios30 independientes, débilmente acoplados [75]. Una arquitectura SOA ofrece un marco de trabajo para sistemas bien integrados que satisfacen las necesidades de negocio [76] bajo el paradigma de 30 Un servicio es una entidad software que provee su propia funcionalidad de negocio a través de interfaces bien definidas. Se corresponden con operaciones de negocio de una organización. 2.2. Semántica y wikis 43 Figura 2.17: Interfaz de Ontobrowse cohesionar servicios simples para realizar flujos de trabajo complejos. Cualquier proyecto SOA maneja habitualmente tanto descripciones formales como informales. Para integrar descripciones arquitecturales en la wiki son necesarios dos pasos: construir una ontologı́a SOA y definir un plugin que realice el mapeo del conocimiento arquitectural de una fuente externa a la ontologı́a. El propósito de la ontologı́a SOA es suministrar la estructura inicial31 a la wiki semántica para que tanto expertos en el negocio como desarrolladores puedan documentar los servicios. La arquitectura descrita en la figura 2.16 está implementada en Java (Spring32 e Hibernate33 para la aplicación y para la capa de persistencia, y JavaServer Faces34 para la interfaz web). La API de ontologı́as utiliza OWL como lenguaje de representación, el razonador se puede configurar para usar Jena o KAON2 y las consultas se realizan en SPARQL o SWRL35 [77] (aunque estea último de forma experimiental). 31 La ontologı́a puede ser adaptada y extendida por un administrador. http://www.springsource.org 33 http://www.hibernate.org 34 http://java.sun.com/javaee/javaserverfaces 35 Semantic Web Rule Language 32 44 Capı́tulo 2. Estado del arte Figura 2.18: Ontologı́a SOA En resumen, Ontobrowse provee principalmente las siguientes caracterı́sticas: Definir estructuras de conocimiento usando ontologı́as. Navegar, realizar consultas y buscar en una base de conocimiento. Combinar información formal e informal. Integrar conocimiento proveniente de fuentes externas. Chequear la consistencia con reglas. 2.2.10. OntoWiki OntoWiki [78] es una herramienta web que da soporte a distintos escenarios de Ingenierı́a del Conocimiento en entornos distribuidos; aunque también se ha mostrado muy apropiada en aplicaciones de Ingenierı́a del Software [79, 80]. Esta herramienta es en realidad una wiki semántica (con una ontologı́a de fondo) basada en formularios que se utiliza como un editor de ontologı́as colaborativo, y como cualquier wiki, aplica el paradigma de “hacer fácil corregir errores más que hacer difı́cil cometerlos” [31]. 2.2. Semántica y wikis 45 Uno de los objetivos principales de OntoWiki es construir bases de conocimiento semánticas, simplificando la adquisición de los datos por parte de los usuarios finales y la presentación de dichos datos. Esto se consigue considerando las bases de conocimiento como mapas de información, donde cada nodo es un recurso RDF y se representa por una página de la wiki. Cada página es configurable por los usuarios y contiene información (que puede incluir metadatos asociados al recurso –comentarios, etiquetas, anotaciones–) en forma de sentencias RDF. Gracias a esta aproximación, la misma información puede presentarse al usuario a través de diferentes vistas: página wiki (vista general con información sobre la jerarquı́a de clases y las instancias), mapa (con información geográfica) o calendario (instancias con propiedades de tipo fecha). Otro objetivo importante es promover y emplear interacciones sociales para el desarrollo de sus bases de conocimiento. Algunas de las caracterı́sticas de OntoWiki que dan soporte a la colaboración social son: Control sobre los cambios. Éstos pueden deshacerse o incluso seguirse a través de suscripciones por correo o RSS36 . Comentarios. Todas las declaraciones pueden ser anotadas, comentadas y, en general, discutidas por la comunidad. Puntuación. La información puede ser puntuada con respecto a algún criterio: originalidad, calidad, presentación... Popularidad. La popularidad del contenido puede ser medida bajo algún criterio. El sistema puede presentar el contenido según su popularidad. Actividad/procedencia. Todos los accesos a la base de conocimiento se hacen logados. El sistema guarda un registro con el autor de cada contribución, ya sean cambios en la ontologı́a, en las instancias o comentarios. Con esta caracterı́stica los usuarios añaden valor al sistema conforme lo están usando. OntoWiki está implementada en PHP37 sobre la plataforma Powl (apartado 2.2.11) y utiliza AJAX para interactuar con el usuario. Gracias a esta tecnologı́a, es capaz de trabajar con bases de conocimiento arbitrariamente 36 37 Really Simple Syndication http://www.php.net 46 Capı́tulo 2. Estado del arte Figura 2.19: Interfaz de OntoWiki grandes, renderizando la página web sólo con la información requerida. Otras caracterı́sticas son su extensión mediante plugins y sus dos estrategias de búsqueda: facetada [81] y fulltext mejorada semánticamente. OntoWiki busca en su base de conocimiento local de RDF (almacenada en Virtuoso38 ), pero podrı́a ser configurado para buscar documentos RDF ubicados en la Web, a modo de motor de búsqueda para la WS. 2.2.11. Powl Powl39 [82] es una plataforma basada en web de desarrollo de aplicaciones para la WS cuya principal aplicación es la construcción colaborativa de ontologı́as. Con Powl es posible almacenar, manipular y hacer consultas a ontologı́as. Aparece en la literatura como una wiki semántica más (comparte la edición colaborativa en entorno web con la filosofı́a wiki y se 38 39 http://virtuoso.openlinksw.com http://aksw.org/Projects/Powl 2.2. Semántica y wikis 47 Figura 2.20: Arquitectura de Powl puede usar como tal), pero lo cierto es que recuerda más a un editor ontológico que a una wiki y carece de importantes caracterı́sticas presentes en éstas, como la facilidad de crear enlaces entre conceptos. Los autores de Powl sostienen que su herramienta está orientada a todo tipo de usuarios: para los investigadores ofrece un banco de pruebas para la implementación de nuevas aproximaciones; para los desarrolladores, una interfaz de programación de aplicaciones para la WS; y para expertos en el dominio e ingenieros en conocimiento, una solución en entorno web para publicar y editar ontologı́as colaborativamente. Esta herramienta es de código libre y está implementada en PHP. Es personalizable y guarda su configuración en su ontologı́a de sistema. Su arquitectura se dipone en cuatro capas (ver figura 2.20): Almacenamiento. Utiliza cualquier base de datos relacional compatible con SQL40 . En la base de datos se almacenan unidades de información que representan sentencias RDF. Gestión de ontologı́as. Incluye tres APIs, RAP41 [83], RDFSAPI y OWLAPI, que acceden al almacenamiento. API Powl. Para construir aplicaciones web basadas en Powl. Interfaz de usuario. Permite al usuario navegar y editar las ontologı́as en los formatos RDF(S) y OWL. 40 41 Structured Query Language RDF API for PHP, http://www.wiwiss.fu-berlin.de/suhl/bizer/rdfapi 48 Capı́tulo 2. Estado del arte Figura 2.21: Interfaz de Powl En cuanto a la edición de contenido, ésta está restringida a los recursos de la ontologı́a. Para habilitar las capacidades colectivas, Powl dispone de control de versiones que permite a los usuarios observar la evolución de las ontologı́as y, si es necesario, deshacer los cambios42 . A esta caracterı́stica se suman los esquemas de autenticación y privilegios, que junto al versionado, añaden seguridad al contenido. Sobre este contenido es posible hacer búsquedas de recursos y literales, además de consultas usando el lenguaje RDQL [84]. 2.2.12. Semantic MediaWiki Semantic MediaWiki43 (SMW) [32, 85] es un motor wiki mejorado semánticamente que habilita a los usuarios para anotar el contenido de la wiki con información explı́cita y procesable por máquinas. SMW es uno de los motores wiki más desarrollados y su éxito se basa en que su tecnologı́a 42 43 Sólo a nivel ontológico, no a nivel de texto. http://semantic-mediawiki.org 2.2. Semántica y wikis 49 Figura 2.22: Una vista semántica de Londres semántica se encuentra disponible para una gran comunidad de usuarios no expertos. Por este motivo, está implementado como una extensión de MediaWiki, una de las plataformas más utilizadas para el desarrollo de todo tipo de wikis, incluida Wikipedia. SMW trata de solventar los problemas de las wikis tradicionales –y por ende, las de MediaWiki–; problemas de los que también adolece la Web actual: inconsistencia de contenidos, dificultad para encontrar la información, incapacidad para reutilizar el conocimiento... La propuesta de SMW consiste en conceptualizar los artı́culos y utilizar los typed links (ver figura 2.12) para crear asociaciones semánticas entre ellos (o entre parte de los mismos) y para definir atributos [86, 87]. Es decir, cada artı́culo se corresponde con un recurso ontológico (clase, propiedad, instancia)44 y todas las anotaciones semánticas en un artı́culo hacen referencia al elemento correspondiente de la ontologı́a. SMW mapea estas anotaciones en una descripción formal usando el lenguaje de ontologı́as OWL DL. La mayorı́a de las anotaciones que tienen lugar en SMW se hacen sobre individuos: se establecen relaciones entre ellos (instancias de relaciones entre clases), relaciones con valores de tipo básico (valores para atributos) o se clasifican (se asigna la clase de la que el individuo es instancia). Las anotaciones se incluyen como parte de la sintaxis de la wiki: 44 Se asigna un URI apropiado a cada uno de ellos. 50 Capı́tulo 2. Estado del arte (a) Usando el marcado actual de Wikipedia (b) Con extensiones semánticas Figura 2.23: Código fuente del artı́culo sobre Londres Las categorı́as, también presentes en MediaWiki, son una forma de clasificar artı́culos. SWM simplemente las dota de una interpretación formal, tratándolas como clases de una ontologı́a. Los enlaces entre dos artı́culos se interpretan (añadiendo anotaciones a los links existentes), considerándolos relaciones entre individuos. Las relaciones de un artı́culo con valores de tipo básico son los valores de los atributos para ese individuo. Formalmente, estas anotaciones se corresponden con el ABox45 [88]. El tratamiento del TBox46 [88] es intencionadamente superficial: SMW no está pensada para ser un editor de ontologı́as de propósito general. Basándose en la tabla anterior, SMW puede generar un modelo OWL, que a su vez puede ser reutilizado por otras aplicaciones semánticas. Además, al ser SMW compatible con OWL DL, es posible reusar ontologı́as existentes. Por un lado, se pueden importar ontologı́as. SMW utiliza la herramienta RAP para leer documentos RDF. De este modo se genera la estructura de la wiki, que posteriormente tendrá que ser completada. Por otro lado, se puede reutilizar vocabulario, que permite a los usuarios mapear los artı́culos de la wiki con ontologı́as existentes. Por ejemplo, si la 45 46 Conjunto de asertos sobre individuos en una ontologı́a. Conjunto de asertos sobre conceptos en una ontologı́a. 51 2.2. Semántica y wikis Wiki Categorı́a Artı́culo Enlace entre dos artı́culos Nexo entre un artı́culo y un valor Ontologı́a OWL Class OWL Individual OWL Object Property OWL Datatype Property Tabla 2.1: Equivalencia entre wiki y ontologı́a wiki tiene una categorı́a Persona, ésta puede ser directamente exportada como la clase foaf:Person de la ontologı́a FOAF47 . Los usuarios de SMW pueden buscar artı́culos o datos concretos mediante un sencillo lenguaje de consultas basado en la propia sintaxis de la wiki. Éstas son búsquedas semánticas similares a las de la WS en las que puede intervenir cierto grado48 de razonamiento automático (por ejemplo, inferir la pertenencia a una clase en base a la relación es–subclase–de). El motor de razonamiento utilizado es KAON2. El objetivo inicial de los autores de SMW fue integrar su semántica extendida en Wikipedia para crear una Wikipedia semántica, con el propósito de hacerla pionera en la adopción de las tecnologı́as semánticas en la Web [86, 87]. Sin embargo, los problemas de integración, tratabilidad o razonamiento paraconsistente [89] son lı́neas de investigación aun abiertas. 2.2.13. SweetWiki SweetWiki49 [90, 91] es una wiki semántica que da soporte al tagging (etiquetado) mediante folksonomı́as50 por parte de los usuarios finales. Esta herramienta de trabajo colaborativo posee un editor WYSIWYG basado en Kupu51 y mejorado con tecnologı́a AJAX que sirve tanto para editar el contenido de la wiki como para anotar (dentro de la propia página) la información, ocultando los detalles de implementación de las anotaciones. Anotar 47 Friend Of A Friend, http://www.foaf-project.org Adecuado pero no completo. 49 http://www-sop.inria.fr/teams/edelweiss/wiki/wakka.php?wiki= SweetWiki 50 Clasificación colaborativa por medio de etiquetas. 51 http://kupu.oscom.org 48 52 Capı́tulo 2. Estado del arte Figura 2.24: Folksonomı́a y editor de ontologı́as en SweetWiki el contenido de las páginas habilita la navegación facetada52 y el mecanismo de sugerencias. Este mecanismo permite autocompletar la anotación que está introduciendo un usuario con conceptos existentes en la ontologı́a de dominio o con etiquetas introducidas por otros usuarios. Además, propone categorı́as relacionadas y muestra el número de páginas que comparte esa etiqueta (como incentivo para reusar etiquetas existentes y crear ası́ uniformidad). Todas las etiquetas son recopiladas en folksonomı́as. El funcionamiento de SweetWiki está fuertemente condicionado a las ontologı́as subyacentes. La primera de ellas es, como la denominan sus autores, el modelo de objetos wiki, una ontologı́a de la propia wiki que describe el modelo de datos del sistema. Se definen los conceptos y propiedades usados en la estructura de la wiki, como por ejemplo, página, enlace, autor, versión, etc. Los desarrolladores de la herramienta mantienen 52 La navegación facetada es un sistema por el cual los contenidos pueden ser descritos en más de una dimensión. A diferencia del esquema jerárquico, este tipo de navegación ofrece a los usuarios la posibilidad de buscar información en base a una o más perspectivas. 2.2. Semántica y wikis 53 Figura 2.25: Arquitectura de SweetWiki esta ontologı́a. La segunda ontologı́a es la ontologı́a de dominio con la que se construye el contenido de la wiki. Esta segunda ontologı́a se crea y evoluciona a partir de la folksonomı́a que generan los usuarios mediante el etiquetado social. Es posible realizar tareas como ordenar la ontologı́a, fusionar conceptos equivalentes, declarar estructuras jerárquicas entre enlaces, etc. La ontologı́a de dominio es enriquecida por los usuarios y puede ser reestructurada por voluntarios de la comunidad. Para tal fin, SweetWiki incorpora un editor de ontologı́as que permite organizar las etiquetas en la folksonomı́a. El resto de ontologı́as en SweetWiki son ontologı́as externas que pueden ser importadas y puestas a disposición de la comunidad para ser consultadas o etiquetadas. El uso de tecnologı́as semánticas tales como las ontologı́as mencionadas posibilita las búsquedas semánticas del tipo “muestra páginas y vı́deos que hablen sobre este tema”. SweetWiki es una herramienta amigable de edición y supervisión de ontologı́as, pero no está dedicada a la gestión colaborativa de ontologı́as. Está programada en Java y se basa en estándares web: XHTML [92] para el formato de las páginas wiki, RDF/RDFa para las anotaciones semánticas y OWL Lite para las ontologı́as. Esto favorece la interoperabilidad al permitir que los metadatos puedan ser extraı́dos y compartidos por otras aplicaciones. SweetWiki utiliza CORESE [93] como motor de razonamiento y SPARQL como lenguaje de consultas, las cuales se encuentran embebidas en la propia página. En SweetWiki se presta especial atención a la dimensión social de la wiki. Por ejemplo, los usuarios pueden declarar una lista de etiquetas correspondientes a temas de su interés. Si un usuario crea o modifica una 54 Capı́tulo 2. Estado del arte página y usa una etiqueta en la que otro usuario está interesado, a éste se le notifica el cambio realizado por áquel. Es posible analizar el comportamiento de los usuarios (qué páginas crean o modifican, qué documentos exploran o etiquetan) y crear redes de conocimiento o comunidades de interés. 2.2.14. SWiM El matemático Kohlhase identificó el soporte que dan las wikis semánticas a la formalización del conocimiento como parte esencial del MKM53 [94]. Kohlhase y Lange crearon SWiM54 [95, 96]. SWiM es una wiki semántica que utiliza OMDoc [94], un lenguaje de marcado semántico que sigue la sintaxis XML y extiende a MathML [97] y OpenMath55 [98], para representar y reutilizar el conocimiento matemático. El objetivo de SWiM es desarrollar un entorno colaborativo que permita a los matemáticos publicar y compartir su conocimiento para que la propia comunidad pueda desarrollar nuevas teorı́as colectivamente. Los usuarios escriben la información de la wiki en OMDoc y pueden asociar metadatos al contenido de cada página usando el propio OMDoc, OWL o RDFS. Después de editar una página, el formato OMDoc es renderizado usando transformaciones XSL [99] y la información se presenta al usuario en lenguaje natural; las fórmulas matemáticas se representan en LATEX56 . En la figura 2.26 se puede observar la interfaz de SWiM. Entra las principales caracterı́sticas se encuentran: Visualización del contenido renderizado de la página. Edición del contenido en formato OMDoc Edición de metadatos del artı́culo: lenguaje, autor, tı́tulo, etc. Editor de fórmulas matemáticas que oculta los detalles de OMDoc. Anotación del tipo de cada enlace. 53 Mathematical Knowledge Management, gestión del conocimiento matemático Semantic Wiki for Mathematical Knowledge Management, http://kwarc.info/ projects/swim 55 http://www.openmath.org 56 http://www.latex-project.org 54 55 2.2. Semántica y wikis Figura 2.26: Interfaz de SWiM Como es habitual en las wikis semánticas, en SWiM cada página representa un concepto, incluyendo sus propiedades y relaciones con otros conceptos. En este contexto, un concepto puede ser o bien una teorı́a o una declaración matemática. Un documento OMDoc está compuesto por teorı́as, las cuales incluyen sentencias que a su vez contienen fórmulas referidas a sı́mbolos definidos en esta u otras teorı́as. La estructura de OMDoc utiliza un modelo de tres capas: objetos (sı́mbolos, números, ecuaciones, etc.), sentencias (axiomas, hipotésis, ejemplos, etc.) y teorı́as (colecciones de sentencias interrelacionadas en un contexto). OMDoc da soporte a todos los niveles de formalización, desde textos en lenguaje natural a representaciones completamente formales para la demostración automática de teoremas. Gracias a esta versatilidad, es posible documentar cualquier elemento, sentencia o teorı́a. Una teorı́a puede no sólo contener sentencias matemáticas formales, sino secciones de texto informal. Y es posible que las definiciones, axiomas y teoremas tengan tanto contenido formal como 56 Capı́tulo 2. Estado del arte Figura 2.27: Subconjunto de la ontologı́a de sistema informal [100]. El modelo descrito se ha formalizado en una ontologı́a denominada ontologı́a de sistema [101]. Esta ontologı́a está codificada en OWL DL y captura la estructura de OMDoc definiendo qué conocimiento puede ser representado en este lenguaje. La figura 2.27 muestra parcialmente la ontologı́a de sistema. Las teorı́as y las sentencias de cualquier tipo constituyen los conceptos. Las relaciones (implementadas por medio del atributo for, como en <example for=“#id-ofassertion”>) se extraen de las páginas OMDoc como declaraciones RDF de las que a su vez se obtienen los typed links para habilitar la navegación semántica en la wiki. Estas relaciones incluyen, entre otras: La relación import entre teorı́as. La relación entre una sentencia y su teorı́a (contexto). La relación entre un ejemplo y la sentencia que ejemplifica. La relación entre una prueba y el hecho que demuestra. Para hacer el conocimiento de SWiM usable por otras aplicaciones de la WS, la información de la wiki se exporta a RDF, usando términos de la ontologı́a de sistema. SWiM también depende de esta ontologı́a para reaccionar ante cambios en las definiciones: cuando un usuario modifica la 2.2. Semántica y wikis 57 Figura 2.28: Extracción de RDF en SWiM definición de un sı́mbolo, todas las páginas que contengan fórmulas con ese sı́mbolo actualizan automáticamente la definición para ese sı́mbolo. Esto sucede debido a que la información es extraı́da de los documentos y se representa usando propiedades de la ontologı́a tales como NotationDefinition–renders–Symbol, Statement–contains–Formula, Formula–uses–Symbol, etc. SWiM está basada en IkeWiki por su extensibilidad y su infraestructra, que da soporte a XML (necesario para OMDoc) y a las tecnologı́as semánticas. Su interfaz usa Dojo57 mientras que en su sistema de almacenamiento utiliza una base de datos PostgreSQL y Jena para almacenar las declaraciones RDF y las ontologı́as. El sistema SWiM puede extenderse añadiendo funcionalidad a la capa más alta. Esta extensión es consistente gracias a la ontologı́a de sistema subyacente. 2.2.15. Otras Existe un sinfı́n de wikis semánticas o que, en cierto modo, se relacionan con la semántica. Serı́a una tarea inabarcable estudiarlas todas. Algunas de las más populares que no han sido analizadas aquı́ son: Freebase [102], KawaWiki [38], myOntology [103], Platypus Wiki [104], Rhizome [105], Rise [106], SemperWiki [107], SHAWN [108], WikSAR [109]. 2.2.16. 57 Resumen http://dojotoolkit.org 58 AceWiki Capı́tulo 2. Estado del arte Usuario objetivo Objetivos Tecnologı́a Ayudar en la gestión del conocimiento proponiendo un lenguaje cercano al natural Java, AJAX y OWL oculto por ACE Usuarios no técnicos Java, RDF, OWL, KAON, MSSQL, PostgreSQL Usuarios expertos producers para editar ontologı́as y diseñar plantillas de consultas y usuarios no expertos consumers para explotar la información Ontologı́as Propias Creadas por el usuario Organización del conocimiento De edición de contenidos Lógica Fı́sica Extensibilidad Extracción del conocimiento Modificaciones hechas a la ontologı́a de edición Ontologı́a de fondo Wiki Texto No extensible por usuarios finales Extracción de la información en OWL No tiene Ontologı́as creadas mediante el editor visual Edición de texto libre, pero las ontologı́as creadas por los usuarios determinan ciertas propiedades en los artı́culos referidos a instancias Wiki Base de datos MSSQL o PostgreSQL No dispone de mecanismos especı́ficos Exportación de la ontologı́a completa a OWL Referencias a ontologı́as externas para instanciarlas Wiki Base de datos Postgres y Jena para RDF Mediante adición de funcionalidad a los ficheros de configuración propios Exportación del contenido a una ontologı́a OWL/RDF No tiene COW Edición colaborativa de ontologı́as vı́a wiki IkeWiki Desarrollar ontologı́as desde la perspectiva de la Ingenierı́a Ontológica Java, AJAX, Jena, base de datos Postgres Ingenieros del conocimiento, investigadores y usuarios avanzados No tiene Modelo generado a partir de las anotaciones semánticas; modificación ligera de las ontologı́as importadas JSPWiki Gestión del conocimiento J2EE58 , ficheros de texto y bases de datos Usuarios en intranets de compañı́as No tiene No tiene No tiene Wiki Ficheros de texto o bases de datos Programación de plugins Exportación del contenido a HTML KiWi Gestión del conocimiento empresarial mediante software social No tiene Modelo generado a partir de las anotaciones semánticas; modificación ligera de las ontologı́as importadas Referencias a ontologı́as externas para instanciarlas Depende de la interfaz construida; por ejemplo, dashboard59 , wiki, atlas etiquetado, etc. Base de datos relacional Desarrollo de widgets60 Exportación del contenido a una ontologı́a OWL/RDF A nivel de contenido (por ejemplo, mediante las ontologı́as SWeMPs [110] y ZyX [111], Makna se extiende a la wiki MultiMakna [112], un sistema que da soporte a contenidos multimedia, los cuales también pueden ser anotados semánticamente) Exportación del contenido semántico como sentencias RDF Mediante plugins Exportación de la información a ontologı́as OWL Makna Moki Java EE, XHTML, RDF, OWL, Hibernate Diversidad de usuarios con distintos niveles de experiencia Poblar ontologı́as colaborativamente JSPWiki (Java, ficheros de texto y bases de datos), Jena y base de datos relacional MySQL61 , PostgreSQL u Oracle62 Usuarios no técnicos que realizan tareas de Ingenierı́a de Conocimiento colaborativo Ontologı́as externas importadas y preconfiguradas No tiene Referencias a ontologı́as importadas para instanciarlas Sitio web con formularios y páginas enlazadas Ficheros de texto o base de datos elegida en JSPWiki para almacenamiento del contenido wiki y base de datos MySQL, PostgreSQL u Oracle para almacenamiento del modelo semántico Modelado de empresa colaborativo SMW (PHP, base de datos relacional MySQL, KAON2, OWL) Actores involucrados en el modelado de empresa: expertos en el dominio, ingenieros de conocimiento y técnicos No tiene Descripciones formales de los modelos de empresa No tiene Wiki Base de datos relacional MySQL Tabla 2.2: Comparación entre wikis semánticas (a) 59 2.3. Conclusiones Objetivos Tecnologı́a Usuario objetivo Ontologı́as Organización del conocimiento Extensibilidad Extracción del conocimiento Base de datos Posibilidad de integración con repositorios de ontologı́as No directamente: exportación del contenido de la base de conocimiento a una ontologı́a OWL/RDF a través de ODESeW Wiki Base de datos Plugins externos y ontologı́as para añadir nuevo conocimiento No dispone de mecanismos especı́ficos Todas Construcción libre de ontologı́as Representación visual de los mapas de información, que depende de la vista elegida: wiki, mapa o calendario Base de datos relacional compatible con SQL64 Mediante plugins Exportación de las ontologı́as a hojas de cálculo o bases de datos compatibles con CSV65 y a RDF Ontologı́a de sistema Todas Construcción libre de ontologı́as, pero la edición de texto está restringida a los recursos de las ontologı́as Representación visual de una ontologı́a Base de datos relacional compatible con SQL Mediante plugins/widgets Exportación de las ontologı́as a hojas de cálculo o bases de datos compatibles con CSV No tiene Modelo generado a partir de las anotaciones semánticas No tiene; edición libre Wiki Base de datos relacional MySQL Adición de extensiones predefinidas Página especial en la wiki para exportar el contenido a una ontologı́a OWL/RDF Wiki Ficheros de texto en formatos XHTML y RDFa Plugins programados con etiquetas JSP desde el propio editor Extracción de los metadatos en formato RDF/OWL Wiki Base de datos PostgreSQL Extensión añadiendo funcionalidad a la capa más alta Extracción de la información en formato RDF Propias Creadas por el usuario De edición de contenidos Referencias a ontologı́as de la base de conocimiento para instanciarlas Wiki Ontologı́a SOA y ontologı́as añadidas ODEWiki63 Gestión del conocimiento en entornos cerrados (compañı́as, organizaciones, etc.) J2EE, JSPWiki, ODESeW Empleados de compañı́as, empresas, etc. No tiene Creación / Edición de instancias de ontologı́as en la base de conocimiento Ontobrowse Documentación de arquitecturas SOA Java (Spring, Hibernate, JSF), OWL, Jena, KAON2, SPARQL, SWRL Desarrolladores y arquitectos de SOAs y expertos en el negocio No tiene Creación / Edición de instancias OntoWiki Edición colaborativa de ontologı́as en escenarios de Ingenierı́a del Conocimiento Powl (PHP, RDF, RDFS, OWL, SQL) y AJAX Ingenieros del conocimiento Powl Edición colaborativa de ontologı́as vı́a web PHP, RDF, RDFS, OWL, SQL Desarrolladores, investigadores, expertos en el dominio e ingenieros en conocimiento involucrados con tecnologı́as semánticas Semantic MediaWiki Adoptar la filosofı́a de la WS en el entorno wiki por medio de la creación de la Wikipedia semántica Motor MediaWiki (PHP y base de datos relacional MySQL) y KAON2 Prosumer de la W2.0, enfatizando en usuarios no expertos en tecnologı́as semánticas SweetWiki Usar una wiki junto a las tecnologı́as de la WS para permitir a los usuarios etiquetar las páginas y organizar las folksonomı́as generadas Java, AJAX, XHTML, RDF, RDFa, OWL Lite, SPARQL, CORESE Usuarios no técnicos (para etiquetar) y técnicos (para organizar las folksonomı́as) especialmente en intranets o en comunidades claramente identificadas Modelo de objetos wiki, una ontologı́a de la estructura de la wiki Ontologı́as de dominio ligeras (folksonomı́as construidas a partir de etiquetas) Las ontologı́as creadas por los propios usuarios o las ontologı́as importadas actúan como ontologı́as de dominio sobre el cual se construyen los contenidos Crear y compartir teorı́as matemáticas formalizadas IkeWiki (Java, AJAX, Jena), OMDoc (MathML, OpenMath), RDF, OWL DL, XSL y base de datos PostgreSQL para almacenamiento Matemáticos Ontologı́a de sistema: formaliza la estructura de OMDoc y mantiene la consistencia de SWiM Descripciones de sentencias matemáticas sobre conceptos matemáticos en OMDoc Ontologı́a de sistema: define el conocimiento que puede ser representado en OMDoc SWiM Ontologı́a de sistema64 Lógica Fı́sica Tabla 2.3: Comparación entre wikis semánticas (b) 2.3. Conclusiones La WS no es una nueva Web, sino una extensión de la Web actual donde las páginas se anotan con metadatos. Esto incluye a las webs de las wikis, que al ser anotadas conforman una wiki semántica. Se desprende por tanto que una Wiki Semántica es (una forma de) Web Semántica y que es buena idea seguir avanzando por esta lı́nea, como demuestran los trabajos anal- 60 Capı́tulo 2. Estado del arte izados aquı́. Del estudio de estas wikis se pueden extraer algunas conclusiones importantes. Respecto al uso e integración de ontologı́as, Buffa y otros [90] han identificado dos aproximaciones principales y diferentes en la investigación y desarrollo de wikis semánticas y ontologı́as: Uso de wikis para ontologı́as. Este modelo, conocido como wikitologı́a [106], considera las páginas de la wiki como conceptos de una ontologı́a y los enlaces como relaciones entre ellos. La wiki actúa como un editor de ontologı́as, de modo que a medida que editamos sus páginas, vamos creando la ontologı́a. La mayorı́a de las wikis semánticas caen en esta categorı́a, por ejemplo, AceWiki, Makna, Platypus, Rhizome, Rise, SHAWN, SMW o WikSAR. Uso de ontologı́as para wikis. Este otro enfoque se centra en la anotación semántica del contenido de la wiki respecto a una ontologı́a de referencia. Dentro de esta categorı́a se incluyen wikis como IkeWiki, SweetWiki o SWiM. La división de estas dos perspectivas es solamente sintomática de la primera fase del desarrollo de wikis semánticas. En el futuro (como ya se empieza a hacer), las wikis semántica mezclarán estas dos aproximaciones como dos caras de la misma moneda. Mantener la wiki y la ontologı́a se hará al mismo tiempo, sin que haya ninguna distinción artificial entre ambas actividades. Varios de los trabajos ponen de manifiesto la importancia que tiene la gestión del conocimiento en entornos corporativos y el beneficio de hacerlo en colaboración. Algunos ejemplos son IkeWiki y KiWi, con carácter más general; Moki, que se centra en dar soporte al modelado de empresa; Ontobrowse, diseñada especı́ficamente para compartir el conocimiento arquitectural de un sistema; o SWiM, con un caso más especı́fico de gestión del conocimiento matemático. Tramullas y Garrido [113] extraen, desde una perspectiva más cercana al usuario final, las siguientes conclusiones: La utilización e integración de ontologı́as no es homogénea, ni en técnicas, ni en interfaces, ni en enfoque de uso. 2.3. Conclusiones 61 Los dominios de aplicación son altamente especializados, y requieren que los usuarios conozcan la estructura y funcionamiento de las ontologı́as. De esta segunda conclusión se puede desprender una más: la necesidad de documentar las ontologı́as, con objeto de facilitar al usuario final su funcionamiento y utilización. Por tanto, serı́a preciso que este tipo de herramientas dispusiera de un sistema de documentación claramente definido. Algunas wikis de las estudiadas hacen mención a este requerimiento (Moki, ODEWiki, Ontobrowse, OntoWiki y SWiM), pero ninguna de ellas cuenta con mecanismos estandarizados. A continuación, se presenta un escenario que también justifica esta necesidad: el papel de las ontologı́as en la Gestión del Conocimiento. Capı́tulo 3 Externalización del conocimiento 3.1. El conocimiento como activo En los últimos años estamos viviendo acontecimientos tales como el desarrollo tecnológico o la globalización, que están produciendo cambios estructurales de enorme trascendencia en la sociedad y en el sistema económico. La liberación de los mercados, consecuencia de esta transformación, ha traı́do consigo una fuerte competencia entre las empresas, que luchan por hacerse un hueco en ellos. Si se considera que actualmente las empresas comparten –en mayor o menor medida– las mismas buenas prácticas (unas aprenden de otras), la misma tecnologı́a y cuentan con fácil acceso al capital, parece lógico pensar que en la gestión de los activos1 intangibles está la clave del éxito sobre las demás. El economista Edith Penrose reconocı́a en 1959 que no son sus recursos, sino los servicios que esos recursos prestan, los que generan el verdadero valor de una compañı́a [114]. Peter Drucker, considerado padre del management y un adelantado a su tiempo, vaticinó que “en la nueva economı́a, conocida como la Economı́a del Conocimiento, el conocimiento será el principal recurso; y que la tierra, el capital y el trabajo (factores principales en otras épocas) no desaparecerán, pero serán secundarios”, a la vez que afirmaba que “las nuevas industrias emergentes (...) encarnan una nueva realidad económica: el conocimiento se ha convertido en el recurso económico central” [115]. En efecto, en la actualidad el conocimiento es el activo que más valor 1 Los activos de una compañı́a son los recursos que generan beneficios. 63 64 Capı́tulo 3. Externalización del conocimiento Figura 3.1: Eras de creación de riquezas genera en una organización. La competitividad de muchas compañı́as que se mueven en este mercado tan difı́cil (incertidumbre económica, nuevas tecnologı́as, cambio en la oferta y la demanda, cambio en las condiciones de vida...) depende en gran medida de cómo mantienen y acceden a su conocimiento corporativo [116, 117]. Una empresa creadora de conocimiento se caracteriza por: La creación consistente y constante de conocimiento. Divulgación del conocimiento dentro de la empresa. Transformación del conocimiento en nuevas tecnologı́as, productos y servicios. El tercer punto es el objetivo a perseguir. Para obtener beneficios a partir del conocimiento, es necesario comprender qué se entiende por conocimiento, cómo generarlo y gestionarlo. 3.2. Modelo de Nonaka y Takeuchi Según los autores Nonaka y Takeuchi [118], la mayorı́a de las compañı́as occidentales creen que el único conocimiento útil son datos cuantificables, procedimientos codificados y principios universales. El modelo de empresa japonesa, en cambio, reconoce que crear nuevo conocimiento 3.2. Modelo de Nonaka y Takeuchi 65 no es simplemente una cuestión de procesar información objetiva. Nonaka y Takeuchi definen el conocimiento como “una creencia personal justificada que aumenta la capacidad de un individuo para llevar a cabo una acción de manera eficiente”. Esta definición reafirma las tesis de Drucker al declarar que el conocimiento “aumenta la capacidad de un individuo para llevar a cabo una acción de manera eficiente” y que, consecuentemente, generará valor. Sin embargo, difiere del modelo occidental al considerar que el conocimiento es subjetivo (“creencia personal”). No obstante, esta subjetividad no le resta valor, pues se trata de una “creencia personal justificada”. Nonaka y Takeuchi proponen un modelo según el cual el conocimiento se origina en el individuo (en forma de conocimiento tácito) y acaba transformado en conocimiento colectivo (como conocimiento explı́cito). El conocimiento tácito es altamente personal, difı́cil de formalizar y, por tanto, de comunicar a los demás. Está profundamente arraigado a las acciones del individuo en un contexto especı́fico (una determinada profesión, una tecnologı́a particular, etc.). Está formado, en parte, por las habilidades técnicas del individuo, que se adquieren a través del aprendizaje y se perfeccionan con la experiencia. Al mismo tiempo, tiene una importante dimensión cognitiva: consta de modelos mentales, creencias y perspectivas. Por este motivo, condiciona nuestra percepción de la realidad. Para el antropólogo Gregory Bateson, “creamos nuestro propio mundo al mirarlo de acuerdo con nuestras propias presuposiciones, nuestras propias premisas, nuestras propias expectativas” [119]. En resumen, el conocimiento tácito es el que el individuo tiene en su mente, es personal y subjetivo, se adquiere de la experiencia y se comparte mediante el trabajo colectivo. El conocimiento explı́cito, en cambio, es generado por el individuo y lo hace patente de forma fı́sica. Es objetivo, sistemático y se representa formalmente, por lo que es fácil de compartir. Para Nonaka y Takeuchi, crear conocimiento es hacer explı́cito el conocimiento tácito. No obstante, la creación de conocimiento no se limita sólo a ese paso; es necesario un proceso continuo –flujo de información en espiral– de transformaciones entre el conocimiento tácito y explı́cito, que pasa por cuatro fases (ver figura 3.2): Socialización (de tácito a tácito). Es la acción de compartir el conocimiento tácito directamente con otros individuos mediante el trabajo colectivo (por ejemplo, reuniones, enseñanza de maestro a discı́pulo, etc.), de forma que todos los individuos adquieren este conocimiento y lo incorporan al suyo propio. El aprendizaje se hace por obser- 66 Capı́tulo 3. Externalización del conocimiento Figura 3.2: Ciclo de Nonaka y Takeuchi vación, imitación y práctica. Externalización (de tácito a explı́cito). Es la acción de hacer explı́cito el conocimiento tácito (por ejemplo, escribir un artı́culo cientı́fico, modelar un dominio, etc.) con el objetivo de compartirlo. Se trata de la actividad esencial en la creación del conocimiento. Combinación (de explı́cito a explı́cito). Es el proceso de sintetizar conocimiento explı́cito más complejo a partir de la composición del conocimiento explı́cito proveniente de diversas fuentes (por ejemplo, hacer un informe con los datos de una compañı́a, crear una aplicación informática ensamblando componentes de software reutilizables, etc.). Internalización (de explı́cito a tácito). La internalización es la asimilación del conocimiento explı́cito. Se obtiene mediante la experiencia (por ejemplo, montar en bicicleta –sólo se puede aprender si se practica–) y se incorpora como conocimiento tácito al modelo mental de conocimiento del individuo y, por tanto, a los activos de la empresa. Un caso que ejemplifica el funcionamiento de este ciclo es el de la aprendiz de panadera [118]: 1. En primer lugar, la aprendiz aprende los secretos del maestro panadero mediante observación, imitación y práctica (socialización). 67 3.3. Gestión del conocimiento (a) Contexto original (b) Web Semántica 2.0 Figura 3.3: Creación de conocimiento 2. El siguiente paso es escribir la receta con los ingredientes y todas las indicaciones a seguir: tiempo de reposo de la masa, funcionamiento del horno... (externalización). 3. En tercer lugar, la aprendiz pone en común el conocimiento adquirido con los otros aprendices. Todos aportan sus impresiones, sus puntos de vista y articulan un procedimiento éstandar para hacer pan de manera profesional (combinación). 4. Por último, practicando la metodologı́a acordada con sus compañeros, la aprendiz adquiere experiencia en hacer pan e interioriza este conocimiento como suyo propio (internalización). De las cuatro etapas del ciclo, la externalización y la internalización son los pasos crı́ticos en la espiral de conocimiento porque conllevan una implicación activa del propio individuo. Y entre ellas dos, la externalización es la actividad indispensable para crear conocimiento, pues es cuando se produce la materialización. 3.3. Gestión del conocimiento El modelo propuesto sitúa el origen del conocimiento en el individuo y lo conduce hacia la colectividad. El planteamiento ahora es cómo esa comunidad poseedora de conocimiento puede gestionarlo para convertirlo en un activo de la compañı́a y obtener beneficios de él. Aranda-Corral y otros [30] extraen una importante analogı́a entre conocimiento y ontologı́a: en la fase de externalización (el paso clave del ciclo), el conocimiento tácito se formaliza para poder ser compartido; del mismo 68 Capı́tulo 3. Externalización del conocimiento modo, en el contexto de la WS2.02 (ver figura 2.2), la información de la Web se formaliza en ontologı́as para producir conocimiento reutilizable. Por lo tanto, crear conocimiento en la WS2.0 equivale a construir ontologı́as. 3.3.1. Modelo de Nonaka y Takeuchi adaptado Los propios recursos de la compañı́a son la fuente principal para construir una ontologı́a [120]: bases de datos, intranets, procesos de negocio, conocimiento de los empleados, etc. Una compañı́a puede verse como un sistema abierto de acciones sociales con un alto grado de autorregulación [121]. Por tanto, serı́a apropiado estudiar la creación de una ontologı́a, desde la perspectiva del conocimiento emergente (es decir, del conocimiento surgido de las interacciones en un entorno distribuido) [122], analizando los procesos presentes en la Gestión de Activos de Conocimiento3 , representados en el ciclo de Nonaka y Tekeuchi (ver figura 3.2) [123]. En lugar de ajustar el proceso de creación de ontologı́as al modelo de Nonaka y Takeuchi, Aranda-Corral y otros [30] proponen adaptar el modelo original al contexto natural de creación de ontologı́as: la WS2.0. En este nuevo escenario, el conocimiento generado es semántico, las personas que lo generan se organizan en redes de usuarios prosumers4 adoptando los comportamientos propios de la W2.0 y la Ingenierı́a Ontológica puede dar soporte a los procesos de este otro modelo (aportando teorı́as y/o herramientas). El resultado es un nuevo ciclo (ver figura 3.4), proyección del original, pero mejorado con tecnologı́a y métodos propios de la WS2.0. Las cuatro fases resultantes para crear conocimiento son: Redes de Conocimiento (← Socialización). El aprendizaje colaborativo implica la interacción entre iguales para la construcción del conocimiento, lo que da lugar a la constitución de redes de conocimiento [124]. Una red de conocimiento está integrada por una comunidad de personas que comparte su conocimiento para lograr objetivos comunes. Las redes de conocimiento están alcanzando ahora su auge gracias al impulso de las nuevas tecnologı́as, que las están haciendo llegar hasta cualquier usuario de la Web. Por tanto, la so2 Web Semántica 2.0 = Web Semántica + Web 2.0 En inglés, KAM, Knowledge Asset Management 4 prosumer = producer + consumer, es decir, la producción y consumo de conocimiento es encomendado a los usuarios 3 3.3. Gestión del conocimiento 69 cialización produce redes de conocimiento en la WS2.0 cuando los usuarios adoptan comportamientos 2.0. Semántica Emergente (← Externalización). La semántica es emergente si surge como un acuerdo en un contexto especı́fico de interpretaciones comunes, construido en un proceso incremental de negociociaciones e interacciones locales entre agentes autónomos autoorganizados [125]. En la WS2.0, externalizar el conocimiento es formalizarlo en ontologı́as, donde cada concepto tiene su significado (semántica) definido. Al ser éste un proceso de estandarización cooperativo, un punto crucial es la comunicación entre los diferentes actores que deben llegar al consenso [126]. De la interacción de los usuarios en redes de conocimiento emerge la semántica de los conceptos que conforman la ontologı́a. Por este motivo, el proceso de externalización colaborativa en la WS2.0 es, en realidad, un proceso de semántica emergente. Para ello, es necesario proporcionar herramientas que permitan externalizar y organizar el conocimiento. Alineación de Ontologı́as (← Combinación). La alineación de ontologı́as es el proceso de encontrar correspondencias entre las entidades de dos ontologı́as diferentes [127]. Combinar diferentes fuentes de conocimiento en la WS2.0 se traduce en alinear las ontologı́as que lo formalizan. Interfaces Semánticas de Usuario (← Internalización). En la WS2.0, asimilar el conocimiento sólo es posible mediante el uso de interfaces de usuario que permitan acceder a los contenidos y explotarlos de forma sencilla. Por tanto, la internalización del conocimiento semántico conlleva el uso de interfaces semánticas. Al igual que sucedı́a en el modelo original, la semántica emergente del conocimiento (externalización) y las interfaces para acceder a él (internalización) son la esencia en este ciclo. 3.3.2. Semántica emergente Integrar la información por medio de ontologı́as es la mejor opción para las organizaciones que son conscientes del valor del conocimiento. Investigaciones previas, como la de Hearst [128], se centran en integrar bases de datos o bases de conocimiento heterogéneas, cuya información se 70 Capı́tulo 3. Externalización del conocimiento Figura 3.4: Proyección del ciclo de Nonaka y Takeuchi encuentra altamente estructurada, a menudo por medio de lenguajes formales. Existen también poderosos métodos de integración [120] que producen ontologı́as robustas. En el apartado 1.4.2 se razonó que el proceso de desarrollar una ontologı́a debe ser cooperativo. El modelado conceptual en entornos distribuidos es una cuestión que ha sido objeto de investigación por parte de la comunidad cientı́fica [129, 130, 131, 132] durante años. Gran parte de los trabajos vistos en el capı́tulo 2 también aborda este problema. Las ontologı́as en entornos colaborativos no surgen de una vez como resultado de aplicar una metodologı́a de formalización del conocimiento por parte de un grupo de expertos. Su construcción conlleva un proceso de aprendizaje en el que los individuos profundizan en el dominio de discurso y en el vocabulario apropiado para describirlo. Las ontologı́as se desarrollan constantemente: los conceptos experimentan un proceso de evolución continua donde la comprensión y las ideas emergen de manera implı́cita del trabajo diario y maduran gradualmente mediante la interacción entre los miembros de la comunidad. La ontologı́a llega a la madurez cuando se ha alcanzado el consenso [125]. Las ontologı́as construidas son la pieza clave para implementar la interoperabilidad semántica en organizaciones y empresas (apartado 1.4.1). La interoperabilidad semántica ofrece la capacidad de inferir, relacionar, interpretar y clasificar el conocimiento implı́cito en el contenido digital que dirige los procesos de negocio de una empresa. Además, permite la comunicación entre individuos o sistemas de información de diferentes compañı́as. Sin embargo, el problema de la interoperabilidad puede persi- 3.3. Gestión del conocimiento 71 stir en un nivel diferente, dentro de la misma organización: aparece en la heterogeneidad de interpretaciones que hacen los usuarios sobre los elementos de la ontologı́a. Este problema es consecuencia de la alfabetización ontológica de los usuarios, es decir, el nivel de conocimiento sobre ontologı́as. Actualmente, es inconcebible crear o utilizar ontologı́as sin un alto nivel de experiencia en áreas como la representación del conocimiento y las tecnologı́as semánticas (RDF, OWL...). En el mejor de los casos, es necesario comprender el funcionamiento de los editores de ontologı́as, los cuales, no obstante, también entrañan una gran dificultad para la mayorı́a de usuarios. En un entorno distribuido como es la Web, el desarrollo de ontologı́as se enfrenta, además, a la disparidad de conocimientos que poseen los autores sobre las propias ontologı́as y las tecnologı́as semánticas [36], lo cual supone un grave inconveniente. Schaffert [39] identifica la falta de ontologı́as como un serio obstáculo para la implantación de la WS y argumenta que una de las razones principales de ello es la barrera tecnológica, que desalienta a los expertos en un dominio a formalizar su conocimiento. Una primera aproximación para solventar esta dificultad es proporcionar herramientas que permitan externalizar y organizar el conocimiento. Otra solución, complementaria al uso de herramientas de gestión del conocimiento, es la documentación social y colaborativa de la experiencia de uso de las ontologı́as, cuyo objetivo es cerrar la brecha semántica surgida entre la especificación de la ontologı́a y su uso cotidiano [30]. Este resultado se extrajo como conclusión del capı́tulo 2 (apartado 2.3). Fernández y otros [28] ya apuntaban a esta necesidad: “la ausencia de documentación es un importante obstáculo cuando reutilizas o compartes ontologı́as ya construidas; ası́ que, si deseas que tu ontologı́a sea reutilizada o compartida por otros, intenta documentarla lo mejor que puedas”. McGuinness también sugirió la necesidad de especificar la semántica de los términos en una ontologı́a[36]. Existen ontologı́as que, si bien han sido documentadas, no lo están de forma adecuada. Sus propios creadores (tradicionalmente, expertos en ontologı́as o en el dominio), utilizan una jerga excesivamente técnica y compleja. Este método de documentación resulta inapropiado para la mayorı́a de los usuarios, que requiere un tipo de información más cercano, por ejemplo, casos de uso de la ontologı́a, experiencia de otros usuarios en su aplicación en un determinado contexto, significado de un concepto, etc. Es lo que Aranda-Corral y otros [30] entienden por documentación social. La autora Anne-Claire Boury-Brisset lo denomina ontology critiquing [133]. 72 Capı́tulo 3. Externalización del conocimiento Para ella, en entornos distribuidos se hace cada vez más importante tener un espacio de trabajo donde los usuarios hagan sus comentarios sobre ontologı́as construidas por otras personas. Por ejemplo, una persona podrı́a preguntar si un nuevo concepto (clase) deberı́a ser definida como una subclase de otra existente o como una instancia de ella. Por tanto, junto a la propia ontologı́a, la documentación social también emerge fruto del acuerdo de la comunidad, de sus discusiones y de las experiencias aportadas, y evoluciona con los usos de la ontologı́a y las contribuciones de cada miembro. 3.3.3. Interfaces semánticas de usuario Las interfaces semánticas son la otra clave en la solución al problema de la alfabetización ontológica. Para superar esta barrera técnica es necesario que las herramientas permitan a los usuarios contribuir en la creación de contenido de forma transparente a las tecnologı́as que hay de fondo [41]. De hecho, simplicidad y amigabilidad son ya requisitos obligatorios en el desarrollo de aplicaciones para la WS, pensando especialmente en las personas no expertas en tecnologı́a [134]. Existen trabajos que respaldan la trascendencia de las interfaces semánticas en la WS2.0 desde distintos puntos de vista. Autores como David F. Huynh [135, 136, 137] acentúan su importancia bajo la perspectiva de la presentación de los datos, mientras que otros como Max van Kleek y Stephen Davies se centran en la interacción del usuario con el contenido. Van Kleek y otros [138] afirman que mejorar los mecanismos de adquisición y acceso al conocimiento será necesario para que la WS sea adoptada ampliamente por los usuarios finales; y argumentan que uno de los caminos a seguir es explorar la interacción de los usuarios a nivel de interfaz para acelerar el intercambio de conocimiento entre los humanos y las bases de datos de conocimiento de la WS. Davies y otros [139] reafirman que la mayorı́a de los usuarios se sienten incapacitados con las herramientas actuales, ya que éstas asumen un alto grado de habilidad con los conceptos de la WS; y razonan que las herramientas deben diseñarse teniendo en cuenta a los usuarios no expertos, para que ellos también puedan convertirse en contribuidores productivos de conocimiento semántico. En consecuencia, las interfaces semánticas no sólo son el elemento que permite interiorizar los contenidos de la WS2.0, sino que también son la 3.4. Conclusiones 73 pieza fundamental para resolver los problemas de externalización del conocimiento ontológico. 3.4. Conclusiones La gestión del conocimiento debe atender a dos dimensiones: semántica y social. En este escenario, la creación de conocimiento es un proceso de externalización en forma de ontologı́as, tarea que se lleva a cabo mediante el consenso en comunidades de práctica. Esta arquitectura de participación juega un doble papel: por un lado, la semántica de la ontologı́a emerge de la interacción natural entre los miembros de la comunidad y evoluciona con su utilización diaria; y por otro, la misma comunidad proporciona sus propias experiencias de uso con respecto a las ontologı́as construidas. Disponer de herramientas con interfaces semánticas apropiadas habilita a los usuarios para producir ontologı́as. Al mismo tiempo, permiten acceder a ellas y asimilarlas. La documentación social es imprescindible en esta consecución. Los trabajos presentados en el capı́tulo 2 demuestran la adecuación de las wikis para operar en el contexto de la WS2.0. Por un lado, constituyen un marco que da un sólido soporte a las ideas de creación colectiva del conocimiento [118], invita a la participación automotivada y antijerárquica de una comunidad de usuarios [115] y favorece la competitividad de las empresas que abrazan por completo el potencial de la W2.0 [34]. Por otro lado, las tecnologı́as semánticas incorporadas proporcionan la capacidad para procesar la información de manera segura y eficiente. Y por último, las wikis fomentan la participación activa para documentar software en colaboración [140]. En el capı́tulo 4 se presenta Sword, una plataforma semántica social destinada a externalizar el conocimiento mediante ontologı́as. Su interfaz, basada en wiki, fomenta la participación colectiva, ofrece la capacidad de representar las ontologı́as en formato humano, acercándolas al usuario, y proporciona los medios para documentarlas de manera intuitiva y amigable. Capı́tulo 4 Sword Sword1 es una plataforma semántica social diseñada para salvar la brecha entre usuario y ontologı́a. Está basada en OntoxicWiki [30, 141], a la cual mejora con nuevas caracterı́sticas (capı́tulo 5). Actualmente se encuentra en fase de desarrollo, por lo que se describirá OntoxicWiki durante este capı́tulo. 4.1. Descripción general OntoxicWiki (OW) es una herramienta social diseñada para representar ontologı́as de forma intuitiva a través de un entorno que permite repararlas y documentarlas colaborativamente. Se trata de un plugin para el editor de ontologı́as Protégé2 [142, 143, 144] que se apoya en un motor MediaWiki. Esta wiki funciona como plataforma social, donde los miembros de la comunidad pueden revisar las ontologı́as y describir en colaboración sus propiedades, usos y experiencias, siempre preservando sus especificaciones y caracterı́sticas lógicas. De este modo, una ontologı́a queda representada de forma comprensible y, gracias a la información adicional, terceras partes pueden aprender interesantes caracterı́sticas sobre ella como son su dominio y alcance, su propósito de uso, aplicaciones recomendadas, etc. El objetivo es acercar las ontologı́as a los usuarios y fomentar su (re)utilización en la WS. 1 2 Social Wiki for Ontology Revision and Documentation http://protege.stanford.edu 75 76 Capı́tulo 4. Sword El producto final de OW es una wiki que contiene ontologı́as representadas en wikitexto3 . Una vez disponibles, los miembros de la comunidad tan sólo necesitan un navegador web para acceder a ellas, y pueden editarlas, documentarlas o, simplemente, visitarlas para requerir información. La wiki aporta una serie de caracterı́sticas que le dan ventaja respecto a otras soluciones colaborativas: La plataforma wiki permite compartir y reutilizar el conocimiento fácilmente. Su interfaz intuitiva oculta la complejidad tecnológica de fondo. Potencia la participación colectiva. El historial de cambios permite llevar cierto control de versiones de la ontologı́a. La unicidad en los tı́tulos de los artı́culos resulta muy apropiada para los recursos de la ontologı́a. Los hiperenlaces son de gran utilidad a la hora de relacionar conceptos. Un recurso se hace más comprensible si entendemos con mayor claridad los vı́nculos que mantiene con otros recursos. El conocimiento en la wiki queda perfectamente organizado en artı́culos, secciones, etc. El buscador de la wiki permite localizar los recursos de la ontologı́a fácilmente. 4.1.1. Correspondencia ontologı́a – wiki En OW, existe una relación de equivalencia entre una ontologı́a en lenguaje formal OWL cargada en Protégé y la misma ontologı́a en la wiki. Un artı́culo en la wiki se corresponde con un recurso4 de la ontologı́a y cada tipo de artı́culo tiene su propia estructura, que depende del tipo de recurso al que representa, el cual determina su contenido. En otras palabras, un artı́culo se compone de secciones que contienen la información 3 4 Lenguaje wiki Clase, propiedad, individuo 4.1. Descripción general 77 más relevante relativa al recurso asociado. La estructura de cada artı́culo es la siguiente: Secciones en artı́culos de clase: 1. rdfs:comment 2. subclases 3. propiedades 4. instancias 5. superclase Secciones en artı́culos de propiedad: 1. rdfs:comment 2. dominio 3. rango 4. subpropiedades 5. superpropiedad Secciones en artı́culos de individuo: 1. rdfs:comment 2. clase 3. propiedades 4.1.2. Interfaz de usuario La interfaz de usuario de OW consta de tres componentes (ver figura 4.1): una barra de herramientas, un área de plantillas y un navegador web. La barra de herramientas proporciona utilidades básicas para manejar la ontologı́a (ver figura 4.2). El área de plantillas muestra el formato que debe seguir el wikitexto en cada tipo de artı́culo. El navegador web visualiza el contenido de la wiki. 78 Capı́tulo 4. Sword Figura 4.1: Interfaz de usuario de OntoxicWiki 4.1.3. Funcionalidad La funcionalidad de OW se encuentra intı́mamente relacionada con el ciclo de vida de la ontologı́a dentro de esta herramienta. OW opera haciendo pasar a la ontologı́a por las cinco etapas de este ciclo: 1. Crear o cargar la ontologı́a en Protégé. Tanto si se crea desde cero como si carga una ontologı́a existente, el resultado final es un fichero con extensión .owl donde se encuentra codificada la ontologı́a objetivo. No se necesita OW en esta fase. . Se añade la ontologı́a 2. Añadir la ontologı́a de documentación 5 OSMV a la ontologı́a objetivo. Inicialmente esta ontologı́a está vacı́a –sólo consta del esquema– y se instanciará con la información aportada por los usuarios sobre la ontologı́a objetivo (más información en el apartado 4.1.5). 3. Cargar la ontologı́a en la wiki . Se escribe automáticamente la ontologı́a objetivo en la wiki. Este proceso comienza con la extracción 5 Ontology Social Metadata Vocabulary 4.1. Descripción general 79 Figura 4.2: Barra de herramientas de OntoxicWiki de información de la ontologı́a (jerarquı́a de clases, propiedades e individuos), y posteriormente, se obtiene la información más relevante relativa a cada recurso. A continuación, se crea un artı́culo en la wiki por cada recurso. Cada uno de estos artı́culos tendrá una estructura y una información especı́fica que dependerá del recurso correspondiente (apartado 4.1.1). Esta información se distribuye en las secciones pertinentes del artı́culo, rigiéndose por la sintaxis de MediaWiki6 . Finalmente, los artı́culos se enlazan a través de hiperenlaces para mantener la estructura original de la ontologı́a. Adicionalmente, se crean algunos artı́culos especiales y secciones dentro de los artı́culos de recursos provenientes de la ontologı́a de documentación OSMV. Estas secciones, inicialmente en blanco, contendrán las experiencias de uso añadidas por los propios usuarios de la ontologı́a objetivo (más información en el apartado 4.1.5). 4. Revisar y documentar la ontologı́a. Una vez que la ontologı́a se ha cargado en la wiki, queda a disposición de la comunidad. Sólo es necesario un navegador web para acceder a ella. Los usuarios pueden editarla creando, eliminando o modificando los artı́culos de la wiki (la wiki actúa como un editor ontológico). Documentar la ontologı́a es suministrar información en la sección apropiada. Por ejemplo, si un usuario quiere modificar el rango de una relación, tiene que ir al artı́culo correspondiente, editar la sección rango y sustituir el rango antiguo por el nuevo valor (y, por último, guardar los cambios). No se necesita OW en esta fase. 6 http://www.mediawiki.org/wiki/Help:Formatting 80 Capı́tulo 4. Sword Figura 4.3: Arquitectura de Protégé con extensión OWL 5. Recuperar la ontologı́a desde la wiki . Es el proceso inverso al paso 3. Se lee automáticamente los artı́culos de la wiki, se reconstruye la ontologı́a en formato OWL y se carga en Protégé. La recuperación comienza analizando la estructura de los artı́culos, creada a través de los hiperenlaces existentes entre ellos. Se genera el esqueleto de la ontologı́a: la taxonomı́a de clases, las propiedades y los individuos. Por último, se lee el contenido de los artı́culos y, para cada sección, se escribe la información correspondiente en el recurso de la ontologı́a OWL. Se requiere que el contenido de los artı́culos siga el formato señalado en el área de plantillas. El resultado final es un fichero con extension .owl donde se encuentra codificada la ontologı́a objetivo. 4.1.4. Tecnologı́a y arquitectura OW está implementada en Java como un plugin para Protégé. Este editor de código abierto puede ser fácilmente extendido por medio de una arquitectura de plugins y una API basada en Java para construir aplicaciones con ontologı́as (ver figura 4.3). Las ontologı́as manejadas en OW 4.1. Descripción general 81 Figura 4.4: Arquitectura de MediaWiki están codificadas en lenguaje OWL y se manipulan a través de la API Protégé-OWL7 . La API de Protégé-OWL es una librerı́a en Java de código abierto, para los lenguajes de ontologı́as OWL y RDF(S). Provee de un conjunto de clases, interfaces y métodos para cargar y salvar archivos OWL, consultar y manipular modelos de datos OWL y aplicar razonamiento automático basado en motores de lógica descriptiva. Está optimizada para la implementación de interfaces gráficas de usuario, lo cual es fundamental para desarrollar plugins para Protégé. El otro compente básico de OW es MediaWiki, un software libre basado en servidor y liberado bajo licencia GNU General Public License (GPL). Se trata de una implementación de wiki extremadamente potente y escalable. Usa PHP para funcionar y almacena su información en una base de datos MySQL (ver figura 4.4). La arquitectura de OW se basa en las de Protégé y MediaWiki. Esta architectura obedece al siguiente comportamiento (ver figura 4.5): (1) OW utiliza la API Protégé-OWL. (2) A través de Protégé-OWL se accede y se manipula la ontologı́a OWL. (3) OW accede directamente a la base de datos de MediaWiki a través del driver JDBC8 para MySQL, Connector/J9 . 7 http://protegewiki.stanford.edu/wiki/ProtegeOWL_API_ Programmers_Guide 8 Java Database Connectivity 9 http://dev.mysql.com/doc/refman/5.1/en/connector-j.html 82 Capı́tulo 4. Sword Figura 4.5: Arquitectura de OntoxicWiki (4) Paralelamente, desde cualquier navegador web se hacen peticiones al servidor HTTP. (5) El servidor HTTP interpreta las peticiones y las remite al motor PHP. (6) El motor PHP recibe las peticiones y envı́a las sentencias SQL apropiadas al gestor de bases de datos MySQL. (7) El gestor se encarga de leer/escribir en la base de datos. Finalmente, la información circula en sentido inverso para devolver el contenido de una página web que será visualizada por el navegador. 4.1.5. OSMV La mayorı́a de las ontologı́as publicadas en la Web no contiene ningún tipo de información adicional sobre ellas mismas y esta deficiencia compromete seriamente su reutilización en la WS. Hartmann y otros [145] argumentan que la disponibilidad de metadatos supone una dimensión fundamental en la reusabilidad de ontologı́as. Sin ninguna documentación, los potenciales usuarios de ontologı́as difı́cilmente podrán identificarlas, encontrarlas y aplicarlas efectiva y eficientemente. Para hacer frente a este problema, es necesario acordar un vocabulario de términos y definiciones 4.1. Descripción general 83 que describa ontologı́as. La solución propuesta se presenta como un estándar en especificación de ontologı́as que satisface los requisitos de accesibilidad, usabilidad e interoperabilidad semántica. Por ello, el propio vocabulario de metadatos se formaliza como una ontologı́a, que Aranda-Corral y otros [30] denominan OSMV10 . OSMV es una ontologı́a de documentación de ontologı́as. Está construida a partir de un subconjunto de OMV11 [146] extendido con algunas caracterı́sticas de ı́ndole social. OSMV habilita al usuario para añadir información relativa a la ontologı́a objetivo. La documentación aportada se puede clasificar según los siguientes criterios: Atendiendo a su alcance, puede ser: • Global. Información relativa a la ontologı́a en su conjunto (número de clases, inconsistencias detectadas). • Local. Información especı́fica de un recurso (fuentes de información adicional en la Web para ese recurso, descripciones de los usuarios). Atendiendo a su naturaleza, puede ser: • Técnica. Información de tipo técnico (lenguaje de la ontologı́a: OWL, RDFS, etc., licencia de uso: GPL, BSD, etc.). • Social. Información de carácter social (comentarios de los usuarios, deficiencias de un recurso). Cuando se integra OSMV con la ontologı́a objetivo, áquella sufre algunas modificaciones: en OSMV se crea una instancia por cada recurso de ésta. La información suministrada a estas instancias se corresponde con la documentación de la ontologı́a objetivo. Asimismo, la wiki también se ve alterada como consecuencia de esta combinación de ontologı́as. Por una parte, se generan nuevos artı́culos para albergar documentación de tipo global; por otra, en los artı́culos originales se crean nuevas secciones para la documentación local. La naturaleza técnica y social se mezcla en las dos categorı́as anteriores. La información adicional suministrada por la comunidad es, por tanto, el contenido de OSMV. Inicialmente se encuentra vacı́a (en cuanto a los 10 11 Ontology Social Metadata Vocabulary http://omv2.sourceforge.net 84 Capı́tulo 4. Sword Figura 4.6: Clase Expression en Protégé valores para las propiedades de sus instancias) y el usuario final la completa con información especı́fica de la ontologı́a objetivo. La instanciación de OSMV se lleva a cabo de la misma forma que la de la ontologı́a objetivo: rellenando las distintas secciones de los artı́culos de la wiki. De este modo, los usuarios no expertos pueden generar conocimiento acerca de la ontologı́a que puede ser explotado por compañı́as o redes sociales. 4.1.6. Ejemplo SensorOntology200912 es una ontologı́a sobre sensores que ha sido utilizada como la versión inicial de la ontologı́a Semantic Sensor Network [147]. La figura 4.6 muestra la ontologı́a cargada en Protégé y, concretamente, información sobre la clase Expression, que modela las expresiones lógicas. De esta clase se pueden obtener los siguientes datos: Hay tres campos rdfs:comment con comentarios (de los autores) sobre la clase. 12 http://www.w3.org/2005/Incubator/ssn/wiki/SensorOntology2009 4.1. Descripción general 85 Figura 4.7: Clase Expression en OntoxicWiki Se divide en dos subclases: Condition y Effect. Tiene dos propiedades: expressionBody y expressionLanguage; esta última, con una restricción: cardinality = 1. No tiene superclase (es decir, su superclase es la clase genérica owl:Thing). En la figura 4.7 se puede ver la misma información desde la perspectiva de OW. Además se incluye la documentación social.13 13 En este ejemplo, se muestra la wiki con el navegador Mozilla Firefox. Se obtendrı́a el mismo resultado utilizando el navegador que incluye el propio plugin (ver figura 4.1). 86 Capı́tulo 4. Sword Los tres campos comentarios rdfs:comment se agrupan en uno sólo en la sección RDFSComment del artı́culo. Las dos subclases se listan en la sección Subclasses. Las propiedades se muestran con formato dominio <-- propiedad --> rango tal como indica la plantilla para clases, en la sección Properties. La restricción aplicada a expressionLanguage se representa en lenguaje natural debajo de ella. La clase no tiene instancias directas (información no visible en la figura 4.6). La clase no tiene superclase. Respecto a la documentación social: • Algún usuario ha dejado constancia de que la propiedad expressionBody no tiene rango definido. Aparte de evidenciar una falta de información, esto podrı́a suponer un problema a la hora de procesar la ontologı́a automáticamente. Este dato se suministra en la sección deficiencies. • Otro (o el mismo) usuario ha aportado la url de una ontologı́a sobre expresiones lógicas. Visualizar esta ontologı́a puede complementar la información provista en este artı́culo. La sección documentationResources es el lugar apropiado. 4.2. Gestión del conocimiento semántico OW está diseñada para establecer puentes semánticos entre las actividades del ciclo de Nonaka y Takeuchi proyectado (ver figura 3.4) según el modelo adaptado a la WS2.0, mejorando las soluciones existentes tanto para la W2.0 como para la WS. En este contexto, el proceso de creación de conocimiento mediante OW [30] pasa, una vez más, por cuatro fases (ver figura 4.8): 4.2. Gestión del conocimiento semántico 87 Figura 4.8: Creación de conocimiento mediante OntoxicWiki Wiki (← Redes de Conocimiento ← Socialización). Los usuarios de la wiki se organizan en comunidades con intereses comunes (empleados de una compañı́a, comunidades de práctica, etc.). Los miembros de estas comunidades constituyen las redes de conocimiento en la WS2.0 cuando comparten su conocimiento. Documentación de ontologı́as (← Semántica Emergente ← Externalización). De la interaccion de los usuarios en redes de conocimiento emerge la semántica de los conceptos que conforman la ontologı́a, las experiencias de casos de uso y cualquier dato de interés. Los miembros de la comunidad documentan la ontologı́a cuando hacen explı́cita esta información en la wiki. Ontologı́a objetivo + OSMV (← Alineación de Ontologı́as ← Combinación). La combinación las ontologı́as objetivo y de documentación produce conocimiento de gran calado que redunda en una mayor comprensión de la ontologı́a original entre los miembros de la comunidad. OntoxicWiki (← Interfaces Semánticas de Usuario ← Internalización). OW dispone de una interfaz basada en wiki que presenta la información al usuarios en formato inteligible. Por tanto, OW no sólo actúa como herramienta externalizadora, sino también como medio de acceso, comprensión y asimilación de las ontologı́as documentadas. 88 4.3. Capı́tulo 4. Sword Resumen Objetivos Tecnologı́a Usuario objetivo Ontologı́as Propias Creadas por el usuario De edición de contenidos Lógica Fı́sica Organización del conocimiento Extensibilidad Extracción del conocimiento OntoxicWiki Documentación social de ontologı́as. Protégé (Java), MediaWiki (PHP y MySQL), OWL. Comunidades de usuarios (de empleados, de práctica, ciéntificos, etc.) no expertos en tecnologı́a. No tiene. Ontologı́a objetivo. OSMV para dirigir la documentación de la ontologı́a objetivo. Wiki. Base de datos. No dispone de mecanismos especı́ficos. Exportación del contenido a una ontologı́a OWL. Tabla 4.1: Caracterı́sticas de OntoxicWiki 4.4. Conclusiones OW es una aplicación social que permite documentar ontologı́as ası́ como reportar casos de uso y otra información de interés. Dispone de una wiki donde se almacenan y se documentan las ontologı́as. La wiki es una excelente plataforma para lograr este objetivo: es un medio de discusión, un repositorio de ideas y una herramienta para la colaboración [31]; además, representa las ontologı́as en formato humano, casi en lenguaje natural. OW utiliza una aproximación basada en una wiki sintáctica, como es MediaWiki, en lugar de usar una wiki semántica. No obstante, pese a no ser una de ellas, las analogı́as con las wikis semánticas son evidentes: la representación del conocimiento, el uso de ontologı́as, etc. Respecto a los dos tipos de wiki identificados por Buffa y otros [90], OW encaja parcialmente en ambos: por un lado, la interfaz de la wiki puede ser usada como editor de la ontologı́a objetivo; por otro, OSMV supedita la documentación de la ontologı́a objetivo en la wiki. A pesar de las semejanzas, existe una importante y sutil diferencia entre OW y las wikis semánticas: éstas poseen un modelo del conocimiento subyacente. Sus páginas categorizadas, relacionadas mediante typed links 4.4. Conclusiones 89 (enlaces con semántica), construyen dicho modelo. El objetivo de OW, en cambio, no es modelar el conocimiento, sino simplemente representar ontologı́as. OW no tipifica los recursos: los trata a todos de forma similar (eso sı́, cada uno con su propia representación). Las relaciones no son enlaces tipificados, sino artı́culos con información, igual que las clases o los individuos. En OW, la wiki es el medio, no el fin. Los objetivos de OW son completamente diferentes a los de otros trabajos relacionados. El propósito de OW es la documentación social de ontologı́as. Se espera que reproducir las experiencias positivas en otras áreas de gestión de la información (por ejemplo, bibliotecas digitales) e implementar tal vocabulario en conjunción con una infraestructura tecnológica sólida para crear, mantener y distribuir metadatos, incremente el valor real de las ontologı́as, facilitando su compartición y reutilización a gran escala [148], y mitigue los problemas relacionados con la alfabetización ontológica. Por otra parte, una ontologı́a siempre es una representación simplificada y abstracta del mundo creada para algún propósito. Existen incontables puntos de vista y propósitos, por lo que existen innumerables ontologı́as [125]. La documentación puede proporcionar la información necesaria al usuario para ayudarle a elegir la ontologı́a que mejor se adecúe a sus necesidades. No obstante, algunas wikis de las estudiadas en el capı́tulo 2 consideran este aspecto: Moki da soporte a distintos niveles de formalismo del conocimiento (informal para los expertos en el dominio y formal para los ingenieros de conocimiento). Se crea un alineamiento entre el conocimiento informal y su descripción formal. La documentación contenida en la parte informal es crı́tica para entender la parte formal. De este modo, el conocimiento puede ser explotado también por humanos. La diferencia con OW está en que la edición de contenido informal es libre y no se rige por ninguna ontologı́a especial de documentación. ODEWiki dispone de una función para describir instancias a través del portal ODESeW. El administrador puede definir el conjunto de atributos que será usado para describir las instancias de un concepto [65]. OW, por su parte, permite describir cualquier recurso de la ontologı́a, no sólo las instancias; y los atributos para documentar los proporciona OSMV. Ontobrowse también aborda la documentación de las arquitecturas SOA tendiendo un puente entre la información técnica y la docu- 90 Capı́tulo 4. Sword mentación de negocio. La documentación se realiza sobre las instancias de la ontologı́a y existen dos formas de hacerlo: añadiendo descripciones tanto formales como informales a las caracterı́sticas de una instancia o mapeando recursos de descripción arquitectural externos con las instancias de la ontologı́a. El primer método adolece de permitir la libre edición, mientras que el segundo mapea recursos externos sin garantı́as de que estos provengan de una ontologı́a estándar de documentación. OntoWiki permite hacer comentarios asociados a los recursos que pueden ser discutidos por la comunidad, pero no dispone de ningún sistema especı́fico de documentación. En SWiM el contenido se edita en OMDoc, formato que da soporte a todos los niveles de formalización, desde textos en lenguaje natural a representaciones completamente formales para la demostración automática de teoremas. Gracias a esta versatilidad, es posible documentar cualquier elemento, sentencia o teorı́a. OMDoc puede considerarse como un lenguaje de ontologı́as para las matemáticas donde se pueden identificar fácilmente ciertas correspondencias entre las ontologı́as de la WS y las ontologı́as matemáticas (ver tabla 4.4). Además, ambas a menudo se diseñan modularmente e importan otras ontologı́as o teorı́as. Sin embargo, la documentación de teorı́as matemáticas en lenguaje natural es individual, informal y no obedece a ningún patrón especı́fico. Ontologı́a Web Semántica Recurso (clase, propiedad, individuo) Axioma Ontologı́a Ontologı́a matemática Objeto/Sı́mbolo Sentencia Teorı́a Tabla 4.2: Equivalencia entre ontologı́as y matemáticas Con OSMV, lo que sus autores proponen es un sistema de documentación estandarizado, aceptado por la comunidad cientı́fica y con validez para cualquier ontologı́a. Lange y Kohlhase hablan de la necesidad de contar con una ontologı́a común en el núcleo de todas las wikis semánticas [96]. Aunque ellos se refieren a una ontologı́a de dominio, esta aseveración bien puede extenderse a una ontologı́a de documentación. 4.4. Conclusiones 91 OW puede usarse como editor ontológico, aunque no se recomienda este uso. Sin una metodologı́a adecuada, la ontologı́a evolucionarı́a de forma incontrolada y esto podrı́a acarrear efectos no deseados en la manera en la que los datos se clasifican y se recuperan en la wiki [149, 150, 151, 152, 153]. Finalmente, en el último capı́tulo se extraen las conclusiones más importantes y se plantean algunas lı́neas de trabajo para el futuro. Capı́tulo 5 Conclusiones y proyecto de investigación futura Hasta hace relativamente poco tiempo, el valor de la compañı́a estaba determinado principalmente por el valor de sus activos tangibles (recursos fı́sicos), pero en los años recientes, los cambios en la economı́a han invertido esta tendencia y se ha aceptado que en los activos intangibles, y principalmente en el conocimiento, se encuentra la llave de la ventaja competitiva en el nuevo mercado. Según el modelo de Nonaka y Takeuchi [118], la creación del conocimiento es un proceso que pasa por un ciclo de transformaciones entre el conocimiento tácito individual y el conocimiento explı́cito colectivo. El paso esencial de este ciclo es la externalización, que consiste en hacer explı́cito el conocimiento tácito con el objetivo de compartirlo. La gestión del conocimiento puede encontrar una poderosa aliada en la incipiente WS2.0 por cumplir una doble función: 1. La W2.0 es una plataforma natural de intercambio de conocimiento y colaboración. 2. Las tecnologı́as semánticas, y especialmente las ontologı́as, proporcionan un valioso instrumento para gestionar el conocimiento de manera eficiente. Existe una analogı́a entre conocimiento y ontologı́a: en la fase de exter93 94 Capı́tulo 5. Conclusiones y proyecto de investigación futura nalización, el conocimiento tácito se formaliza para poder ser compartido; del mismo modo, en el contexto de la WS2.0, la información de la Web se formaliza en ontologı́as para producir conocimiento reutilizable. Por lo tanto, crear conocimiento en la WS2.0 equivale a construir ontologı́as [30]. Sin embargo el uso de metodologı́as novedosas para gestionar el conocimiento, como las basadas en ontologı́as, requieren del pertinente aprendizaje por parte de los usuarios (empleados de la compañı́a o miembros de la organización). La creación de ontologı́as ha sido tradicionalmente responsabilidad de Ingenieros del Conocimiento en conjunción con expertos en el dominio. Para promover que esta tarea sea asumida por miembros no expertos de redes de conocimiento, es preciso contar con herramientas apropiadas que den soporte al acceso y gestión del conocimiento. Tales herramientas deben reunir dos requisitos: 1. Ofrecer la funcionalidad necesaria para externalizar el conocimiento. 2. Disponer de una interfaz semántica de usuario que permita interiorizar el conocimiento. De este modo, la creación de ontologı́as en comunidades surge de la interacción y la evolución natural de sus miembros, es decir, se trata de un proceso de semántica emergente. Al llevarse a cabo por grandes grupos de usuarios, se alcanza el máximo consenso, por lo que se minimizan los ocasionales problemas de interoperabilidad y reutilización. Más aun, estas posibles desventajas se convierten en una importante baza a favor del uso de ontologı́as. Las wikis semánticas son especialmente útiles para cumplir todos los requerimientos formulados: Son un sistema de publicación simple, fácil de aprender y rápido de usar [31]. Fomentan la participación colectiva. Constituyen una herramienta eficaz para gestionar el conocimiento en entornos colaborativos [154]. Proporcionan una sólida infraestructura que da soporte a los procesos de Ingenierı́a Ontológica [155]. 95 OW es una aplicación social que tiende puentes semánticos entre las actividades del ciclo de gestión del conocimiento. Esta herramienta basada en wiki permite documentar ontologı́as describiendo experiencias de uso y otra información de interés. La documentación se produce dentro de la propia comunidad, por lo que también se trata de un proceso de semántica emergente. La principal ventaja de OW respecto a otras aproximaciones similares es la propuesta de un estándar de documentación de ontologı́as. El estándar propuesto está implementado como una ontologı́a, y como tal, podrı́a refinarse por la propia comunidad que lo utiliza, fruto del consenso. El objetivo de OW es representar ontologı́as en formato humano y proveerlas de documentación adicional con información útil para terceros que permita identificarlas entre otras similares y reutilizarlas fácilmente. Sólo cuando el uso de ontologı́as esté lo suficientemente extendido, podremos hablar de la WS como una realidad. La popularidad de la WS2.0 es análoga a la de la W2.0. La Web fue originalmente concebida como un espacio de información hipertextual; pero el desarrollo de tecnologı́as cada vez más sofisticadas extendieron su uso como interfaz remota de software. El potencial de la Web de proporcionar una gama completa de aplicaciones no tuvo un éxito masivo hasta que no se desarrollaron aplicaciones web con interfaces de usuario ricas y con interactividad equivalente a la del PC [34]. El éxito de la W2.0 en convertir la Web en un medio masivo de participación ha demostrado que facilitar la contribución de contenido y hacerlo más accesible al público general puede revolucionar cualquier entorno, abriéndolo a nuevas aplicaciones antes inimaginables [138]. Una interfaz usable considera la experiencia del usuario [58], pues estos añaden valor mediante el uso [34]. Y al igual que los usuarios no técnicos han contribuido con cantidades significantes de texto libre en la W2.0, también tendrán cosas significantes que decir semánticamente. Lo que necesita la WS para despegar a escala global es dejar el poder en manos de los usuarios. El volumen de significado que las multitudes perciben es el volumen de datos que la WS necesita para alcanzar su tremendo potencial [139]. OW trata de dar un paso más en esa dirección. En el futuro, se espera presentar Sword, una herramienta basada en OW. Actualmente se encuentra en fase desarrollo y culminará con la evaluación del usuario. Algunas de las nuevas carácterı́sticas más relevantes con las que Sword espera contar son: 96 Capı́tulo 5. Conclusiones y proyecto de investigación futura WebProtégé1 [156]. OW está implementado como un plugin para Protégé 3.x. Esta versión es una aplicación de escritorio (local) que no permite el trabajo colaborativo y obliga a construir la ontologı́a individualmente. WebProtégé, en cambio, es una plataforma web que permite crear la ontologı́a por la comunidad desde cero. Razonamiento automático. OW no dispone de razonador propio. Es necesario cargar la ontologı́a en Protégé desde la wiki y ejecutar el razonador (Racer2 , Pellet3 , etc.) previamente instalado. Se espera que Sword posea su propio razonador integrado para inferir conocimiento o hacer comprobaciones, como chequear la consistencia de la ontologı́a, en tiempo de edición. Ontologı́a de edición. OW guı́a la edición de la wiki con plantillas que muestran la sintaxis general (en wikitexto) de cada tipo de artı́culo. Una ontologı́a de edición formaliza esta información y asiste al usuario mientras edita la wiki, en tiempo real. Control de versiones. Sword debe implementar un sistema de control global de versiones que registre la evolución de la ontologı́a y vaya más allá del mero control individual de cada artı́culo. También es necesario considerar otros aspectos importantes: Analizar la escalabilidad y compartibilidad en el modelado de ontologı́as [157]. Añadir estrategias complementarias al razonamiento automático que extiendan las caracterı́sticas de depuración de Sword. • Usar etiquetado y aplicar métodos de reconciliación semiautomáticos, por ejemplo, basados en agentes [158], para mantener las ontologı́as consistentes. • Usar técnicas de representación y depuración visual [159]. Estudiar alguna estrategia de población de Sword, por ejemplo, programando agentes que recopilen ontologı́as de la Web y las carguen automáticamente en la wiki. 1 http://webprotege.stanford.edu http://www.racer-systems.com 3 http://clarkparsia.com/pellet 2 97 Sword es el vehı́culo para alcanzar el verdadero objetivo: desarrollar una metodologı́a para la documentación social y colaborativa de ontologı́as en la Web Semántica. Apéndices 99 Apéndices A Ontologı́a OSMV A.1. Diagrama 101 102 Apéndices A. Ontologı́a OSMV Figura A.1: Diagrama de clases y relaciones de OSMV 103 A.2. Clases en detalle A.2. Clases en detalle Descripción DocumentationClass Clase principal que agrupa a todas las clases de documentación Propiedades object Propiedades datatype Individuos GlobalDocumentationClass LocalDocumentationClass Subclases Superclase Tabla A.1: Descripción de DocumentationClass GlobalDocumentationClass Clase que agrupa a las clases que docuDescripción mentan la ontologı́a globalmente Propiedades object Propiedades datatype Individuos LicenseModel Ontology OntologyEngineeringTool OntologyLanguage Subclases OntologySyntax OntologyTask OntologyType SocialDocumentationClass Superclase DocumentationClass Tabla A.2: Descripción de GlobalDocumentationClass 104 Apéndices A. Ontologı́a OSMV LocalDocumentationClass Clase que agrupa a las clases que documentan los recursos de la ontologı́a localmente Descripción Propiedades object Propiedades datatype Individuos Subclases Superclase comments deficiencies documentationResources userDescription DocumentationClass Tabla A.3: Descripción de LocalDocumentationClass Descripción Propiedades object Propiedades datatype Individuos Subclases Superclase LicenseModel Licencia de uso description documentation name AFL APSL BSD CPL CCL GPL IBM PL INTEL OSL LGPL mBSD MPL OSL GlobalDocumentationClass Tabla A.4: Descripción de LicenseModel A.3. Jerarquı́a de clases y propiedades Descripción Propiedades object Propiedades datatype Individuos Subclases Superclase Ontology Es la clase más importante. Representa a la ontologı́a objetivo hasLanguage hasLicense hasSocialDocumentation hasSyntax hasUsedEngineeringTool isDesignedForTask isOfType author creationDate description documentation domain keyClasses keywords knownUsage modificationDate name naturalLanguage notes numberOfAxioms numberOfClasses numberOfIndividuals numberOfProperties reference resourceLocator URI usesImports version GlobalDocumentationClass Tabla A.5: Descripción de Ontology A.3. Jerarquı́a de clases y propiedades 105 106 Apéndices A. Ontologı́a OSMV Descripción OntologyEngineeringTool Herramienta utilizada para crear la ontologı́a Propiedades object Propiedades datatype Individuos Subclases Superclase description documentation name Altova SemanticWorks IsaViz OilEd OntoBuilder OntoStudio Protégé SWOOP WebODE WSMO Studio GlobalDocumentationClass Tabla A.6: Descripción de OntologyEngineeringTool OntologyLanguage Lenguaje formal con el que se representa Descripción la ontologı́a Propiedades object hasSyntax description Propiedades datatype documentation name DAML+OIL OWL OWL-DL Individuos OWL-Full OWL-Lite RDF RDFS Subclases Superclase GlobalDocumentationClass Tabla A.7: Descripción de OntologyLanguage A.3. Jerarquı́a de clases y propiedades OntologySyntax Sintaxis utilizada para escribir la ontologı́a Descripción Propiedades object Propiedades datatype Individuos Subclases Superclase description documentation name OWL-XML RDF-XML GlobalDocumentationClass Tabla A.8: Descripción de OntologySyntax OntologyTask Tarea para la que fue concebida la ontologı́a Descripción Propiedades object Propiedades datatype Individuos Subclases Superclase description documentation name Annotation Configuration Filtering Indexing Integration Matching Mediation Personalization Query formulation Query rewriting Search GlobalDocumentationClass Tabla A.9: Descripción de OntologyTask 107 108 Apéndices A. Ontologı́a OSMV Descripción Propiedades object Propiedades datatype Individuos Subclases Superclase OntologyType Tipo de ontologı́a description documentation name Application Core Domain Task Upper level GlobalDocumentationClass Tabla A.10: Descripción de OntologyType SocialDocumentationClass Clase que engloba a la documentación soDescripción cial suministrada por el usuario Propiedades object description Propiedades datatype documentation name detectedInconsistencies expressiveDeficiencies realUsageExamples Individuos similarOntologies suggestions tools Subclases Superclase GlobalDocumentationClass Tabla A.11: Descripción de SocialDocumentationClass 109 A.3. Jerarquı́a de clases y propiedades (a) Clases (b) Relaciones (c) Atributos Figura A.2: Clases y propiedades de OSMV Apéndices B API de Protégé–OWL 111 112 Apéndices B. API de Protégé–OWL Figura B.1: API de Protégé–OWL Apéndices C Base de datos de MediaWiki 113 114 Apéndices C. Base de datos de MediaWiki Figura C.1: Sección de la base de datos de MediaWiki manipulada 115 Figura C.2: Base de datos de MediaWiki completa Bibliografı́a [1] T. Berners-Lee, Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web, Harper, San Francisco, USA, 1999 [2] D. Raggett, A. L. Hors, I. Jacobs (eds.) HTML 4.01 Specification, W3C Recommendation, 1999, http://www.w3.org/TR/html401 [3] G. Antoniou, F. van Harmelen, A Semantic Web Primer, MIT Press, 2004 [4] A. Geraci, IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries, IEEE, 1990 [5] L. L. Brownsword et al., Current Perspectives on Interoperability, CMU/SEI-2004-TR009, 2004 [6] T. Berners-Lee, J. Hendler, O. Lassila, The Semantic Web, Scientific American, 284(5), pp. 34–43, 2001 [7] A. R. Anderson (ed.), Controversia sobre Mentes y Máquinas, Tusquets, Barcelona, España, 1984 [8] T. Berners-Lee, What the Semantic Web can represent, 1998, http:// www.w3.org/DesignIssues/RDFnot.html [9] T. Bray et al. (eds.), Extensible Markup Language (XML) 1.0 (Fifth Edition), W3C Recommendation, 2008, http://www.w3.org/TR/xml [10] J. Bosak, T. Bray XML and the Second-Generation Web, Scientific American, 1999 [11] F. Manola, E. Miller (eds.), RDF Primer, W3C Recommendation, 2004, http://www.w3.org/TR/rdf-primer 117 118 Bibliografı́a [12] D. Brickley, R.V. Guha (eds.), RDF Vocabulary Description Language 1.0: RDF Schema, W3C Recommendation, 2004, http://www.w3.org/ TR/rdf-schema [13] P. Hitzler et al. (eds.), OWL 2 Web Ontology Language Primer, W3C Recommendation, 2009, http://www.w3.org/TR/owl-primer [14] R. Brachman, H. Levesque, Knowledge Representation and Reasoning, Morgan Kaufmann, 2004 [15] T. R. Gruber, Toward Principles for the Design of Ontologies used for Knowledge Sharing. In Proceedings of the International Workshop on Formal Ontology, 1993. International Journal of Human-Computer Studies, 43(5-6), pp. 907–928, 1995 [16] R. Neches et al., Enabling Technology for Knowledge Sharing, AI Magazine, 12(3), pp. 16–36, 1991 [17] T. R. Gruber, A Translation Approach to Portable Ontology Specifications. In Proceedings of the 7th Knowledge Acquisition for KnowledgeBased Systems Workshop, 1992. Knowledge Acquisition, 5(2), pp. 199– 220, 1993 [18] J. M. Bradshaw et al., Sharable Ontologies as a Basis for Communication and Collaboration in Conceptual Modeling. In Proceedings of the 7th Knowledge Acquisition for Knowledge-Based Systems Workshop, pp. 3.1–3.25, Banff, Alberta, Canada, 1992 [19] T. R. Gruber, The Role of Common Ontology in Achieving Sharable, Reusable Knowledge Bases. In Proceedings of the 2nd International Conference: Principles of Knowledge Representation and Reasoning, pp. 601–602, Morgan Kaufmann, San Mateo, California, USA, 1991 [20] D. Skuce, I. Monarch,Ontological Issues in Knowledge Base Design: Some Problems and Suggestions. In Proceedings of the 5th Knowledge Acquisition for Knowledge-Based Systems Workshop, Banff, Alberta, Canada, 1990 [21] M. Cutkosky et al., PACT: An Experiment in Integrating Concurrent Engineering Systems, IEEE Computer, 26(1), pp. 28–37, 1993 [22] R. Fikes et al., Knowledge Sharing Technology Project Overview, Technical Report KSL, pp. 91–71, Stanford University, Knowledge Systems Laboratory, 1991 Bibliografı́a 119 [23] M. R. Genesereth, An Agent-Based Framework for Software Interoperability, DARPA Software Technology Conference, Meridian Corporation, Arlington VA, pp. 359–366, 1992. [24] T. R. Gruber, J. M. Tenenbaum, J. C. Weber Toward a Knowledge Medium for Collaborative Product Development. In Artificial Intelligence in Design ’92, Kluwer Academic Publishers, Boston, USA, 1992 [25] R. S. Patil et al., The DARPA Knowledge Sharing Effort: Progress Report. In Proceedings of the 3rd International Conference: Principles of Knowledge Representation and Reasoning, Morgan Kaufmann, Cambridge, MA, USA, 1992 [26] E. Walther, H. Eriksson, M. A. Musen, Plug and play: Construction of Task-Specific Expert-System Shells using Sharable Context Ontologies, Technical Report KSl-92-40, Knowledge Systems Laboratory, Stanford University, 1992 [27] N. Noy, D. McGuinness. Ontology Development 101: A Guide to creating your First Ontology, Technical Report No. KSL-01-05, Stanford University, 2001 [28] M. Fernandez, A. Gomez-Perez, N. Juristo, METHONTOLOGY: From Ontological Art towards Ontological Engineering, AAAI, Spring Symposium on Ontological Engineering, Stanford University, 1997 [29] J. T. Pollock, R. Hodgson, Adaptive Information, Willey Interscience, 2004 [30] G. A. Aranda-Corral, J. Borrego-Dı́az, A. Jiménez-Mavillard, Social Ontology Documentation for Knowledge Externalization, In Proceedings of the 4th MTSR. CCIS, 108, pp. 137–148, Springer-Verlag, Berlin, Heidelberg, Germany, 2010 [31] B. Leuf, W. Cunningham, The Wiki Way: Quick Collaboration on the Web, Addison-Wesley, Boston, USA, 2001 [32] M. Krötzsch, D. Vrandecic, M. Völkel Semantic MediaWiki. In Proceedings of the 5th ISWC. LNCS, 4273, pp. 935–942, Springer-Verlag, Berlin, Heidelberg, Germany, 2006 [33] A. Ebersbach et al., Wiki: Web Collaboration, Springer Science+Business Media. Springer-Verlag, Berlin, Heidelberg, Germany, 2006 120 Bibliografı́a [34] T. O’Reilly, What is Web 2.0 Design Patterns and Business Models for the Next Generation of Software, 2005, http://oreilly.com/web2/ archive/what-is-web-20.html [35] J. J. Garret, The Elements of User Experience: User-Centered Design for the Web, New Raiders, 2002 [36] D. L. McGuinness, Conceptual Modeling for Distributed Ontology Environments. In Proceedings of ICCS ’00. Conceptual Structures: Logical, Linguistic, and Computational Issues, LNAI 1867, pp. 100–112, Springer-Verlag, Berlin, Heidelberg, Germany, 2000 [37] A. Passant et al., Federating Distributed Social Data to Build an Interlinked Online Information Society, IEEE Inteligent Systems, 24(6), pp. 44– 48, 2009 [38] K. Kawamoto, Y. Kitamura, Y. Tijerino, KawaWiki: A Semantic Wiki Based on RDF Templates. In Proceedings of the IEEE/WC/ACM International Conference on Web Intelligence and Intelligent Agent Technology ’06. IEEE, 2006. [39] S. Schaffert, IkeWiki: A Semantic Wiki for Collaborative Knowledge Management. In Proceedings of the 15th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE ’06). IEEE, pp. 388–396, 2006 [40] E. Oren et al., Annotation and Navigation in Semantic Wikis. In Proceedings of the 1st Workshop on Semantic Wikis, CEUR-WS, 206, Budva, Montenegro, 2006 [41] K. Dello, E. P. B. Simperl, R. Tolksdorf, Creating and using Semantic Web Information with Makna. In Proceedings of the 1st Workshop on Semantic Wikis (SemWiki ’06). CEUR-WS, 206, 2006 [42] C. Lange et al. (eds.), Proceedings of the 5th Workshop on Semantic Wikis (SemWiki ’10), CEUR-WS, 632, Hersonissos, Heraklion, Crete, Greece, 2010 [43] C. Lange et al. (eds.), Proceedings of the 4th Workshop on Semantic Wikis (SemWiki ’09), CEUR-WS, 464, Hersonissos, Heraklion, Crete, Greece, 2009 [44] C. Lange et al. (eds.), Proceedings of the 3rd Workshop on Semantic Wikis (SemWiki ’08), CEUR-WS, 360, Tenerife, España, 2008 Bibliografı́a 121 [45] M. Völkel, S. Schaffert (eds.), Proceedings of the 1st Workshop on Semantic Wikis (SemWiki ’06), CEUR-WS, 206, 2006 [46] T. Kuhn, AceWiki: A Natural and Expressive Semantic Wiki. In Proceedings of Semantic Web User Interaction, CHI ’08: Exploring HCI Challenges, 2008 [47] N. E. Fuchs, K. Kaljurand, T. Kuhn, Attempto Controlled English for Knowledge Representation. In Proceedings of the 4th International Summer School: Reasoning Web, Venice, Italy, 2008 [48] J. Fischer, Ideas and Improvements for Semantic Wikis, In Proceedings of the 3rd ESWC, LNCS 4011, pp. 650–663, Springer-Verlag, Berlin, Heidelberg, Germany, 2006 [49] D. Vrandecic, M. Krötzsch, Reusing Ontological Background Knowledge in Semantic Wikis In Proceedings of the 1st Workshop on Semantic Wikis. CEUR-WS, 206, Budva, Montenegro, 2006 [50] E. Bozsak et al., KAON - Towards a Large Scale Semantic Web. In Proceedings of the 3rd International Conference on E-Commerce and Web Technologies (EC-Web ’02). Aix-en-Provence, France, 2002 [51] R. Volz, KAON SERVER - A Semantic Web Management System. In Alternate Track Proceedings of the 12th International World Wide Web Conference (WWW ’03), Budapest, Hungary, 2003, ACM, 2003. [52] S. Schaffert, R. Westenthaler, A. Gruber, IkeWiki: A User-Friendly Semantic Wiki. In Proceedings of the 3rd ESWC – Demonstrations Track, Budva, Montenegro, 2006 [53] S. Schaffert, A. Gruber, R. Westenthaler, A Semantic Wiki for Collaborative Knowledge Formation. In Proceedings of Semantics ’05, Vienna, Austria, 2005 [54] E. Prud’hommeaux, A. Seaborne (eds.), SPARQL Query Language for RD, W3C Recommendation, 2008, http://www.w3.org/TR/ rdf-sparql-query [55] M. Kiesel, Kaukolu: Hub of the Semantic Corporate Intranet. In Proceedings of the 1st Workshop on Semantic Wikis – From Wiki To Semantics, CEUR-WS, 206, 2006 122 Bibliografı́a [56] L. Yang, M. Qian, W. Fang, An Interactive Mathematics Education Platform based on Topic-Based Deep Search, In Proceedings of the 2nd International Workshop on Education Technology and Computer Science. ETCS, 2(6-7), pp. 163–169, IEEE, 2010 [57] C. von Hinten, A. Hense, M. Razum, A Wiki for Collaboration and Publication in Research. In Proceedings of the 4th International Conference on eScience, pp. 790–794. IEEE, 2008 [58] S. Schaffert, The KiWi Vision: Collaborative Knowledge Management, Powered by the Semantic Web, 2008, http://www.kiwi-project. eu/index.php/kiwi-vision [59] S. Schaffert et al., KiWi – A Platform for Semantic Social Software. In Proceedings of the 6th ESWC, Heraklion, 2009. LNCS, 5554, pp. 888– 892, Springer-Verlag, Berlin, Heidelberg, Germany, 2009 [60] M. Rospocher et al., MoKi: the Modelling wiKi. In Proceedings of the 4th Workshop on Semantic Wikis (SemWiki ’09), Hersonissos, Heraklion, Crete, Greece, 2009 [61] C. Ghidini, MoKi: The Enterprise Modelling wiKi. In Proceedings of the 6th ESWC, Heraklion, Greece, 2009. LNCS, 5554, pp. 831–835, SpringerVerlag, Berlin, Heidelberg, Germany, 2009 [62] M. S. Fox, M. Grüninger, Enterprise Modeling, AI Magazine, 19(3), pp. 109–121, 1998 [63] C. Ghidini, M. Rospocher, L. Serafini, MoKi: a Wiki-Based Conceptual Modeling Tool In Proceedings of the 9th ISWC, Shanghai, China, 2010. CEUR-WS, 658, pp. 77–80, 2010 [64] A. Siles et al., ODEWiki: A Semantic Wiki That Interoperates with the ODESeW Semantic Portal. In Proceedings of the 5th ESWC, Tenerife, España, 2008. LNCS 5021, pp. 859–863, Springer-Verlag, Berlin, Heidelberg, Germany, 2008 [65] O. Corcho et al., ODESeW: Automatic Generation of Knowledge Portals for Intranets and Extranets. In Proceedings of 2nd ISWC. LNCS, 2870, pp. 802–817, Springer-Verlag, Berlin, Heidelberg, Germany, 2003 [66] S. Staab, J. Angele, AI for the Web – Ontology-based Community Web Portals. In Proceedings of the 17th National Conference on Artificial Intelligence (AAAI ’00), AAAI Press, 2000 Bibliografı́a 123 [67] J. C. Arpı́rez et al., WEBODE in a Nutshell, AI Magazine, 24(3), pp. 37–47, 2003 [68] J. C. Arpı́rez et al., WebODE: a Scalable Ontological Engineering Workbench. In Proceedings of the 1st International Conference on Knowledge Capture (KCAP ’01), Victoria, Canada, 2001. ACM Press, pp. 6– 13, New York, USA, 2001 [69] O. Corcho et al., WebODE: An Integrated Workbench for Ontology Representation, Reasoning and Exchange. In Proceedings of the 13th International Conference on Knowledge Engineering an Knowledge Management (EKAW ’02), 2002 [70] B. Adida, M. Birbeck (eds.), RDFa Primer: Bridging the Human and Data Webs, W3C Working Group, 2008, http://www.w3.org/TR/ xhtml-rdfa-primer [71] M. R. Henderson, K. B. Clark, Architectural Innovation: The Reconfiguration of Existing Product Technologies and the Failure of Established Firms. In Proceedings of Administrative Science Quarterly, 35, pp. 9–30, 1990 [72] H.-J. Happel, S. Seedorf Ontobrowse: A Semantic Wiki for Sharing Knowledge about Software Architectures. In Proceedings of the 19th International Conference on Software Engineering and Knowledge Engineering (SEKE ’07), pp. 506–512, Boston, Massachusetts, USA, 2007 [73] A. Cockburn The Interaction of Social Issues and Software Architecture, ACM, 39(10), pp. 40–46, 1996 [74] M. Geisser et al., New Applications for Wikis in Software Engineering, CEUR-WS, 328, pp. 145–160, 2008 [75] M. H. Huhns, M. P. Singh, Service-Oriented Computing: Key Concepts and Principles, IEEE Internet Computing, 9(1), pp. 75–81, 2005 [76] N. Bieberstein et al., Service-Oriented Architecture Compass: Business Value, Planning, and Enterprise Roadmap, IBM Press, 2005 [77] I. Horrocks et al., SWRL: A Semantic Web Rule Language Combining OWL and RuleML, W3C Member Submission, 2004, http://www.w3. org/Submission/SWRL [78] S. Auer, S. Dietzold, T. Riechert OntoWiki – A Tool for Social, Semantic Collaboration. In Proceedings of the 5th International Semantic Web 124 Bibliografı́a Conference (ISWC ’06), Athens, USA, 2006. LNCS, 4273, pp. 736–749, Springer-Verlag, Berlin, Heidelberg, Germany, 2006 [79] W. Maalej, D. Panagiotou, H.-J. Happel, Towards Effective Management of Software Knowledge Exploiting the Semantic Wiki Paradigm. In Proceedings of Software Engineering ’08, pp. 183–197, 2008 [80] S. Lohmann, T. Riechert, S. Auer, Collaborative Development of Knowledge Bases in Distributed Requirements Elicitation. In Proceedings of Software Engineering ’08, pp. 22–28, 2008 [81] D. Feinstein, F. Smadja, Hierarchical Tags and Faceted Search: The Rawsugar Approach. In Proceedings of SIGIR ’06 Workshop on Faceted Search, pp. 23–25, 2006 [82] S. Auer, Powl – A Web Based Platform for Collaborative Semantic Web Development. In Proceedings of the 1st Workshop Scripting for the Semantic Web (SFSW ’05), Hersonissos, Heraklion, Greece, 2005. CEUR-WS, 135, 2005 [83] R. Oldakowski et al., RAP: RDF API for PHP. In Proceeding of the International Workshop on Interpreted Languages ’04, MIT Press, 2004 [84] A. Seaborne, RDQL - A Query Language for RDF, W3C Member Submission, 2004, http://www.w3.org/Submission/RDQL [85] D. Vrandecic et al., SMW+ User Manual, Ontoprise GmbH, Karlsruhe, Germany, 2009 [86] M. Krötzsch et al., Semantic Wikipedia. In Proceedings of the 15th World Wide Web Conference, Edinburgh, Scotland. ACM Press, pp. 585–594, 2006 [87] M. Krötsch, D. Vrandecic, M. Völkel. Wikipedia and the Semantic Web - The Missing Links. In Proceedings of the 1st International Wikimedia Conference (Wikimania ’05), Frankfurt, Germany, 2005 [88] G. De Giacomo, M. Lenzerini, TBox and ABox Reasoning in Expressive Description Logics, AAAI Technical Report WS-96-05 Compilation, 1996 [89] Y. Ma, P. Hitzler, Z. Lin, Paraconsistent Reasoning for Expressive and Tractable Description Logics. In Proceedings of the 21st International Workshop on Description Logics, Dresden, Germany, 2008. CEUR-WS, 353, 2008. Bibliografı́a 125 [90] M. Buffa et al., SweetWiki: A Semantic Wiki In Proceedings of Web Semantics: Science, Services and Agents on the World Wide Web. Elsevier, 6(1), pp. 84–97, 2008 [91] M. Buffa et al., SweetWiki: Semantic Web Enabled Technologies in Wiki. In Proceedings of the 1st Workshop on Semantic Wikis — From Wiki To Semantics (SemWiki ’06), pp. 74–88, 2006 [92] S. Pemberton et al., XHTMLTM 1.0 The Extensible HyperText Markup Language (Second Edition): A Reformulation of HTML 4 in XML 1.0, W3C Recommendation, 2000, http://www.w3.org/TR/xhtml1 [93] O. Corby, R. Dieng, C. Faron-Zucker, Quering the Semantic Web with CORESE Search Engine. In Proceedings of the 16th European Confernence in Artificial Intelligence (ECAI’04). IOS Press, Valencia, Spain, 2004. [94] M. Kohlhase, OMDoc – An Open Markup Format for Mathematical Documents [Version 1.2], LNAI, 4180, Springer-Verlag, Berlin, Heidelberg, Germany, 2006 [95] C. Lange, M. Kohlhase, SWiM – A Semantic Wiki for Mathematical Knowledge Management In Proceedings of the 5th European Semantic Web Conference, 2008. LNCS, 5021, pp. 832–837, Springer-Verlag, Berlin, Heidelberg, Germany, 2008 [96] C. Lange, M. Kohlhase, Towards Scientific Collaboration in a Semantic Wiki, In Proceedings of Bridging the Gap between Semantic Web and Web 2.0 (SemNet ’07), pp. 119–126, 2007 [97] R. Ausbrooks et al., Mathematical Markup Language (MathML) Version 3.0, W3C Recommendation, 2010, http://www.w3.org/TR/ MathML3 [98] M. Kohlhase, F. Rabe, Semantics of OpenMath and MathML3. In Proceedings of the 22nd OpenMath Workshop CICM ’09, Grand Bend, Ontario, Canada, 2009 [99] A. Berglund (ed.), Extensible Stylesheet Language (XSL) Version 1.1, W3C Recommendation, 2006, http://www.w3.org/TR/xsl [100] C. Lange, M. Kohlhase, A Mathematical Approach to Ontology Authoring and Documentation. In Proceedings of MKM/Calculemus ’09. LNAI, 5625, pp. 389–404, Springer-Verlag, Berlin, Heidelberg, Germany, 2009 126 Bibliografı́a [101] B. Krieg-Brückner et al., Semantic Interrelation of Documents via an Ontology. In DeLFI ’04, Tagungsband der 2. e-Learning Fachtagung Informatik, Paderborn, Germany, 2004. LNCS, 5224, pp. 104–124, SpringerVerlag, Berlin, Heidelberg, Germany, 2004 [102] K. Bollacker et al., Freebase: A Collaboratively Created Graph Database For Structuring Human Knowledge. In Proceedings of SIGMOD ’08, Vancouver, BC, Canada. ACM, 2008 [103] K. Siorpaes, M. Hepp, myOntology: The Marriage of Ontology Engineering and Collective Intelligence. In Proceedings of Bridging the Gap between Semantic Web and Web 2.0, 2007 [104] S. E. Campanini, P. Castagna, R. Tazzoli, Towards a Semantic WikiWikiWeb. In Proceedings of the 3rd International Semantic Web Conference (ISWC ’04), Hiroshima, Japan, 2004 [105] A. Souzis, Building a Semantic Wiki, IEEE Intelligent Systems, 20(5), 2005 [106] E. Decker et al., Self-Organized Reuse of Software Engineering Knowledge supported by Semantic Wikis. In Proceedings of the Workshop on Semantic Web Enabled Software Engineering (SWESE ’05), 4th ISWC, Galway, Ireland, 2005 [107] E. Oren, Semperwiki: a Semantic Personal Wiki. In Proceedings of the 1st Workshop on The Semantic Desktop, 2005 [108] [107] D. Aumueller, Semantic Authoring and Retrieval within a Wiki. In Proceedings of the 2nd European Semantic Web Conference (ESWC ’05), Heraklion, Greece, 2005 [109] D. Aumueller, S. Auer, Towards a Semantic Wiki Experience – Desktop Integration and Interactivity in WikSAR. In Proceedings of the 1st Workshop on The Semantic Desktop, 4th ISWC, Galway, Ireland, 2005 [110] L. J. B. Nixon, Integrating Knowledge, Semantics and Digital Media into the Multimedia Generation Process. In Proceedings of the 2nd European Workshop on the Integration of Knowledge, Semantics and Digital Media Technology, 2005 [111] S. Boll and W. Klas, ZYX-A Multimedia Document Model for Reuse and Adaptation of Multimedia Content, IEEE Transactions on Knowledge and Data Engineering, 13(3), pp. 361–382, 2001 Bibliografı́a 127 [112] L. J. B. Nixon, E. P. B. Simperl, Makna and Multimakna: Towards Semantic and Multimedia Capability in Wikis for the Emerging Web. In Proceedings of Semantics ’06, Vienna, Austria, 2006 [113] J. Tramullas Saz, P. Garrido Picazo, Organización de Información en Herramientas Wiki: Aplicación de Ontologı́as en Wikis Semánticos. In Proceedings of Nuevas Perspectivas para la difusión y organización del conocimiento, ISKO España, 1, pp. 605–612, Valencia, España, 2009 [114] E. Penrose, The Theory of the Growth of the Firm, Oxford University Press, 1959 [115] P. F. Drucker, The Age of Discontinuity: Guidelines to our Changing Society, Harper & Row, New York, USA, 1969 [116] D. Fensel, Silver Bullet for Knowledge Management and Electronic Commerce, Springer-Verlag, Berlin, Germany, 2001 [117] J. Davies, D. Fensel, F. van Harmelen (eds.), Towards the Semantic Web: Ontology-Driven Knowledge Management, John Wiley & Sons, 2003 [118] I. Nonaka, H. Takeuchi, The Knowledge-Creating Company: How Japanese Companies Create the Dynamics of Innovation, Oxford University Press, 1995 [119] G. Bateson, Steps to an Ecology of Mind: Collected Essays in Anthropology, Psychiatry, Evolution and Epistemology, University of Chicago Press, 1972 [120] V. Alexiev et al., Information Integration with Ontologies: Experiences from an Industrial Showcase, John Wiley & Sons, 2005 [121] F. Emery, Characteristics of Socio-Technical Systems: Introduction to the Concept of Socio-Technical Systems. In Design of Jobs, pp. 177–198, Penguin Books, Harmondsworth, 2000 [122] P. Cudré-Mauroux, Emergent Semantics, MIT Computer Science and Artificial Intelligence Laboratory, Cambridge, USA, 2007 [123] O. Nykänen, Semantic Web for Evolutionary Peer-to-Peer Knowledge Space, UPGRADE, 10(1), pp. 33–40, 2009 [124] Q. Martı́n-Moreno Cerillo, Aprendizaje Colaborativo y Redes de Conocimiento. In Proceedings of the 9th Jornadas Andaluzas de Organización y Dirección de Instituciones Educativas, Granada, España. Grupo Editorial Universitario, pp. 55–70, 2004 128 Bibliografı́a [125] V. Zacharias et al., Mind the Web. In Proceedings of the 6th International Conference on the Semantic Web (ISWC ’07), Busan, Korea, 2007 [126] A. Maedche et al., Emergent Semantics, IEEE Inteligent Systems, Trends & Controversies, 17(1), pp. 78–86, 2002 [127] J. Euzenat, P. Shvaiko, Ontology Matching, Springer-Verlag, Heidelberg, Alemania, 2007 [128] M. A. Hearst, Information Integration, IEEE Intelligent Systems, pp. 12–24, 1998 [129] B. Swartout et al., Toward Distributed Use of Large-Scale Ontologies. In Proceedings of the 10th Knowledge Acquisition for Knowledge-based Systems Workshop, Banff, Alberta, Canada, 1996 [130] H. Eriksson et al., Automatic Generation of Ontology Editors. In Proceedings of the 12th Knowledge Acquisition for Knowledge-based Systems Workshop, Banff, Alberta, Canada, 1999 [131] N. F. Noy, M. A. Musen, SMART: Automated Support for Ontology Merging and Alignment. In Proceedings of the 12th Workshop on Knowledge Acquisition, Modeling and Management, Banff, Alberta, Canada, 1999 [132] D. Oliver, Change Management for Shared and Locally Divergent Healthcare Terminologies. In Proceedings of the International Medical Informatics Association Working Group 6- Medical Concept Representation and Natural Language Processing Conference, Phoenix, Arizona, 1999 [133] A.-C. Boury-Brisset, Ontologies for Coalition Interoperability. In Proceedings of the NATO RTO Symposium (MP-064), Information Management Challenges in Achieving Coalition Interoperability, Québec, Canada, 2001 [134] H. Muljadi et al., Semantic MediaWiki: a User-Oriented System for Integrated Content and Metadata Management System. In Proceedings of the IADIS International Conference WWW/Internet ’05, Lisbon, Portugal, 2005 [135] D. F. Huynh et al., The Semantic User Interface Paradigm for Presenting Semi-Structured Information, MIT Artificial Intelligence Laboratory, Cambridge, USA, 2002 Bibliografı́a 129 [136] D. F. Huynh, D. Karger, D. Quan, Haystack: A Platform for Creating, Organizing and Visualizing Information Using RDF. In Proceedings of the Semantic Web Workshop, 11th World Wide Web Conference (WWW ’02), 2002 [137] D. F. Huynh, D. Quan, D. Karger, User Interaction Experience for Semantic Web Information. In Proceedings of WWW ’03. ACM, Budapest, Hungary, 2003 [138] M. van Kleek et al., Simplifying Knowledge Creation and Access for EndUsers on the SW. In Proceedings of CHI ’08. ACM, Florence, Italy, 2008 [139] S. Davies et al., Making the Semantic Web Usable: Interface Principles to Empower the Layperson, Journal of Digital Information, 12(1), 2011 [140] C. Müller, L. Birn, Wikis for Collaborative Software Documentation. In Proceedings of I-KNOW ’06, Graz, Austria, 2006 [141] A. Jiménez-Mavillard, J. Borrego-Dı́az, G. A. Aranda-Corral, Una Herramienta para la Documentación Colaborativa de Ontologı́as, Conferencia Internacional de Software Libre (OSWC ’08), Málaga, España, 2008 [142] N. Noy et al., Creating Semantic Web Contents with Protégé-2000, IEEE Intelligent Systems, 16(2), pp. 60–71, 2001 [143] N. F. Roy, R. W. Fergerson, M. A. Musen, The Knowledge Model of Protege-2000: Combining Interoperability and Flexibility. In Proceedings of the 2nd International Conference on Knowledge Engineering and Knowledge Management (EKAW ’00), Juan-les-Pins, France, 2000 [144] H. Knublauch et al., The Protégé OWL Plugin: An Open Development Environment for Semantic Web Applications. In Proceedings of the 3rd International Semantic Web Conference: The Semantic Web – ISWC ’04, Hiroshima, Japan, 2004. LNCS, 3298, pp. 229–243, Springer-Verlag, Berlin, Heidelberg, Germany, 2004 [145] J. Hartmann et al., DEMO – Design Environment for Metadata Ontologies. In Proceedings of the 3rd European Semantic Web Conference (ESWC ’06), Budva, Montenegro, 2006. LNCS, 4011, pp. 427–441, Springer-Verlag, Berlin, Heidelberg, Germany, 2006 [146] J. Hartmann et al., Ontology Metadata Vocabulary and Applications, LNCS, 3762, pp. 906–915, Springer-Verlag, Berlin, Heidelberg, Germany, 2005 130 Bibliografı́a [147] H. Neuhaus, M. Compton, The Semantic Sensor Network Ontology: A Generic Language to Describe Sensor Assets. In Proceedings of the AGILE Workshop Challenges in Geospatial Data Harmonisation, 2009 [148] R. Palma, J. Hartmann, P. Haase, OMV: Ontology Metadata Vocabulary for the Semantic Web, OMV Consortium, 2009 [149] M. Klein et al., Ontology Versioning and Change Detection on the Web. In Proceedings of the 13th International Conference on Knowledge Engineering and Management (EKAW ’02), 2002 [150] H. S. Pinto, S. Staab, C. Tempich, DILIGENT: Towards a Fine-Grained Methodology for Distributed, Loosely-Controlled and Evolving Engineering of Ontologies. In Proceedings of the European Conference of Artificial Intelligence (ECAI ’04), pp. 393–397, 2004 [151] L. Stojanovic et al., User-Driven Ontology Evolution Management. In Proceedings of the 13th European Conference on Knowledge Engineering and Management (EKAW ’02), 2002 [152] Y. Sure, C. Tempich, D. Vrandecic, Ontology Engineering Methodologies, Semantic Web Technologies: Trends and Research in Ontologybased Systems, Wiley, 2006 [153] P. R. S. Visser et al., An Analysis of Ontological Mismatches: Heterogeneity versus Interoperability. In Proceedings of the AAAI Spring Symposium on Ontological Engineering (AAAI ’97), 1997 [154] M. Völkel, E. Oren, Semantic Wikis for Personal Knowledge Management. In Proceedings of DEXA ’06. LNCS, 4080, pp. 509–518, SpringerVerlag, Berlin, Heidelberg, 2006 [155] N. Kasisopha, P. Wongthongtham, F. K. Hussain, Semantic Wiki as a Basis for Software Engineering Ontology Evolution, OTM 2009 Workshops. LNCS, 5872, pp. 858–865, Springer-Verlag, Berlin, Heidelberg, Germany, 2009 [156] T. Tudorache, J. Vendetti, N. F. Noy, Web-Protégé: A lightweight OWL Ontology Editor for the Web. In Proceedings of the 5th OWL Experiences and Directions Workshop (OWLED ’08). CEUR-WS, Karlsruhe, Germany, 2008 Bibliografı́a 131 [157] M. Jarrar, M. Meersman, Scalability and Knowledge Reusability in Ontology Modeling. In Proceedings of the International conference on Infrastructure for e-Business, e-Education, e-Science and e-Medicine, 2002 [158] G. Aranda-Corral, J. Borrego-Dı́az, Reconciling Knowledge in Social Tagging Web Services. In Proceedings of the 5th International Conference on Hybrid Artificial Intelligence Systems, part II. LNCS, 6077, pp. 383–390, Springer-Verlag, Berlin, Heidelberg, Germany, 2010 [159] J. Borrego-Dı́az, A. M. Chávez-González, Visual Ontology Cleaning: Cognitive Principles and Applicability. In Proceedings of the 3th ESWC. LNCS, 4011, pp. 317–331, Springer-Verlag, Berlin, Heidelberg, Germany, 2006