Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias de la Computación TESIS DE MAESTRÍA EN CIENCIAS Metodología para la creación de ontologías de dominio utilizando la técnica de mezcla de ontologías basada en parámetros Presentada por Sabino Pariente Juárez Ing. en Sistemas Computacionales por el I. T. de Zacatepec como requisito para la obtención del grado de: Maestría en Ciencias en Ciencias de la Computación Director de tesis: Dr. Hugo Estrada Esquivel Co-Director de tesis: Dr. María del Carmen Suárez de Figueroa Baonza Jurado: Dr. Juan Gabriel González Serna – Presidente Dra. Alicia Martínez Rebollar – Secretario Dr. Hugo Estrada Esquivel – Vocal Cuernavaca, Morelos, México. 29 de febrero de 2012 I II Agradecimientos Agradezco primeramente a Dios por haberme permitido realizar este trabajo de tesis. Al Consejo Nacional de Ciencia y Tecnología (CONACYT) por el apoyo económico que proporcionó durante la realización y desarrollo de esta tesis. Al Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) por darme la oportunidad de enrolarme en el programa de maestría en ciencia en ciencias de la computación. A mi director de tesis el Dr Hugo Estrada Esquivel y mi codirectora de tesis la Dra. María del Carmen Suarez de Figueroa Baonza por las grandes aportaciones que tuvieron para este trabajo de tesis. A mis revisores la Dra. Alicia Martínez Rebollar, el Dr. Javier Ortiz Hernández y el Dr Jorge Hermosillo Valadez, por su tiempo dedicado en la revisión de esta tesis. Al Ontology Engineering Gruop por permitirme realizar la estancia de investigación en sus instalaciones A los profesores de Cenidet que me ayudaron a formarme académicamente A la mis compañeros del laboratorio de Sistemas Distribuidos, por los grandes momentos de locura y desesperación que vivimos, también uno que otro momento de diversión. A todas estas personas les doy mis más sinceros agradecimientos III Dedicatorias Dedico este trabajo con todo amor y cariño Primeramente a mi madre María de los Ángeles Juárez Castañeda por darme siempre esas motivaciones y regaños para siempre seguir adelante A mis hermanos Roberto Carlos Pariente Juárez y Adriana Pariente Juárez, y mi sobrinita Alexa Tanairi Cervantes Pariente y mi Cuñado Rubén Cervantes Reyes A mis tíos Mercedes, Martha Patricia y Raúl. A mi tío Clemente Juárez A todo el resto de mi familia, me llevaría otra tesis en nombrarlos…. A mis profesores del CENIDET. A la Dra Alicia Martinez y al Dr Hugo Estrada A Mari Carmen Suarez Figueroa A mis compañeros y amigos; Eliel, Everardo, Nimrod, Nazir, Felipe, Ricardo, Kaliz, Emma, El vago. A los Kushules A Liliana Ramírez A Cinthia Ocampo A mi hermanita Cinthya Patricia A mi amiga Norma Angélica Céspedes Cadena Les dedico este trabajo de tesis por que han sido parte importante a lo largo de mi vida y principalmente en el tiempo en que estuve realizando la maestría en Cenidet IV Abstract Nowadays, in the context of semantic web, ontologies have become an important element for the creation of web sites, due to they allow providing semantic to the information and to the resources within a web site. This semantic allows internet users to be able to find responses to their questions in a faster and more exact way through semantic search engines. Semantic web does require ontologies to represent knowledge since they are the mechanism which allows exposing the conceptual model that exists behind each page or web resource. Nevertheless, their creation is a complicated and time and effort consuming process since it requires experts in the knowledge domain (such as Medicine, Government, Biology, etc) and ontology engineers to build a conceptual model that represents in a correct way the analyzed domain. For this reason, techniques and methodologies that allow reusing (small) ontologies to build an ontology that contains all the information represented in each specific ontology have been proposed. The union of these fragments of knowledge is known as domain ontology. It is possible to establish that a domain ontology is equivalent to the knowledge of an expert in a specific topic. In the context of ontology engineering there exist different techniques which can be used to build a domain ontology in a faster and less consuming way by reusing the knowledge represented in other ontologies. However, despite these techniques can be useful to quickly build a conceptual model of the domain, the resultant ontologies usually obtained can be too large, containing both the irrelevant and relevant information for the purpose established. This thesis represents a methodology for domain ontology building, which keeps the relevant information and disregards irrelevant information for the purpose of the ontology. This methodology is based on ontology reuse techniques: a) modularization of ontologies, b) mapping of ontologies and c) merging of ontologies, which have been properly combined in a methodology that allows creating simpler and easier to consult domain ontologies. V Resumen Actualmente, en el contexto de la web semántica, las ontologías se han convertido en un elemento importante para la creación de sitios web, ya que permiten proporcionar semántica a la información y a los recursos contenidos en dichos sitios. Ésta semántica permite qué los usuarios de internet puedan encontrar respuestas más rápidas y precisas a sus preguntas a través de motores de búsqueda semánticos. La Web semántica requiere necesariamente de ontologías para representar conocimiento, ya son el mecanismo que permite exponer el modelo conceptual que existe detrás de cada página o recurso Web. Sin embargo, su creación es un proceso complicado y costoso en tiempo y esfuerzo, ya que requiere de expertos en el dominio de conocimiento (por ejemplo, Medicina, Gobierno, Biología, etc.) e ingenieros de ontologías para construir un modelo conceptual que represente correctamente el dominio analizado. Por esta razón, se han propuesto técnicas y metodologías que permiten reutilizar (pequeñas) ontologías específicas, que representan un fragmento del dominio, para crear una más grande que contenga una información más competa del dominio. A la unión de esos fragmentos de conocimiento se le conoce como ontología de dominio. Es posible establecer que una ontología de dominio es equivalente al conocimiento de un experto sobre un tema específico. En el contexto de la ingeniería ontológica, existen diferentes técnicas que permiten construir una ontología de dominio de una forma más rápida y menos costosa a partir de la reutilización del conocimiento representado en otras ontologías. Sin embargo, a pesar de que estas técnicas pueden ser de utilidad para crear rápidamente un modelo conceptual del dominio, las ontologías resultantes obtenidas usualmente pueden ser demasiado grandes, conteniendo información tanto relevante como irrelevante para el propósito que se desee dar a la información. Esta tesis presenta una metodología de construcción de ontologías de dominio, que preserva la información relevante e ignora la información irrelevante para los usos que se desea dar a la información. Esta metodología está basada en las técnicas de reutilización de ontologías: a) modularización, b) mapeo y c) mezcla, las cuales han sido apropiadamente combinadas en una metodología que permite crear ontologías de dominio más simples y fáciles de consultar. VI Contenido CAPÍTULO 1. INTRODUCCIÓN 1 1.1 MOTIVACIÓN 1.2 PLANTEAMIENTO DEL PROBLEMA 1.2.1 SOLUCIÓN PROPUESTA 1.3 OBJETIVO DE LA TESIS 1.4 CONTEXTO DE LA TESIS 1.5 ESQUEMA DE LA TESIS 2 2 3 3 3 5 CAPÍTULO 2. FUNDAMENTOS TEÓRICOS 6 2.1 WEB SEMÁNTICA 2.2 ONTOLOGÍAS 2.2.1 ONTOLOGÍAS DE DOMINIO 2.2.2 OWL: UN LENGUAJE DE ONTOLOGÍAS WEB 2.3 REUTILIZACIÓN DE ONTOLOGÍAS 2.3.1 LA MODULARIZACIÓN DE ONTOLOGÍAS 2.3.2 LA MEZCLA DE ONTOLOGÍAS 2.3.3 EL MAPEO DE ONTOLOGÍAS 6 7 7 7 8 8 8 9 CAPÍTULO 3. ESTADO DEL ARTE 10 3.1 INTRODUCCIÓN 3.2 METODOLOGÍAS PARA LA CONSTRUCCIÓN DE ONTOLOGÍAS 3.2.1 METODOLOGÍA NEON 3.2.2 METODOLOGÍA METHONTOLOGY 3.2.3 LA METODOLOGÍA ON-TO-KNOWLEDGE 3.2.4 METODOLOGÍA DILIGENT 3.3 METODOLOGÍAS PARA LA CONSTRUCCIÓN DE ONTOLOGÍAS DE DOMINIO 3.3.1 A COMPREHENSIVE GUIDELING FOR BUILDING A DOMAIN ONTOLOGY FROM SCRATCH 3.3.2 TEXTONTOEX 3.3.3 ONTOLOGÍA DE DOMINIO QUE APRENDE DE LA WEB 3.4 ENFOQUES ACTUALES PARA MEZCLA DE ONTOLOGÍAS 3.4.1 CREATION AND MERGING OF ONTOLOGY TOP-LEVELS 3.4.2 FCA-MERGE: BOTTOM-UP MERGING OF ONTOLOGIES 3.4.3 ATOM: AUTOMATIC TARGET-DRIVEN ONTOLOGY MERGING 3.5 CONCLUSIONES 10 11 11 11 12 13 14 14 15 16 16 16 17 17 18 VII CAPÍTULO 4. LA METODOLOGÍA CREADO 19 4.1 INTRODUCCIÓN 4.2 FASE DE ESTUDIO Y PREPARACIÓN DE LAS ONTOLOGÍAS 4.2.1 MÉTODO DE EVALUACIÓN DE ONTOLOGÍAS 4.2.1.1 Módulo de evaluación de clases 4.2.1.2 Módulo de evaluación de propiedades 4.2.1.3 Módulo de evaluación de la taxonomía 4.2.2 MÉTODO DE DEFINICIÓN DEL PARÁMETRO DE MEZCLA 4.3 FASE DE ADQUISICIÓN DEL CONOCIMIENTO 4.3.1 MÉTODO DE EXTRACCIÓN DE MÓDULOS DE LA ONTOLOGÍA 4.3.1.1 El proceso de extracción de módulos 4.3.2 MÉTODO DE MAPEO DE ONTOLOGÍAS 4.3.2.1 Calculo de la similitud ontológica 4.3.2.2 Propiedades de alineamiento 4.4 FASE DE CONSTRUCCIÓN DE LA ONTOLOGÍA DE DOMINO 4.4.1 MÉTODO DE MEZCLA DE ONTOLOGÍAS 4.5 CONCLUSIONES 19 20 20 24 24 25 25 26 26 27 29 30 33 34 34 35 CAPÍTULO 5. HERRAMIENTA CREADO 36 5.1 INTRODUCCIÓN 5.2 ANÁLISIS Y DISEÑO DE LA HERRAMIENTA CREADO 5.3 ARQUITECTURA DE LA HERRAMIENTA CREADO 5.4 PAQUETE DE ALMACENAMIENTO DE INFORMACIÓN 5.4.1 OMVCORE 5.4.2 METAMODELO OMVLIR 5.4.3 METAMODELO OMVPROPERTYPITFALLS 5.4.4 METAMODELO OMVONTOLOGYMODULE 5.4.5 METAMODELO OMVMAPPING 5.5 PROTOTIPO 5.6 CONCLUSIONES 36 36 39 39 40 41 42 43 44 44 45 CAPÍTULO 6. CASOS DE ESTUDIO Y PRUEBAS 46 6.1 INTRODUCCIÓN 6.2 CASOS DE ESTUDIO 6.2.1 CONJUNTO DE ONTOLOGÍAS DE LOS MODELOS I* 6.2.2 CONJUNTO DE ONTOLOGÍAS DEL DOMINIO “TURÍSTICO” 6.3 PRUEBAS 6.3.1 ONTOLOGÍA DE DOMINIO PARA LOS MODELOS DE I* 6.3.2 CONSTRUCCIÓN DE UNA ONTOLOGÍA DE DOMINIO DEL TRANSPORTE 6.3.3 CONSTRUCCIÓN DE UNA ONTOLOGÍA DE DOMINIO DEL TURISMO 6.4 CONCLUSIONES 46 46 46 49 50 51 53 55 56 VIII CAPÍTULO 7. CONCLUSIONES Y TRABAJOS FUTUROS 57 7.1 CONCLUSIONES 7.1.1 CONTRIBUCIONES 7.2 TRABAJOS FUTUROS 57 58 58 REFERENCIAS 59 ANEXOS 62 ANEXO 1. ONTOLOGÍA DE DOMINIO DE MODELO I* ANEXO 2. ONTOLOGÍA DE DOMINIO DE TURISMO ANEXO 3. ONTOLOGÍA DE DOMINIO DE TRANSPORTE 62 63 65 IX Índice de figuras Figura 1.1. Arquitectura de proyecto de investigación de (Garcia, 2010)............................. 4 Figura 2.1. Diferencia entre la web actual y la web semántica (Castells, 2003). .................. 6 Figura 3.1. Proceso de desarrollo de ontologías METHONTOLOGY (SuárezFigueroa, 2010).................................................................................................................... 11 Figura 3.2. Proceso de desarrollo de software de la metodología On-To-Knowledge (Fensel et al., 2000) ............................................................................................................. 13 Figura 3.3 Proceso de desarrollo de ontologías de DILIGENT (Pinto et al., 2004)............ 14 Figura 3.4. El proceso general de mezcla de ontologías de FCA-Merge ............................ 17 Figura 4.1. Arquitectura de la Metodología CreaDO .......................................................... 20 Figura 4.2 Método de evaluación de ontologías .................................................................. 20 Figura 4.3. Clasificación de errores de acuerdo a las dimensiones definidas en (Poveda-Villalón et al., 2010).............................................................................................. 21 Figura 4.4. Diagrama de flujo del método de evaluación de ontologías ............................. 23 Figura 4.5. Método de extracción de módulos de ontologías .............................................. 27 Figura 4.6. Pila de similitud ontológica (Marc Ehrig & Sure, 2004) .................................. 30 Figura 5.1. Diagrama de actores de la metodología CreaDO. ............................................. 37 Figura 5.2. Diagrama de metas de la metodología CreaDO ................................................ 37 Figura 5.3 Diagrama de actores de la herramienta CreaDO ................................................ 38 Figura 5.4. Diagrama de paquetes de la herramienta CreaDO ............................................ 39 Figura 5.5. Paquete de extensiones OMV ........................................................................... 40 Figura 5.6. Metamodelo OMV de (Hartmann et al., 2005) ................................................. 41 Figura 5.7. Metamodelo OMVLIR (Montiel-Ponsoda et al., 2008) .................................... 42 Figura 5.8. Metamodelo OMVPropertyPitfalls ................................................................... 43 Figura 5.9. Metamodelo OMVOntologyModule ................................................................. 43 Figura 5.10. Metamodelo OMVMapping ............................................................................ 44 Figura 5.11. Interfaz gráfica de la herramienta CreaDO ..................................................... 45 Figura 6.1. Conceptos clave de la ontología del metamodelo i* ......................................... 47 Figura 6.2. Conceptos clave de la ontología del metamodelo Tropos ................................. 48 Figura 6.3. Conceptos clave de la ontología del metamodelo i* orientado a servicios ....... 49 Figura 6.4. Conceptos clave de la ontología Etp-Tourist .................................................... 50 Figura 6.5. Conceptos clave de la ontología OTN .............................................................. 50 X Figura 6.6. Ejecución de la herramienta CreaDO creando la Ontología de dominio del Modelo i*. ...................................................................................................................... 52 Figura 6.7. Vista de conceptos principales de la ontología de dominio del Modelo i* resultante.............................................................................................................................. 52 Figura 6.8. Ejecución de la herramienta CreaDO creando la Ontología de dominio de transportes en el turismo. ..................................................................................................... 54 Figura 6.9. Vista de conceptos principales de la ontología de dominio de transportes resultante.............................................................................................................................. 54 Figura 6.10. Ejecución de la herramienta CreaDO creando la Ontología de dominio del Turismo. ......................................................................................................................... 55 Figura 6.11. Vista de conceptos principales de la ontología de dominio de turismo resultante.............................................................................................................................. 56 XI Índice de tablas Tabla 4.1. Clasificación de errores comunes de acuerdo al elemento ontológico ............... 22 Tabla 4.2. Módulos de evaluación del método de evaluación de ontologías ...................... 23 Tabla 4.3. Algoritmo del proceso de extracción de módulos presentado en (Doran et al., 2007) .............................................................................................................................. 28 Tabla 4.4. Entradas del método de modularización de ontologías ...................................... 29 Tabla 4.5. Reglas de mapeo clasificadas en las capas de complejidad semántica (Ehrig & Sure, 2004) ........................................................................................................... 31 Tabla 4.6. Tabla de medidas de similitud ............................................................................ 32 Tabla 4.7. Uso de las propiedades de correspondencia en las entidades ontológicas. ........ 34 Tabla 6.1 Información estadística de la ontología del metamodelo i* ................................ 47 Tabla 6.2 Información estadística de la ontología del modelo Tropos ................................ 47 Tabla 6.3. Información estadística de la ontología del modelo orientado a servicios ......... 48 Tabla 6.4. Información estadística de la ontología ETP-Tourism ....................................... 49 Tabla 6.5. Información estadística de la ontología OTN ..................................................... 50 Tabla 6.6. Tabla de conceptos equivalentes de la ontología del Modelo i* ........................ 52 Tabla 6.7. Tabla de conceptos equivalentes de la ontología dominio de transportes en el turismo. ............................................................................................................................ 54 Tabla 6.8. Tabla de conceptos equivalentes de la ontología dominio del turismo .............. 56 XII Sabino Pariente Juárez Introducción Capítulo 1. Introducción En el contexto de la web semántica, la construcción de una ontología es un proceso que requiere invertir mucho tiempo y esfuerzo cuando se realiza tanto la adquisición del conocimiento como el desarrollo de la ontología. Este tiempo y esfuerzo es mucho mayor cuando se trata de una ontología que describe el conocimiento de un dominio. En el área de la ingeniería ontológica se han propuesto diversas metodologías y técnicas que facilitan la construcción manual o automática de ontologías. Dentro de estas técnicas existen las técnicas de reutilización de ontologías que nos permiten obtener el conocimiento descrito en otras ontologías y construir una nueva ontología. Estas técnicas permiten disminuir el tiempo y el esfuerzo utilizado en la creación de una ontología. Además se han vuelto una ayuda para los ingenieros de ontologías en la especificación de un cierto dominio de conocimiento. Sin embargo al utilizar estas técnicas es posible que la ontología resultante incluya tanto información relevante como irrelevante para los propósitos de su utilización. El objetivo de esta tesis es proporcionar una nueva metodología que permita la construcción de ontologías de dominio de propósito específico, describiendo todo el conocimiento de un dominio. La metodología propuesta utiliza técnicas de reutilización de ontologías (como la mezcla y modularización de ontologías y el filtrado de mapeos), además se utiliza un parámetro que ayuda a filtrar la información de la nueva ontología generada. De esta manera, se pretende reducir la información irrelevante que puede tener la generación de una ontología de forma automática La metodología propuesta está formada por cinco métodos que permiten llevar a cabo el proceso de construcción de la ontología de dominio. Estos métodos son: a) Método de evaluación de ontologías, el cual permite detectar los errores de diseño, tanto funcionales como estructurales de las ontologías fuente. Además también extiende la ontología con información léxica (sinónimos). b) Método de definición del parámetro, el cual permite. definir el parámetro de mezcla y obtener sus sinónimos. Este parámetro define el propósito de la ontología de dominio. c) Método de extracción de módulos de ontologías, el cual permite obtener los elementos más relevantes para el propósito de la ontología. d) Método para la identificación de mapeos entre las ontologías, que identifica los elementes comunes (o las correspondencias) entre las ontologías fuente (o de entrada). Además, el método filtra los mapeos de acuerdo al parámetro de mezcla. e) Un método de mezcla de ontologías que construye la ontología utilizando los elementos identificados en el método de modularización de ontología y los mapeos identificados en el método de mapeo de ontologías. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 1 Sabino Pariente Juárez Introducción 1.1 Motivación Hoy en día, las ontologías son utilizadas como medio de representación de conocimiento en áreas como la ingeniería del conocimiento, la inteligencia artificial o la web semántica. En la web semántica, las ontologías pueden ser utilizadas por motores de búsqueda semántica o por anotadores semánticos como base de conocimiento para consultar información relacionada a un dominio de conocimiento. Una ontología puede construirse de forma manual, sin embargo esto lo hace ser una tarea muy compleja en tiempo y esfuerzo ya que requiere de expertos en el dominio que proporcionen su conocimiento y de ingenieros de ontologías que construyan ésta utilizando el saber proporcionado por los expertos. Esta tarea se complica aún más cuando se trata de la construcción de ontologías que pretendan describir una mayor parte de la información que describe un dominio de conocimiento. Por lo tanto, en la Web semántica no existen muchas ontologías que describan toda la información referente a los conceptos de un dominio de conocimiento, tal como lo menciona (d’Aquin et al., 2007) en su afirmación: “La Web Semántica está caracterizada por un gran número de ontologías pequeñas y ligeras, y un número muy reducido de ontologías heterogéneas, de gran escala y con gran cobertura”. En este mismo contexto (d’ Aquin et al., 2007) declara que “la cantidad de conocimiento publicado en la web semántica (por ejemplo el número de ontologías y de documentos semánticos disponibles en línea) está incrementando rápidamente y ha alcanzado el punto crítico requerido para permitir la visión de un verdadero conocimiento web heterogéneo, distribuido y a gran escala”. En este sentido actualmente existen técnicas que soportan la creación de ontologías utilizando técnicas de reutilización, las cuales utilizan el conocimiento definido en ontologías creadas con anterioridad para construir una nueva ontología que incluya más información acerca de un dominio. 1.2 Planteamiento del problema En el contexto de la web semántica y la ingeniería ontológica existen metodologías como Methontology (Fernandez, Gomez-Perez, & Juristo, 1997), Digilent (Pinto, Staab, & Tempich, 2004), OnToKnowledge (Sure, 2002) y NeOn Methodology (Suárez-Figueroa, 2010) que proponen métodos para llevar a cabo el proceso de desarrollo de ontologías de manera manual o semiautomática. De la misma manera, trabajos como (Marc Ehrig, 2006), (Cuenca Grau, 2005), (Alasoud, 2009) proponen construir ontologías utilizando técnicas de reutilización de ontologías, tal como el alineamiento de ontologías, la integración de ontologías o la mezcla de ontologías. Estas técnicas pretenden ayudar los ingenieros a construir ontologías de una forma menos costosa en tiempo y esfuerzo, puesto que no se depende de la participación de expertos, si no del conocimiento descrito por las ontologías. Sin embargo, en estas técnicas, al utilizar ontologías que fueron definidas para diferentes propósitos, es posible que la nueva ontología incluya elementos tanto relevantes como irrelevantes para el propósito de la ontología. Por lo cual disminuye el entendimiento y navegabilidad de la ontología. Por otra parte, los trabajos de (Dahab, Hassan, & Rafea, 2008) y (Sánchez, 2009), presentan propuestas para construir ontologías de dominio también de una forma Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 2 Sabino Pariente Juárez Introducción semiautomática. La diferencia es que estos trabajos proporcionan métodos para añadir conocimiento a una ontología de base, y proporcionar todos los conceptos que definen un dominio de conocimiento, logrando mantener la información relevante para el propósito deseado. Sin embargo, estos trabajos se limitan sólo a describir un dominio de acuerdo a los conceptos y relaciones definidos en la ontología base, por lo que no permite declarar nuevo conocimiento en la ontología. 1.2.1 Solución propuesta Como se mencionó anteriormente, se han identificado dos problemas principales, a) la falta de ontologías heterogéneas, de gran escala y con gran cobertura, y b) la falta de ontologías de dominio que incluyan únicamente información relevante para un propósito específico. Por lo tanto, partiendo de las afirmaciones hechas por (d’ Aquin et al., 2007), en esta tesis se plantea la posibilidad de utilizar el conocimiento definido en ontologías (específicas) para construir una nueva ontología que incluya toda la información definida en la ontologías reutilizadas. Para lograr este objetivo, en esta tesis se propone una metodología, llamada CreaDO, para la construcción semiautomática de ontologías de dominio, la cual utiliza la técnica de mezcla de ontologías. Por otra parte, es posible filtrar el conocimiento descrito en las ontologías reutilizadas con el fin de ignorar el conocimiento irrelevante y preservar el conocimiento relevante para el propósito de la nueva ontología. Por lo tanto, la metodología propuesta utiliza la técnica de modularización de ontologías, filtrado de mapeos (correspondencias) y un parámetro que trabaja en conjunto con estas dos técnicas para filtrar la información irrelevante. 1.3 Objetivo de la tesis En base a la solución propuesta se definió el siguiente objetivo de tesis. “Desarrollar una nueva metodología para la construcción automática de ontologías de dominio que incluya únicamente el conocimiento relevante para los propósitos de su utilización con técnicas de reutilización de ontologías”. 1.4 Contexto de la tesis Esta tesis forma parte del proyecto de investigación “Una nueva arquitectura para búsquedas de información en la web basada en un enfoque de anotación semántica” (García, 2010) que tiene como objetivo plantear una nueva arquitectura para la búsqueda de información en la Web que tome como entrada una representación semántica, la cual resulta de un proceso exhaustivo y automático de anotación semántica de contenidos de la Web actual. La Figura 1.1 muestra la arquitectura general del proyecto de investigación. La arquitectura general presenta cinco componentes (herramientas) principales: Spider: Este componente obtiene la información y los recursos de un sitio Web dado. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 3 Introducción Sabino Pariente Juárez Anotador semántico: Este componente construye ontologías a partir de la información y de los recursos (artículos científicos descritos en lenguaje natural) de los sitios web obtenidos por el Spider Creador de ontologías de dominio: Este componente construye ontologías de dominio a partir de las ontologías creadas por el anotador semántico. Estas ontologías son utilizadas como base de conocimiento para el motor de búsqueda semántico y para el anotador semántico. La herramienta CreaDO propuesta en esta tesis realiza el proceso de creación de las ontologías de dominio Indexador semántico: Este componente realiza un índice de los recursos de la base de conocimiento. Motor de búsqueda semántica: Este componente consulta la base de recursos indexados para poder proporcionar respuestas semánticas a los usuarios que consultan información de un dominio. Figura 1.1. Arquitectura de proyecto de investigación Teseo (Garcia, 2010) Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 4 Sabino Pariente Juárez Introducción 1.5 Esquema de la tesis El resto de la tesis está organizado de la siguiente manera: Capítulo 2: Fundamentos teóricos. Este capítulo define los conceptos relevantes asociados con la temática abordada en esta tesis. Capítulo 3: Estado del arte. Este capítulo proporciona una revisión de los trabajos relacionados con esta tesis. Los temas principales de los trabajos presentados son: Creación de ontologías de dominio, metodologías de construcción de ontologías y técnicas de reutilización de ontologías. Capítulo 4: La metodología CreaDO. Este capítulo presenta una descripción detallada de la metodología CreaDO propuesta para la construcción de ontologías de dominio. Capítulo 5: La herramienta CreaDO. Este capítulo presenta el análisis y el diseño de la herramienta desarrollada en este trabajo de investigación, a la cual se le ha denominado también CreaDO. La herramienta es una implementación de la Metodología. Capítulo 6: Casos de estudio y pruebas. Este capítulo presenta los casos de estudio y pruebas realizadas con la herramienta CreaDO. Capítulo 7: Conclusiones y trabajos futuros. Este capítulo resume las contribuciones de esta tesis, incluyendo los trabajos futuros, y las publicaciones realizadas. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 5 Sabino Pariente Juárez Fundamentos teóricos Capítulo 2. Fundamentos teóricos Este capítulo presenta los conceptos y temas asociados al contexto de la creación de ontologías web. La sección 2.1 presenta la descripción de la web semántica. La sección 2.2 presenta la definición y tipos de ontologías y el lenguaje de ontologías web. Por último, la sección 2.3 presenta el concepto de reutilización de ontologías y describe específicamente la técnica de mezcla de ontologías. 2.1 Web semántica La web semántica aboga por clasificar, dotar de estructura y anotar los recursos con semántica explicita con el fin de obtener la representación del conocimiento procesable por computadoras. En la Figura 2.1 se ilustra la diferencia entre la web actual y la web semántica. Actualmente la web se asemeja a un grafo formado por nodos del mismo tipo, y arcos (hiperenlaces) donde, por ejemplo, no se hace distinción entre la página personal de un profesor y el portal de una tienda online, como tampoco se distinguen explícitamente los enlaces a las asignaturas que imparte un profesor de los enlaces a sus publicaciones. Por el contrario, en la web semántica cada nodo (recurso) tiene un tipo (profesor, tienda, pintor, libro), y los arcos representan relaciones explícitamente diferenciadas (pintor–obra, profesor–departamento, libro–editorial), (Castells, 2003). Para construir la Web semántica se necesita representar el conocimiento de forma legible por las computadoras, que el conocimiento sea consensuado, y que pueda ser reutilizable. Las ontologías proporcionan la vía para representar este conocimiento, de esta manera. Figura 2.1. Diferencia entre la web actual y la web semántica (Castells, 2003). Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 6 Sabino Pariente Juárez Fundamentos teóricos 2.2 Ontologías El término ‘ontología’ es utilizado en filosofía para hablar acerca de una ‘teoría sobre la existencia’, ha sido adoptado por la comunidad de investigadores de inteligencia artificial para definir una categorización y las relaciones entre sus términos (Berners-Lee, Hendler, & Lassila, 2001). En los trabajos de (Borst, 1997) se establece que, "una ontología es una especificación formal de una conceptualización compartida". En el contexto de ingeniería web, una ontología representa una taxonomía y un conjunto de reglas de inferencia. La taxonomía define las clases de objetos y de relaciones entre ellos. Las clases, subclases y relaciones entre entidades son herramientas de gran potencia para usarlas en la Web (Lamarca, 2007). Las reglas de inferencias por su parte ofrecen la posibilidad de que una ontología pueda expresar condiciones. Es importante hacer notar que cuando se establece que un programa puede deducir cosas, no nos referimos a que realmente las entienda, sino a que puede manipular los términos de forma efectiva con la finalidad de producir información útil para un usuario 2.2.1 Ontologías de dominio Una ontología de dominio es aquella que describe el vocabulario de un dominio concreto del conocimiento (Lamarca, 2007). 2.2.2 OWL: un lenguaje de ontologías web El lenguaje de ontologías web (OWL) (McGuinness & Van Harmelen, 2004) está diseñado para ser usado en aplicaciones que necesitan procesar el contenido de la información en lugar de únicamente representar información para los humanos. OWL facilita un mejor mecanismo de interoperabilidad de contenido Web que los mecanismos admitidos por XML, RDF, y esquema RDF (RDF-S) proporcionando vocabulario adicional junto con una semántica formal. OWL tiene tres sublenguajes, con un nivel de expresividad creciente: OWL Lite, OWL DL, y OWL Full. OWL proporciona más vocabulario que RDF para describir propiedades y clases tal como: relaciones entre clases (por ejemplo “clases disjuntas”), cardinalidad (por ejemplo “exactamente uno”), igualdad, más tipos para las propiedades, características de las propiedades (por ejemplo “simetría”), y clases enumeradas. OWL Lite está diseñado para aquellos usuarios que necesitan principalmente una clasificación jerárquica y restricciones simples. Por ejemplo, a la vez que admite restricciones de cardinalidad, sólo permite establecer valores cardinales de 0 o 1. OWL Lite proporciona una ruta rápida de migración para tesauros y otras taxonomías. OWL Lite tiene también una menor complejidad formal que OWL DL. OWL DL está diseñado para aquellos usuarios que quieren la máxima expresividad conservando completitud computacional (se garantiza que todas las conclusiones sean computables), y decidibilidad (todos los cálculos acaban en un tiempo finito). OWL DL incluye todas las construcciones del lenguaje de OWL, pero sólo pueden ser usados Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 7 Sabino Pariente Juárez Fundamentos teóricos bajo ciertas restricciones (por ejemplo, mientras una clase puede ser una subclase de otras muchas clases, una clase no puede ser una instancia de otra). OWL DL es denominado de esta forma debido a su correspondencia con la lógica de descripción (Description Logics, en inglés), un campo de investigación que estudia la lógica que compone la base formal de OWL. OWL Full está diseñado para usuarios que quieren máxima expresividad y libertad sintáctica de RDF sin garantías computacionales. Por ejemplo, en OWL Full una clase puede ser considerada simultáneamente como una colección de clases individuales y como una clase individual propiamente dicha. OWL Full permite una ontología para aumentar el significado del vocabulario preestablecido (RDF u OWL). Es poco probable que un software de razonamiento sea capaz de obtener un razonamiento completo para cada característica de OWL Full. 2.3 Reutilización de ontologías La reutilización de ontologías según (Figueroa & Perez, 2008) se refiere a la utilización de una ontología o un módulo de ontología en la solución de diferentes problemas. La reutilización de ontologías es una actividad que permite emplear una ontología o un módulo, en por ejemplo, el desarrollo de nuevas ontologías, el desarrollo de diferentes aplicaciones basadas en ontologías o en la actividad de alineamiento. 2.3.1 Modularización de ontologías En (Doran, Tamma, & Iannone, 2007) se define la modularización de ontologías como una técnica que puede ayudar a solucionar el problema de identificar fragmentos de una ontología, los cuales pueden ser reutilizados con el fin de permitir a los desarrolladores incluir estos fragmentos en sus nuevas ontologías. En (Figueroa & Perez, 2008) se define la modularización como la actividad de identificación de uno o más módulos en un ontología con el objetivo de soportar la reutilización o el mantenimiento. Además también define la extracción de módulos de ontologías como la actividad de obtener desde una ontología módulos concretos para ser utilizados en un propósito especifico (por ejemplo, para contener un sub-vocabulario particular de la ontología original). 2.3.2 Mezcla de ontologías En (Suárez-Figueroa, 2010) se menciona que la mezcla de ontologías es “una actividad que consiste en obtener una nueva ontología desde muchas ontologías de un mismo dominio. La ontología permite unificar conceptos, terminología y limitaciones de definición, desde las ontologías fuente. La mezcla de dos ontologías puede ser llevada a cabo tanto en tiempo de diseño o en tiempo de ejecución”. En (Svab-Zamazal, 2010) se menciona que la mezcla de ontologías es “una tarea a nivel ontológico de mezclar la descripción de las entidades de dos ontologías donde correspondencias han sido tomadas en cuenta”. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 8 Sabino Pariente Juárez Fundamentos teóricos En (Ehrig, 2006) se define que para la mezcla, “una nueva ontología es creada desde dos o más ontología. En este caso, la nueva ontología deberá unificar y reemplazar las ontologías originales. Esto a menudo requiere considerar una adaptación y extensión. Los elementos instancia de las ontologías originales son presentados dentro de la nueva ontología”. En esta tesis se ha tomado en cuenta las definiciones de estos autores para definir el método de mezcla utilizado en la solución propuesta. 2.3.3 El mapeo de ontologías En (Euzenat & Valtchev, 2004) se define el mapeo de ontologías como: “Dadas dos ontologías que describen un conjunto discreto de entidades (las cuales pueden ser clases, instancias, propiedades , predicados), encuentra relaciones (por ejemplo de equivalencia o subsunción) que capturan entre ellos estas entidades”. En (Ehrig, 2006) se utiliza el mapeo de ontologías en consultas de diferentes ontologías. Un mapeo representa una función entre ontologías. Las ontologías originales no cambian, pero los axiomas de mapeo describen como los conceptos, las relaciones y las instancias son expresadas en términos de la segunda ontología. Estos mapeos están separados de las ontologías. A menudo los mapeos son aplicados en una sola dirección. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 9 Sabino Pariente Juárez Estado del arte Capítulo 3. Estado del arte En este capítulo se presenta el estudio del estado del arte, donde se muestran los trabajos relacionados con la construcción de ontologías. La sección 3.1 presenta se presenta los criterios contemplados para evaluar los trabajos relacionados. Además, describe la categorización en la que los trabajos relacionados están clasificados. Las secciones 3.2, 3.3 y 3.4 presentan los trabajos de cada categorización definida. Por último, la sección 3.5 presenta las conclusiones del estudio del estado del arte. 3.1 Introducción El estudio del estado del arte relacionado a la construcción de ontologías de dominio envuelve tres temas principales: a) Metodologías para la construcción de ontologías, b) Construcción semiautomática de ontologías de dominio y c) la mezcla de ontologías. En cada una de estos tópicos se describen diferentes trabajos que tienen propósitos diferentes. Sin embargo, estos trabajos cuentan con características en común que están relacionadas con la construcción de ontologías de forma manual o semiautomática. Una actividad inicial en la elaboración del estado del arte es la categorización de trabajos relacionados. Los trabajos analizados en el estado del arte han sido categorizados según los tópicos principales. A continuación se describen estas categorías: Metodologías para la construcción de ontologías. En esta categoría se describen las metodologías más conocidas para la construcción de ontologías. Construcción de ontologías de dominio. En esta categoría se presentan trabajo que proponen técnicas o métodos para crear ontologías de dominio. Mezcla de ontologías. Esta categoría describe los trabajos que proponen métodos de creación de nuevas ontologías utilizando la mezcla de ontologías. A continuación se presenta el conjunto de criterios que se tomaron en cuenta para describir cada trabajo de una manera uniforme. Los criterios que se utilizan para la evaluación son los siguientes: Descripción general del trabajo evaluado: Presenta la descripción de su objetivo general del trabajo, las entradas y salidas del trabajo. Reutilización de recursos: Se evalúa si el trabajo propuesto reutiliza recursos ontológicos y/o no ontológicos para el proceso de construcción de la ontología. Aportaciones para la el trabajo de investigación: se realiza análisis de las aportaciones que puede tener el trabajo propuesto con el trabajo de tesis. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 10 Sabino Pariente Juárez Estado del arte 3.2 Metodologías para la construcción de ontologías Esta sección presenta cuatro metodologías que permiten realizar más conocidas en la construcción de ontologías. 3.2.1 Metodología NeOn La metodología NeOn (Suárez-Figueroa, 2010) soporta el modelado colaborativo de redes de ontologías, la reutilización de ontologías, así como la evolución dinámica de una red de ontologías en ambientes distribuidos. Los puntos clave de la metodología NeOn son: a) un conjunto de nueve escenarios para la construcción de ontologías y redes de ontologías, enfatizando la reutilización de recursos ontológicos y no ontológicos, la reingeniería y la mezcla, y tomando en cuenta el dinamismo y la reutilización, b) el glosario de procesos y actividades, el cual identificó y define los procesos y las actividades que se realizan durante la construcción de las redes de ontologías colaborativamente, y por último, un conjunto de guías metodológicas para procesos y actividades relativas al proceso de desarrollo de la ontología. 3.2.2 Metodología Methontology La metodología METHONTOLOGY de (Fernandez et al., 1997) permite la construcción de ontologías en el nivel de conocimiento. Para ello, esta metodología presenta un proceso de desarrollo de ontologías que permite identificar qué tareas serán realizadas cuando se construyen una ontología. Las tareas que se pueden realizar con esta metodología se pueden organizar en 3 categorías: las tareas administración, las tareas orientadas al desarrollo y tareas de soporte (Figura 3.1) Figura 3.1. Proceso de desarrollo de ontologías METHONTOLOGY (Suárez-Figueroa, 2010) 1. Tareas de administración: incluye las tareas de planeación, control y aseguramiento de la calidad. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 11 Sabino Pariente Juárez Estado del arte 2. Tareas orientadas al desarrollo: estas actividades se dividen en tres grupos: a) tareas de pre-desarrollo que incluyen al estudio del ambiente y al estudio de la factibilidad; b) tareas de desarrollo que incluye a la especificación, la conceptualización, la formalización y la implementación; y por último, c) tareas de post-desarrollo incluye el mantenimiento y la reutilización. 3. Tareas de post-desarrollo: incluye las tareas de adquisición de conocimiento, la evaluación, la integración, la mezcla, el alineamiento, la documentación y la configuración El proceso de desarrollo de ontologías de Methontology no define el orden en que deben ser ejecutadas las actividades. Para ello define el ciclo de vida de la ontología, donde ser específica qué actividades forman parte de este proceso de desarrollo. Las aportaciones que la metodología Methontology ofrece a este trabajo de tesis es el conjunto de tareas que conforman el proceso de construcción de ontologías, principalmente aquellas relacionadas con la tarea de mezcla de ontologías, que se encuentran en la sección de post-desarrollo de la metodología METHONTOLOGY. 3.2.3 La metodología On-To-Knowledge La metodología On-To-Knowledge (Fensel et al., 2000) propone construir ontologías para la información disponible electrónicamente, con el fin de llevar a cabo la administración del conocimiento en grandes organizaciones distribuidas. La metodología On-To-Knowledge construye ontologías tomando en cuenta su futura utilización en aplicaciones de administración del conocimiento, consecuentemente, las ontologías desarrolladas con esta metodología están altamente relacionadas a la aplicación. El proceso propuesto por esta metodología para creación de ontologías es el siguiente: Estudio de la factibilidad: considera a la aplicación completa y debe llevarse a cabo antes de desarrollar la ontología. En esta fase se considera el análisis de la aplicación futura de la ontología a ser desarrollada. De hecho el estudio de factibilidad sirve como base para el proceso de iniciación. Iniciación: el resultado de este proceso es el documento de especificación de requisitos que describen el dominio y el objetivo de la ontología, guías de diseño, fuentes de información disponibles, casos de estudio y usuarios potenciales, así como aplicaciones soportadas por la ontología. En el proceso de iniciación debe considerarse el potencial reuso de ontologías. Refinamiento: produce una primera versión de una ontología, la cual está orientada a la aplicación de acuerdo a las especificaciones generadas en el proceso de iniciación. Este proceso cuenta con dos tareas principales: a) la tarea de elicitación de conocimiento con expertos de dominio, y b) la tarea de formalización utilizando un lenguaje de ontologías. Evaluación: prueba la utilidad de la ontología desarrollada y su ambiente de software asociado. El producto obtenido es llamado ontología basada en la aplicación. El proceso realiza dos actividades: a) Checar las cuestiones de competencia y requisitos, y b) la evaluación de la ontología en el ambiente de aplicación. Mantenimiento: el cual se realiza durante el proceso de desarrollo de sistema de software. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 12 Sabino Pariente Juárez Estado del arte La Figura 3.2 muestra el proceso de desarrollo de ontología de la metodología On-Toknowledge. Figura 3.2. Proceso de desarrollo de software de la metodología On-To-Knowledge (Fensel et al., 2000) Las aportaciones de la metodología On-To-Knowledge a la tesis desarrollada es la idea de construir ontologías que contemplen su futura utilización en el proceso de desarrollo. 3.2.4 Metodología DILIGENT La metodología DILIGENT (Pinto et al., 2004) fue diseñada para apoyar a expertos de dominio en el diseño y desarrollo de la ontología en un ambiente distribuido. Esta metodología se enfoca en el diseño distribuido y colaborativo de la ontología. Este proceso incluye las siguientes actividades: 1. Construcción: en esta actividad se crea la versión inicial de la ontología utilizando colaborativamente el conocimiento de expertos en el dominio, usuarios, ingenieros en representación del conocimiento e ingenieros en ontologías 2. Adaptación local: en esta etapa se adapta la ontología de acuerdo a las necesidades del usuario. A continuación se presentan Los cambios realizados a la ontología se realizan de manera local por cada usuario, después se recolectan todos los cambios realizados por cada usuario y se almacenan en una tabla. 3. Análisis: en esta actividad se evalúan los cambios sugeridos por los usuarios para aplicarlos en la ontología. El objetivo de esta tarea es desarrollar una ontología núcleo compartida. 4. Revisión: en esta etapa se revisa que los cambios realizados en la ontología estén realizados de forma correcta y que no afecte las necesidades de los usuarios. 5. Actualización local: finalmente, en esta actividad se realiza la actualización de la nueva ontología a todos los interesados. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 13 Sabino Pariente Juárez Estado del arte La Figura 3.3 muestra el proceso de desarrollo de ontología de la metodología DIGILENT. La aportación de la metodología DILIGENT es la definición de una metodología que apoya a los expertos en construcción de ontologías a crear ontologías que incluyan información de un mismo dominio, y que pueda ser utilizada por diferentes usuarios en una forma colaborativa. Figura 3.3 Proceso de desarrollo de ontologías de DILIGENT (Pinto et al., 2004) 3.3 Metodologías para la construcción de ontologías de dominio A continuación se describen los trabajos de investigación relacionados con la categoría de construcción de ontologías de dominio. 3.3.1 A comprehensive guideling for building a domain ontology from scratch En este trabajo de investigación (Cristani & Cuel, 2004) se presenta un framework que define una meta-metodología, la cual ayuda a los ingenieros de ontologías a crear una ontología sin tener, como punto de referencia, una ontología previa. Esta meta metodología define cuatro fases principales. Fase de plan: En esta fase se definen los objetivos y la cantidad de recursos necesarios para el desarrollo de la ontología. Fase de introspectiva: En esta fase se define el esquema, los detalles generales, las categorías, las relaciones, su formalización en el idioma de su elección y su demostración. Fase abajo hacia arriba. En esta fase se genera la terminología de forma automática o semiautomática, se extrae la descripción de las relaciones entre los términos, y se maneja el perfeccionamiento de la terminología de la ontología. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 14 Sabino Pariente Juárez Estado del arte Fase de provisión de axiomas básicos: En esta fase se proporciona un conjunto de definiciones de ontología, mediante la intervención o participación de los expertos en el dominio. Fase de Validación: En esta fase las definiciones de la ontología son probadas, validadas y utilizadas. Cada una de las fases de esta meta-metodología es opcional, paralela y semiindependiente. La principal aportación de la guía de creación de ontologías de dominio con este trabajo de investigación es la meta-metodología para crear la ontología de dominio, debido a que las fases pueden ayudar a definir una metodología para la integración de ontologías. 3.3.2 TextOntoEx TextOntoEx (Dahab et al., 2008) es una herramienta para la construcción de ontologías a partir de texto en lenguaje natural que se basa en un enfoque de patrones. TextOntoEx es un puente entre el análisis lingüístico y la ingeniería de ontologías. TextOntoEx analiza texto en lenguaje natural para encontrar relaciones candidatas y entonces las mapea sobre una representación de significado (que puede ser una ontología), lo cual facilita la construcción de la ontología. El objetivo de TextOntoExt es extraer relaciones no taxonómicas de dominio específico desde texto técnico (libre) utilizando un enfoque basado patrones. TextOntoEx no descubre nuevas relaciones, más bien instancia relaciones ya conocidas en base a la elección de un dominio y una temática elegida por el usuario. El enfoque de TextOntoExt contiene las siguientes fases: Construcción de patrones semánticos usando un editor de patrones. En esta fase se construye un conjunto de patrones que describen relaciones de dominio particular entre dos o más conceptos. Para construir el conjunto de patrones, TextOntoExt cuenta con un editor de patrones. Este editor utiliza las clases abstractas de la ontología de dominio destino para definir los patrones semánticos. Selección de textos del dominio descritos en lenguaje natural. Se ha desarrollado un programa que sigue los enlaces web (crawler) y guarda el texto, el cuerpo del texto del tema, y pone los datos extraídos en un formato estructurado. Por ejemplo, dominio, tema y cuerpo del texto natural. Obtención de una ontología de dominio desde texto. El objetivo de esta fase es extraer y construir la ontología desde texto en lenguaje natural, para esto se debe seleccionar texto natural utilizado en un dominio específico bajo un tema específico. Las aportaciones principales de TextOntoExt con relación a la tesis desarrollada son los siguientes: Un método para la creación de ontologías de dominio a partir de texto en lenguaje natural. La utilización de un parámetro que define el dominio y temática de la ontología. El método de mapeo de relaciones hacia la ontología de dominio. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 15 Sabino Pariente Juárez Estado del arte 3.3.3 Ontología de dominio que aprende de la WEB Este trabajo es el resultado de la tesis doctoral de (Sánchez, 2009). La principal ventaja de este trabajo de investigación es crear una metodología de operación automática y no supervisada para crear ontologías de dominio desde cero. En esta metodología de construcción de ontologías se han desarrollado los siguientes métodos: Método de extracción y selección de términos relacionados con el dominio, organizándolos de forma taxonómica Método de descubrimiento y etiquetado de relaciones no taxonómicas entre los conceptos. Métodos adicionales para mejorar la estructura final, incluyendo la detección de entidades con nombre, atributos, herencia múltiple e incluso un cierto grado de desambiguación semántica. La metodología de aprendizaje se ha implementado mediante un sistema distribuido basado en agentes, y ha sido evaluado para varios dominios de conocimiento bien diferenciados, obteniendo resultados de buena calidad. Finalmente, se han desarrollado varias aplicaciones referentes a la estructuración automática de librerías digitales y recursos Web, y la recuperación de información basada en ontologías. La aportación principal de este trabajo analizado a nuestro trabajo de investigación es la metodología de construcción de ontologías de dominio. La metodología está conformada por métodos para la identificación de clases que conforman la ontología, para la identificación de relaciones taxonómicas y no taxonómicas, tareas que son también fundamentales en la metodología propuesta. 3.4 Enfoques actuales para mezcla de ontologías El objetivo principal de los trabajos de esta mezcla de ontologías es proponer técnicas para la construcción de ontologías. 3.4.1 Creation and Merging of Ontology Top-Levels Este trabajo (Ganter & Stumme, 2003) propone un método para crear y mezclar ontologías de alto nivel. Propone una metodología que se basa en la técnica de Exploración de Ontologías, la cual es adecuada para mezclar pequeñas partes de la ontología, especialmente para ontologías donde un alto de nivel de precisión es requerido y soportado para mezclar dos o más ontologías en ese nivel. La técnica de exploración de ontologías está compuesta por tres pasos: a) Inicialización del contexto de exploración: En este paso el usuario proporciona un conjunto inicial de conceptos que son considerados como relevantes para el dominio. b) Proceso de exploración: Este paso comprende el dialogo con el usuario, que consiste de preguntas que obtienen la descripción de la ontología. Además, identificar los conceptos relacionados al conjunto inicial de conceptos. c) Tratamiento posterior: En este paso el usuario puede modificar la jerarquía de conceptos resultante según sean sus necesidades. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 16 Sabino Pariente Juárez Estado del arte Las aportación del método de (Ganter & Stumme, 2003) para la tesis desarrollada es el esquema para crear ontologías utilizando la mezcla de ontologías de alto nivel, es decir mezclar los conceptos y propiedades de una ontología. 3.4.2 FCA-Merge: Bottom-up merging of ontologies En los trabajos de Stumme (Stumme & Maedche, 2001) se propone el método FCAMerge para mezclar ontologías siguiendo un enfoque Bottom-up, el cual ofrece una descripción estructural del proceso de mezcla. El método es guiado por las instancias de las ontologías que serán mezcladas. El resultado generado por FCA-Merge es una ontología mezclada, que puede ser explorada y transformada por el usuario. La Figura 3.4 muestra el proceso general de mezcla de ontologías de FCA-Merge, el cual consta de 3 tareas principales: a) extracción y cálculo de instancias de dos contextos formales, b) el algoritmo núcleo de FCA-Merge, que calcula las relaciones de un concepto, y por último c) la generación de la ontología mezclada, la cual está basada en las relaciones de un concepto. El proceso de mezcla toma como entrada los datos de dos ontologías y un conjunto de documentos en lenguaje natural y genera un conjunto de instancias de las ontologías contenidas en esos documentos. Estos documentos deben ser muy relevantes al conocimiento representado en las ontologías de entrada, porque de otra forma el sistema no puede mapear los conceptos contenidos en los documentos contra las ontologías de entrada. Figura 3.4. El proceso general de mezcla de ontologías de FCA-Merge La aportación que FCA-Merge ofrece al trabajo de investigación de esta tesis es la utilización de conocimiento representado en dos ontologías para crear una nueva ontología con lo que se amplía el conocimiento del dominio. Esto es análogo a la utilización del parámetro de mezcla en la metodología propuesta en esta tesis. 3.4.3 ATOM: Automatic target-driven ontology merging Los trabajos de Salvatore Raunich (Salvatore Raunich & Rahm, 2010) proponen una herramienta de mezcla de taxonomías dirigidas a un objetivo. Esta herramienta es conocida como ATOM: Automatic Target-Driven Ontology Merging. La herramienta define un método que mezcla la taxonomía de una ontología fuente con la taxonomía de una ontología destino. Para ello, esta herramienta recibe como entrada: a) dos taxonomías y una correspondencia de equivalencia entre los conceptos de las taxonomías; y como resultado genera una mezcla semántica de las taxonomías. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 17 Sabino Pariente Juárez Estado del arte El método de mezcla de ATOM se basa en un algoritmo que preserva las instancias de las taxonomías de entrada, así como la estructura de la taxonomía destino. Además, el algoritmo trata de limitar las correspondencias semánticas en la taxonomía mezclada, por medio de la utilización de mapeos de entrada y preferencias para la taxonomía destino, lo cual aplica cuando conceptos iguales son organizados diferentemente en la taxonomía fuente y destino. También, se propone la extensión del algoritmo de mezcla con información auxiliar tal como relaciones adicionales entre conceptos fuente y destino con el fin de mejorar semánticamente el resultado final. La principal aportación la herramienta ATOM para esta tesis es la utilización de mapeos definidos para definir la correspondencia entre los elementos de dos taxonomías que son iguales o equivalentes. 3.5 Conclusiones En este capítulo se muestra un análisis de trabajos que presentan propuestas relacionadas a tres temas relevantes para el trabajo de investigación mostrado en esta tesis: a) metodologías de construcción de ontologías, b) metodologías para construir ontologías de dominio, y c) metodologías para construir ontologías utilizando la mezcla de ontologías. Los trabajos presentados en cada categoría del estado del arte presentan aportaciones similares para cumplir el objetivo de la metodología propuesta en esta tesis. Metodologías de construcción de ontologías: la principal aportación de los trabajos analizados en esta categoría a nuestra investigación fue la definición de diferentes métodos que conforman las metodologías de construcción de ontologías. Metodologías para construir ontologías de dominio: la aportación de los trabajos de esta categoría es la definición de un proceso para crear ontologías de dominio que toma en cuenta el uso que se le dará a la ontología resultante. Mezcla de ontologías: la aportación de los trabajos de esta categoría es el método que cada trabajo propone para identificar las entidades equivalentes en dos ontologías. Además, estos trabajos realizan la mezcla de la ontología utilizando algún criterio para limitar la información que contendrá la nueva ontología generada. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 18 Sabino Pariente Juárez Metodología CreaDO Capítulo 4. La Metodología CreaDO Este capítulo presenta una descripción detallada de la metodología y los métodos que la componen. La estructura de este capítulo es la siguiente: la sección 4.1 se presenta la descripción del enfoque seguido para diseñar la metodología. En las secciones 4.2 a la 4.4 se describen cada unos de los métodos que conforman la metodología CreaDO. Por último, en la sección 4.5 se presentan las conclusiones del capítulo. 4.1 Introducción La metodología CreaDO permite construir ontologías de dominio utilizando elementos principales: a) un conjunto de ontologías que describen un mismo dominio y b) un parámetro de mezcla que es un concepto relacionado al conocimiento del dominio de las ontologías. Este parámetro permite que la ontología resultante sólo represente el conocimiento relevante para el propósito de utilización de la ontología. El objetivo es la construcción de ontologías que sean más entendibles y navegables, además de que incluyan toda la información relacionada a un dominio de conocimiento. Para alcanzar el objetivo de la metodología CreaDO se han implementado técnicas de reutilización de ontologías como la modularización, el mapeo y la mezcla de ontologías. La técnica de modularización es utilizada para extraer el subconjunto de entidades relacionadas con el parámetro de mezcla. La técnica de mapeo es utilizada para encontrar las correspondencias entre los elementos de cada ontología de entrada, y la técnica de mezcla es utilizada para unir los módulos de ontología utilizando los mapeos encontrados, creando así nuestra ontología de dominio. La Figura 4.1 muestra la arquitectura general de la metodología CreaDO, donde se presentan, a) las entradas: un conjunto de ontologías y el parámetro de mezcla, b) los métodos que conforman la metodología CreaDO y c) las salidas: la ontología que dominio que deseamos construir. La metodología CreaDO se divide en 3 fases: a) Fase I: estudio y preparación de las ontologías, b) Fase II adquisición del conocimiento y c) Fase III: construcción de la ontología de dominio. Cada una de estas fases está compuesta por métodos que soportan la creación de la nueva ontología. En esta tesis, los métodos se explican presentado su enfoque principal, la información que se requiere como entrada, además de la información de salida que cada método genera como resultado de su ejecución. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 19 Sabino Pariente Juárez Metodología CreaDO Figura 4.1. Arquitectura de la Metodología CreaDO 4.2 Fase de estudio y preparación de las ontologías La fase de estudio y preparación de las ontologías se encarga de evaluar, estudiar y preparar las ontologías de entrada con el fin de obtener una visión general de la estructura y del contenido de las ontologías. Por otra parte esta fase se encarga de definir el parámetro de mezcla. Para ello esta fase está conformada por dos métodos: a) el método de evaluación de ontologías y b) Método de declaración del parámetro de mezcla. 4.2.1 Método de evaluación de ontologías El método de evaluación de ontologías evalúa cada ontología de entrada con el fin de conocer su estructura y contenido. Además este método se encarga de extender con información de sinonimia el conocimiento representado en las ontologías. Esto se realiza con el objetivo de tener un conocimiento más completo acerca del dominio. La Figura 4.2 muestra un esquema general del método de evaluación donde se presenta: a) la entrada conjunto de ontologías que describen un dominio en común, b) el proceso de evaluación presentado en forma de caja negra y c) la salida: un conjunto de meta-modelos con información acerca del contenido y errores de las ontologías, y de la información relacionada a la sinonimia. Figura 4.2 Método de evaluación de ontologías Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 20 Sabino Pariente Juárez Metodología CreaDO La evaluación de ontologías que realiza este método se basa en la búsqueda de errores comunes que se cometen cuando se desarrolla una ontología. Estos errores afectan a cada componente de la ontología (es decir, clases, propiedades, axiomas, etc), por lo que se ha decidido utilizar esta técnica para evaluar cada componente de la ontología. En (Poveda-Villalón, Suárez-Figueroa, & Gómez-Pérez, 2010) se propone un conjunto de errores comunes que surgen cuando se desarrolla una ontología. Estos errores están asociados a tres dimensiones que definen a una ontología como bien formada: dimensión estructural, dimensión funcional y dimensión de facilidad de uso para perfiles. En la Figura 4.3, se muestra el esquema de la clasificación (por dimensión) de los errores comunes presentados en (Poveda-Villalón, Suárez-Figueroa, & Gómez-Pérez, 2010). Figura 4.3. Clasificación de errores de acuerdo a las dimensiones definidas en (Poveda-Villalón et al., 2010) El método de evaluación de ontologías sólo se enfoca en evaluar la dimensión estructural y la dimensión funcional (mencionadas en la Figura 4.3), aunque posiblemente se abarque un segmento de la dimensión de facilidad de uso de perfiles. Por lo tanto, para definir el proceso de evaluación se tomaron los errores que pertenecen a las dimensiones, estructural y funcional, y se clasificaron de acuerdo al elemento ontológico donde aparece dicho error. De esta forma se evalúan los errores que afectan a un mismo elemento de la ontología y es posible tener, además, un proceso de evaluación que evalúa varios errores en un mismo tiempo. En (McGuinness & Van Harmelen, 2004) se presenta una clasificación donde divide en tres grupos a los elementos de una ontología, a) los elementos básicos donde se encuentran las clases y las instancias, las propiedades, los atributos y las restricciones; b) los elementos de mapeo de ontologías donde se encuentran las equivalencias de clases y propiedades, equivalencias y diferencias de instancias; y c) las clases complejas donde están la unión, intersección y complemento de clases. Con base en la clasificación de elementos de la ontología presentada por (McGuinness & Van Harmelen, 2004), en esta tesis se realizó una clasificación de los errores comunes de las dimensiones estructural y funcional de (Poveda-Villalón et al., 2010). La Tabla 4.1 presenta esta clasificación de errores comunes dentro de los elementos de una ontología. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 21 Sabino Pariente Juárez Metodología CreaDO Tabla 4.1. Clasificación de errores comunes de acuerdo al elemento ontológico Elemento de la ontología Clases e instancias simples - Clases simples - Instancias simples Propiedades simples - Propiedades -Tipo de dato - Propiedades de las instancias Características de propiedad - Transitiva - Simétrica - Funcional - Inversa - Inversa funcional Propiedad de restricción -allValuesFrom y someValuesFrom - Cardinalidad - hasValue Clases complejas - Operadores de conjunto - Clases enumeradas - Clases disjuntas Errores comunes de diseño P16. Mal uso de primitivas y clases definidas P1. Crear elementos polisémicos P2. Crear sinónimos como clases P7. Mezclar diferentes conceptos en la misma clase P16. Mal uso de primitivas y clases definidas P4. Crear elementos de la ontología no conectados P11. Falta de Dominio o Rango en las propiedades P23. Utilizar elementos de la ontología incorrectamente P12. Falta de propiedades equivalentes P6. Incluir ciclos en la jerarquía P24. Utilizar definición recursiva P3. Crear la relación “isA” en lugar de “subClassOf”, “instanceOf” “sameIndividual” P17. Especializar demasiado una jerarquía P18. Especializar demasiado un dominio o un rango. P16. Mal uso de primitivas y clases definidas P5. Definir relaciones inversas erróneas P13. Falta de relaciones inversas o P16. Mal uso de primitivas y clases definidas P14. Mal uso de “allValuesFrom” P15. Mal uso de “notSome” y “someNot” P16. Mal uso de primitivas y clases definidas P10. Falta de “disjontsOf” P19. Intercambio de intersección o unión El método de evaluación de ontologías propuesto en esta tesis se basa en esta clasificación para evaluar las ontologías de entrada. Por lo tanto, el proceso de evaluación contiene tres módulos principales: el módulo de evaluación de clases, el módulo de evaluación de propiedades y el módulo de evaluación de la taxonomía. Estos módulos se han definido por la unión de elementos similares de la ontología (por ejemplo las clases y las clases complejas), la unión de elementos de la ontología que se encuentran dentro de la definición de otro elemento (propiedades, restricciones y características de propiedad son parte de las propiedades). Debido a que el objetivo de la tesis fue crear una metodología semiautomática, no fue posible tomar en cuenta todos los errores presentados en (Poveda-Villalón et al., 2010). Únicamente, se seleccionaron aquellos errores relacionados con la parte estructural de la ontología, por ejemplo, el patrón de nombrado de las clases o la identificación del tipo elemento que se está analizando. El resto de errores de la clasificación no fueron considerados ya que estos tienen más relación con el contexto y aplicación de la ontología, Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 22 Sabino Pariente Juárez Metodología CreaDO como es el caso de la declaración de clases sinónimos en la ontología, o con errores que analizan casos donde no se definen relaciones de forma correcta. La Tabla 4.2 muestra la definición de los módulos que se definen el método de evaluación de ontologías, presentando los elementos ontológicos que involucra y los errores que analiza cada módulo. Tabla 4.2. Módulos de evaluación del método de evaluación de ontologías Proceso evaluación de Elementos ontología Evaluación de clases Evaluación propiedades Clase simples, complejas de Evaluación de taxonomía de la Errores a evaluar clases Propiedades, restricción de propiedad, Características de Propiedad Taxonomía de la Ontología P22. Uso de diferentes criterios de nombrado. P16. Mal uso de primitivas y clases definidas. P16. Mal uso de primitivas y clases definidas. P22. Uso de diferentes criterios de nombrado. P4. Crear elementos de la ontología no conectados. P11. Falta de Dominio o Rango en las propiedades. P23. Utilizar elementos de la ontología incorrectamente. P6. Incluir ciclos en la jerarquía. Con base en la clasificación presentada en la Tabla 4.2, se definió el proceso que sigue el método de evaluación de ontologías propuesto. En la Figura 4.4 se presenta el flujo que sigue este proceso, donde se tiene, como tarea inicial, la evaluación de clases, posteriormente la evaluación de propiedades y por último la evaluación de la arquitectura Figura 4.4. Diagrama de flujo del método de evaluación de ontologías Cada módulo presentado en la Figura 4.4 se encarga de evaluar diferentes aspectos de la ontología. Es decir, el proceso de evaluación de clases tiene como objetivo evaluar las clases una ontología para asegurarse que estas se encuentren definidas correctamente. Así mismo, el proceso de evaluación de propiedades tiene como objetivo evaluar las propiedades tanto de objeto como de tipo de dato. Por su parte el proceso de evaluación de la taxonomía tiene como objetivo evaluar la taxonomía de la ontología buscando ciclos en sus propiedades de subclase. Para alcanzar el objetivo de cada módulo se deben realizar diferentes tareas. A continuación se define detalladamente cada módulo de evaluación. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 23 Sabino Pariente Juárez Metodología CreaDO 4.2.1.1 Módulo de evaluación de clases El módulo de evaluación de clases se encarga de identificar las clases dentro de cada ontología, y además de validar que estas clases estén definidas de forma correcta según la descripción de las primitivas de OWL. Este proceso se encarga, además de extender las clases con sus sinónimos. Las tareas que realiza este módulo son definidas utilizando los errores a evaluar de la Tabla 4.2. Estas tareas son definidas a continuación: Tarea 1. Identificar las clases dentro de cada ontología (esta tarea hace referencia al error P16. Mal uso de primitivas y clases definidas). Para llevar a cabo esta tarea utilizamos las primitivas para definir una clase de OWL definidas en (McGuinness & Van Harmelen, 2004) con el fin de identificar las entidades de la ontología que son clases. Tarea 2. Normalizar el patrón de nombrado de la clase (esta tarea hace referencia al error P22. Uso de diferentes criterios de nombrado). Una vez identificadas las clases de la ontología la siguiente tarea es normalizar el identificador de la clase. Esto se realiza con el objetivo de comparar los nombres de una ontología con los nombres de las demás ontologías y poder encontrar más correspondencias cuando buscamos similitudes entre las ontologías. Existen dos tipos de nombrado de clases: a) el primero permite iniciar con mayúsculas las palabras, por ejemplo: para definir la clase Land based Tourism en este tipo de nombrado se representa como LandBasedTourism, y b) el segundo permite utilizar el guión bajo para separar palabras, por ejemplo la clase Land based Tourism se representa como Land_Based_Tourism. Este módulo propuesto utiliza el patrón de nombrado de guión bajo para normalizar los nombres de los clases de las ontologías de entrada. Además, convierte todas las letras en minúsculas. Tarea 3. Extender clases con sinónimos. Esta tarea es una actividad extra a la identificación de errores, que intenta ayudar a conocer un poco más acerca del dominio de la ontología. Esta tarea se encarga de extender cada clase con sus sinónimos según la base de datos de información léxica WordNet. Por ejemplo, para el concepto “Tourist” que se encuentre en una de las ontologías que representan el conocimiento de “Tourism”. Los sinónimos encontrados en WordNet para el concepto Tourist son los conceptos Tourer y Holidaymaker. Esto permite encontrar más correspondencias cuando se busquen las similitudes entre las ontologías. 4.2.1.2 Módulo de evaluación de propiedades El módulo de evaluación de propiedades se encarga de identificar los objetos que son de tipo Propiedad (tanto propiedades de objeto como de tipo de dato) dentro de cada ontología de entrada. Cada propiedad identificada es evaluada de acuerdo a las primitivas de OWL. Las tareas que realiza este módulo son definidas utilizando los errores a evaluar de la Tabla 4.2. Estas tareas son definidas a continuación: Tarea 1. Identificar propiedades dentro de cada ontología (hace referencia al error P16. Mal uso de primitivas y clases definidas). Esta tarea utiliza las primitivas de propiedad (de objeto y de tipo de dato) de OWL de (McGuinness & Van Harmelen, 2004) para Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 24 Sabino Pariente Juárez Metodología CreaDO identificar las entidades de la ontología que son propiedades. Tarea 2. Normalizar el nombrado de las propiedades. (Esta tarea hace referencia al error P22. Uso de diferentes criterios de nombrado de la Tabla 4.2). Las propiedades también necesitan ser normalizadas en su nombrado para poder identificar similitudes dentro de otras ontologías. Para ello, al igual que la clases, el nombre de las propiedades es transformado al patrón de nombrado que utiliza el guión bajo para separar palabras y se convierten todas las letras a minúsculas. Por ejemplo, para la propiedad isRelatedTo su normalización es is_related_to. Tarea 3. Evaluar el dominio y el rango de las propiedades: (Esta tarea es asociada a los errores P4. Crear elementos de la ontología no conectado, P11. Falta de Dominio o Rango en las propiedades, P23. Utilizar elementos de la ontología incorrectamente de la Tabla 4.2). Esta tarea se encarga de evaluar si la estructura de cada propiedad está definida correctamente. Es decir, se debe comprobar que la propiedad tenga definidos tanto el dominio como el rango, y que estos estén definidos utilizando clases de la ontología. Por ejemplo, cuando la relación “Has_Living_room” deben estar definidos el dominio como el rango de esta relación. Es decir las clases Hotel y Living Room deben estar definidas en la ontología y deben ser el dominio y rango de la relación, respectivamente. 4.2.1.3 Módulo de evaluación de la taxonomía El módulo de evaluación de la taxonomía verifica la estructura de la taxonomía de la ontología con el fin de identificar ciclos en la definición de relaciones de subclase. En este módulo la única tarea que se realiza es la siguiente: Tarea 1. Evaluar recursividad en la taxonomía: (Esta tarea está asociada al error P6. Incluir ciclos en la jerarquía). Esta tarea recorre la taxonomía de la ontología y busca ciclos en la definición de relaciones de subclase. Es decir, si tenemos a las relaciones clase Car subclase de la clase Land_Transport, la clase Land_Transport subclase de la clase Transport, y la relación que cierra el ciclo, la clase Transport subclase de la clase Car. 4.2.2 Método de definición del parámetro de mezcla El método de definición del parámetro de mezcla define el concepto que funcionará como filtro para identificar la información contenida en la nueva ontología. Este concepto en la metodología CreaDO lo llamamos parámetro de mezcla. Este parámetro de mezcla ayuda a filtrar el conocimiento Las características del parámetro de mezcla son las siguientes: El parámetro está relacionado al conocimiento descrito en las ontologías de entrada y al conocimiento en común de dichas ontologías. Este conocimiento es utilizado para construir la nueva ontología. Por ejemplo, las ontologías pueden describir el dominio de “Films”, sin embargo, sólo se necesita representar en la ontología de dominio el conocimiento relacionado a “Comedy Films”. Por lo tanto, el parámetro de mezcla en este caso es el concepto Comedy Films. El parámetro de mezcla es tratado de forma similar a una clase de una ontología. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 25 Sabino Pariente Juárez Metodología CreaDO Es decir, este parámetro también lo normalizamos al patrón de nombrado donde se separan las palabras con un guion bajo, por ejemplo el concepto Comedy Films” lo normalizamos a comedy_films. De igual manera, el parámetro es extendido con su información de sinónimos obtenida desde WordNet. Esta extensión se hace con el fin de encontrar más correspondencias al momento de buscar el parámetro dentro de las ontologías de entrada. Por ejemplo, para el parámetro de mezcla comedy films, un sinónimo es comedy movies. Realizar esta extensión del conocimiento ofrece más oportunidades de encontrar correspondencias del parámetro de mezcla con los conceptos definidos dentro de las ontologías de entrada. Es decir, si una ontología de entrada no contiene el concepto comedy films pero si el concepto comedy movies, sin la información de los sinónimos que se ha encontrado no sería posible identificar que se está hablando del mismo concepto. 4.3 Fase de adquisición del conocimiento La fase de adquisición del conocimiento identifica la información representada en las ontologías de entrada que puede ser utilizada para construir la ontología de dominio. Para ello en esta fase se definen dos métodos: a) el método de extracción de módulos de ontologías, que identifica el segmento (o módulo) de cada ontología que son de interés para la nueva ontología. Y b) el método de mapeo de ontologías, que busca similitudes entre lass entidades de las ontologías. 4.3.1 Método de extracción de módulos de la ontología El método de extracción de módulos de ontologías obtiene un módulo por cada ontología de entrada. Cada módulo es obtenido de acuerdo a la información relacionada al parámetro de mezcla. La Figura 4.5 presenta una vista general del método de extracción de módulos. En la figura se muestra: a) la entrada: un conjunto de ontologías junto con la información de sinonimia de las clases y errores comunes obtenida en el método de evaluación, y el parámetro de mezcla junto con sus sinónimos, b) el proceso de extracción de módulos de ontología, y c) la salida: un conjunto de módulos de ontología relacionados al parámetro de mezcla. Un modulo, según (Doran et al., 2007) es “un componente reusable de una ontología completa y muy compleja, el cual es independiente pero tiene una asociación definida con otros módulos, incluyendo la ontología original”. Tomando en cuenta esta definición en el método de extracción se busca que los módulos se encuentren relacionados entre sí, aunque provengan de ontologías diferentes. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 26 Sabino Pariente Juárez Metodología CreaDO Figura 4.5. Método de extracción de módulos de ontologías Según (Doran et al., 2007) los módulos deben tener las siguientes características: 1. Autónomo. El módulo debe ser autónomo de la ontología, es decir no debe tener dependencias con elementos de la ontología de donde fue extraido. El conjunto de relaciones del módulo deben ser transitivamente cerradas. 2. Centrado a una clase (concepto). El módulo contiene información que describe al concepto inicial. La superclases son consideradas poco importantes ya que sólo ponen en contexto la clase inicial. 3. Consistente. Los módulos deben ser consistentes. Si la ontología es consistente los módulos extraídos deben ser consistentes. Los módulos resultantes del método de extracción de módulos propuesto los módulos resultantes deben contar con estas características. La única modificación que se debe contemplar en estas características es que en la característica Centrado a una clase se deben contemplar las superclases ya que los módulos deben presentar toda la información posible acerca del dominio de la clase que representa al parámetro de mezcla. 4.3.1.1 El proceso de extracción de módulos En (Doran et al., 2007) se propone un proceso de extracción de módulos. Este proceso recibe como entrada una ontología y una clase inicial, y como salida proporciona un subconjunto de elementos de la ontología que están relacionados a la clase inicial. A este subconjunto se le conoce como módulo de ontología. Este módulo cumple con las características de un módulo descritas anteriormente. Los trabajos de (Doran et al., 2007) definen un algoritmo para llevar a cabo el proceso de extracción de módulos. Este algoritmo es presentado la Tabla 4.3. El pseudocódigo, que ha sido implementado en la herramienta ModTool1 , la cual define los siguientes elementos: a) un conjunto de entradas, donde se definen principalmente la ontología y la clase inicial, además de diferentes conjuntos de elementos que sirven para llevar a cabo el proceso de extracción del módulo. Estos conjuntos son: 1 http://code.google.com/p/modtool/ Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 27 Sabino Pariente Juárez Metodología CreaDO I. Un conjunto de propiedades permitidas. donde se definen las propiedades que se contemplan para la extracción del módulo. II. Un conjunto de propiedades permitidas. donde se definen las propiedades que no se contemplan para la extracción del módulo. III. Un conjunto de clases a visitar, donde se registran las clases que se van a ser visitadas para considerar ser añadidas al módulo. IV. Un conjunto de clases visitadas, donde se registran las clases que fueron visitadas durante el proceso de extracción del módulo. Esto con el fin de no volver a una clase que ya fue analizada. b) Una salida, que es el módulo de ontología que contiene los elementos relacionados a la clase inicial. c) El proceso de extracción del módulo construye el módulo de ontología identificando los elementos que serán parte del módulo, iniciando con la clase inicial, y posteriormente utilizando las relaciones permitidas, identifica las clases que están relacionadas a la clase inicial y las agrega al conjunto de clases a visitar. Este proceso es recursivo así que termina cuando se han obtenido todos los elementos relacionados a la clase inicial por medio de las propiedades permitidas. Tabla 4.3. Algoritmo del proceso de extracción de módulos presentado en (Doran et al., 2007) Entrada Ontología O= (Clases, Propiedades ) Clase inicial tal que esta clase sea parte de las clases de la ontología Conjunto de propiedades permitidas Conjunto de propiedades no permitidas Conjunto de clases visitadas Conjunto de clases a visitar Salidas Proceso Un subconjunto de la ontología Om=(Clasesm, Relacionesm) Procedure extraer_Modulo (Clase) Si clase no pertenece a los visitados entonces Inserta clase al conjunto de clases visitadas Obtener el conjunto de propiedades asociadas a la clase de acuerdo a las propiedades permitidas Mientras el conjunto de relaciones asociadas no sea vacío o Obtener el primer elemento de relaciones asociadas o Si la relación no es una propiedad no permitida Agregar la relación al conjunto de relaciones del módulo Insertar la clase relacionada a la clase, en el conjunto de clases a visitar o Si el conjunto de clases a visitar no está vacío entonces Obtener primer elemento de las clases a visitar y eliminarlo de la conjunto extraer_Modulo (clase a visitar obtenida) o Si conjunto de clases a visitar es vacio Terminar el procedimiento y das como resultado el módulo Om Para el método de extracción de módulos de ontologías propuesto se utiliza este algoritmo de extracción de módulos. La Tabla 4.4 muestra la definición de las entradas para Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 28 Sabino Pariente Juárez Metodología CreaDO el proceso de (Doran et al., 2007). Estas entradas están relacionadas a las ontologías de entrada y al parámetro de mezcla de la metodología CreaDO. Tabla 4.4. Entradas del método de modularización de ontologías Entrada del método de extracción de módulos Elementos del conjunto de entrada para el método de modularización Ontología OWL Clases, propiedades de objeto, propiedades de dato, características de propiedad y restricciones de propiedad instancias, Clase inicial Esta clase es el parámetro de mezcla. Si es el caso de ontología como parámetro se toma una clase de la ontología tener una Clases a visitar Las clases a visitar son definidas por el conjunto de sinónimos de la clase parámetro. Si es el caso de una ontología el conjunto de clases a visitar deben ser todos las clases que pertenecen a la ontología y sus sinónimos Clases visitadas Al inicio del método este conjunto está vacio Propiedades permitidas Todas las propiedades definidas del lenguaje OWL (subClassOf, subProperty, instanceOf, disjointOf, etc) Restricciones de propiedad (TransitiveProperty, symmetricProperty, etc) Propiedades definidas por el usuario (hasSatisfility, etc) Propiedades no permitidas Ninguna En el método de extracción de módulos propuesto el algoritmo de extracción de módulos debe ser aplicado a todas las ontologías de entrada. Sin embargo es posible que para algunas ontologías de entrada no se pueda obtener algún módulo. Esto puede ocurrir porque el algoritmo obtiene los módulos que son centrados a una clase o en este caso centrados al parámetro de mezcla, por lo que existe la posibilidad de que al realizar la búsqueda del parámetro de mezcla o sus sinónimos, no se encuentre dentro de la ontología, y el método de extracción de módulos no genere ningún módulo de esta ontología. 4.3.2 Método de mapeo de ontologías El método de mapeo de ontologías identifica aquellos elementos que son similares entre las ontologías de entrada y define relaciones de equivalencia entre los elementos. Para esto el método de mapeo se basa en la definición de dos tareas principales a) Cálculo de la similitud semántica, la cual ayuda a conocer con un grado de verdad que tan similares son dos elementos de la ontología. Este cálculo se apoya de Reglas de mapeo y medidas de similitud, las cuales identifican ciertos contextos que se deben cumplir para que dos elementos de dos ontologías se identifiquen como equivalentes (o similares). Una vez que se ha detectado que dos elementos son equivalentes la siguiente tarea del método de mapeos es hacer un filtrado de mapeos Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 29 Sabino Pariente Juárez Metodología CreaDO donde se verifica que la similitud de los dos elementos esté relacionada a la información del parámetro de mezcla. b) Definir relaciones de equivalencia, la cual una vez que se ha calculado el grado de similitud de dos elementos y que estos elementos están relacionados a la información del parámetro de mezcla se puede definir un mapeo entre los elementos mediante las relaciones de equivalencia de OWL. Estas tareas son descritas detalladamente a continuación: 4.3.2.1 Calculo de la similitud ontológica La similitud ontológica según (Marc Ehrig, 2006) es “la comparación de toda la ontología (o sus elementos) con otra ontología (o sus elementos). Esta comparación retorna un valor numérico que indica si los elementos de tienen un alto o bajo grado de similitud”. En base a esta definición (Marc Ehrig, 2006) se propuso la siguiente función de similitud. Esta función mapea un par de entidades (expresadas a través del conjunto potencia de entidades) y sus correspondientes ontologías a un número real que expresa la similitud entre las entidades. El número resultante cuenta con varias características: El resultado de la similitud siempre es positiva. La similitud de dos entidades es simétrica, es decir Sim(e,f) = Sim (f,e). La similitud igual a 1 define que las entidades involucradas son idénticas. La similitud define que las entidades involucradas son similares o diferentes según un grado de certeza. La similitud igual a 0 define que las entidades involucradas son diferentes y no tienen características en común. Ya que una ontología representa la conceptualización de un dominio, cuando se desea comparar dos ontologías se deben tomar en cuenta aspectos que están más allá de la representación de las entidades (a nivel sintáctico), es decir, se debe tomar en cuenta la relación con otras entidades. La comparación debe ser desde un punto de vista semántico. En este sentido (Marc Ehrig & Sure, 2004) , describe un modelo de 5 capas en forma de pila, el cual es presentado en la Figura 4.6. Las capas de este modelo son: a) Entidades, b) Red semántica, c) Lógica descriptiva, d) Restricciones y e) Reglas. El modelo pone las capas apiladas ya que en la capa inferior se calcula una similitud semántica de bajo nivel y la complejidad de la similitud semántica va aumentando conforme se va escalando cada capa. Figura 4.6. Pila de similitud ontológica (Marc Ehrig & Sure, 2004) Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 30 Sabino Pariente Juárez Metodología CreaDO Durante el cálculo de la similitud semántica, en cada capa de este modelo se compara a las entidades de la ontología utilizando diferentes criterios según su contexto. Para esto, (Ehrig & Sure, 2004) define un conjunto de reglas de mapeo que evalúan la similitud semántica de una ontológica utilizando un conjunto de reglas de mapeo. Reglas de mapeo Las reglas de mapeo proponen heurísticas para conocer si dos elementos de la ontología son similares. La Tabla 4.5 presenta las reglas clasificadas según la capa de complejidad semántica. Los aspectos que se evalúan en cada ontología son: a) La capa Entidad cuenta con reglas que evalúan la similitud entre etiquetas e identificadores de las entidades ontológicas, b) la capa Red semántica tiene que ver con las relaciones o propiedades que tiene cada entidad ontológica, c) la capa lógica descriptiva, tiene que ver con el contexto donde se encuentra la entidad en la ontología y por último, d) la capa Restricciones que sólo identifica la declaración de que dos entidades son similares. Tabla 4.5. Reglas de mapeo clasificadas en las capas de complejidad semántica (Ehrig & Sure, 2004) Capa Entidad Red semántica Lógica descriptiva Restricciones Reglas de mapeo R1. Si dos etiquetas son las mismas, las entidades probablemente son las mismas. R2. Si dos entidades tienen el mismo identificador, son idénticas. R3. Si las propiedades de dos conceptos son iguales, los conceptos son los mismos. R4.Si el dominio y rango de dos propiedades son iguales las propiedades son también iguales. R5. Si los súper-conceptos son iguales, los actuales conceptos son similares a cada uno de los otros. R6. Si los sub-conceptos los mismos, el concepto comparado es similar. R7. Si los conceptos tiene hermanos similares ellos también son similares. R8. Si las súper-propiedades son las mismas, las propiedades son similares. R9. Si las sub-propiedades son similares, las propiedades comparadas son similares. R10. Los conceptos que tienen las mismas instancias son los mimos. R11. Instancias que tiene el mismo concepto madre son similares. R12.Si los conceptos tienen similar fracción de instancias, los conceptos son similares. R13. Si dos instancias son enlazadas a otra instancia vía la misma propiedad, las dos instancias originales son similares.. R14. Si dos propiedades conecta a las mismas dos instancias, las propiedades pueden ser similares. R15. Existe declaraciones explicitas de que dos entidades son similares. Estas reglas son aplicadas a los 3 tipos de entidades de la ontología, es decir, las clases, las propiedades y las instancias. Sin embargo para el método de mapeo de ontologías de la metodología CreaDO sólo se utilizan aquellas reglas que evalúan la similitud de clases y propiedades, ya que las instancias son un elemento más complicado de comparar al buscar similitudes semánticas y están fuera del alcance de esta tesis. Medidas de similitud Cuando se busca mezclar dos ontologías es preciso conocer aquellas entidades que son similares (o equivalentes) dentro de las dos ontologías. Las medidas de similitud permiten conocer el grado de similitud de dos entidades definidas en diferentes ontologías. El grado de similitud nos ayuda a decidir si dos ontologías son similares. Este grado de similitud es un número real que puede tomar los valores entre el rango [0,1]. Es decir 0 para una similitud nula y 1 para un similitud del 100%. Existen diferentes tipos de medidas que calculan el grado de similitud dependiendo la capa semántica que utilizan para calcular el grado de similitud. Por ejemplo, (Alasoud, 2009) propone una medida para calcular la similitud de dos entidades de dos ontologías donde compara los elementos relacionados a las dos entidades e identifica aquellos Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 31 Sabino Pariente Juárez Metodología CreaDO elementos que son similares, posteriormente realiza una división del número de similitudes entre el número máximo de entidades relacionadas a la entidad A y B. El método de mapeo de ontologías de la metodología CreaDO utiliza las capas de la Tabla 4.5 para definir sus medidas de cálculo del grado de similitud. Por lo que, el método define 3 tipos de medidas de similitud que están en las capas Entidad, Red semántica y Lógica descriptiva, donde se calcula el grado de similitud. Entidad se comparan identificadores de la entidad. Para el caso de las clases se utilizan los sinónimos obtenidos en el método de evaluación. Red semántica se compara las propiedades de la clase, tanto propiedades de tipo como de tipo de dato. Lógica descriptiva se comparan las subclases y superclases asociadas a las clases. En cada una de las capas se define una fórmula para cada tipo de entidad que se compara. La Tabla 4.6 muestra las fórmulas para calcular la similitud entre entidades. Tabla 4.6. Tabla de medidas de similitud Capa de similitud Entidad Similitud Entidad Formula Clases y propiedades 1 Clases (nes/N1+nes/N2)/2 Clases (nes/N1+nes/N2)/2 Superclases Clases (nes/N1+nes/N2)/2 Subclases Clases (nes/N1+nes/N2)/2 Identificadores Red semántica Red semántica Lógica descriptiva Lógica descriptiva Propiedades de objeto Propiedades de tipo de dato Regla de mapeo utilizada R1, R2 R4 R4 R5 R6 En la capa Entidad cuando se trata de entidades similares el grado de similitud es 1 y si son diferentes es 0. Sin embargo, para las capas lógica descriptiva y red semántica se utiliza la fórmula grado de similitud = (nes/N1+nes/N2)/2, donde: nes = número de elementos similares relacionados a la clase1 y la clase2(clases, superclases, etc) N1 = Total de entidades relacionadas al concepto1 N2 = Total de entidades relacionadas al concepto2 Estas medidas son aplicadas a cada comparación de clases entre dos ontologías y por consiguiente al comparar las entidades relacionadas a la clase se tiene que realizar la comparación de las propiedades relacionadas a la clase. Una vez que se ha calculado el grado de similitud en cada una de los aspectos de cada capa se tiene que calcular el grado de similitud entre las entidades que se están comparando para ello se ha definido la siguiente fórmula para el grado de similitud entre las clases. La fórmula suma los grados de Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 32 Sabino Pariente Juárez Metodología CreaDO similitud obtenidos en cada comparación y divide la suma entre el número total de grados de similitud calculados. Similitud semántica = suma (Grados de similitud)/número de grados de similitud obtenidos. Si algún grado de similitud es 0 o nulo (debido a que alguna de las dos clases no cuente con las entidades relacionadas) ese grado de similitud no es tomado en cuenta para el cálculo de la formula. Umbral similitud Una vez calculado el grado de similitud la siguiente tarea es conocer si las entidades comparadas pueden ser relacionadas con una propiedad de equivalencia. El grado de similitud puede estar en el rango [0, 1], lo que significa que si el grado se acerca a 1 es muy probable que las entidades sean equivalentes y si el grado de similitud se acerca a 0 es muy poco probable que las entidades sean equivalentes. El problema entonces es decir cuál es el umbral idóneo para decidir cuando las clases son consideradas equivalentes. Para ello, en los trabajos de (Bollegala, Matsuo, & Ishizuka, 2007) y (Elita, Gavrila, & Vertan, 2007) identificaron que el umbral aproximado de 0.7 para la identificación de similitud o equivalencia entre dos entidades. Aunado a esto en la metodología CreaDO evaluamos la utilización de un umbral mayor y menor, Sin embargo, los resultados indicaron que el umbral más correcto era 0.7 para decidir cuándo dos entidades son similares o no. Entonces si la similitud semántica entre dos entidades en mayor o igual a 0.7, las entidades son consideradas como similares o equivalentes, sin embargo si la similitud semántica es menor a 0.7 entonces las entidades no son consideras como equivalentes. Filtrado de mapeos El filtrado de mapeos es una tarea muy importante del método de mapeo de ontologías debido a que filtra las equivalencias de entidades identificadas en las tareas anteriores del método. Este filtrado se realiza con el fin de identificar los mapeos que están relacionados al parámetro de mezcla y por lo tanto con la información que se ha obtenido en los módulos que han sido identificados en el método de extracción de ontologías. El filtrado de mapeo verifica que alguna de las dos entidades, que han sido identificadas como equivalentes, se encuentre dentro de los módulos identificados en el método de extracción de módulos. Si cumple con esta condición la propiedad de equivalencia es seleccionada para ser utilizada en la definición del conocimiento de la ontología de dominio. 4.3.2.2 Propiedades de alineamiento Las propiedades de alineamiento permiten definir propiedades de equivalencia entre entidades ontológicas, cuando se encuentra una correspondencia entre dos entidades. La correspondencia de las entidades puede ser: equivalencia, subclase, coincidencia, disyunción, membrecía e inversa. Cada una de estas relaciones se utiliza en diferentes entidades de una ontología. La Tabla 4.7 muestra el uso de cada propiedad de correspondencia en una clase y su definición en el lenguaje OWL, esta clasificación está Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 33 Sabino Pariente Juárez Metodología CreaDO basada en la clasificación de las relaciones de correspondencia descritas en (Svab-Zamazal, 2010). Tabla 4.7. Uso de las propiedades de correspondencia en las entidades ontológicas. Propiedad de alineamiento Equivalencia Entidad ontológica Clases, Propiedades, Instancias Subclase Clases, Propiedades de objeto Coincidencia Disyunción Membrecía Inversa Clases, Propiedades, instancias Clases Instancias Propiedades Representación en OWL owl:equivalentClass, owl:equivelentPorperty, owl:sameAs rdf:subClassOf, rdf:subPropertyOf owl:sameAs owl:disjointWith owl:memberOf owl:inverseOf La última tarea del método de mapeo de ontologías es definir (en el lenguaje de ontologías Web) la propiedad de equivalencia entre las dos entidades identificadas como equivalentes y que se identificaron como parte de la ontología de dominio a construir. Las propiedades de alineamiento que se utiliza son las propiedades de equivalencia. Es decir cuando se trate de clases equivalentes se utiliza la propiedad de equivalencia equivalentClass, y cuando se trate de equivalencias de propiedades, tanto de objeto como de tipo de dato, se utiliza la propiedad de equivalencia equivalentProperty.. 4.4 Fase de construcción de la ontología de domino La fase de construcción de la ontología de dominio reúne toda la información seleccionada en la Fase de adquisición del conocimiento con el objetivo de crear la ontología de dominio. Para ello, se cuenta con un método de mezcla de ontologías que realiza la tarea de unir todo el conocimiento obtenido. 4.4.1 Método de mezcla de ontologías El método de mezcla de ontologías es el método donde se construye la ontología de dominio utilizando los módulos identificados en el método de extracción de ontologías unificando esta información mediante los mapeos identificados en el método de mapeo de ontologías. Las siguientes tareas forman parte del método de construcción de la ontología de dominio: a) Definición del conocimiento de la ontología de dominio: Esta tarea obtiene todo el conocimiento de los módulos y lo representa en un único modelo ontológico. Es decir, todas las clases y propiedades definidas en los módulos. Cada entidad ontológica conserva su información de procedencia, es decir conserva la URI y el identificador como esta en la ontología de procedencia. b) Unificación del conocimiento representado. Una vez que se ha definido todo el conocimiento que contendrá la ontología de dominio es necesario definir propiedades de equivalencia a los elementos similares entre los módulos para ello se utilizan los mapeos que se identificaron en el método de mapeo de ontologías. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 34 Sabino Pariente Juárez Metodología CreaDO 4.5 Conclusiones En este capítulo se presenta la descripción detallada de los métodos que conforman la metodología CreaDO. Estos métodos se dividieron en tres fases: Fase I: Estudio y preparación de las ontologías, donde se definió al método de evaluación de antologías y al método de definición del parámetro de mezcla. Fase II: Adquisición del conocimiento, donde se definió al método de extracción de módulos de ontologías y el método de mapeo de ontologías. Fase III: Construcción de la ontología de dominio, donde se definió el método de mezcla de la ontologías Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 35 Sabino Pariente Juárez Herramienta CreaDO Capítulo 5. Herramienta CreaDO En este capítulo se presenta el análisis, diseño e implementación de la herramienta CreaDO. En la sección 5.1 se presenta una introducción que describe como la herramienta fue diseñada. En la sección 5.2 se presenta el análisis y diseño de la herramienta. En la sección 5.3 se muestra la implementación. En la sección 5.4 se presentan un conjunto de metamodelos que servirán para almacenar la información generada en el proceso de desarrollo de ontologías. En la sección 5.5 se muestra el prototipo de la herramienta presentando su interfaz gráfica de usuario. Por último, en la sección 5.6 se presentan las conclusiones del capítulo. 5.1 Introducción La herramienta CreaDO fue desarrollada con el fin de implementar la metodología CreaDO explicada en el capitulo Capítulo 4. De esta manera, se realizó un análisis de las características de la metodología CreaDO. 5.2 Análisis y diseño de la herramienta CreaDo El diseño de la herramienta fue realizado utilizando la metodología Tropos (Bresciani y otros, 2002). El primer paso de la metodología Tropos es la fase de requisitos tempranos en donde se representa el objetivo general de la metodología propuesta mediante la definición del contexto donde la metodología será utilizada. Para ello se define un diagrama de actores, el cual define a los actores junto con sus metas principales y las dependencias que existen entre ellos. La Figura 5.1 muestra el diagrama de actores en donde se muestran: a) el actor Desarrollador de ontologías que tiene como meta principal “desarrollar ontología” y b) el actor CreaDO que tiene como meta principal construir ontologías de dominio. Este actor es el encargado de implementar la metodología. Estos dos actores comparten dependencias de recurso. El actor CreaDO depende que el actor Desarrollador de ontologías le proporcione los recursos “Conjunto de ontologías” y “Parámetro de mezcla”. Estos recursos son considerados como la entrada de la herramienta. Por otra parte el actor Desarrollador de ontologías depende que el actor CreaDO le proporcione al recurso “Ontología de domino”. Este recurso es considerado como la salida que proporciona la herramienta. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 36 Sabino Pariente Juárez Herramienta CreaDO Figura 5.1. Diagrama de actores de la metodología CreaDO. El segundo paso de la metodología Tropos es crear un modelo de metas en el cual se describa a detalle cada unas de las metas de cada actor. Para el caso de la metodología CreaDO únicamente se describe a detalle al actor CreaDO, el cual representa los requisitos funcionales de la herramienta. La Figura 5.2 muestra el modelo de metas de este actor. En este modelo el actor CreaDO tiene la meta “construir ontologías de dominio”. Esta meta se divide en cinco submetas: a) Evaluar la ontología, b) Definir el parámetro de mezcla, c) Obtener módulos de ontología, d) Mapear las ontologías, y e) Mezclar la ontología. Cada una de estas submetas representa a los cinco métodos que conforman a la metodología propuesta. Estas submetas se derivan en tareas y subtareas que se deben de realizar para lograr alcanzar la meta principal. D Evaluate properties Merging ontology Mapping ontology And Finding correspondences amoung ontologies Merging ontologies Defining mappings between ontologies d An d An d An Joining the ontology modules in a new ontology Extract module ontology Get Parameter and parameter extension D Evaluate architecture And An d An d Get the parameter synonyms Define parameter Get ontologies and ontologies extension And An d Get Parameter Modularizing ontologies d An And And Evaluate ontology entities d An Evaluate class Defining Parameter Mapear las ontologias And d An Extraer Módulos de ontologías And Evaluating ontology d An And CreaDO Get ontologies d An Definir el parametro de mezcla An d And Evaluar ontologías And Construir ontologías de dominio Provide domain ontology Adding the ontology mappings in the new ontology D Set of ontologies D Parameter of merge D OWL-DL Domain Ontology D Ontology Developer Get domain ontology Figura 5.2. Diagrama de metas de la metodología CreaDO Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 37 Sabino Pariente Juárez Herramienta CreaDO El tercer paso de la Metodología Tropos es el diseño arquitectural. En esta fase el actor CreaDO se divide en subactores. Esto con el fin de definir la arquitectura de la herramienta CreaDO. Para ello, se utilizan las submetas del actor CreaDO para definir un diagrama de actores (Figura 5.3). En este diagrama se tienen los actores que representan a cada una de las metas del actor CreaDO. Además se define el actor Wordnet como actor externo, el cual ayuda al buen funcionamiento de la herramienta. También los actores que realizan tareas específicas. Por último el actor “Desarrollador de ontologías”. Figura 5.3 Diagrama de actores de la herramienta CreaDO Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 38 Sabino Pariente Juárez Herramienta CreaDO La siguiente fase de la metodología Tropos es el diseño detallado. En esta fase se definen las actividades que cada actor en el diseño arquitectural debe realizar. La definición de las tareas que realiza cada actor de la herramienta CreaDO, fue representada en el capítulo 4. Estas tareas se definieron mediante la utilización de algoritmos y diagramas de flujo. 5.3 Arquitectura de la herramienta CreaDO La implementación es la última fase de la metodología Tropos. En esta fase los actores de la fase de diseño arquitectónico y los algoritmos del diseño detallado son implementados en un lenguaje de programación. La implementación de la herramienta se realizó en el lenguaje de programación Java. La Figura 5.4 muestra un diagrama de paquetes de la herramienta el cual se utilizó para implementar la herramienta en Java. Este diagrama de paquetes está definido con base a los actores identificados en la fase del diseño arquitectural. Cada actor es considerado una clase de Java. Se definieron 7 paquetes, 1) el paquete de evaluación de ontologías que contiene a las clases Evaluación de Clases, Evaluación de propiedades, Evaluación de la arquitectura que heredan de la clase Evaluación de la ontología, 2) el paquete parámetro de mezcla que contiene a la clase Definición del parámetro de mezcla, 3) el paquete de EuroWordNet que contiene a la clase EuroWordNet, 4) el paquete de Modularización de ontologías que contiene a la clase Extracción de módulos de ontologías, 5) el paquete de similitud semántica que tiene a la clase Similitud Semántica, 6) el paquete de mapeo de ontologías que tiene las clases Mapeo de Ontologías y Filtrado de Mapeo, y por ultimo 7) el paquete de mezcla de ontologías con la clase Mezcla de ontologías. Figura 5.4. Diagrama de paquetes de la herramienta CreaDO 5.4 Paquete de almacenamiento de información La información que se utiliza durante el proceso de construcción de ontología de dominio tiene que ser almacenada para que sea consultada o transformada por cada uno de los métodos definidos de la metodología propuesta. Esta información ha sido estructurada para que su utilización pueda ser más sencilla y fácil de entender. En la Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 39 Sabino Pariente Juárez Herramienta CreaDO herramienta se ha definido un paquete adicional donde se define la utilización de un conjunto de metamodelos que permiten el almacenamiento de la información utilizada en cada método de la metodología propuesta. Este conjunto de metamodelos ayudan a almacenar la información generada en cada método. La Figura 5.5 muestra el paquete de los metamodelos utilizados en un paquete llamado OMVExtension, el cual tiene las clases OMVCore, OMVLir, OMVModule, OMVMapping, OMVPitfall. Este paquete se encarga únicamente de gestionar la utilización de cada metamodelo. OMVExtension OMVCore OMVLir OMVPitfall OMVModule OMVMapping Figura 5.5. Paquete de extensiones OMV Los metamodelos utilizados en este paquete son definidos en base a los metamodelos OMV propuestos en (Hartmann, Palma, & Sure, 2005) quienes definen el metamodelo OMV Core y (Montiel-Ponsoda, de Cea, Gómez-Pérez, & Peters, 2008) quienes propusieron el metamodelo OMV Lir que es una extensión al metamodelo OMV Core. Estos metamodelos son descritos entre las secciones 5.4.2 y 5.4.5 donde se describe detalladamente la información que se representa en cada método de la metodología CreaDO. También se menciona la clase del paquete OMVExtension que gestiona la utilización de cada metamodelo. 5.4.1 OMVCore El metamodelo OMVCore propuesto por (Hartmann et al., 2005) almacena información general de la ontología. Esta información la distribuye en diferentes clases que contienen información referente al contexto de la ontología. La clase más importante es la clase Ontology donde se almacena información acerca de la procedencia de la ontología, tal como, nombre, la URI, la versión de la ontología, descripción, las palabras claves, el lenguaje natural utilizado. Además también presenta información estadística de la ontología, por ejemplo, número de clases, número de propiedades, número de instancias, número de axiomas. El resto de las clases del metamodelo OMV Core sirven para describir el propósito más aspectos referentes a la ontología como, el dominio de la ontología, la tarea en que será utilizada la ontología, la metodología y la herramienta de creación de ontologías utilizada, entre otras. La Figura 5.6 presenta el diagrama de clases del metamodelo OMVCore. La herramienta CreaDO utiliza estos metamodelos para almacenar la información general de cada ontología de entrada. Para ello utiliza la clase Ontology del metamodelo OMVCore, para almacenar información acerca de la procedencia de la ontología y la Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 40 Sabino Pariente Juárez Herramienta CreaDO información estadística de la ontología. En el paquete OMVExtension la clase que gestiona este metamodelo es la clase OMVCore. Figura 5.6. Metamodelo OMV de (Hartmann et al., 2005) 5.4.2 Metamodelo OMVLir El metamodelo OMVLir propuesto por (Montiel-Ponsoda et al., 2008) es una extensión al metamodelo OMVCore. Este metamodelo almacena información léxica, tal como sinónimos, antónimos, nombres científicos, traducciones, nombres comunes, etc. La clase principal de este metamodelo es la clase LexicalEntry la cual almacena la información léxica. El metamodelo OMVLir también cuenta con más clases que ayudan a contextualizar a cada instancia de la clase LexicalEntry. La Figura 5.7 presenta el diagrama de clases del metamodelo OMVLir La herramienta CreaDO utiliza al metamodelo OMVLIR para almacenar la información de patrón de nombrado y sinónimos obtenida en la tarea de evaluación de clases en el método de evaluación de ontologías. El método de evaluación utiliza únicamente a la clase OntologyElement para almacenar las clases de la ontología y a la clase LexicalEntry para almacenar la información de patrón de nombrado y sinónimos Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 41 Sabino Pariente Juárez Herramienta CreaDO relacionados a la clase evaluada. Este metamodelo es gestionado por la clase OMVLir del paquete OMVExtensions. Figura 5.7. Metamodelo OMVLIR (Montiel-Ponsoda et al., 2008) 5.4.3 Metamodelo OMVPropertyPitfalls El metamodelo OMVPropertyPitfalls es una extensión del metamodelo OMVLir de (Montiel-Ponsoda et al., 2008). Este metamodelo es utilizado por la tarea de evaluación de propiedades del método de evaluación de ontologías, por lo tanto, almacena la definición de una propiedad, tanto de objeto como de tipo de dato, así como los posibles errores de diseño que sean encontrados al realizar la evaluación. Para ello, el metamodelo OMVPropertyPitfalls utiliza el metamodelo de OWL para definir la clase OntologyElement que contiene como subclases las entidades ontológicas Class, y Property. La clase Property almacena a las propiedades de la ontología y la clase Class almacena las clases dominio y rango que asocia la propiedad. Además, el metamodelo OMVPropertyPitfalls cuenta con la clase Pitfall para almacenar los errores de diseño que han sido encontrados al momento de llevar a cabo el proceso de evaluación de la ontología. También cuenta con la clase LexicalEntry para almacenar el patrón de nombrado de la propiedad. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 42 Sabino Pariente Juárez Herramienta CreaDO La Figura 5.8 muestra el metamodelo OMVPropertyPitfalls. Por último, es importante mencionar que el metamodelo es gestionado por la clase OMVPitfall del paquete OMVExtension. OMVLir OWL Metamodel RDFSchema Pitfall OntologyElement 0:n hasLexicalEntry LexicalEntry 0:n hasPitfall Datatype Property 0:n hasDomainClass Class 0:n hasRangeDatatype DatatypeProperty ObjectProperty 0:n hasRangeClass Figura 5.8. Metamodelo OMVPropertyPitfalls 5.4.4 Metamodelo OMVOntologyModule El metamodelo OMVOntologyModule es una extensión de metamodelo OMVCore de (Hartmann et al., 2005). Este metamodelo es utilizado por el método de extracción de módulos por lo que almacena las entidades ontológicas que han sido seleccionadas para formar el módulo. Para ello, utiliza a la clase Ontology del metamodelo OMVCore, a la que se le agrega la propiedad recursiva hasOntologyModule. Esta propiedad tiene en su dominio y rango a la clase Ontology, debido a que un módulo es considerado como una ontología. Además, el metamodelo OMVOntologyModule utiliza la clase OntologyElement para asociarle elementos a la clase Ontology cuando está representando un módulo. La Figura 5.9 muestra el metamodelo OMVOntologyModule. Por último, cabe mencionar que el metamodelo es gestionado por la clase OMVModule del paquete OMVExtension. OMV Core OWL Metamodel Ontology RDFSchema OntologyElement 0:n hasOntologyElement -OntologyName -OntologyURI -OntologyKeywords Datatype Property 0:n hasDomainClass 0:n hasOntologyModule Class 0:n hasRangeDatatype 0:n subClassOf DatatypeProperty ObjectProperty 0:n hasRangeClass Figura 5.9. Metamodelo OMVOntologyModule Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 43 Sabino Pariente Juárez Herramienta CreaDO 5.4.5 Metamodelo OMVMapping El metamodelo OMVMapping es utilizado por el método de mapeo de ontologías. Este metamodelo se basa en el metamodelo de OWL donde se define la relación recursiva isEquivalentTo que tiene como dominio y rango a la clase OntologyElement. Esto permite definir la relación entre clases y entre propiedades, con el fin de relacionar todas las entidades similares identificadas en el método de mapeo de ontologías. La Figura 5.10 muestra el diagrama de clases del metamodelo OMVMapping. Por último, cabe mencionar que el metamodelo es gestionado por la clase OMVMapping del paquete OMVExtension OWL Metamodel OntologyElement 1:1 isEquivalentTo IRI Class Property ObjectProperty DatatypeProperty Figura 5.10. Metamodelo OMVMapping 5.5 Prototipo La interfaz gráfica de la herramienta (Figura 5.11) fue definida utilizando la información de entradas y salidas identificadas en la fase de requisitos tempranos (sección 5.2) Tropos. La interfaz de la herramienta cuenta con a) un botón para cargar dos o más ontologías, b) un área de trabajo donde se despliegan las ontologías en forma de árbol jerárquico, c) un área de texto donde se ingresa el parámetro de mezcla, d) un botón de ejecución para llevar a cabo la construcción de las ontologías de dominio, e) un área donde la ontología de dominio es presentada, y por último, f) un botón para guardar la ontología de dominio construida. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 44 Sabino Pariente Juárez Herramienta CreaDO Figura 5.11. Interfaz gráfica de la herramienta CreaDO 5.6 Conclusiones En este capítulo se presentó el proceso de análisis, diseño e implementación de la herramienta CreaDO. Para ello, se utilizó la metodología de modelado Tropos, con la que se llevó a cabo el análisis y diseño con el fin de obtener como resultado de la arquitectura de la herramienta. Además, este capítulo presenta la definición del metamodelo OMV y sus extensiones, las cuales permiten el almacenamiento de la información generada en cada uno de los métodos definidos en la herramienta. Por último, se presenta la implementación de la herramienta la cual fue realizada en el lenguaje de programación Java. La implementación se basa en la utilización de la arquitectura definida en la fase de análisis y diseño. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 45 Sabino Pariente Juárez Casos de estudio y pruebas Capítulo 6. Casos de estudio y pruebas En este capítulo se presenta la evaluación del enfoque propuesto, el cual se realizó utilizando casos de estudio en el cuál se validó si la mezcla de las ontologías se realizaba correctamente de acuerdo al parámetro de mezcla definido por el usuario. En la sección 6.1se presenta la introducción de las pruebas. En la sección 6.2 se describen detalladamente los casos de estudio. En la sección 6.3 se presentan los resultados obtenidos en cada caso de estudio. Por último en la sección 6.4, se presentan las conclusiones del capítulo. 6.1 Introducción Las pruebas realizadas a la metodología propuesta e implementada en la herramienta CreaDO utilizan dos conjuntos de ontologías y un conjunto de parámetros de mezcla. El dominio de las ontologías de cada conjunto y los parámetros de mezcla de estos casos de estudio fueron elegidos de manera aleatoria, ya que en el funcionamiento real del sistema los dominios de las ontologías a mezclar pueden ser de muy distintos tipos. 6.2 Casos de estudio Los casos de estudio que fueron utilizados en la etapa de pruebas están conformados por dos conjuntos de ontologías: a) un conjunto de ontologías que representan información acerca de los diferentes enfoques de modelado con la metodología i*; b) un conjunto de ontologías que representa información acerca del dominio turístico. Para cada caso de estudio se definió un parámetro de mezcla que está relacionado a los dominios de los conjuntos de ontologías, por lo que podemos obtener diferentes ontologías de dominio para un conjunto de ontologías dado. Es importante remarcar que en este capítulo se presentan primeramente los casos de estudio analizados y posteriormente los resultados de las pruebas. 6.2.1 Conjunto de ontologías de los modelos i* Este conjunto de ontologías representa información acerca de diferentes enfoques de modelado con la metodología i*. En forma específica se analizarán las ontologías de i*, Tropos y la ontología del modelo i* orientado a servicios. Cada uno de estos enfoques de modelado contienen primitivas en común, por lo que se propone utilizar el enfoque propuesto para crear una ontología que incluya información de los tres modelos. Esto se realiza con el fin de hacer un modelo interoperable entre las 3 técnicas de modelado. Es importante mencionar que estas ontologías fueron desarrolladas en la tesis de maestría de Nájera (Nájera, 2011). Las ontologías son descritas a continuación: Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 46 Sabino Pariente Juárez Casos de estudio y pruebas Ontología del modelo i*: La ontología representa la información del modelo que describe las primitivas de la framework de modelado i*(Yu, 1996), el cual es utilizado para describir redes organizacionales formadas por actores sociales que operan libremente pero también necesitan de otros actores para alcanzar sus metas. La Tabla 6.1 muestra la información estadística de la ontología del modelo i*. La información estadística de cada una de las ontologías fue obtenida con la herramienta NeOn toolkit. Tabla 6.1 Información estadística de la ontología del metamodelo i* Elemento ontológico Clases Propiedades de tipo de dato Propiedades de objeto Tipos de dato Instancias Cantidad 34 10 27 1 0 La Figura 6.1 muestra una vista general de ontología de i* presentando los conceptos clave de la ontología. Al igual que la tabla estadística de la ontología, esta vista fue obtenida con la herramienta Neón toolkit2. Figura 6.1. Conceptos clave de la ontología del metamodelo i* Ontología del modelo Tropos: La ontología representa la información del modelo que describe las primitivas de la metodología de modelado Tropos (Bresciani, Giorgini, Giunchiglia, Mylopoulos, & Perini, 2003), la cual es una metodología de ingeniería de software orientada a agentes que cubre el proceso completo del desarrollo de software. La Tabla 6.2 muestra la información estadística de la ontología del modelo Tropos. Tabla 6.2 Información estadística de la ontología del modelo Tropos Elemento ontológico Cantidad Clases 19 Propiedades de tipo de dato 10 2 http://neon-toolkit.org/wiki/Main_Page Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 47 Sabino Pariente Juárez Casos de estudio y pruebas Elemento ontológico Propiedades de objeto Tipos de dato Instancias Cantidad 27 1 0 La Figura 6.2 muestra una vista general de la ontología de Tropos presentando los conceptos clave de la ontología. Figura 6.2. Conceptos clave de la ontología del metamodelo Tropos Ontología del modelo i* orientado a servicios: La ontología representa la información del metamodelo que describe las primitivas de la metodología de modelado organizacional i* orientado a servicios (Estrada Esquivel, 2008), la cual se enfoca en la idea de que una organización está compuesta por servicios. La Tabla 6.3 muestra la información estadística de la ontología del modelo i* Tabla 6.3. Información estadística de la ontología del modelo orientado a servicios Elemento ontológico Clases Propiedades de tipo de dato Propiedades de objeto Tipos de dato Instancias Cantidad 18 12 12 1 154 La Figura 6.3 muestra una vista general de ontología de i* orientado a servicios presentando los conceptos clave de la ontología. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 48 Sabino Pariente Juárez Casos de estudio y pruebas Figura 6.3. Conceptos clave de la ontología del metamodelo i* orientado a servicios Parámetro de mezcla: Para este caso de estudio se utilizó como parámetro prueba la palabra “Actor”. 6.2.2 Conjunto de ontologías del dominio “Turístico” Las pruebas realizadas en el conjunto ontologías del dominio “Turístico”. Las ontologías que conforman este conjunto se buscaron en Swoogle 3 . Por cuestiones de espacio únicamente seleccionamos dos ontologías para este conjunto de los resultados obtenidos en la búsqueda. La selección de las ontologías se realizó de manera aleatoria, por lo que se comprueba que las ontologías pueden ser utilizadas sin importar la metodología que fue utilizada en el diseño y desarrollo de la ontología. Las ontologías de turismo son descritas a continuación: Ontología de turismo ETP-Tourist: Versión beta 0.8.1 de la ontología que describe el modelo de datos de la plataforma ETP. Esta ontología fue Diseñada por Petko Valtchev. La ontología fue obtenida de la página web http://www.info.uqam.ca/Members/valtchev p/mbox/ETP-tourism.owl. La información estadística de esta ontología es presentada en la Tabla 6.4. Tabla 6.4. Información estadística de la ontología ETP-Tourism Elemento ontológico Clases Propiedades de tipo de dato Propiedades de objeto Tipos de dato Instancias Cantidad 195 46 41 6 0 La Figura 6.4 muestra una vista general de ontología Etp-Tourist presentando los conceptos clave de la ontología. 3 http://swoogle.umbc.edu/ Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 49 Sabino Pariente Juárez Casos de estudio y pruebas Figura 6.4. Conceptos clave de la ontología Etp-Tourist Ontología de turismo OTN: Ontología de redes de transporte (Ontology Transport network). La ontología fue obtenida de la página web http://rewerse.net/A1/otn/OTN.owl. La Tabla 6.5 muestra la información estadística de la ontología OTN. Tabla 6.5. Información estadística de la ontología OTN Elemento ontológico Clases Propiedades de tipo de dato Propiedades de objeto Tipos de dato Instancias Cantidad 181 75 36 9 0 La Figura 6.5 muestra una vista general de ontología OTN presentando los conceptos clave de la ontología. Figura 6.5. Conceptos clave de la ontología OTN Parámetro de mezcla: Para este caso de estudio los parámetros de mezcla la palabra utilizados son “Tourism” y “Transport”. 6.3 Pruebas En esta sección se utilizan los tres casos de estudio definidos en la sección 6.2 con el objetivo de mostrar los resultados del proceso de creación de ontologías de dominio Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 50 Sabino Pariente Juárez Casos de estudio y pruebas propuesto. Los resultados obtenidos en casos de estudio son presentados en esta tesis de la siguiente manera: Construcción de una ontología de dominio para los modelos de i* utilizando las “Ontologías de los modelos de i*” y el parámetro de mezcla “Actor”. Construcción de una ontología de dominio para el turismo utilizando las ontologías del dominio Turístico y el parámetro de mezcla “Tourism”. Construcción de una ontología de dominio para el transporte en el turismo utilizando las ontologías del dominio Turístico y el parámetro de mezcla “Transport”. Es necesario mencionar que el objetivo no es mencionar como se utiliza la herramienta, si no únicamente se presentan los resultados obtenidos en cada caso de estudio ejecutado en la herramienta. Por lo tanto en la descripción de cada caso de estudio se presenta: a) una captura de pantalla de la herramienta CreaDO una vez ejecutado el caso de estudio, b) una vista de general de conceptos importantes generada por la herramienta NeOn Toolkit, c) una tabla donde se muestran los mapeos identificados en el método de mapeo de ontologías de la herramienta CreaDO. La tabla se presenta cinco columnas que describen los mapeos. Las columnas son: Entidad 1: Contiene una entidad de la ontología 1 Entidad 2: Contiene una entidad de la ontología 2 Es equivalente por: Contiene la regla de mapeo por la que se identifico que las entidades son equivalentes. GPS: Es el grado de similitud parcial, la cual se obtiene cuando se evalúa cada regla de mapeo GST: Es el grado de similitud total, resultado de calcular el promedio entre los grados de similitud parciales 6.3.1 Ontología de dominio para los modelos de i* La ontología de dominio de i* es el resultado de llevar a cabo el proceso de creación de ontologías utilizando el caso de estudio presentado en la sección 6.2.1. La Figura 6.6 muestra la Interfaz Gráfica de la Herramienta CreaDO después de ejecutar este caso de estudio. En la figura se muestra: En el área de ontologías de entrada a la ontologías de los modelos i*. En el área del parámetro de mezcla al concepto “actor”. En el área de la ontología de dominio presenta la ontología de dominio resultante. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 51 Sabino Pariente Juárez Casos de estudio y pruebas Figura 6.6. Ejecución de la herramienta CreaDO creando la Ontología de dominio del Modelo i*. La Figura 6.7 presenta la vista general de la ontología de dominio del modelo i*. En la figura se presentan los conceptos principales según la herramienta NeOn Toolkit. Figura 6.7. Vista de conceptos principales de la ontología de dominio del Modelo i* resultante La Tabla 6.6 presenta el conjunto de entidades equivalentes (o mapeos) que fueron detectados en el método de mapeo de ontologías de la herramienta CreaDO. Tabla 6.6. Tabla de conceptos equivalentes de la ontología del Modelo i* Entidad 1 Entidad 2 Es equivalente por GSP GST http://www.owlontologies.com/Ontology1 <http://www.owlontologies.com/Ontology13049 Comparación de cadenas 1.0 1.0 Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 52 Sabino Pariente Juárez Casos de estudio y pruebas 304961008.owl#Actor 61009.owl#Actor http://www.owlontologies.com/Ontology1 304961008.owl#Dependa bleNode http://www.owlontologies.com/Ontology13049 61009.owl#DependableNode http://www.owlontologies.com/Ontology1 304961008.owl#Node http://www.owlontologies.com/Ontology13049 61009.owl#Node <http://www.owlontologies.com/Ontology1 304961008.owl#Internal Element> <http://www.owlontologies.com/Ontology13049 61009.owl#InternalElement> http://www.owlontologies.com/Ontology1 304961008.owl#Actor <http://www.owlontologies.com/Ontology13049 61268.owl#Actor http://www.owlontologies.com/Ontology1 304961008.owl#Dependa bleNode http://www.owlontologies.com/Ontology13049 61268.owl#DependableNode http://www.owlontologies.com/Ontology1 304961008.owl#Node http://www.owlontologies.com/Ontology12990 13268.owl#Node <http://www.owlontologies.com/Ontology1 304961268.owl#Internal Element> <http://www.owlontologies.com/Ontology13049 61009.owl#InternalElement> http://www.owlontologies.com/Ontology1 304961009.owl#Actor <http://www.owlontologies.com/Ontology13049 61268.owl#Actor http://www.owlontologies.com/Ontology1 304961008.owl#Dependa bleNode http://www.owlontologies.com/Ontology13049 61268.owl#DependableNode Comparación de superclases Comparación de cadenas Comparación de superclases Comparación de subclases Comparación de cadenas Comparación de superclases Comparación de subclases Comparación de cadenas Comparación de superclases Comparación de cadenas Comparación de superclases Comparación de cadenas Comparación de superclases Comparación de subclases Comparación de cadenas Comparación de superclases Comparación de cadenas Comparación de superclases Comparación de cadenas Comparación de superclases Comparación de cadenas Comparación de superclases Comparación de subclases 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 0.96 0.83 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 6.3.2 Construcción de una ontología de dominio del transporte La ontología de dominio del transporte es el resultado de llevar a cabo el proceso de creación de ontologías utilizando el caso de estudio presentado en la sección 6.2.2 con el parámetro de mezcla “Transport”. La Figura 6.8 muestra la Interfaz Gráfica de la Herramienta CreaDO después de ejecutar este caso de estudio. En la figura se muestra: Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 53 Sabino Pariente Juárez Casos de estudio y pruebas En el área de ontologías de entrada a las ontologías de turismo En el área del parámetro de mezcla al concepto “Transport”. En el área de la ontología de dominio presenta la ontología de dominio resultante. Figura 6.8. Ejecución de la herramienta CreaDO creando la Ontología de dominio de transportes en el turismo. La Figura 6.9 presenta la vista general de la ontología de dominio del modelo i*. En la figura se presentan los conceptos principales según la herramienta NeOn Toolkit. Figura 6.9. Vista de conceptos principales de la ontología de dominio de transportes resultante La Tabla 6.7 presenta el conjunto de entidades equivalentes (o mapeos) que fueron detectados en el método de mapeo de ontologías de la herramienta CreaDO. Tabla 6.7. Tabla de conceptos equivalentes de la ontología dominio de transportes en el turismo. Entidad 1 Entidad 2 Es equivalente por GSP Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros GST 54 Sabino Pariente Juárez Casos de estudio y pruebas http://www.info.uqam.ca/Me mbers/valtchev_p/mbox/ETPtourism.owl#Ferry http://www.pms.ifi.unimuenchen.de/OTN#Ferry Comparación de cadenas 1.0 1.0 http://www.info.uqam.ca/Me mbers/valtchev_p/mbox/ETPtourism.owl#Service http://www.pms.ifi.unimuenchen.de/OTN#Service Comparación de cadenas 1.0 1.0 6.3.3 Construcción de una ontología de dominio del turismo La ontología de dominio del turismo es el resultado de llevar a cabo el proceso de creación de ontologías utilizando el caso de estudio presentado en la sección 6.2.2 con el parámetro de mezcla “Tourism”. La Figura 6.10 muestra la Interfaz Gráfica de la Herramienta CreaDO después de ejecutar este caso de estudio. En la figura se muestra: En el área de ontologías de entrada a las ontologías de turismo. En el área del parámetro de mezcla al concepto “Tourism”. En el área de la ontología de dominio presenta la ontología de dominio resultante. Figura 6.10. Ejecución de la herramienta CreaDO creando la Ontología de dominio del Turismo. La Figura 6.11 presenta la vista general de la ontología de dominio turismo. En la figura se presentan los conceptos principales según la herramienta NeOn Toolkit. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 55 Sabino Pariente Juárez Casos de estudio y pruebas Figura 6.11. Vista de conceptos principales de la ontología de dominio de turismo resultante La presenta el conjunto de entidades equivalentes (o mapeos) que fueron detectados en el método de mapeo de ontologías. Tabla 6.8. Tabla de conceptos equivalentes de la ontología dominio del turismo Entidad 1 Entidad 2 Es equivalente por GSP GST http://www.pms.ifi.unimuenchen.de/OTN#Tourist_ Office http://www.pms.ifi.unimuenchen.de/OTN#Service Comparación de cadenas 1.0 1.0 http://www.info.uqam.ca/Me mbers/valtchev_p/mbox/ETPtourism.owl#Service http://www.pms.ifi.unimuenchen.de/OTN#Service Comparación de cadenas 1.0 1.0 6.4 Conclusiones En este capítulo se describen las pruebas realizadas la herramienta CreaDO utilizando tres casos de estudio. En estas pruebas son para evaluar los resultados de la metodología propuesta a la hora de crear la ontología de dominio. Las conclusiones obtenidas después de llevar a cabo la ejecución de estos casos de estudio son: La información que se representa en la ontología de dominio resultante es muy pobre cuando se trata de un conjunto de ontologías muy pequeño. Si las ontologías de entrada no presentan información suficiente asociada a la descripción de sus entidades, dificulta la identificación de los mapeos entre las ontologías. Es difícil encontrar un gran número de ontologías de un mismo dominio disponibles para su libre uso. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 56 Sabino Pariente Juárez Conclusiones y trabajos futuros Capítulo 7. Conclusiones y trabajos futuros Este capítulo se revisa el objetivo de investigación y las principales conclusiones que pueden extraerse de este trabajo (sección 7.1). Además se presentan las principales contribuciones derivadas de esta investigación. Finalmente, en la sección7.2 se enlistan algunos trabajos futuros de investigación que se pueden generar a partir de este trabajo de investigación 7.1 Conclusiones Como se menciona en el Capítulo 1, el objetivo general de la tesis es “Desarrollar una nueva metodología para la construcción automática de ontologías de dominio que incluya únicamente el conocimiento relevante para los propósitos de su utilización, utilizando técnicas de reutilización de ontologías”. Es por ello que en esta tesis describimos el desarrollo de esta metodología, la cual ha sido llamada CreaDO. Esta metodología se basa en técnicas de reutilización de ontologías, tales como: a) La modularización de ontologías, que permite la obtención de entidades ontológicas relevantes para el propósito de utilización de la ontología. b) El mapeo de ontologías, que permite la identificación de entidades equivalentes definidas entre las ontologías reutilizadas. c) La mezcla de ontologías, la cual une todo el conocimiento obtenido en la modularización utilizando las entidades equivalentes identificadas en el mapeo de ontologías. Con este enfoque la metodología resuelve el problema de construir ontologías que incluyan toda la información sobre un dominio de conocimiento. Además, que la información contenida en la ontología es de interés para el objetivo de utilización. Por otra parte, como se menciona en la sección 1.4, se pretende que la metodología trabaje dentro de un proyecto que propone crear una nueva arquitectura para búsquedas de información en la web basada en un enfoque de anotación semántica (García, 2010). Es por ello que en esta tesis se realiza la implementación de la herramienta CreaDO que está basada en los métodos de la metodología propuesta. Las ontologías generadas por la herramienta serán utilizadas como base de conocimiento por el motor de búsqueda semántico de la arquitectura propuesta por (García, 2010). Una característica importante de estas ontologías es que conservan la información de procedencia de sus entidades que la conforman. Esto ayuda al motor de búsqueda semántica a ubicar los resultados de los recursos consultados de una manera estructurada semánticamente. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 57 Sabino Pariente Juárez Conclusiones y trabajos futuros 7.1.1 Contribuciones Las principales contribuciones derivadas de este trabajo de tesis son las siguientes: El estudio del estado del arte sobre las temáticas de metodologías de construcción de ontologías, metodologías de construcción de ontologías de dominio y enfoques basados en mezcla de ontologías. La definición de una metodología CreaDO para la construcción de ontologías de dominio de propósito específico. La herramienta CreaDO versión 1.0 la cual implementa a la metodología CreaDO. La publicación del artículo: Pariente, S., Suarez-Figueroa, M. C., Estrada, H., & Martínez, A. (2011). CreaDO–A Methodology to Create Domain Ontologies Using Parameter-Based Ontology Merging Techniques. 2011 10th Mexican International Conference on Artificial Intelligence (pp. 23–28). La extensión y adaptación de los Meta-modelos OMV Core y OWL Lir. 7.2 Trabajos futuros A partir de definir la metodología CreaDO para construir ontologías de dominio de propósito específico, es posible realizar los siguientes trabajos futuros: La adaptación de la metodología CreaDO para que soporte la construcción de ontologías de dominio a partir de ontologías desarrolladas en diferentes idiomas del lenguaje natural. La definición de un método de evaluación que trate de solucionar los problemas de diseño de las ontologías reutilizadas. Definir un método de mapeo de ontologías que se base en la utilización de axiomas e instancias de la ontología con el fin de ser más precisos al momento de identificar las entidades similares de dos ontologías. La definición de un método que valide la consistencia de la ontología de dominio resultante. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 58 Sabino Pariente Juárez Referencias Referencias Alasoud, A. K. (2009). A multi-matching technique for combining similarity measures in ontology integration. Dept. of Computer Science and Software Engineering, Concordia University. Berners-Lee, T., Hendler, J., & Lassila, O. (2001). A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities. Scientific American, 284(5), 34–43. Bollegala, D., Matsuo, Y., & Ishizuka, M. (2007). Measuring semantic similarity between words using web search engines. Proceedings of WWW (Vol. 7, pp. 757–786). Borst, W. N. (1997). Construction of Engineering Ontologies for Knowledge Sharing and Reuse, PhD, 227. Bresciani, P., Giorgini, P., Giunchiglia, F., Mylopoulos, J., & Perini, A. (2003). Tropos: An Agent-Oriented Software Development Methodology. Retrieved from http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.7049 Castells, P. (2003). La web semántica. Sistemas Interactivos y Colaborativos en la Web, 195–212. Cristani, M., & Cuel, R. (2004). A Comprehensive Guideline for Building a Domain Ontology from Scratch. Proceedings of International Conference on Knowledge Management. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.91.2557 Cuenca Grau, B. (2005). COMBINACIÓN E INTEGRACIÓN DE ONTOLOGÍAS EN LA WEB SEMÁNTICA. Universitat de Valencia, Valencia, España. d’ Aquin, M., Baldassarre, C., Gridinoc, L., Angeletou, S., Sabou, M., & Motta, E. (2007). Characterizing knowledge on the semantic web with Watson. EON CEUR Workshop Proceedings, 329, 1–10. Dahab, M., Hassan, H., & Rafea, A. (2008). TextOntoEx: Automatic ontology construction from natural English text. Expert Systems with Applications, 34, 1474–1480. doi:10.1016/j.eswa.2007.01.043 Doran, P., Tamma, V., & Iannone, L. (2007). Ontology module extraction for ontology reuse: an ontology engineering perspective. Proceedings of the sixteenth ACM conference on Conference on information and knowledge management (pp. 61–70). Ehrig, M. (2006). Ontology Alignment: Bridging the Semantic Gap (Semantic Web and Beyond). Springer. Retrieved from http://www.amazon.ca/exec/obidos/redirect?tag=citeulike09-20&path=ASIN/038732805X Ehrig, M., & Sure, Y. (2004). Ontology Mapping - An Integrated Approach. ESWS Lecture Notes in Computer Science, 3053, 76–91. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 59 Sabino Pariente Juárez Referencias Elita, N., Gavrila, M., & Vertan, C. (2007). Experiments with string similarity measures in the EBMT framework. Proceedings of the RANLP 2007 Conference, 183–187. Estrada Esquivel, H. (2008). A service-oriented approach for the i* framework. Universitat Politècnica de València. Retrieved from http://dialnet.unirioja.es/servlet/tesis?codigo=18233 Euzenat, J., & Valtchev, P. (2004). Similarity-based ontology alignment in {OWL}{L}ite. European Conference on Artificial Intelligence {ECAI}-04. Retrieved from http://www.iro.umontreal.ca/~owlola/pdf/align-ECAI04-FSub.pdf Fensel, D., Van Harmelen, F., Klein, M., Akkermans, H., Broekstra, J., Fluit, C., van der Meer, J., et al. (2000). On-to-knowledge: Ontology-based tools for knowledge management. Proceedings of the eBusiness and eWork (pp. 18–20). Fernandez, M., Gomez-Perez, A., & Juristo, N. (1997). Methontology: from ontological art towards ontological engineering. Proceedings of the AAAI97 Spring Symposium Series on Ontological Engineering (pp. 33–40). Figueroa, M. C. S., & Perez, A. G. (2008). First Attempt towards a Standard Glossary of Ontology Engineering Terminology. Ganter, B., & Stumme, G. (2003). Creation and Merging of Ontology Top-Levels. Proc. of the 11th International Conference on Conceptual Structures, ICCS, volume 2746, 131–145. Garcia, V. (2010). UNA NUEVA ARQUITECTURA PARA BÚSQUEDAS DE INFORMACIÓN EN LA WEB BASADA EN UN ENFOQUE DE ANOTACIÓN SEMÁNTICA (Propuesta de tesis Doctoral). Cenidet, Morelos, México. Hartmann, J., Palma, R., & Sure, Y. (2005). OMV – ontology metadata vocabulary. ISWC 2005 WORKSHOP ON ONTOLOGY PATTERNS FOR THE SEMANTIC WEB. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.104.7266 Lamarca, M. J. (2007). Hipertexto: el nuevo concepto de documento en la cultura de la imagen. http://www. hipertexto. info/documentos/web_tecnolog. htm. Consultado em. Retrieved from http://www.hipertexto.info/index.htm McGuinness, D. L., & Van Harmelen, F. (2004). OWL web ontology language overview. W3C recommendation, 10, 2004–03. Montiel-Ponsoda, E., de Cea, G. A., Gómez-Pérez, A., & Peters, W. (2008). Modelling multilinguality in ontologies. Coling 2008: Companion volume: Posters, 67–70. Najera, K. (2011). Generación de ontologías a partir de conocimiento organizacional. Cenidet, Cuernavaca. Pariente, S., Suarez-Figueroa, M. C., Estrada, H., & Martínez, A. (2011). CreaDO–A Methodology to Create Domain Ontologies Using Parameter-Based Ontology Merging Techniques. 2011 10th Mexican International Conference on Artificial Intelligence (pp. 23–28). Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 60 Sabino Pariente Juárez Referencias Pinto, H. S., Staab, S., & Tempich, C. (2004). DILIGENT: Towards a fine-grained methodology for DIstributed, Loosely-controlled and evolvInG Engineering of oNTologies. in Pproceedings of the 16th european conference on artificial intelligence (ECAI), 393– 397. Poveda-Villalón, M., Suárez-Figueroa, M. C., & Gómez-Pérez, A. (2010). A Double Classification of Common Pitfalls in Ontologies. Workshop on Ontology Quality Colocated with EKAW 2010. Raunich, S., & Rahm, E. (2010). Target-driven merging of Taxonomies. CoRR informal publication. Retrieved from http://arxiv.org/abs/1012.4855 Sánchez, D. (2009). Domain Ontology Learning from the Web. The Knowledge Engineering Review, 24, 413. doi:10.1017/S0269888909990300 Stumme, G., & Maedche, A. (2001). FCA-Merge: Bottom-up merging of ontologies. International Joint Conference on Artificial Intelligence (Vol. 17, pp. 225–234). Suárez-Figueroa, M. C. (2010). NeOn Methodology for Building Ontology Networks: Specification, Scheduling and Reuse. Universidad Politécnica de Madrid, Madrid, Spain. Retrieved from http://oa.upm.es/3879/2/MARIA_DEL_CARMEN_SUAREZ_DE_FIGUEROA_BAONZA.pdf Sure, Y. (2002). On-To-Knowledge: Ontology based Knowledge Management Tools and their Application. Künstliche Intelligenz, 35–37. Svab-Zamazal, O. (2010). Pattern-based Ontology Matching and Ontology Alignment Evaluation (Tesis Doctoral). University of Economics, Prague, Prague. Yu, E. S.-K. (1996). Modelling strategic relationships for process reengineering. University of Toronto, Toronto, Ont., Canada, Canada. Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 61 Sabino Pariente Juárez Anexos Anexos Anexo 1. Ontología de dominio de modelo i* <?xml version="1.0"?> <rdf:RDF xmlns="http://www.cenidet.edu.mx/domainontologies/actor#" xml:base="http://www.cenidet.edu.mx/domainontologies/actor" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:Ontology1304961009="http://www.owl-ontologies.com/Ontology1304961009.owl#"> <owl:Ontology rdf:about="http://www.cenidet.edu.mx/domainontologies/actor"/> <!-/////////////////////////////////////////////////////////////////////////////////////// // // Object Properties // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.owl-ontologies.com/Ontology1304961009.owl#has_Actor_Boundary --> <owl:ObjectProperty rdf:about="http://www.owl-ontologies.com/Ontology1304961009.owl#has_Actor_Boundary"> <rdfs:domain rdf:resource="http://www.owl-ontologies.com/Ontology1304961009.owl#Actor"/> <rdfs:range rdf:resource="http://www.owl-ontologies.com/Ontology1304961009.owl#InternalElement"/> </owl:ObjectProperty> <!-/////////////////////////////////////////////////////////////////////////////////////// // // Data properties // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.owl-ontologies.com/Ontology1304961009.owl#Node_diagram_id --> <owl:DatatypeProperty rdf:about="http://www.owl-ontologies.com/Ontology1304961009.owl#Node_diagram_id"> <rdfs:domain rdf:resource="http://www.owl-ontologies.com/Ontology1304961009.owl#Node"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <!-- http://www.owl-ontologies.com/Ontology1304961009.owl#Node_label --> <owl:DatatypeProperty rdf:about="http://www.owl-ontologies.com/Ontology1304961009.owl#Node_label"> <rdfs:domain rdf:resource="http://www.owl-ontologies.com/Ontology1304961009.owl#Node"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <!-/////////////////////////////////////////////////////////////////////////////////////// // // Classes // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.owl-ontologies.com/Ontology1304961009.owl#Actor --> <owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1304961009.owl#Actor"> <rdfs:subClassOf rdf:resource="http://www.owl-ontologies.com/Ontology1304961009.owl#DependableNode"/> </owl:Class> <!-- http://www.owl-ontologies.com/Ontology1304961009.owl#DependableNode --> <owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1304961009.owl#DependableNode"> <rdfs:subClassOf rdf:resource="http://www.owl-ontologies.com/Ontology1304961009.owl#Node"/> Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 62 Sabino Pariente Juárez Anexos </owl:Class> <!-- http://www.owl-ontologies.com/Ontology1304961009.owl#InternalElement --> <owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1304961009.owl#InternalElement"/> <!-- http://www.owl-ontologies.com/Ontology1304961009.owl#Node --> <owl:Class rdf:about="http://www.owl-ontologies.com/Ontology1304961009.owl#Node"/> </rdf:RDF> <!-- Generated by the OWL API (version 3.1.0.1592) http://owlapi.sourceforge.net --> Anexo 2. Ontología de dominio de turismo <?xml version="1.0"?> <rdf:RDF xmlns="http://www.cenidet.edu.mx/domainontologies/Tourism#" xml:base="http://www.cenidet.edu.mx/domainontologies/Tourism" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ETP-tourism="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#" xmlns:OTN="http://www.pms.ifi.uni-muenchen.de/OTN#"> <owl:Ontology rdf:about="http://www.cenidet.edu.mx/domainontologies/Tourism"/> <!-/////////////////////////////////////////////////////////////////////////////////////// // // Object Properties // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#is_Displayed_at --> <owl:ObjectProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#is_Displayed_at"> <rdfs:range rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Node"/> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Service"/> </owl:ObjectProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#location_Reference --> <owl:ObjectProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#location_Reference"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Feature"/> <rdfs:range rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Location_Reference"/> </owl:ObjectProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#opening_Period --> <owl:ObjectProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#opening_Period"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Service"/> <rdfs:range rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Validity_Period"/> </owl:ObjectProperty> <!-/////////////////////////////////////////////////////////////////////////////////////// // // Data properties // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#accepted_Credit_Cards --> <owl:DatatypeProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#accepted_Credit_Cards"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Service"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#alternate_Name --> <owl:DatatypeProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#alternate_Name"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Feature"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#external_Identifier --> <owl:DatatypeProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#external_Identifier"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Feature"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 63 Sabino Pariente Juárez Anexos </owl:DatatypeProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#external_Link --> <owl:DatatypeProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#external_Link"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Feature"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#anyURI"/> </owl:DatatypeProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#houseNumber --> <owl:DatatypeProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#houseNumber"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Service"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#location_Reference_Code --> <owl:DatatypeProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#location_Reference_Code"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Location_Reference"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#location_Reference_Type --> <owl:DatatypeProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#location_Reference_Type"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Location_Reference"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/> </owl:DatatypeProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#suitable_for_disabled --> <owl:DatatypeProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#suitable_for_disabled"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Service"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#boolean"/> </owl:DatatypeProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#x --> <owl:DatatypeProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#x"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Node"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> </owl:DatatypeProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#y --> <owl:DatatypeProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#y"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Node"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> </owl:DatatypeProperty> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#z --> <owl:DatatypeProperty rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#z"> <rdfs:domain rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Node"/> <rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#float"/> </owl:DatatypeProperty> <!-/////////////////////////////////////////////////////////////////////////////////////// // // Classes // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Service --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Service"> <owl:equivalentClass rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Service"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#TouristOffice --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#TouristOffice"> <owl:equivalentClass rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Tourist_Office"/> </owl:Class> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Feature --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Feature"/> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Historical_Monument --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Historical_Monument"> Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 64 Sabino Pariente Juárez Anexos <rdfs:subClassOf rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Tourism"/> </owl:Class> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Location_Reference --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Location_Reference"/> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Node --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Node"/> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Service --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Service"> <rdfs:subClassOf rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Feature"/> </owl:Class> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Tourism --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Tourism"> <rdfs:subClassOf rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Service"/> </owl:Class> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Tourist_Attraction --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Tourist_Attraction"> <rdfs:subClassOf rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Tourism"/> </owl:Class> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Tourist_Office --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Tourist_Office"> <rdfs:subClassOf rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Tourism"/> </owl:Class> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Validity_Period --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Validity_Period"/> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Vantage_Point --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Vantage_Point"> <rdfs:subClassOf rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Tourism"/> </owl:Class> </rdf:RDF> <!-- Generated by the OWL API (version 3.1.0.1592) http://owlapi.sourceforge.net --> Anexo 3. Ontología de dominio de transporte <?xml version="1.0"?> <rdf:RDF xmlns="http://www.cenidet.edu.mx/domainontologies/Transport#" xml:base="http://www.cenidet.edu.mx/domainontologies/Transport" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ETP-tourism="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#" xmlns:OTN="http://www.pms.ifi.uni-muenchen.de/OTN#"> <owl:Ontology rdf:about="http://www.cenidet.edu.mx/domainontologies/Transport"/> <!-/////////////////////////////////////////////////////////////////////////////////////// // // Object Properties // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#isBetweenDestination --> <owl:ObjectProperty rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#isBetweenDestination"> <rdfs:range rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Destination"/> <rdfs:domain rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#InterCityTransportation"/> </owl:ObjectProperty> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#isBetweenTerminal --> <owl:ObjectProperty rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#isBetweenTerminal"> <rdfs:range rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#TerminalInfrastructure"/> <rdfs:domain rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Transportation"/> Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 65 Sabino Pariente Juárez Anexos </owl:ObjectProperty> <!-/////////////////////////////////////////////////////////////////////////////////////// // // Classes // /////////////////////////////////////////////////////////////////////////////////////// --> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Animal-Powered --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Animal-Powered"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETPtourism.owl#IntraCityTransportation"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Bike --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Bike"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Human-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#BikeRickshaw --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#BikeRickshaw"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Bike"/> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Rickshaw"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#BikeTaxi --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#BikeTaxi"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Bike"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Bus --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Bus"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Engin-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#CableTram --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#CableTram"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Engin-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Cart --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Cart"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Animal-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Coach --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Coach"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETPtourism.owl#InterCityTransportation"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#CommuterTrain --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#CommuterTrain"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Engin-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Destination --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Destination"/> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Engin-Powered --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Engin-Powered"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETPtourism.owl#IntraCityTransportation"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Ferry --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Ferry"> <owl:equivalentClass rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Ferry"/> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Ship"/> </owl:Class> Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 66 Sabino Pariente Juárez Anexos <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Hidrofoil --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Hidrofoil"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Ship"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Human-Powered --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Human-Powered"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETPtourism.owl#IntraCityTransportation"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#InterCityTransportation --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#InterCityTransportation"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Transportation"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#IntraCityTransportation --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#IntraCityTransportation"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Transportation"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Monorail --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Monorail"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Engin-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#MotorcycleTaxi --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#MotorcycleTaxi"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Taxi"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Plane --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Plane"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETPtourism.owl#InterCityTransportation"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Rapid --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Rapid"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Train"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Rickshaw --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Rickshaw"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Human-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Ride --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Ride"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Animal-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Service --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Service"> <owl:equivalentClass rdf:resource="http://www.pms.ifi.uni-muenchen.de/OTN#Service"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#ShareTaxi --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#ShareTaxi"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Taxi"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Ship --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Ship"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETPtourism.owl#InterCityTransportation"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Subway --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Subway"> Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 67 Sabino Pariente Juárez Anexos <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Engin-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Taxi --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Taxi"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Engin-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Taxicab --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Taxicab"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Taxi"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#TerminalInfrastructure --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#TerminalInfrastructure"/> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Train --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Train"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETPtourism.owl#InterCityTransportation"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Tram --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Tram"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Engin-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Transportation --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Transportation"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Service"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Trolleybus --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Trolleybus"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Engin-Powered"/> </owl:Class> <!-- http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#WaterTaxi --> <owl:Class rdf:about="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#WaterTaxi"> <rdfs:subClassOf rdf:resource="http://www.info.uqam.ca/Members/valtchev_p/mbox/ETP-tourism.owl#Taxi"/> </owl:Class> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Ferry --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Ferry"/> <!-- http://www.pms.ifi.uni-muenchen.de/OTN#Service --> <owl:Class rdf:about="http://www.pms.ifi.uni-muenchen.de/OTN#Service"/> </rdf:RDF> <!-- Generated by the OWL API (version 3.1.0.1592) http://owlapi.sourceforge.net --> Metodología para la creación de ontologías de dominio usando la técnica de mezcla de ontologías basada en parámetros 68