INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACIÓN EN COMPUTACIÓN “BÚSQUEDA Y PONDERACIÓN DE INFORMACIÓN CONTENIDA EN BASES DE DATOS ESPACIALES, UTILIZANDO JERARQUÍAS” TESIS QUE PARA OBTENER EL GRADO DE MAESTRO EN CIENCIAS DE LA COMPUTACIÓN PRESENTA: GERARDO SARABIA LÓPEZ DIRECTOR DE TESIS: DR. SERGUEI LEVACHKINE México D. F. Diciembre, 2008 RESUMEN En este trabajo se presenta la metodología para la elaboración de un sistema encargado de recuperar información contenida en bases de datos heterogéneas, utilizando jerarquías. La recuperación de la información espacial se hace a través consultas procesadas en forma “inteligente”, mediante inferencias automáticas. El enfoque de los sistemas actuales dedicados a la búsqueda de información, va dirigido a evitar respuestas vacías y errores que se producen al no encontrar coincidencias exactas en las bases de datos. En este sentido, uno de los puntos importantes en esta investigación es proporcionar respuestas aproximadas o similares, evitando respuestas nulas. Por ello empleamos jerarquías (caso particular de las ontologías), ya que han sido tomadas como una alternativa que permite superar a otros métodos de recuperación en precisión y relevancia. Las etapas principales propuestas en esta investigación son: La etapa de Análisis de Datos, Análisis Semántico, Procesamiento de la Información, y la Ponderación de Resultados. El Análisis de Datos tiene como propósito verificar si la información cumple con las condiciones necesarias para trabajar con jerarquías; el caso de estudio está basado en el uso del Suelo y Vegetación en la República Mexicana y la información es obtenida de los diccionarios de datos geográficos del Instituto Nacional de Estadística Geográfica e Informática (INEGI) . En el Análisis Semántico se tienen las jerarquías que describen a los diferentes tipos de vegetación, se emplea la teoría de confusión para medir la distancia semántica existente entre conceptos propios de las jerarquías, así obtenemos las tablas de similitud. El Procesamiento de la Información consiste en la manipulación de la base de datos, además es donde se hacen peticiones de consulta y se ligan los resultados obtenidos del Análisis Semántico. La Ponderación de los Resultados es controlada a través de la confusión y se logra usando un razonamiento automático monotónico. La recuperación de información está basada en el uso de Jena para acceder a las jerarquías, por medio de consultas en SPARQL. La tendencia es dirigirnos hacia un marco conceptual entendible para el usuario. En este sentido, se tiene una metodología dirigida a compartir la información geoespacial. I ABSTRACT This thesis presents the methodology for developing a system to retrieve information in heterogeneous databases, using hierarchies. The recovery of spatial information is processed through queries in an intelligent manner, through automatic inferences. The focus of current systems used to seek out information, is aimed at avoiding answers empty and errors that occur when you do not find exact matches in databases. In this sense, one of the important points in this research is to provide approximate or similar results, avoiding answers invalid. To do this we employ hierarchies (particular case of ontologies), which have already been taken as an alternative that allows other methods to overcome recovery accuracy and relevance. The main steps proposed in this research are: Step Data Analysis, Semantic Analysis, Information Processing, and the Ranking Results. The Data Analysis aims to verify whether the information meets the necessary conditions for working with hierarchies, our case study is based on the use of Soil and Vegetation in Mexico and the information is obtained from the dictionaries of geographic data National Geographic Institute of Statistics and Informatics (INEGI). In the Semantic Analysis the hierarchies describe the several types of vegetation, uses the theory of confusion to measure the distance between semantic concepts of hierarchy, so we get the similarity tables. The Information Processing involves the manipulation of the database, which is also made requests for queries and binds the results of the Semantic Analysis. Ranking of the results is controlled through the confusion and is accomplished using an automated reasoning monotonous. Information retrieval is based on the use of Jena to access the hierarchies, through queries in SPARQL. The tendency is to go towards a conceptual framework understandable to the user. In this sense, we have a methodology to share geospatial information. II AGRADECIMIENTOS Dedico y agradezco enormemente a mi familia. Gracias mamá por estar en los momentos más importantes de mi vida, por tu apoyo incondicional en los momento más difíciles, por compartir cada una de las metas cumplidas. Gracias papá por ser el soporte, el amigo y la fuerza para seguir siempre adelante. Gracias a mi hermana Fabi por los momentos de diversión y por ser la mejor hermana del mundo, los AMO a todos. Gracias a mi novia Caro por apoyarme en todo momento, por aguantarme y por quererme tanto, TE AMO. Gracias a mi tía Tere, a mi tío Nico, a mis primos Rosy, Raúl y Perla que siempre me han brindado su apoyo y su confianza. Gracias a mi tía Angelina y a mi tío Donato por esos grandes momentos desde la infancia. Mi más sincero agradecimiento a mi asesor el Dr. Serguei Levachkine por brindarme todo su apoyo durante mi estancia en la maestría. A mis profesores del PIIG LAB Marco, Miguel, Rolando y Giovanni gracias por sus consejos, por los ratos de diversión y por su apoyo en todo momento. A mis amigos Edgar, Rebeca, Valentín, Julio, Claudia, Ene, muchas gracias por aguantarme y por disfrutar los mejores momentos de mi vida. Gracias a todos mis amigos y compañeros del PIIG LAB, Roby, Pao, Jhon, Félix y Child, por esos momentos de diversión y porque sin ustedes mi estancia en la maestría no tendría historia, las platicas en las comidas, los momentos de reflexión, las alegrías y en especial por aquellos conciertos¡¡¡¡. Gracias a todas aquellas personas que han dejado en mi sus enseñanzas y sus consejos. Y por último gracias a la vida por permitirme realizar mis sueños III CONTENIDO RESUMEN .......................................................................................................................................... I ABSTRACT ...................................................................................................................................... II AGRADECIMIENTOS ..................................................................................................................III LISTA DE FIGURAS .................................................................................................................. VIII LISTA DE TABLAS ........................................................................................................................ X CAPÍTULO 1. INTRODUCCIÓN ...................................................................................... 1 1.1. Motivación y justificación ........................................................................................... 3 1.2. Planteamiento del problema......................................................................................... 4 1.2.1. Base de datos espacial ........................................................................................... 5 1.2.2. Definición de Jerarquía ......................................................................................... 5 1.3. Objetivos ...................................................................................................................... 5 1.3.1. Objetivo general .................................................................................................... 5 1.3.2. Objetivos particulares............................................................................................ 6 1.4. Hipótesis ...................................................................................................................... 6 1.5. Organización de la tesis ............................................................................................... 7 CAPÍTULO 2. ESTADO DEL ARTE ................................................................................ 9 2.1. Uso de jerarquías para el cálculo de la similitud semántica ........................................ 9 2.2. Búsqueda y Recuperación de información ................................................................ 11 2.2.1. Recuperación de información geográfica............................................................ 12 2.2.2. La Web Semántica .............................................................................................. 12 2.2.2.1. Web Semántica Geoespacial ........................................................................ 13 2.2.2.2. Comentarios sobre Web Semántica Geoespacial ......................................... 15 2.3. Modalidades en las búsquedas semánticas. ............................................................... 15 2.3.1. Introducción al uso de las medidas de similitud ................................................. 16 2.3.2. Un enfoque basado en clases para relaciones léxicas ......................................... 17 2.3.3. Información teórica sobre la definición de similitud .......................................... 18 2.3.4. Combinación de contexto local y similitud de WordNet para identificación del sentido de palabras ........................................................................................................ 19 IV 2.3.5. Cadenas léxicas como representación de contexto para la detección y correlación de nodos entre conceptos .............................................................................................. 19 2.3.6. Ordenamiento de resultados en consultas semánticas sobre bases de datos ....... 19 2.4. Sistemas que emplean jerarquías ............................................................................... 23 2.4.1. Jerarquías eficientes empleando SQL ................................................................. 24 2.4.1.1. Descripción de los datos HierarchyID .......................................................... 25 2.4.1.2. Limitaciones de los HierarchyID.................................................................. 26 2.4.1.3. Comentarios sobre datos HierarchyID ......................................................... 26 2.5. Comentarios finales ................................................................................................... 27 CAPÍTULO 3. MARCO TEÓRICO................................................................................. 29 3.1. Sistemas de Información Geográfica (GIS) ............................................................... 29 3.1.1. Definiciones globales, funcionales y tecnológicas de un GIS ............................ 29 3.1.1.1. Definiciones globales ................................................................................... 30 3.1.1.2. Definiciones funcionales .............................................................................. 30 3.1.1.3. Definiciones tecnológicas ............................................................................. 31 3.1.2. Componentes y características de un GIS ........................................................... 32 3.1.2.1. Componentes básicos de un GIS .................................................................. 32 3.1.2.2. Características principales de un GIS ........................................................... 33 3.2. Bases de datos espaciales ........................................................................................... 34 3.2.1. Datos espaciales .................................................................................................. 35 3.3. Ontologías .................................................................................................................. 36 3.3.1. Las ontologías como una conceptualización ....................................................... 37 3.3.2. Partes de una ontología ....................................................................................... 40 3.3.3. Tipos de ontologías ............................................................................................. 41 3.3.4. Editor de ontologías ............................................................................................ 43 3.3.5. Sistemas de almacenamiento............................................................................... 43 3.3.5.1. Lenguajes de consultas ................................................................................. 44 3.4. Jerarquías y Teoría de Confusión .............................................................................. 45 3.4.1. ¿Por qué usar jerarquías? .................................................................................... 46 3.4.2. El concepto de Jerarquía ..................................................................................... 46 3.4.2.1. Jerarquía simple, ordenada, porcentual y mixta ........................................... 48 V 3.4.3. Teoría de Confusión ............................................................................................ 49 3.4.3.1. Confusión de usar r en vez de s para jerarquías simples .............................. 50 3.4.3.2. Confusión de usar r en vez de s, para jerarquías ordenadas ......................... 50 3.4.3.3. Confusión de usar r en vez de s, para jerarquías porcentuales ..................... 51 3.4.3.4. Confusión de usar r en vez de s, para jerarquías mixtas............................... 51 3.4.4. El conjunto de valores que son iguales a otros, dada una confusión .................. 51 3.4.5. Consultas empleando confusión ......................................................................... 52 3.4.6. Objetos idénticos, muy similares, algo similares. ............................................... 53 3.5. Comentarios finales ................................................................................................... 54 CAPÍTULO 4. METODOLOGÍA .................................................................................... 55 4.1. Arquitectura funcional del sistema ............................................................................ 57 4.2. Conceptualización del dominio geográfico ............................................................... 59 4.2.1. Características de los datos geográficos .............................................................. 59 4.2.2. Diseño de jerarquías ............................................................................................ 60 4.2.2.1. Diseño de la base de datos espacial .............................................................. 60 4.2.2.1.1. Diseño conceptual .................................................................................. 61 4.2.2.1.2. Diseño Lógico ........................................................................................ 64 4.2.2.1.2.1. Descripción de propiedades ............................................................ 65 4.2.2.1.3. Modelo físico ......................................................................................... 65 4.2.2.2. Jerarquías proveedoras de semántica ............................................................ 66 4.2.2.2.1. Jerarquía para la propiedad de “ubicación”........................................... 67 4.2.2.2.2. Jerarquía para la propiedad de “producción”........................................ 68 4.2.2.2.3. Jerarquía para la propiedad de “clima” ................................................. 69 4.3. Análisis Semántico .................................................................................................... 71 4.3.1. Confusión para jerarquías ................................................................................... 71 4.3.1.1. Confusión para jerarquías simples................................................................ 71 4.3.1.2. Confusión para jerarquías de orden .............................................................. 73 4.3.2. Formas empleadas para consultas ....................................................................... 73 4.3.2.1. Confusión para predicados compuestos ....................................................... 74 4.3.2.2. Ponderación de resultados ............................................................................ 78 4.3.2.2.1. Consultas empleando el operador lógico AND .................................... 78 VI 4.3.2.2.2. Consultas empleando el operador OR.................................................... 79 4.3.2.2.3. Consultas empleando NOT .................................................................... 80 4.3.2.2.4. Consultas para jerarquías ordenadas ...................................................... 81 4.3.2.2.5. Consultas para jerarquías ordenadas y simples ...................................... 82 4.4. Procesamiento ............................................................................................................ 83 4.5. Presentación de resultados ......................................................................................... 86 CAPÍTULO 5. PRUEBAS Y RESULTADOS ................................................................. 88 5.1. Diseño de las jerarquías ............................................................................................. 88 5.1.1. Diseño de la base de datos conceptual ................................................................ 88 5.1.2. Jerarquías que describen las propiedades. ........................................................... 89 5.2. Consultas al modelo de datos..................................................................................... 92 5.3. El sistema de búsqueda .............................................................................................. 95 5.3.1. Elementos de la interfaz grafica .......................................................................... 95 5.3.1.1. Interfaz de resultados .................................................................................... 96 5.3.2. Consultas empleando el operador lógico AND ................................................... 97 5.3.3. Consultas empleando el operador lógico OR .................................................... 102 CAPÍTULO 6. CONCLUSIONES Y TRABAJO A FUTURO .................................... 107 6.1. Conclusiones ............................................................................................................ 107 6.2. Trabajos a futuro ...................................................................................................... 109 ANEXO 1. CÓDIGO FUENTE ....................................................................................... 110 REFERENCIAS ............................................................................................................... 128 VII LISTA DE FIGURAS Figura 2.1. Jerarquía de CD`s de música empleado por Ganesan .......................................... 9 Figura 2.2. Representación de una ontología en su forma simple (jerarquía). ..................... 16 Figura 2.3. Ejemplo de ontología de carácter universitario .................................................. 21 Figura 2.4. Jerarquía Organizacional.................................................................................... 24 Figura 2.5. Ejemplo de una lista de adyacencia ................................................................... 24 Figura 2.6. Esquema general del Estado del Arte................................................................. 27 Figura 3.1. Tipo de ontologías .............................................................................................. 43 Figura 3.2. Jerarquía de ser vivo .......................................................................................... 52 Figura 4.1. Esquema general de la metodología propuesta .................................................. 56 Figura 4.2. Arquitectura funcional del sistema..................................................................... 58 Figura 4.3. Estructura de la base de datos ............................................................................ 64 Figura 4.4. Modelo físico de la base de datos ...................................................................... 66 Figura 4.5. Jerarquía simple H1 para la propiedad ubicación ............................................... 67 Figura 4.6. Jerarquía simple H2 para la propiedad producción ............................................ 69 Figura 4.7. Jerarquía de orden H3 ......................................................................................... 70 Figura 4.8. Elementos de una jerarquía simple para obtener la confusión ........................... 72 Figura 4.9. Elementos considerados para la confusión en una jerarquía de orden ............... 73 Figura 4.10. Elementos para las consultas compuestas. ....................................................... 75 Figura 4.11. Diagrama del modulo de búsqueda .................................................................. 84 Figura 4.12. Tabla de similitud de la propiedad ubicación .................................................. 85 Figura 5.1. Jerarquía que define la base de datos espacial ................................................... 89 Figura 5.2. Propiedades que caracterizan a los diferentes tipos de vegetación .................... 90 Figura 5.3. Jerarquía correspondiente a la propiedad de “ubicación” .................................. 90 Figura 5.4. Jerarquía correspondiente a la propiedad “producción” .................................... 91 Figura 5.5. Jerarquía correspondiente a la propiedad clima ................................................. 92 Figura 5.6. Programa que conecta al modelo de datos OWL ............................................... 93 Figura 5.7. Parámetros de consulta de SPARQL ................................................................. 94 Figura 5.8. Resultados que nos muestran el tipo de producción en las selvas ..................... 94 Figura 5.9. Resultados que nos muestran la ubicación de los bosques ................................ 95 VIII Figura 5.10. Interfaz de usuario para consultas .................................................................... 96 Figura 5.11. Elementos en las respuestas a una consulta ..................................................... 97 Figura 5.12. Elementos de consulta empleando el operador AND ...................................... 97 Figura 5.13. Resultados para una coincidencia exacta empleando el operador lógico AND .............................................................................................................................................. 98 Figura 5.14. Resultados empleando confusión con un grado de error de ε =1, para una consulta con operadores lógicos OR .................................................................................... 99 Figura 5.15. Resultados empleando confusión con un grado de error de ε = 2, para una consulta con operadores lógicos AND ............................................................................... 100 Figura 5.16. Resultados empleando confusión con un grado de error de ε=3, para una consulta con operadores lógicos AND ............................................................................... 101 Figura 5.17. Elementos de consulta usando el operador OR .............................................. 102 Figura 5.18. Resultados para una coincidencia exacta empleando el operador OR ........... 103 Figura 5.19. Resultados empleando confusión con un grado de error ε=1, para una consulta con operadores lógicos OR ................................................................................................. 104 Figura 5.20. Resultados empleando confusión con un grado de error ε=2, para una consulta con operadores lógicos OR ................................................................................................. 105 Figura 5.21. Resultados empleando confusión con un grado de error ε=3, para una consulta con operadores lógicos OR ................................................................................................. 106 IX LISTA DE TABLAS Tabla 2.1. Evolución de las medidas de similitud según Ganesan y Molina ........................ 11 Tabla 2.2. Componentes de la Web Semántica Geoespacial ............................................... 14 Tabla 3.1. Resultados de acuerdo a los predicados P, Q, R. ................................................. 53 Tabla 4.1. Tipos de Vegetación considerados por el INEGI .................................................. 63 Tabla 4.2. Tipos de vegetación y propiedades ..................................................................... 76 Tabla 4.3. Confusión con respecto al elemento Norte de México ....................................... 77 Tabla 4.4. Confusión para el elemento Actividad Pecuaria.................................................. 77 Tabla 4.5. Tabla de comparación para P = Norte de México ∧ Actividad pecuaria ............. 78 Tabla 4.6. Consultas para un predicado P = Norte de México ∧ Actividad pecuaria ........... 79 Tabla 4.7. Tabla de comparación para Q = Norte de México ∨ Actividad pecuaria ............ 80 Tabla 4.8. Consulta para un predicado Q = Norte de México ∨ Actividad pecuaria ........... 80 Tabla 4.9. Resultados para el predicado R= ¬ Norte de México .......................................... 81 Tabla 4.10. Confusión para la jerarquía ordenada. .............................................................. 81 Tabla 4.11. Confusión para las propiedades del predicado T = Norte de México ∧ Actividad pecuaria ∧ Tropical ............................................................................................................... 82 Tabla 4.12. Resultados para el predicado T = Norte de México ∧ Actividad pecuaria ∧ Tropical .............................................................................................................................. 82 X Capitulo 1. Introducción CAPÍTULO 1. INTRODUCCIÓN En la actualidad el uso de ontologías ha tomado mayor atención en las investigaciones en el área de las ciencias de la información geográfica. La gran cantidad de información geográfica nos lleva a la búsqueda de nuevas alternativas para representar, almacenar y organizar los datos, hoy en día se argumenta que las ontologías juegan un rol importante en aplicaciones en el campo de la Geoinformatica. Uno de los grandes problemas para los sistemas dedicados a la búsqueda o recuperación de información, es la precisión con la que se obtienen los datos después de una consulta, esto se debe a la carencia de semántica en los datos. En este sentido la semántica de la información geográfica es de gran importancia en las bases de datos espaciales. El empleo de estructuras jerárquicas como alternativa para organizar los datos ha sido probado en diversas áreas de investigación, incluyendo algunos trabajos relacionados con los Sistemas de Información Geográfica (GIS). Las jerarquías son un caso particular de las ontologías, pero no por ello dejan de tener gran utilidad; nuestro enfoque va dirigido al uso de estas estructuras ya que con ellas se obtiene un modelo formal del mundo geoespacial. Hoy en día el procesamiento inteligente de los datos espaciales es de suma importancia para el mejoramiento de los sistemas de recuperación. Por ello, una de las principales preocupaciones en el área de la Geocomputación es la adecuada representación de los datos espaciales. Una base de datos espacial permite describir los objetos espaciales que la forman a través de tres características básicas: atributos, localización y topología. Los atributos representan características de los objetos que nos permiten saber qué es lo que son. La localización, representada por la geometría del objeto y su ubicación espacial de acuerdo a un sistema de referencia, permite saber dónde está el objeto y qué espacio ocupa. Por último, la topología definida por medio de las relaciones conceptuales y espaciales entre los objetos, permite Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 1 Capitulo 1. Introducción mejorar la interpretación semántica del contexto y establecer ciertas jerarquías de elementos a través de sus relaciones. Con lo antes mencionado, decimos que las bases de datos geográficas son herramientas que nos permiten manejar y procesar la información geoespacial, así mismo se busca que el procesamiento de la información sea más simple y rápido para la computadora La integración de datos y aplicaciones siempre han tenido que hacer frente a los problemas que derivan de la heterogeneidad. El esfuerzo por resolver este problema ha sido notorio en la actualidad. El uso de jerarquías sirve como soporte en determinadas aplicaciones donde se presentan casos de similitud semántica entre los conceptos involucrados. El principio fundamental sobre el que gira todo sistema de información que admite consultas por parte del usuario o de una aplicación, es devolver resultados que coincidan con una petición exacta a dicha consulta, sin embargo la tendencia de los sistemas actuales es evitar respuestas vacías. Una de las alternativas para evitar las respuestas nulas, es emplear herramientas que nos permitan medir la similitud semántica entre conceptos, de esta manera se pueden ofrecer respuestas aproximadas o similares que pueden ser de utilidad para el usuario. La llegada de nuevas técnicas de recuperación de información ha permitido ir un paso más allá y manejar conceptos en lugar de términos. La definición de los conceptos tiene lugar en el marco de las ontologías, con ayuda de ellas podemos organizarlos jerárquicamente, definir propiedades y relaciones. El uso de jerarquías como herramienta para representar el conocimiento da lugar a una nueva variable a considerar al momento de ordenar los resultados que se obtienen después de una consulta, la cual denominamos distancia semántica. Esta variable es de gran utilidad para nuestro campo de aplicación en la recuperación de información espacial. En esta investigación se usan estructuras jerárquicas como modelo conceptual de un dominio geográfico y se mide la similitud semántica para identificar qué elementos comparten propiedades similares y así poder manejar un control de error en las respuestas. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 2 Capitulo 1. Introducción El caso de estudio de este trabajo está basado en los diferentes tipos de vegetación existentes en México, se ocupa una base de datos espacial y se procesa la información en un aspecto semántico con la finalidad de solucionar las necesidades existentes en el área de la recuperación de la información geoespacial que no pueden ser resueltas con un enfoque clásico. 1.1. Motivación y justificación Es necesario el uso de estructuras computacionales que almacenen la semántica (significado) de los datos, a fin de buscar soluciones para la heterogeneidad y facilitar el intercambio información. En este sentido, las ontologías representan una alternativa para captar la semántica involucrada en la información de un dominio. Gruber las define como especificaciones formales y específicas de los términos y relaciones entre ellos (Gruber, 1993). Los sistemas de recuperación son el mecanismo por el cual la información almacenada puede ser recuperada por el usuario. En este sentido, en los sistemas tradicionales de búsqueda, la información solicitada a una consulta debe estar contenida en la fuente de datos, de lo contrario se obtienen respuestas vacías o errores. Dada esta problemática la motivación de la tesis se enfoca a emplear métodos alternos que nos permitan procesar la información espacial de manera inteligente. Una estructura jerárquica permite representar conceptos que van de lo general a lo particular, la tendencia es evitar ambigüedades para mejorar el procesamiento e interpretación de los datos espaciales en una computadora. Dicho lo anterior, la presente investigación está centrada en “La Búsqueda y Ponderación de Información Contenida en Bases de Datos Espaciales” y el enfoque de aplicación es la recuperación de información geográfica usando confusión como medida de similitud semántica y parámetro de control para la ponderación de los resultados. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 3 Capitulo 1. Introducción 1.2. Planteamiento del problema El problema latente en los sistemas encargados de la recuperación de información geoespacia actuales, radica en el hecho de que si se realiza una consulta y no se encuentra en la fuente de datos, el sistema no es capaz de proporcionar información que se asemeje o se aproxime a dicha consulta. Las bases de datos espaciales requieren de semántica para procesar de mejor manera la información geoespacial. Ahora bien, supongamos que se quiere responder a la siguiente pregunta: ¿Cuál es la capital de Jalisco? En un sistema tradicional de recuperación de información, si existe coincidencia a nuestra consulta obtendremos resultados a nuestra petición, de lo contario se regresan valores nulos que no sirven de nada. En este sentido, sería óptimo que al no encontrar una coincidencia exacta pudiéramos obtener respuestas aproximadas o similares (Tlaquepaque, Puerto Vallarta, Agave, entre otras) y evitar el clásico “no match found". Por tal motivo, se considera a resolver esta problemática buscando nuevas alternativas de recuperación para solucionarla. La gran cantidad de información almacenada en las bases de datos geográficas demanda nuevas técnicas que nos permitan organizar, almacenar y recuperar de manera eficiente la información. El enriquecimiento de la semántica en los datos juega un rol de suma importancia en los sistemas de información modernos, ya que sus tareas son cada vez más complejas. El enfoque de esta tesis está basado en el dominio geográfico y como forma alternativa para organizar la información se emplea la ontología en su forma simple (Jerarquía), además se utilizan funciones semánticas como mecanismo de comparación de objetos para controlar la recuperación de información. Dicho lo anterior, para mejorar el funcionamiento de los sistemas que procesan la información geoespacial, nos apoyamos en una conceptualización de objetos y relaciones que ayudan a enriquecer la semántica de los datos geográficos. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 4 Capitulo 1. Introducción 1.2.1. Base de datos espacial Una base de datos espacial "Es una colección de datos referenciados en el espacio que actúa como un modelo de la realidad" (NCGIA, 1990). El espacio establece un marco de referencia para definir la localización y relación entre objetos. El que normalmente se utiliza es el espacio físico, el cual es un dominio manipulable, perceptible y que además sirve de referencia. La construcción de una base de datos geográfica implica un proceso de abstracción para pasar de la complejidad del mundo real a una representación simplificada que pueda ser procesada por el lenguaje utilizado por las computadoras. 1.2.2. Definición de Jerarquía Una jerarquía se define como una representación gráfica en forma de árbol, donde la partición de cada nodo es mostrada de manera descendente; es decir, los nodos hijos son un subconjunto del nodo padre (Levachkine, et al., 2004). 1.3. Objetivos En este apartado se describen los objetivos generales y particulares del presente trabajo de tesis. 1.3.1. Objetivo general Diseñar e implementar un sistema encargado de la recuperación de información contenida en una base de datos espacial, dicho sistema permitirá obtener respuestas aproximadas y controladas a una consulta realizada por el usuario. Se emplean jerarquías como medio para organizar la información y mediante el uso de confusión se calcula la distancia semántica entre conceptos para ponderar la información. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 5 Capitulo 1. Introducción 1.3.2. Objetivos particulares • Definir un dominio geográfico de estudio en particular (Uso del suelo y Vegetación de México) a partir de los diccionarios de datos geográficos del INEGI1. • Elaboración de jerarquías correspondientes al dominio geográfico de Uso de Suelo y Vegetación. En esta parte se hace la conceptualización de nuestro dominio con base en las fuentes de información empleadas. • Almacenar nuestro modelo jerárquico estructurado en herramientas de software que permitan interpretar nuestra información para posteriormente interactuar con la misma. • Partiendo de predicados compuestos, realizar pruebas de consultas en la base de datos espacial. • Implementar el razonamiento automático monotónico, para la ponderación de los resultados. • Realizar un sistema que permita realizar consultas basadas en predicados compuestos y que proporcione respuestas similares o aproximadas, evitando así respuestas vacías. 1.4. Hipótesis Las hipótesis consideradas para este trabajo de tesis son las siguientes: • Partimos de que la información debe estar organizada en jerarquías. La información geográfica por naturaleza se representa de manera jerárquica. • Con base en una medida de similitud entre conceptos (confusión) se proporcionan respuestas útiles para el usuario al realizar consultas sobre una base de datos espacial que contiene información sobre el Uso del Suelo y Vegetación en México. 1 Instituto Nacional de Estadística, Geografía e Informática. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 6 Capitulo 1. Introducción • Las jerarquías nos sirven para dotar de semántica a la base de datos espacial. A pesar de ser estructuras con menor complejidad que las ontologías, tienen las características esenciales para poder manejar datos geoespaciales. • Empleando razonamiento monotónico automático se obtendrán respuestas similares o aproximadas. 1.5. Organización de la tesis Capítulo 1. En este capítulo se presenta una introducción general de la tesis, se menciona la motivación y justificación por la cual se lleva a cabo el presente trabajo, además se describe el planteamiento del problema, los objetivos y la hipótesis de esta investigación. Capítulo 2. En este capítulo se menciona el estado del arte, se citan varios trabajos que tienen relación con esta tesis, con el fin motivar y ubicar la presente tesis. Se menciona la importancia del uso de jerarquías en diferentes áreas de investigación y las medidas de similitud semántica propias de estas estructuras. Capítulo 3. Este capítulo describe el marco teórico de la tesis, en el cual se describen conceptos relacionados con el estudio de bases de datos espaciales, así como lo relacionado con el uso de ontologías y jerarquías para la búsqueda y recuperación de información. Capítulo 4. En dicho capitulo se describe la metodología propuesta y la arquitectura del sistema encargado de la recuperación de la recuperación de información espacial, se menciona como son empleadas las herramientas descritas en el marco teórico. Capítulo 5. Este capítulo presenta los resultados obtenidos, de acuerdo con la metodología propuesta. Tales resultados nos permiten validar la funcionalidad del sistema, mediante ejemplos de prueba. Capítulo 6. Por último, en este capítulo se presentan las conclusiones obtenidas de este trabajo de investigación y se mencionan propuestas para trabajos a futuro. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 7 Capitulo 1. Introducción Como parte final de este trabajo de tesis, se presentan las referencias utilizadas; así como los anexos. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 8 Capitulo 2. Estado del arte CAPÍTULO 2. ESTADO DEL ARTE En este capítulo se mencionan algunos de los trabajos que forman parte del contexto de la presente investigación. Se describen trabajos que emplean jerarquías como medio para organizar la información, algunas modalidades de búsquedas semánticas y trabajos que mencionan la importancia de la similitud semántica. Posteriormente daremos la propuesta de este trabajo de tesis. 2.1. Uso de jerarquías para el cálculo de la similitud semántica La palabra similitud es empleada en varios contextos para identificar objetos que poseen características similares. En (Ganesan, et al., 2003) se propone la mejora a los modelos que miden la similitud que están basados en la intersección de objetos, empleando una jerarquía que describa las relaciones entre los elementos que la componen. El “conocimiento semántico” en la jerarquía ayuda a identificar los objetos que tienen características en común, esto beneficiando al mejoramiento de las medidas de similitud. Para Ganesan y Molina es importante considerar una medida de similitud que sea intuitiva para el ser humano. En la Figura 2.1 se muestra una jerarquía que representa diferentes géneros de música. Figura 2.1. Jerarquía de CD`s de música empleado por Ganesan Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 9 Capitulo 2. Estado del arte Partiendo de la jerarquía anterior, donde se suponen distintos usuarios (A, B, C, D, E) que compran un par de CD`s respectivamente, se trata de determinar que usuario es más similar a otro considerando, el género de música que adquieren. En la jerarquía mostrada en la Figura 2.1 se observa que el cliente A compra dos CD´s de los Beatles (b1, b2), el cliente B (b3, b4), C (s1, s2), D (b1, m1) respectivamente. Intuitivamente vemos que el cliente A y B son bastante similares ya que ellos adquirieron dos discos de los Beatles, mientras que el cliente A y C son menos similares, ya que a pesar de escuchar música rock prefieren diferentes bandas. En este sentido Ganesan y Molina se enfocan a las medidas de similitud que se acercan más a la intuición humana Las contribuciones del trabajo de Ganesan y Molina (Ganesan, et al., 2003) se resumen en los siguientes puntos: • Se introducen medidas de similitud que aprovechan la estructura jerárquica de un dominio, proporcionando resultados que son intuitivamente más similares que los generados por las medidas tradicionales de similitud. • Se consideran múltiples ocurrencias al medir la similitud entre elementos de la jerarquía. • Se realizan comparaciones con las medidas de similitud que no explotan una jerarquía de dominio. Las jerarquías a menudo son empleadas para estructurar la información y se ha utilizado para la clasificación de texto, la recuperación interactiva de información, entre otras tareas donde la similitud juega un papel importante (Felman, et al., 1995), (Scott, et al., 1998), que particularmente para esta investigación nos permiten almacenar de manera práctica la información geográfica. En la Tabla 2.1 se describe de forma general la evolución que han tenido las medidas de similitud, partiendo de su criterio. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 10 Capitulo 2. Estado del arte Tabla 2.1. Evolución de las medidas de similitud según Ganesan y Molina Son las medidas que consideran un objeto C1 y C2 Medidas Tradicionales y de acuerdo con las características que tengan en común se les asigna un valor en el rango de [0, 1], considerando el 1 como mayor valor de semejanza entre los objetos. Primera Generación Medidas basadas en los métodos tradicionales, aprovechando las jerarquías de dominio. Segunda En esta generación se emplean jerarquías de Generación dominio; sin embargo, a diferencia de la primera generación, se consideran múltiples ocurrencias. Para las medidas tradicionales no hay nociones universales de que las características que son tomadas en cuenta para evaluar que tan similar es un objeto de otro, por lo tanto para este caso el concepto de similitud es necesariamente subjetivo. Este tipo de medidas son descritos en los trabajos de (Rusbergen, 1979), (Strehl, et al., 2000), (McGill, 1983), (Salton, et al., 1998) y (Resnick, et al., 1994). 2.2. Búsqueda y Recuperación de información Decimos que el valor de un sistema de información no solo está regido por la gran cantidad de información que contenga, sino también por la facilidad con la que se pueda acceder a ella. El enfoque de esta investigación va dirigido a la búsqueda de información en el dominio geográfico que sea de utilidad para el usuario. La búsqueda y recuperación de la información se enfoca principalmente a la interrogación (queryng) y a la exploración (browsing). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 11 Capitulo 2. Estado del arte En el queryng el usuario introduce palabras clave (en estas se representan sus necesidades de información), para este caso el sistema devuelve una serie de respuestas, generalmente ordenadas por relevancia, Google es un claro ejemplo de este tipo de sistemas. En la recuperación por browsing, a diferencia del queryng, el usuario se encarga de explorar visualmente sin tener que expresar previamente cuáles son sus necesidades de información; es decir, el usuario reconoce lo que está buscando. 2.2.1. Recuperación de información geográfica La recuperación de información geográfica (GIR en sus siglas en ingles) pertenece a una rama especializada de la recuperación de información (IR en sus siglas en ingles) tradicional. Incluye todas las áreas de investigación que tradicionalmente forman el núcleo de la IR, pero además con un énfasis en la información geográfica espacial. La recuperación de información geográfica se preocupa por la recuperación de información que involucra algún tipo de percepción espacial (Bucher, et al., 2005). La arquitectura de cualquier sistema GIR parte de un modelo básico de recuperación de información. Por lo tanto, un elemento esencial en todos los sistemas encargados de esta tarea es el motor de búsqueda. Existe una amplia variedad de enfoques para resolver la tarea GIR, que van desde aproximaciones simples de recuperación de información sin indexación de términos geográficos a arquitecturas que hacen uso de técnicas de procesamiento de lenguaje natural para extraer localizaciones e información topológica de los documentos y las consultas. Algunas de las técnicas usadas en la actualidad incluyen extracción de entidades geográficas, análisis semántico, bases de conocimiento geográfico (como ontologías) y técnicas de expansión de consultas. 2.2.2. La Web Semántica En la Web actual el acceso a la información puede convertirse en una tarea difícil y frustrante debido a diversos problemas habituales en la búsqueda de información. La Web Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 12 Capitulo 2. Estado del arte Semántica es una Web extendida basada en el significado, en donde cualquier usuario en Internet podrá encontrar respuestas a sus consultas de forma más rápida y sencilla. Tim Berners Lee, en el artículo (Berners-Lee, et al., 2001) menciona cuatro componentes o características básicas necesarias para la evolución de la Web Semántica. Estos componentes son los siguientes: Expresar significado. La Web Semántica debe brindar una estructura y añadir semántica al contenido de las páginas web, creando un entorno donde agentes de software puedan viajar de una página a otra, llevando a cabo sofisticadas tareas para los usuarios. Acceso a representaciones del conocimiento. La Web Semántica debe encargarse de resolver las limitaciones de los sistemas de representación de conocimiento tradicionales, creando lenguajes de reglas suficientemente expresivos como para permitir a la Web razonar tan ampliamente como se desee. Ontologías. Para conseguir que los computadores sean mucho más útiles, la Web Semántica extiende la Web actual con conocimiento formalizado y datos que son procesados por maquinas. Para ser capaz de buscar y procesar información relativa a alguna materia de interés, los programas necesitan información que haya sido modelada de una forma coherente. Agentes. La potencia real de la Web Semántica se conoce cuando agentes capaces de manejar contenido semántico son usados para recoger y procesar información Web e intercambiar los resultados con otros agentes. 2.2.2.1. Web Semántica Geoespacial La Web Semántica es una extensión de la Web actual en la que es proporcionada la información con un significado bien definido, y se mejora la forma en la que las máquinas y las personas trabajan en conjunto (Berners-Lee, et al., 2001). Otras definiciones de la Web Semántica se pueden encontrar en (Herman, 2003) y (W3C, 2001). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 13 Capitulo 2. Estado del arte La Web Semántica tiene como fin superar las limitaciones de la Web que existe en la actualidad, mediante la introducción de descripciones explícitas de significado (BernersLee, et al., 2001). Tiene como visión la búsqueda de una Web más inteligente, en la cual se pueda conseguir una comunicación efectiva entre computadoras y sus esfuerzos están enfocados principalmente en la búsqueda de descripciones enriquecidas semánticamente para los datos que se encuentran en la Web, con esto se prometen mejores métodos de recuperación. El desarrollo de la Web Semántica requiere de atención especial en el dominio geográfico. La Web Semántica Geoespacial será un importante avance en el uso de la información espacial. Con la incorporación de la semántica Geoespacial en la Web, la recuperación de información Geoespacial se hará precisa al nivel en que los resultados serán inmediatamente útiles. La idea primordial es poder elaborar ambientes donde puedan realizarse búsquedas para ubicar lugares dejando de usar sólo palabras clave. En el dominio geoespacial existen aun varios desafíos y problemas por atacar, entre ellos se encuentran: • Representación de la información geográfica. • Integración de información. • Consultas con operadores espaciales. Existen tres componentes que engloban a la Web Semántica Geoespacial, estos se mencionan en la Tabla 2.2. Tabla 2.2. Componentes de la Web Semántica Geoespacial Componente geoespacial Mapas Objetos geográficos Relaciones geográficas Sistemas de referencia Componente Web Interoperabilidad entre tecnologías Servicios compartidos Componente semántica Razonamiento automático e inferencia Algunas de las aplicaciones posibles en el campo de la Web Semántica Geoespacial son: Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 14 Capitulo 2. Estado del arte • Plataformas de búsqueda empleando componentes de tipo geográfico • Descubrimiento de conocimiento a través de relaciones semánticas, espaciales y temporales. • Seguimiento al comportamiento de los usuarios de la Web Geoespacial. El interés en la semántica geoespacial está centrada en la mejora de de los resultados en la búsqueda e interoperabilidad de los datos espaciales. El UCGIS (University Consortium for Geographic Information Science – por sus siglas en inglés) ha tomado el desafío de profundizar la investigación de la web semántica geoespacial. Existen varios autores que han tomado parte en esta área, tal es el caso de Egenhofer. En (Egenhofer, 2002), se describe la necesidad de la semántica en los datos al realizar búsquedas en la web 2.2.2.2. Comentarios sobre Web Semántica Geoespacial El consorcio Universitario para la Ciencia de la Información Geoespacial (UCGIS) ha identificado a la Web Semantica Geoespacial como una prioridad en investigaciones recientes. El desarrollo de las ontologías espaciales ha sido identificado como un compromiso de investigación a largo plazo por el consorcio (Marcos et al., 2000). Las principales áreas de interés generalmente están enfocadas a la recuperación de información y la interoperabilidad de la información espacial. 2.3. Modalidades en las búsquedas semánticas. Existen varias modalidades de búsquedas semánticas en bases de datos. La más común es aquella en la que los valores de uno o varios atributos de una tabla toman valores que existen entre elementos de una o varias ontologías. En la Figura 2.2 tenemos una ontología en su forma más simple. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 15 Capitulo 2. Estado del arte c1 c2 c3 c4 Figura 2.2. Representación de una ontología en su forma simple (jerarquía). En la figura anterior se observa que c2 y c3 son subconjuntos de la clase c1 y que c4 es subclase de c3. Para una consulta sobre una clase de datos en la que un atributo A tenga que ser igual a c1, la expansión de la consulta tras obtener los conceptos subclase de c1, convertirá la consulta inicial a otra en la que se solicitarán los registros en los que A es igual a c1, c2, c3 o c4. El procedimiento mencionado nos da una expansión de la consulta que da lugar a los resultados que tiene una distancia semántica respecto a la consulta original, lo cual permite establecer un criterio para ordenar el conjunto de resultados. Existen trabajos que ordenan los resultados según la relevancia de los atributos no presentes en la consulta, uno de ellos es presentado en (Chaudhuri, et al., 2006). Para el cálculo de la similitud semántica entre la consulta y los resultados es preciso tener una medida de similitud entre conceptos, en nuestro caso la información se tiene estructurada en jerarquías. Es aquí donde retoma gran importancia la medida de similitud entre conceptos denominada confusión (Levachkine, et al., 2007). 2.3.1. Introducción al uso de las medidas de similitud El uso de las medidas de similitud es un área de investigación que ha sido explorado ya hace varios años. Del año de 1965 encontramos un trabajo de Rubenstein y Goodenough acerca de la similitud entre términos de idioma inglés con base en la semejanza del contexto en que aparecen (Rubenstein, et al., 1965). Para validar su trabajo llevó a cabo un Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 16 Capitulo 2. Estado del arte experimento en donde dos grupos de personas, de 15 y 36 sujetos respectivamente, evaluaban la similitud entre 65 pares de sustantivos. La evaluación constaba de un valor numérico que iba de 0.0 para describir que no existía semejanza a 4.0 que era indicio de existencia. Este experimento fue la base para que se siguieran realizando pruebas en el campo de las medidas de similitud. Sin embargo, el experimento con el cual diversos autores se identifican, es el que realizaron Miller y Charles (Miller, et al., 1991) en relación con su trabajo realizado en WordNet (Miller, et al., 1990). En este experimento fueron seleccionados 38 estudiantes de grado para estimar la semejanza entre 30 pares de nombres. Esta semejanza, al igual que en el trabajo de Rubenstein y Goodenough, también se expresaba con un valor entre 0.0 y 4.0. A partir de este experimento se derivaron una serie de propuestas para medir la similitud entre elementos de taxonomías. Principalmente estas propuestas están dirigidas hacia su uso en WordNet. 2.3.2. Un enfoque basado en clases para relaciones léxicas Entre los algoritmos presentes en este apartado, uno de los que más destacan y de los pioneros es el creado por (Resnik, 1993), el cual propone que la similitud entre dos conceptos c1 y c2 de una taxonomía, puede ser obtenido mediante la siguiente expresión: , En donde , log p , representa el conjunto de conceptos de los cuales tanto c1 como c2 descienden. Mientras que p es la probabilidad del concepto c. El término concepto hace referencia al conjunto de términos que apuntan a una misma idea. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 17 Capitulo 2. Estado del arte Ahora bien, para estimar la probabilidad de un concepto c, Resnik utiliza la frecuencia de aparición de los términos de ese concepto en el Brown Corpus2 of American English (Francis, et al., 1982). 2.3.3. Información teórica sobre la definición de similitud Existe otro trabajo que también hace uso de la probabilidad de un concepto, este trabajo es el propuesto por Lin (Lin, 1998), el cual obtiene de forma teórica la expresión para el cálculo de la similitud entre dos conceptos c1 y c2 en una taxonomía como la de WordNet. Esta expresión es la siguiente: , 2 Donde c3 es el nodo padre común a c1 y c2 más próximo. Lin pretende dar una definición universal de similitud en términos de la teoría de la información. Para poder llegar a dicha definición Lin parte de tres premisas intuitivas. 1. La similitud entre A y B se relaciona con su entorno. Entre más características en común compartan, más similares son. 2. La similitud entre A y B está relacionada con las diferencias que existen entre ellos. Entre más diferencias hayan, menos similares son. 3. La máxima similitud entre A y B se alcanza cuando A y B son idénticos. 2 El “Brown Corpus” en una compilación de inglés estadounidense de aproximadamente un millón de palabras seleccionadas de una amplia variedad de fuentes. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 18 Capitulo 2. Estado del arte 2.3.4. Combinación de contexto local y similitud de WordNet para identificación del sentido de palabras Otra de las medidas de similitud es la de Leacock y Chodorow (Leacock, et al., 1998), estos dos autores consideran que la similitud entre c1 y c2 puede ser obtenida con la siguiente expresión: , Donde , log , 2 , es el número de saltos a dar entre c1 y c2, y MAX es el valor de saltos que se pueden dar entre el nodo raíz y los nodos hoja de la taxonomía. 2.3.5. Cadenas léxicas como representación de contexto para la detección y correlación de nodos entre conceptos Uno de los trabajos que resultan relevantes en WordNet es el de Hirts y St-Onge (Hirts, et al., 1998). En lugar de hacer uso de las ecuaciones basadas en la probabilidad de los conceptos involucrados, o en encontrar el número de nodos entre dichos conceptos, lo que hacen es introducir la idea de cadenas léxicas para poder obtener la similitud. Tras este recorrido sobre trabajos que hacen referencia a la similitud semántica, podemos observar la importancia de WordNet en la definición de las medidas de similitud, ya que casi todas las propuestas que existen en la actualidad van dirigidas a ser usadas con esta taxonomía. Aunque también existen trabajos como (Lord, et al., 2003) en los que son aplicadas estas medidas de similitud, concretamente a la Gene Ontology. 2.3.6. Ordenamiento de resultados semánticas sobre bases de datos en consultas Tras el problema que existe entre las medidas de similitud en (Blázquez del Toro, et al., 2006) se propone un algoritmo alterno. Los algoritmos encargados de medir la similitud semántica no pueden ser aplicados en taxonomías en las que no exista forma de estimar la Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 19 Capitulo 2. Estado del arte probabilidad de un concepto c. Si observamos el ejemplo de Resnik, en el que estima la probabilidad de un concepto por medio de la frecuencia de aparición de los términos asociados a este concepto dentro de un corpus significativo, como el Brown Corpus of American English. De esta manera, dicha probabilidad puede ser estimada aplicando la siguiente expresión: donde es el número de veces que aparecen en el corpus los nombres que corresponden al concepto c o a sus subconceptos, y N es el número total de nombres presentes. Si quisiéramos hacer uso de la forma anterior para hacer un estimado de la probabilidad en taxonomías diferentes de WordNet, se tendría que ver como se podría medir la frecuencia de aparición de cada concepto. Una posible manera de hacer esto es partiendo de las instancias que existen en la base de conocimiento. No obstante, esto genera dos problemas: • Por una parte, las instancias de una ontología no tienen que ser algo estático. Se puede pensar por ejemplo en una ontología de dominio geográfico, específicamente turismo en el cual a medida que aparecen nuevos centros turísticos se van creando nuevas instancias. • Por otro lado, aun en el caso que se tuviera una ontología que no va a ser modificada, existe otro problema de tipo conceptual. Suponemos que se tiene una ontología de carácter universitario. Esta ontología puede verse representada en la Figura 2.3. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 20 Capitulo 2. Estado del arte Figura 2.3. Ejemplo de ontología de carácter universitario Donde: A = Profesor B = Catedrático C = Profesor Titular D = Ayudante E = Profesor Asociado Ahora bien, si las instancias de la ontología reflejan el número total de individuos de cada uno de estos elementos, lo más probable que la clase Catedrático sea menor que la clase Profesor Titular. Si se empleara la expresión propuesta por Lin (Lin, 1998) para el cálculo de similitud semántica, llegaríamos a la conclusión de que el concepto Catedrático es menos similar a Profesor que el concepto Profesor Titular. Debido a estos problemas existe otra propuesta (Blázquez del Toro, et al., 2006), en la cual se suponen dos conceptos c0 y c1, en donde c1 es subclase de c0. Esto no implica que c1 sea hijo directo de c0 en la ontología. Más adelante se amplía la discusión al caso general de dos conceptos c1 y c2 que no son subclase uno del otro. Con estas premisas en mente, la medida de similitud que se propone es expresada como: , (1) En donde N0, es el número de nodos que hay entre el nodo raíz y c0, con esto se permite tener la noción de que descender un nivel en la ontología supone una mayor diferencia semántica en la parte alta de la ontología (la de los conceptos màs genéricos) que en la parte baja (donde están los conceptos más específicos). El cociente representa la relación entre la información que aporta c0 y la información que aporta c1. Si suponemos que el nodo raíz contiene el 100% de la información presente en la Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 21 Capitulo 2. Estado del arte ontología, cada uno de los nodos inferiores contendrá una porción de esa información. La manera en que se modela el reparto de dicha información está relacionada con la estructura de la ontología. Si una clase c tiene una cantidad de información E, lo que vamos a suponer es que cada una de sus n subclases tendrá una cantidad de información , es decir, que la información se va repartiendo equitativamente entre las clases hijas. Con esto lo que se expresa es que, cuanto menor es el número de clases en que se divide una clase, mayor es el parecido entre estas subclases y la clase padre. El motivo de esto es bien claro, las taxonomías en general, y las ontologías en particular, se diseñan con el objetivo de organizar la información de forma manejable. Para ello cuando una clase tiene un número muy elevado de subclases, se suelen crear clases intermedias que permiten definir grupos de tamaño razonable. La agrupación de las subclases en clases intermedias se hace a partir de características cualitativas comunes. Por ello, cuanto más especificas sean estas características, más especializada estará esta clase intermedia y más semejantes serán respecto a ella las subclases que pasen a ser sus hijas. También se cumplirá que cuanto más especifica sea la clase intermedia, habrá un menor número de subclases que puedan a pasar a ser hijas suyas. Por esto se asume que existe una relación directa entre el número de subclases de una clase y la similitud semántica entre la clase y sus subclases. Retomando la ecuación propuesta en este apartado, se destaca que para el cálculo de no en necesario obtener E0 y E1 por separado en relación al nodo raíz, puesto que E0 = r * E1, donde r se puede obtener recorriendo la ontología desde E0 hasta E1, Es importe señalar que el cálculo de la similitud se hace teniendo en cuenta que c0 es superclase de c1, de modo que y no como la tasa de información siempre se ha de obtener como . El elemento k permite ajustar el peso que se le asignan a las variables empleadas en la fórmula: profundidad de c0 y tasa de información. Ésta debe ser obtenida empíricamente. Después de realizar el cálculo de la similitud entre un concepto c0 y unos de sus subconceptos c1 en este algoritmo, lo siguiente es ver la manera de extender esto al caso de dos conceptos c1 y c2 que no son subclase uno del otro. Para ello, es necesario introducir el término distancia. La medida propuesta en la expresión 1 da lugar a un valor entre 0.0 (donde se expresa que no existe similitud alguna) y 1.0 (se trata del mismo concepto). De Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 22 Capitulo 2. Estado del arte esta manera, la distancia dist entre dos conceptos se puede definir a partir de su similitud semántica ssim como se muestra a continuación: , , 1 (2) Cuando c1 y c2 sean el mismo concepto, ssim valdrá 1 y la distancia entre ambos será 0. Analógicamente, cuando ssim valga 0, la distancia entre ambos será infinita. Con esto en mente se puede hacer el cálculo de la similitud entre c1 y c2 a partir de la distancia entre ambos. Si C es el conjunto de conceptos que son superclase de c1 y c2, esta distancia se puede expresar de la siguiente manera: , , , Haciendo las sustituciones que se consideran pertinentes según la ecuación anterior, se llega a que sim (c1, c2) tiene un valor de: Esta última ecuación se obtiene haciendo una sustitución algebraica dejando todo en , términos , . En esta ecuación representa lo que se ha denominado , Este algoritmo no hace ninguna suposición sobre la taxonomía sobre la que se van a hacer los cálculos, se puede usar esta medida en cualquier dominio. Como consecuencia adicional, no precisa de datos externos, puesto que los cálculos sólo dependen de la estructura de la ontología. 2.4. Sistemas que emplean jerarquías Las jerarquías son muy comunes en los sistemas de información, se utilizan para organizar elementos por orden de importancia o por tamaño, como por ejemplo en un sistema de archivos o en el organigrama de alguna empresa. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 23 Capitulo 2. Estado del arte 2.4.1. Jerarquías eficientes empleando SQL Por lo general cualquier conjunto de elementos en el cual todos los elementos exceptuando al elemento raíz tienen un solo padre y cero o más hijos, puede ser considerado una jerarquía. En la Figura 2.4 vemos un ejemplo de una jerarquía organizacional de una empresa, cada nodo contiene un nombre que representa el nivel jerárquico administrativo que ocupa cada persona en la empresa. Figura 2.4. Jerarquía Organizacional La forma más utilizada para almacenar la relación entre los elementos de la jerarquía es la que se conoce como padre-hijo o lista de adyacencia, en la cual cada nodo del árbol guarda una referencia a su padre o a NULL si es que es el nodo raíz del árbol (ver Figura 2.5). Figura 2.5. Ejemplo de una lista de adyacencia Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 24 Capitulo 2. Estado del arte Las desventajas aparecen cuando se trata de recuperar la información de la jerarquía, puesto que no es posible realizar una sola consulta a la base de datos que devuelva toda o parte de la jerarquía. Los esfuerzos por mejorar consultas sobre estructuras jerárquicas han traído innovaciones en los gestores de base de datos. SQL Server 2008 admite un nuevo tipo de datos (HierarchyID), que ayudan a resolver algunos de los problemas al modelar y consultar información en una jerarquía. El tipo de datos HierarchyID permite construir relaciones entre los elementos de datos de una tabla, sobre todo para representar una posición en una jerarquía. 2.4.1.1. Descripción de los datos HierarchyID En (Tegels, 2008) se menciona que el tipo de datos HierarchyID es una representación binaria basada en CLR3 que está diseñada para almacenar una representación compacta y binaria de una ruta de acceso ordenada. Puesto que se trata de un tipo de datos integrado, no es necesario activar de manera específica la funcionalidad de SQL/CLR para usarlo. HierarchyID resulta de utilidad siempre que tenga que representar una relación anidada entre valores, en los que dicha relación se pueda expresar en una sintaxis de ruta de acceso ordenada. Una ruta de acceso ordenada tiene el aspecto de una ruta de acceso de archivo, pero en lugar de usar los nombres de directorio y archivo, se usan valores numéricos. Como cualquier otra relación de elemento primario/secundario, todas las rutas de acceso ordenadas se deben delimitar mediante un nodo raíz. En SQL Server 2008, se usa un solo carácter (/) para representar textualmente el nodo raíz. Los elementos con la ruta de acceso ordenada suelen representarse mediante enteros, pero también se pueden usar valores decimales. La ruta de acceso ordenada debe terminar con otro carácter único (/). 3 Common Language Runtime (CLR) es el núcleo de Microsoft .NET Framework y proporciona el entorno de ejecución de todo el código de .NET Framework. El CLR proporciona diversas funciones y servicios necesarios para la ejecución de los programas Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 25 Capitulo 2. Estado del arte Sin embargo, las rutas de acceso ordenadas no se almacenan en la base de datos como texto. En cambio, se les aplica matemáticamente un algoritmo hash para obtener valores binarios, que se almacenarán en las páginas de datos. 2.4.1.2. Limitaciones de los HierarchyID Lamentablemente no todo puede ser tan bueno. Los HierarchyId no representan un árbol automáticamente, lo que significa que cada fila almacena la información sobre la posición que tiene en el árbol, algo que no garantiza que se pueda generar un árbol al tomar todas las filas, puesto que puede haberse borrado un nodo padre o puede existir más de un nodo con el mismo HierarchyId. También es necesario controlar la concurrencia y la unicidad de los HierarchyId, puesto que la base de datos no controla estos aspectos. Por último, a diferencia de las referencias a otras entidades tradicionales (foreign key), los HierarchyId no mantienen la integridad referencial, lo que permitiría eliminar un nodo que era padre de otros nodos sin que la base de datos mande un error. 2.4.1.3. Comentarios sobre datos HierarchyID Los HierarchyId son una nueva y poderosa herramienta que estará disponible para todas las aplicaciones que requieran almacenar datos jerárquicos, como por ejemplo un organigrama, una lista de materiales, las tareas de un proyecto o una estructura de directorios. Esta forma de identificar los nodos de un árbol permite almacenar de forma muy eficiente la información necesaria para navegar el árbol en todas las direcciones (padres, hijos, descendientes y hermanos), pero requiere modificaciones a las aplicaciones y a las consultas para obtener estos beneficios. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 26 Capitulo 2. Estado del arte 2.5. Comentarios finales En la Figura 2.6 se muestra el diagrama que engloba los tres puntos esenciales que se mencionan en el estado del arte, por una parte se describen los trabajos relacionados con las modalidades de búsqueda de información, también se menciona el rol que juegan las jerarquías para poder medir la similitud semántica entre conceptos. En este sentido son descritos algunos trabajos que han servido como base para el desarrollo de nuevas investigaciones en este campo. Las estructuras jerárquicas son necesarias en diversas ocasiones donde se necesita agrupar la información y generalizarla, por esta razón es necesario elaborar herramientas que permitan el manejo de dichas estructuras. Figura 2.6. Esquema general del Estado del Arte Hablar de similitud semántica entre conceptos no es algo nuevo. Las investigaciones han sido variadas; sin embargo, el mayor número de trabajos están enfocados a su uso en WordNet. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 27 Capitulo 2. Estado del arte Dejando claro que el uso de jerarquías como medio para organizar la información es una buena alternativa, en esta investigación se propone conceptualizar un dominio geográfico con base en información ya existente. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 28 Capitulo 3. Marco teórico CAPÍTULO 3. MARCO TEÓRICO 3.1. Sistemas de Información Geográfica (GIS) En la década de los setenta del presente siglo, con el avance en el desarrollo de la tecnología informática, aparecen una serie de herramientas y programas que permiten manejar datos espaciales georreferenciados. Estas herramientas son útiles y facilitan la comprensión, el análisis y divulgación de los datos geográficos. Además, los Sistemas de Información Geográfica (GIS) ofrecen numerosas ventajas respecto a la cartografía convencional, puesto que de forma automática permiten manejar datos espaciales internamente referenciados, producir mapas temáticos y realizar procesos de información, de tipo digital (Conesa García, 1996). Una de las metas es dar el paso siguiente a los GIS tradicionales empleando nuevas técnicas que nos permitan recuperar la información basándonos en la riqueza semántica, una de las alternativas latentes en el área de la Geoinformatica para el procesamiento de la información geográfica usando ontologías. 3.1.1. Definiciones globales, funcionales y tecnológicas de un GIS En esta sección se presentan algunas definiciones de los SIG de diversos autores (Bosque Sendra, 1992), (Cebrian, 1994), (Maguire, et al., 1991) (Aesigt, 1993), (Aronoff, 1991), (Burrough, et al., 1997), (Huxhold, 1991) y (Rodríguez Pascual, 1993). Se clasifican básicamente en tres categorías: globales, funcionales y tecnológicas. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 29 Capitulo 3. Marco teórico 3.1.1.1. Definiciones globales Éstas son aquellas donde predomina la idea global y abstracta de la técnica. Se mencionan los objetivos generales de los GIS. En estas definiciones se hace énfasis en el qué y no importa tanto el cómo y con qué. Un GIS es un intento más o menos logrado según los casos de constituir una visión esquemática de una realidad compleja (Bosque Sendra, 1992). Un Sistema de Información Geográfica puede ser concebido como una especialización de un sistema de bases de datos, caracterizado por su capacidad de manejar datos geográficos, que están georeferenciados y los cuales pueden ser visualizados como mapas (Braken, et al., 1992). Tambien se puede definir como una base de datos especializada que contiene objetos geométricos (Cebrian, 1994). Un GIS abarca tecnología de la información, gestión de la información, asuntos legales y de negocios, y conceptos específicos de materias de un gran abanico de disciplinas, pero es implícito en la idea de GIS como una tecnología usada para tomar decisiones en la solución de problemas que tenga al menos una parte de componente espacial (Maguire, et al., 1991). 3.1.1.2. Definiciones funcionales Las siguientes definiciones hacen mención a las tareas que pueden realizar. Estos sistemas sirven básicamente para la comprensión y uso de datos espaciales. • Software utilizado para automatizar, analizar y representar datos gráficos georeferenciados y organizados según un modelo topológico (Aesigt, 1993). • Sistema computarizado que provee los siguientes cuatro conjuntos de operaciones para tratar datos Georeferenciados: 1) entrada de datos; 2) uso de los datos (almacenamiento y recuperación); 3) manipulación y análisis; 4) salida (Aronoff, 1991). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 30 Capitulo 3. Marco teórico • Un conjunto de herramientas para reunir, introducir, almacenar, recuperar, transformar y cartografiar datos espaciales sobre el mundo real para un conjunto particular de objetivos (Burrough, et al., 1997). • Un sistema de base de datos computarizados para la captura, almacenaje, recuperación, análisis y visualización de datos espaciales (Huxhold, 1991). • Actualmente pueden ser considerado como GIS, los sistemas de software que incluyen cuatro funciones (entrada, almacenaje, manipulación y análisis); y debe realizar eficientemente las cuatro tareas (Marble, 1990). • Un sistema de hardware, software y procedimientos elaborados para facilitar la obtención, gestión, manipulación, análisis, modelado, representación y salida de datos espacialmente referenciados para resolver problemas complejos de planificación y gestión (NCGIA, 1990). • Conjunto integrado de medios y métodos informáticos, capaz de recoger, verificar, intercambiar, almacenar, gestionar, actualizar, manipular, recuperar, transformar, analizar y mostrar datos espacialmente referenciados a la Tierra (Rodríguez Pascual, 1993). • Un sistema de información geográfica (GIS) es un tipo particular de sistema de información que permite a sus usuarios capturar, modelar, manipular, representar, analizar y presentar datos geográficamente referenciados. 3.1.1.3. Definiciones tecnológicas Definiciones Tecnológicas reflejan un interés de manera especial por la técnica utilizada, se destaca el uso de la informática para la comprensión de los datos espaciales. • Tecnología informática para gestionar y analizar la información espacial (Bosque Sendra, 1992). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 31 Capitulo 3. Marco teórico • GIS como denominación de bases de datos computacionales que contiene información espacial (Cebrian, 1994). • Modelo informatizado del mundo real, descrito en un sistema de referencia ligado a la Tierra, establecido para satisfacer unas necesidades de información específicas respondiendo a un conjunto de preguntas concretas (Rodríguez Pascual, 1993). Englobando las definiciones dadas anteriormente se define a un Sistema de Información Geográfica como un sistema de hardware y software que tiene como objeto la comprensión y el análisis de los datos espaciales georeferenciados, para la ayuda de diversas actividades humanas, donde los datos espaciales tienen un papel importante. 3.1.2. Componentes y características de un GIS A continuación se describen los componentes de un GIS y mencionamos sus características principales. 3.1.2.1. Componentes básicos de un GIS • Equipos (Hardware) permite la entrada y salida de la información geográfica en diferentes medios y formas. • Programas (Software) nos proporciona las herramientas necesarias para almacenar, analizar y desplegar la información geográfica. • Datos se hace referencia a la información que nos garantice el funcionamiento analítico de nuestro GIS. • Los datos geográficos pueden ser obtenidos directamente por la persona que implementa el sistema o tomar la información ya disponible, por ejemplo diccionarios de datos geográficos del INEGI. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 32 Capitulo 3. Marco teórico • El sistema de información geográfica integra los datos espaciales con otros recursos de datos y pueden incluso utilizar los manejadores de bases de datos más comunes para manejar la información geográfica. • Recursos Humanos este bloque hace referencia al personal que opera, desarrolla y administra el sistema; y establece planes para aplicarlo en problemas del mundo real. • Metodologías el GIS debe operar bajo un plan bien diseñado para trabajar de acuerdo con aplicación. 3.1.2.2. Características principales de un GIS 1. La capacidad de visualización de información geográfica compleja a través de mapas. 2. La funcionalidad de los GIS como una base de datos sofisticada, en la que se mantiene y relaciona información espacial y temática. 3. La diferencia con las bases de datos convencionales estriba en que toda la información contenida en un GIS está unida a entidades geográficamente localizadas. Por ello en un GIS la posición de las entidades constituye el eje del almacenamiento, recuperación y análisis de los datos. 4. Son una tecnología de integración de información. 5. Se han desarrollado a partir de innovaciones tecnológicas habidas en campos especializados, de la geografía y otras ciencias (tratamiento de imágenes, análisis fotogramétricos, cartografía automática, etc.), para constituir un sistema único, más potente que la suma de las partes. 6. Permiten unificar la información en estructuras coherentes. 7. Este carácter integrador y abierto, hace de los GIS un área de contacto entre variados tipos de aplicaciones informáticas, destinadas al manejo de información con propósitos y Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 33 Capitulo 3. Marco teórico formas diversas; por ejemplo: programas estadísticos, gestores de bases de datos, programas gráficos, hojas de cálculo, procesadores de texto, etc. 8. Los límites y diferencias entre los GIS, los programas de diseño asistido por computadora (CAD), los de cartografía temática y los de tratamiento de imágenes son especialmente difusos. Aunque sus diferencias estriban sobre todo en el modelo de datos y en las capacidades de análisis de información espacial. 3.2. Bases de datos espaciales Un modelo de datos geográfico es una abstracción del mundo real que emplea un conjunto de objetos, para soportar el despliegue de mapas, consultas, edición y análisis. Los datos geográficos, proporcionan la información en representaciones subjetivas a través de mapas y símbolos, que denotan la geografía como formas geométricas, redes, superficies, ubicaciones e imágenes, a los cuales se les asignan sus respectivos atributos que los definen y describen. En (Güting, 1994) se define al sistema de base de datos espacial como un sistema de datos que ofrece tipos espaciales de datos en su modelo y su lenguaje de consulta. Base de datos espacial es un sistema administrador de bases de datos que maneja datos existentes en un espacio o datos espaciales. El espacio establece un marco de referencia para definir la localización y relación entre objetos. El que normalmente se utiliza es el espacio físico que es un dominio manipulable, perceptible y que sirve de referencia. La construcción de una base de datos geográfica implica un proceso de abstracción para pasar de la complejidad del mundo real a una representación simplificada que pueda ser procesada por el lenguaje de las computadoras actuales. Este proceso de abstracción tiene diversos niveles y normalmente comienza con la concepción de la estructura de la base de datos, generalmente en capas; en esta fase, y dependiendo de la utilidad que se vaya a dar a la información a compilar, se seleccionan las capas temáticas a incluir. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 34 Capitulo 3. Marco teórico La estructuración de la información espacial procedente del mundo real en capas conlleva cierto nivel de dificultad. En primer lugar, la necesidad de abstracción que requieren los computadores implica trabajar con primitivas básicas de dibujo, de tal forma que toda la complejidad de la realidad ha de ser reducida a puntos, líneas o polígonos. En segundo lugar, existen relaciones espaciales entre los objetos geográficos que el sistema no puede obviar; la topología, que en realidad es el método matemático-lógico usado para definir las relaciones espaciales entre los objetos geográficos, puede llegar a ser muy compleja, ya que son muchos los elementos que interactúan sobre cada aspecto de la realidad (Aronoff, 1991). 3.2.1. Datos espaciales En diversos campos hay una necesidad por manejar información geométrica, geográfica o espacial, lo cual quiere decir que los datos guardan cierta relación con el espacio (Güting, 1994). El espacio de interés puede ser, por ejemplo, la abstracción de dos dimensiones de la superficie de la tierra o en tres dimensiones, por ejemplo la representación del acomodo de las cadenas de moléculas de proteína. Con la llegada de los modelos relacionales en las bases de datos, se ha intentado manejar grandes colecciones de objetos geométricos relativamente simples, por ejemplo, un conjunto de 100, 000 polígonos. En (Wikipedia, 2008) se define dato espacial como una variable asociada a una localización del espacio Generalmente se hace uso de datos vectoriales expresados mediante tres tipos de objetos espaciales: • Puntos Se encuentran determinados por las coordenadas terrestres medidas por latitud y longitud. • Líneas Objetos abiertos que cubren una distancia dada y comunican varios puntos o nodos, aunque debido a la forma esférica de la tierra también se le consideran como arcos (carreteras, líneas telefónicas, etc.). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 35 Capitulo 3. Marco teórico • Polígonos Figuras planas conectadas por distintas líneas u objetos cerrados que cubren un área determinada (países, regiones, lagos, etc.). Los datos espaciales también son caracterizados por su naturaleza Georeferenciada y multidireccional. La primera indica que los datos están referenciados con respecto a la tierra. Por multidireccional decimos que existen diversas relaciones, es decir, todos se relacionan entre sí pero las relaciones no tienen el mismo peso. 3.3. Ontologías Existen muchas definiciones de ontología con diferentes enfoques, tales como el enfoque filosófico, cognitivo y computacional. La Filosofía es el primer campo de conocimiento donde se utiliza el concepto de ontología. El uso de dicho concepto se origina en la noción aristotélica, que por un lado estudia la esencia del ser (el ser como ser), y por otro lado, estudia las características básicas de toda la realidad como un todo. En la actualidad, es considerada una rama de la Filosofía que tiene por objetivo la explicación de la existencia de una manera sistemática, trata sobre los tipos y estructuras de objetos, propiedades, eventos, procesos y relaciones relativas a cada porción de la realidad (Aristotle’s, 2003). A partir de la década de los noventa, las ontologías comienzan a tener protagonismo en la Inteligencia Artificial (IA), con especial énfasis en la Ingeniería del Conocimiento. En (Studer, et al., 1998) se menciona que la (IA) se ocupa del razonamiento acerca de los modelos del mundo. Por lo tanto, no es raro que los investigadores de IA adopten el término ontología para describir lo que puede ser representado computacionalmente por medio de un programa. Por lo tanto, de manera general. Las ontologías son para la Inteligencia Artificial recursos construidos que permiten representar el conocimiento compartido y común sobre algo. En el siguiente apartado se presentan varias definiciones y características de las ontologías como tales. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 36 Capitulo 3. Marco teórico 3.3.1. Las ontologías como una conceptualización A fin de comprender mejor el concepto de ontología, a continuación se analizan diferentes definiciones. Para (Neches, et al., 1991) una ontología define los términos básicos y las relaciones que comprende el vocabulario de un área temática, así como las reglas para la combinación de términos y relaciones para definir la extensión del vocabulario. En esta definición, se detallan las partes que la componen, como son sus términos, relaciones entre términos y reglas de combinación, e incluso se proponen elementos para su elaboración. • Identificar la terminología básica y las relaciones que se dan entre los términos. • Identificar las reglas que permitan combinarlos. • Proveer las definiciones correspondientes a los términos y sus relaciones. La ontología se perfila como un recurso dinámico, en la medida que la constituyen términos creados a partir de reglas, además de los que son explícitamente definidos. Por otra parte (Gruber, 1993) dice que una ontología es una especificación explícita de una conceptualización. El autor considera que una conceptualización está compuesta por objetos, conceptos y otras entidades que existen en una determinada área, y las relaciones que se dan entre ellos. Cuando el conocimiento de un dominio es representado en un formalismo declarativo, el conjunto de objetos que pueden ser representados es denominado universo de discurso. Este conjunto de objetos, y las relaciones entre ellos, se reflejan en el vocabulario con el que se representa el conocimiento. En una ontología se asocian mediante definiciones los nombres de las entidades en el universo de discurso, (por ejemplo clases, relaciones, funciones u otros objetos) con un texto legible por el hombre que las describe y con axiomas que restringen la interpretación y otorgan la característica de bien formados a dichos términos. Formalmente, una ontología es la declaración de una teoría lógica. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 37 Capitulo 3. Marco teórico En 1995, Guarino y Giaretta realizan un estudio en el que recopilan siete definiciones donde el concepto de ontología tiene distintas interpretaciones (Guarino, et al., 1995). 1. La ontología como una disciplina filosófica. 2. La ontología como un sistema conceptual informal. 3. Ontología como una cuenta formal de la semántica. 4. Ontología como una especificación de una conceptualización 5. Ontología como una representación de un sistema conceptual de la teoría por medio de la lógica. a. Caracterizado por propiedades formales específicas b. Caracterizada por sus fines específicos. 6. Ontología como el vocabulario utilizado por una teoría lógica. 7. Ontología como una meta de la especificación de una teoría lógica Estas definiciones (exceptuando la de contenido filosófico) pueden ser clasificadas en dos grupos: • Las que conciben la ontología como un marco conceptual a nivel semántico (definiciones 2 y 3). • Las que la conciben como un objeto concreto a nivel sintáctico con un uso guiado por un propósito específico (definiciones de la 4 a la 7). Para Guarino una ontología es un artefacto de ingeniería, construido por un vocabulario específico utilizado para describir una cierta realidad, más un conjunto de hipótesis explícitas en relación con el significado de las palabras del vocabulario (Guarino, 1998). Se considera que estamos ante un recurso de la ingeniería compuesto por un vocabulario con un significado acotado, cuya finalidad es la descripción de una porción de la realidad. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 38 Capitulo 3. Marco teórico En 1996, Bernaras propone su definición y dice que una ontología proporciona los medios para describir explícitamente lo que hay detrás de la conceptualización del conocimiento (Bernaras, et al., 1996). Además de las características ya mencionadas en otras definiciones -descripción explícita de una conceptualización, que aporta el significado, Bernaras nuevamente hace referencia a la ontología como recurso destinado a representar el conocimiento en una base de conocimiento. Para Swartout una ontología es un conjunto estructurado de términos que describen algún dominio o tema. La idea es que una ontología proporciona el esqueleto de una base de conocimientos (Swartout, et al., 1997). Esta definición no aporta información nueva sobre las características que se han estado perfilando a partir de los demás autores citados, sin embargo es interesante rescatar el entorno del cual surge: la preocupación por compartir conocimiento entre sistemas a fin de reducir costos, dificultades y la conexión explícita como parte de una base de datos de conocimiento. Uschold y Gruninger, en cambio entienden que la ontología es el término utilizado para referirse a la comprensión común de algún dominio de interés y puede ser usado como un marco unificador para resolver problemas. Una ontología implica necesariamente una especie de visión del mundo con respecto a un determinado dominio. La visión del mundo se suele concebir como un conjunto de conceptos (por ejemplo, entidades, atributos, procesos) sus definiciones e interrelaciones; esto es lo que se denomina conceptualización (Uschold, et al., 1996). Estos autores también insisten sobre la naturaleza explícita de la representación que la ontología aporta sobre una conceptualización. En 1997, Borst reformula la definición de Gruber precisando que las ontologías son definidas como la especificación formal de la conceptualización compartida (Borst, 1997). El aporte de dicha precisión es incluir la calificación de compartida a la noción de Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 39 Capitulo 3. Marco teórico conceptualización, cuando en el carácter de compartido subyace una de las razones de la existencia de las ontologías como recursos. Studer considera que, de las múltiples definiciones dadas sobre ontologías, la de (Gruber, 1993) y la de (Borst, 1997) son las que logran captar lo fundamental de dicho concepto, y son fusionadas en la siguiente definición: Una ontología es una especificación explicita formal de una conceptualización compartida (Studer, et al., 1998). Los elementos que componen esta definición, son explicados por los autores de la siguiente forma: a) Conceptualización: se refiere a un modelo abstracto de algún fenómeno en el mundo proveniente de haber identificado los conceptos relevantes de dicho fenómeno. b) Explícita: alude a que el tipo de concepto usado y las restricciones para su uso son explícitamente definidas. c) Formal: se refiere al hecho de que la ontología debería ser legible por una maquina. d) Compartida: refleja la noción de que una ontología captura conocimiento consensual, que no es objeto de un solo individuo, sino aceptado por un grupo. Las definiciones expuestas anteriormente nos muestran que hay una gran variedad de interpretaciones que se enfocan al concepto de ontología, sintetizando se puede decir que una ontología es: una representación explícita y formal de una conceptualización compartida que da una perspectiva de la realidad y constituye una estructura conceptual de una base de conocimiento, con la finalidad de compartir el conocimiento que representa. 3.3.2. Partes de una ontología En (Gruber, 1993) y (Torres, et al., 2008) se definen las partes que componen a las ontologías. Es importante mencionar que estos puntos son la esencia de una ontología Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 40 Capitulo 3. Marco teórico Clases: Son las ideas a formalizar y representan los conceptos en el sentido más amplio. Las clases en una ontología se suelen organizar en taxonomías a las que se les pueden aplicar los mecanismos de herencia. Contexto: Circunstancia bajo la cual un concepto está siendo ocupado. Conceptos: Son las ideas básicas que se intentan formalizar. Los conceptos pueden ser clases de objetos, métodos, planes, estrategias, procesos de razonamiento, etc. Relaciones: Representan la interacción y enlace entre los conceptos del dominio. Suelen formar la taxonomía del dominio. Por ejemplo: subclase-de, parte-de, parte-exhaustiva-de, conectado-a, etc. Instancias. Concepto particular que ya no puede ser partido (concepto atómico o concepto terminal). Axiomas Los axiomas formales sirven para modelar sentencias que son siempre ciertas. Además también se usan para verificar la consistencia de la propia ontología. Restricciones: Manejadas para omitir algunos casos. Atributos. Ayudan a entender mejor a una relación. 3.3.3. Tipos de ontologías Guarino en (Guarino, et al., 1995) clasifica las ontologías de acuerdo con su dependencia y relación con una tarea específica desde un punto de vista (ver Figura 3.1). • Ontologías de Alto Nivel o Genéricas: Describen conceptos más generales. En relación con los Sistemas de Información, estas ontologías describirían conceptos básicos. Por ejemplo, una teoría describiría partes y todos, y sus relaciones con la topología. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 41 Capitulo 3. Marco teórico • Ontologías de Dominio: Describen un vocabulario relacionado con un dominio genérico. Por ejemplo, podría ser una descripción de datos y entidades relacionados con la sensorización remota con un ambiente urbano. • Ontologías de Tareas o de Técnicas básicas: Describen una tarea, actividad o artefacto. Por ejemplo, la evaluación de la contaminación sonora en ambientes urbanos o la descripción de características generales de componentes, procesos o funciones. • Ontologías de Aplicación: Describen conceptos que dependen tanto de un dominio específico como de una tarea específica y, generalmente son una especialización de ambas. Fonseca propone que este tipo de ontologías nazcan a partir de una combinación de ontologías de niveles superiores (Fonseca, 2000). Ellas representan las necesidades de los usuarios relacionados con una aplicación específica. Otra clasificación es la propuesta por Van Heijst (Van Heijst, et al., 1996) : • Ontologías terminológicas: Especifican los términos que son usados para representar el conocimiento en el universo del discurso. Suelen ser usadas para unificar vocabulario en un campo determinado. • Ontologías de información: Especifican la estructura de almacenamiento de bases de datos. Ofrecen un marco para el almacenamiento estandarizado de información. • Ontologías de modelado de conocimiento: Especifican conceptualizaciones del conocimiento. Contienen una rica estructura interna y suelen estar ajustadas al uso particular del conocimiento que describen. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 42 Capitulo 3. Marco teórico Figura 3.1. Tipo de ontologías 3.3.4. Editor de ontologías Para la construcción de una ontología es necesario contar con un editor que nos permita almacenar el conocimiento de una manera organizada. Protégé (Protégé, 2008) fue desarrollado por Stanford Medical Informatics (SMI) en la Universidad de Stanford. Actualmente es uno de los editores de ontologías más usados por investigadores para desarrollar sus ontologías, ya que es una herramienta que se actualiza con bastante regularidad y a la que se le pueden añadir módulos y plugins con nuevas funcionalidades y que además son gratuitos. Permite que la ontología desarrollada se exporte a los diferentes lenguajes de especificación más empleados actualmente (RDF, DAML, OWL, etc.). También podemos exportar nuestra ontología a modelos de bases de datos persistentes y emplear algún gestor de base de datos para almacenar nuestro conocimiento, tal es el caso de Mysql. 3.3.5. Sistemas de almacenamiento Los sistemas de almacenamiento de ontologías nos permiten mantener las ontologías en bases de datos e ir añadiendo nueva información y con ayuda de razonadores podemos probar la consistencia de la ontología. La mayoría de los sistemas de almacenamiento están orientados a descripciones de conceptos escritos en RDF. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 43 Capitulo 3. Marco teórico Existe una gran cantidad de herramientas que nos permiten manipular y almacenar los archivos propios que describen a las ontologías, sin embargo, para esta investigación hacemos uso de un marco de trabajo de Java llamado Jena. A continuación damos una breve descripción: Jena 2 (Jena, 2007) colección de herramientas desarrollado por Hewlett- Packard enfocado a la Web Semántica. En esta colección, hay un parser para RDF, un API, el lenguaje de consulta RDQL, soporte para ontologías RDFS, DAML + OIL y OWL y un sistema de almacenamiento basado en bases de datos BerkeleyDB4. 3.3.5.1. Lenguajes de consultas RQL (RDF Query Language – por sus siglas en ingles) es un lenguaje de consulta para RDF y RDF Schema basado en OQL (Object Query Language). RQL nos permite navegar por los grafos que hay en el modelo RDF y proporciona un mecanismo para preguntar y seleccionar los nodos del modelo que queramos recuperar (RQL, 2007). La característica primordial de este lenguaje es que tiene construcciones propias específicas para las relaciones semánticas dentro del RDF Schema, como pueden ser las relaciones de clase/instancia, clase/propiedad o el dominio y rango de una propiedad, esto hace más fácil la recuperación de información de los nodos del modelo. RDQL (RDF Data Query Language – en sus siglas en ingles) (SPARQL, 2007) fue desarrollado por HP para que fuese el lenguaje de consulta para RDF en los modelos de Jena, con la idea de convertirse en un modelo de consulta orientado a datos por ser una aproximación más declarativa. Debido a esto, sólo se pueden hacer consultas sobre la información que hay en el modelo, por lo que la inferencia o razonamiento no es posible. RDQL deriva de SquishQL que es un lenguaje de consulta para RDF, que a la vez deriva de 4 BerkeleyDB es una base de datos enlazable con C, C++, Java, Perl, Python, TCL y muchos otros lenguajes. Soporta múltiples datos para una misma clave. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 44 Capitulo 3. Marco teórico rdfDB5, y son una clase de lenguajes para RDF, no para el RDF Schema a no ser que esté explícitamente en el modelo que se maneje (RDQL, 2007). Como RDF provee una estructura de grafos, donde los nodos son recursos o literales, RDQL permite especificar el patrón de la tripleta <sujeto, predicado, objeto> que queremos buscar en el grafo del modelo para poder recuperar cualquier parte de la tripleta, devolviendo todas las tripletas que cumplan el patrón que se le pasa como parámetro (muy parecido a cómo actúa RQL). Tiene la desventaja de no permitir realizar ninguna inferencia, la utilización para obtener resultados es limitada. Por otro lado las ventajas radican en la sencillez de manejo, ya que solo es necesario tener claro que tripleta <sujeto, predicado, objeto> se quiere preguntar y la facilidad de integración con el lenguaje Java. SPARQL (SPARQL, 2007) es un lenguaje de consultas para grafos RDF propuesto recientemente por W3C. Ofrece a los desarrolladores y usuarios finales un camino para presentar y utilizar los resultados de búsquedas a través de una gran variedad de información como puede ser datos personales, redes sociales y metadatos sobre recursos digitales, como música e imágenes. SPARQL también proporciona un camino de integración sobre recursos diferentes. Este lenguaje permite: • Extraer información en diversas formas, incluyendo URIs. • Extraer subgrafos RDF. • Construir nuevos grafos RDF basados en la información de los grafos consultados. 3.4. Jerarquías y Teoría de Confusión En este apartado se explican algunos conceptos básicos que son útiles para el entendimiento del uso de jerarquías y la teoría de confusión (Levachkine, et al., 2004). 5 rdfDB es un proyecto que está pensado para ser una base de datos de código abierto para RDF simple y escalable. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 45 Capitulo 3. Marco teórico 3.4.1. ¿Por qué usar jerarquías? Una jerarquía la podemos definir de forma sencilla como una representación gráfica en forma de árbol, donde la partición de cada nodo es mostrada de manera descendente, es decir, los nodos hijos serán subconjuntos del nodo padre, además las jerarquías mantienen una relación única. Consideramos a la Jerarquía como un caso particular de la ontología. Se hace uso de las jerarquías para la recuperación de objetos en una base de datos espacial y así mismo definir una semejanza semántica entre los objetos recuperados con ayuda de la teoría de Confusión. Las jerarquías son más fáciles de entender y de poner en ejecución a diferencia de una ontología como tal. 3.4.2. El concepto de Jerarquía En (Levachkine, et al., 2007) se dan las siguientes definiciones, las cuales son de gran utilidad para comprender de manera más precisa el concepto de Jerarquía. Definición (Conjunto de elementos). Un conjunto E cuyos elementos se definen explícitamente. Ejemplo: {rojo, azul, verde, naranja, amarillo}. Definición (Conjunto ordenado). Un conjunto de elementos cuyos valores están ordenados por la relación < (“menor que”) Ejemplo: {muy frío, frío, templado, tibio, caliente, muy caliente}. Definición (Cubrimiento). K es un cubrimiento del conjunto E si K es un conjunto de subconjuntos ei ⊂ E, tal que ∪iei = E. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 46 Capitulo 3. Marco teórico Cada elemento de E está en algún subconjunto ei ∈ K. Si K no es un cubrimiento de E, podemos hacerlo añadiendo un nuevo ej, denominado “otros”, que contiene todos los elementos restantes de E que no pertenecen a ningún ei previo. Definición (Conjunto exclusivo). K es un conjunto exclusivo si ei ∩ ej = ∅, para cada ei, ej ∈ K Sus elementos son mutuamente exclusivos. Si K no es un conjunto exclusivo, podemos hacerlo reemplazando cada par que se traslape ei, ej∈K con tres: ei – ej, ej - ei, y ei ∩ ej. Definición (Partición). P es una partición del conjunto E, si P es cubrimiento y conjunto exclusivo de E. Definición (Variable cualitativa). Una variable uni-valuada que toma valores simbólicos. Su valor no puede ser un conjunto. Por simbólico entendemos que es cualitativo, opuesto a numérico, o variables cuantitativas. Definición (Valor Simbólico). Un valor simbólico v representa al conjunto E, descrito por v ∝ E, si v puede considerado un nombre o una representación de E. Definición (Jerarquía). Para un elemento del conjunto E, una jerarquía H de E es otro conjunto de elementos, donde cada ei es un valor simbólico que representa a cualquier elemento de E o una partición; y ∪ι { ρι | ει ∝ ρι } = E (La unión de todos los conjuntos representados por los ei de E). Suponga una Jerarquía H1, Para un conjunto E = {Canada, USA, México, Cuba, Puerto_Rico, Jamaica, Guatemala, Honduras, Costa_Rica}, la jerarquía H1 es {Norte_America, Islas_Caribe, America_Central}, donde Norte_America ∝ {Canada, USA, Mexico}; Islas_Caribe ∝ {Islas_Hispano-parlantes, English_Speaking_Island}; Islas_Hispano-parlantes∝ {Cuba, Puerto_Rico}; English_Speaking_Island ∝ {Jamaica}; America_Central ∝ {Guatemala, Honduras, Costa_Rica}. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 47 Capitulo 3. Marco teórico Las jerarquías facilitan la comparación de los valores cualitativos que pertenecen a ella. Definición (Variable Jerárquica) Una variable jerárquica es una variable cualitativa cuyos valores pertenecen a la jerarquía (El tipo de dato de una variable jerárquica es jerarquía). Ejemplo: lugar_de_origen toma valores de H1. Definición Se utilizará la siguiente notación: a) padre_de (v). En un árbol que representa una jerarquía, el nodo padre_de un nodo es aquel del cual desciende; b) los hijos_de (v) son los valores que cuelgan de v. Los nodos con el mismo padre son hermanos; c) abuelo de, hermano_de, tío_de, ascendentes, descendientes... son definidos, cuando ellos existen; d) La raíz es el nodo que no tiene padre. 3.4.2.1. Jerarquía simple, ordenada, porcentual y mixta Una jerarquía describe la estructura de valores cualitativos en un conjunto E. Son definidas las siguientes jerarquías: Definición (Jerarquía Simple): Una jerarquía simple (normal) es un árbol con raíz E y si un nodo tiene un hijo, éste forma una partición del padre. Una jerarquía simple describe una jerarquía donde E es un conjunto (así sus elementos no se repiten ni son ordenados). Ejemplo: ser viviente {animal {mamífero, pez, reptil, otro animal}, planta {árbol, otra planta}}. Definición (Jerarquía Ordenada): En una jerarquía ordenada, los nodos de algunas particiones obedecen una relación de orden. Ejemplo objeto {diminuto, pequeño, mediando, grande} Definición (Jerarquía Porcentual): En una jerarquía porcentual, el tamaño de cada conjunto es conocido. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 48 Capitulo 3. Marco teórico Ejemplo: Continente Americano (740M) {Norteamérica (430M) {USA(300M), Canadá(30M), México(100M)} América Central (10M), Sudamérica(300M)}. Definición (Jerarquía Mixta): Una jerarquía mixta combina los tres casos anteriores Para cada uno de los tipos de jerarquías se define conf(r,s) como el error de usar un valor r en vez de s. 3.4.3. Teoría de Confusión El cambio cualitativo y cuantitativo en las necesidades de la información de la sociedad, obligan a elaborar un sistema más eficiente para agilizar los procesos de información geográfica, por esta razón se necesita elaborar un modelo alterno para representar la misma. Las investigaciones recientes en la recuperación de datos y la integración de los datos han acentuado el uso de ontologías y de funciones semánticas de la semejanza como mecanismo para comparar los objetos que se pueden recuperar o integrar a través de los depósitos heterogéneos. En este contexto, una ontología es un tipo de base de conocimiento que describe conceptos con definiciones suficientes para obtener la semántica de un dominio. Una ontología representa cierta vista del mundo, apoya preguntas intencionales con respecto al contenido de la base de datos, y refleja la importancia de datos proporcionando una descripción declarativa (Levachkine, et al., 2004). Con el fin de modelar la similitud semántica entre una o varias jerarquías empleamos una medida asimétrica dependiente del contexto denominada confusión, que es definido como el grado de error que existe entre elegir un concepto u otro. Esto nos permite ponderar los valores esperados en una consulta realizada a nuestra base de datos espacial. El término confusión fue pensado para medir distancias entre conceptos de una forma sencilla respetando algunas reglas propuestas. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 49 Capitulo 3. Marco teórico 3.4.3.1. Confusión de usar r en vez de s para jerarquías simples Definición. Si r, s ∈ H, entonces la confusión de usar r en vez de s, que se escribe como conf(r, s), es: • conf (r, r) = conf (r, s) = 0, donde s es cualquier ascendente de r; (regla 1) • conf (r, s) = 1 + conf (r, padre_de(s)) . (regla 2) Para medir conf, se cuentan los enlaces descendentes de r a s, al valor reemplazado. 3.4.3.2. Confusión de usar r en vez de s, para jerarquías ordenadas Definición. Para jerarquías simples compuestas por conjuntos ordenados, la confusión de usar r en vez de s, conf’ (r, s), se define como: • conf’ (r, r) = conf (r, cualquier ascendente de r) = 0; • Si r y s son hermanos distintos, conf’ (r, s) = 1 Si el padre no está en un conjunto ordenado; entonces, conf’ (r, s) es igual a la distancia relativa de r a s es y a la vez es igual el número de pasos requeridos para llegar de r a s en el orden definido, dividido entre la cardinalidad-1 del padre; • (regla 3) conf’ (r, s) = 1 + conf’(r, padre_de(s)). Esto es como conf para las jerarquías constituidas por conjuntos, excepto que allí el error entre dos hermanos es 1, y aquí es un número ≤ 1. Por ejemplo: Temperatura ={congelado, frío, normal, tibio, caliente, ardiendo}; en esta listaconf’ (congelado, frío) = 1/5, mientras que la conf’ (congelado, ardiendo) = 5/5 = 1. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 50 Capitulo 3. Marco teórico 3.4.3.3. Confusión de usar r en vez de s, para jerarquías porcentuales Considerando la jerarquía H (de un elemento del conjunto E) pero compuesta por un conjunto desordenado en vez de un conjunto ordenado. Definición. Para conjuntos desordenados, la confusión de usar r en lugar de s, conf’’ (r, s), es: • conf’’ (r, r) = conf’’ (r, s) = 0, cuando s es cualquier ascendente de r; • conf’’ (r, s) = 1 – proporción relativa de s en r. (regla 4) 3.4.3.4. Confusión de usar r en vez de s, para jerarquías mixtas Definición. Para calcular conf’’’(r, s) en una jerarquía mixta: • Aplicar (regla 1) para la ruta ascendente de r a s; • En la ruta descendente, usar (regla 3) en vez de (regla 2), si p es un conjunto ordenado; o usar (regla 4) en vez de (regla 2), cuando los tamaños de p y q son conocidos. Es decir, usar (regla 4) para las jerarquías porcentuales en lugar de (regla 2). Esta definición es consistente y reduce las definiciones previas de jerarquías porcentuales, simples, ordenadas y mixtas. 3.4.4. El conjunto de valores que son iguales a otros, dada una confusión Definición. Un valor u es igual al valor v, dentro de una confusión dada ε, escrita u =ε v, ssi conf(u, v) ≤ ε (Esto significa que el valor u puede ser usado en vez de v, con un error ε). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 51 Capitulo 3. Marco teórico Ejemplo: Si v = limón (Figura 3.2), entonces (a) el conjunto de valores es igual a v con confusión 0 es {limón}; (b) el conjunto de valores iguales a v con confusión 1 es {cítrico, limón}; (c) el conjunto de valores iguales a v con confusión 2 es {planta, cítrico, pino, limón}. Figura 3.2. Jerarquía de ser vivo 3.4.5. Consultas empleando confusión Objetos que poseen muchas propiedades (o variables), algunos de ellos probablemente como variables jerárquicas, pueden ser almacenados como renglones en una base de datos relacional. Se extiende la noción de consulta en tablas con variables jerárquicas, definiendo el conjunto de objetos que satisfacen un predicado P dada una confusión ε. Definición. P se cumple para el objeto o con una confusión ε, o P se cumple para o con ε, 1. Cuando P está formado por variables no-jerárquicas, Ssi P es verdadero para o; 2. Cuando pr (propiedad) es una variable jerárquica y P es de la forma (pr = c), ssi para el valor v de la propiedad pr en el objeto o, v =ε c (si el valor v del objeto puede ser usado en vez de c con confusión ε); 3. Cuando P es de la forma P1∨ P2, ssi P1 se cumple para o con ε o P2 se cumple para o con ε; Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 52 Capitulo 3. Marco teórico 4. Cuando P es de la forma P1∧ P2, ssi P1 se cumple para o con ε y P2 se cumple para o con ε; 5. Cuando P es de la forma ¬ P1, ssi P1 no se cumple para o con ε. Ejemplo: Definiendo una serie de predicados P = (vive_en = USA) ∨ (mascota = gato), Q = (vive_en = USA) ∧ (mascota = gato), R = ¬ (vive_en = Spanish_Speaking_Island); y los objetos (Ann (vive_en USA) (mascota víbora)), (Bill (vive_en English_Speaking_Island) (mascota cítrico)), (Fred (vive_en USA) (mascota gato)), (Tom (vive_en México) (mascota gato)), (Sam (vive_en Cuba) (mascota pino)). Los resultados son mostrados en la Tabla 3.1. Tabla 3.1. Resultados de acuerdo a los predicados P, Q, R. ε=0 ε=1 ε=2 P con εpara Ann, Fred, Tom Ann, Fred, Tom Ann, Fred, Tom, Sam Q con εpara Fred Fred, Tom Ann, Fred, Tom R con εpara Ann, Bill, Fred, Tom Ann, Fred, Tom Nada 3.4.6. Objetos idénticos, muy similares, algo similares. Los objetos son entidades descritas por pares k (propiedades, valores), que en la notación se hará referencia como pares (variable, valor) (Levachkine, et al., 2007) . En bases de datos son denominados como pares (relación, atributo). Un objeto o con k pares (variable, valor) es escrita como (o (v1 a1) (v2 a2)... (vk ak)). Se desea estimar el error de utilizar el objeto o’ en vez del objeto o. Para un objeto o con k (tal vez jerárquica) variables v1, v2 ,…, vk y valores a1 , a2 ,…, ak, decimos que otro objeto o’ con las mismas variables v1, v2 ,…, vk pero con valores a’1, a’2 ,…, a’k, se presentan las siguientes definiciones: Definición o’ es idéntico a o, if a’i = ai para todas 1≤ i ≤ k. Los valores correspondientes son idénticos. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 53 Capitulo 3. Marco teórico Si todo lo que sabemos sobre o y o’ son los valores de las variables v1 , v2 ,…, vk, y ambos objetos tienen valores idénticos, podemos decir que “con todo lo que sabemos,” o y o’ son el mismo. Definición o’ es substituto para o, si conf (a’i , ai) = 0 para todo 1≤ i ≤ k. No se trata de una confusión entre el valor del atributo de o’ y el valor correspondiente de o. Se puede usar o’ en vez del o solicitado con confusión 0. Definición o’ es muy similar a o, si Σi conf (a’i, ai) = 1. Definición o’ es similar a o, si Σi conf (a’i, ai) = 2. Definición o’ es algo similar a o, si Σi conf (a’i, ai) = 3. Definición En general, o’ es similarn a o, si Σi conf (a’i, ai) = n. 3.5. Comentarios finales En este capítulo presentamos algunos aspectos y características de los GIS, bases de datos espaciales, ontologías, jerarquías y teoría de confusión. Estos temas son descritos con la finalidad de fortalecer la presente investigación. Es necesario tener conocimiento sobre los GIS, ya que estos han tomado auge en los últimos años y se han encargado de procesar la información geográfica, sin embargo el enfoque de esta tesis va dirigido a buscar nuevas formas de representación de la información geográfica, el uso de las ontologías en su forma simple (jerarquías), es la alternativa que se propone para mejorar el procesamiento de la información geográfica y con ayuda de la teoría de confusión se pretende dotar de inteligencia a nuestro sistema de recuperación. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 54 Capitulo 4. Metodología CAPÍTULO 4. METODOLOGÍA En este capítulo se describe la metodología propuesta para llevar a cabo la búsqueda de información contenida en una base de datos conceptual heterogénea, dicha base es generada a partir de una conceptualización del dominio geográfico. La tendencia de los sistemas actuales de recuperación de información geográfica va dirigida a evitar valores nulos; es decir, si no se encuentra coincidencia exacta, presentar respuestas similares. Usando Jerarquías (caso específico de las ontologías) podemos evaluar la similitud semántica que existe entre los conceptos de la misma. De igual manera ponderar y controlar los resultados de las búsquedas. En este sentido, el empleo de ontologías es un recurso que nos permite representar el conocimiento a nivel computacional. Según la definición de Gruber “Una ontología es una especificación explícita de una conceptualización”. Una conceptualización es una abstracción, una vista simplificada del mundo que se desea representar. De manera general decimos que las ontologías son el resultado de seleccionar un dominio (en nuestro caso el dominio geográfico) y aplicar sobre dicho dominio un método para obtener una representación formal de los conceptos que contiene y las relaciones que existen entre éstos. Las fuentes de información empleadas en este trabajo son obtenidas de los diccionarios de datos geográficos que maneja el INEGI (INEGI, 1995), siendo este el coordinador de los sistemas y servicios nacionales de Estadística y de Información Geográfica de México. En el contexto de esta investigación, a partir de los datos proporcionados por el INEGI de uso de suelo y vegetación, se elabora una base de datos conceptual. La semántica de los datos se obtiene a partir de estructuras jerárquicas y por medio de confusión podemos ponderar y controlar con un cierto grado de error la información que consulte el usuario. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 55 Capitulo 4. Metodología La metodología propuesta en esta investigación la conforman cuatro etapas: Análisis de los datos, Análisis Semántico, Procesamiento y Presentación de resultados. En la Figura 4.1 se muestra el diagrama general de la metodología a desarrollar. Figura 4.1. Esquema general de la metodología propuesta Basándonos en datos ya existentes se realiza una conceptualización que posteriormente es almacenada en una base de datos y a través de un modelo de abstracción se recupera la información. Análisis de datos: En esta etapa la información proporcionada por el INEGI es organizada y almacenada en una base de datos espacial. Por un lado, los datos se guardan en un modelo persistente (duradero) y por otro, se determina qué información será estructurada de manera jerárquica en ficheros OWL (almacenamiento en memoria) para dotar de semántica al modelo persistente. Análisis semántico: En esta etapa se emplea la teoría de confusión para determinar la distancia semántica que existe entre conceptos de las jerarquías. Esta etapa es el corazón de nuestro sistema dado que partiendo de las distancias semánticas es posible ponderar la información. Las estructuras jerárquicas empleadas en esta investigación son de dos tipos, Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 56 Capitulo 4. Metodología simples y ordenadas. Nuestro caso de estudio se basa en los diccionarios de datos geográficos de Uso del Suelo y Vegetación de México, para el diseño de las jerarquías se consideran algunas propiedades importantes como son: ubicación, producción y clima. Procesamiento: Consiste en la búsqueda y el manejo de los datos tanto del modelo persistente como del modelo almacenado en memoria respectivamente. Esto se logra usando Jena, un marco de trabajo de Java empleado principalmente para aplicaciones en la Web semántica. Jena incluye un motor de consultas llamado SPARQL (SPARQL Protocol and RDF Query Language – por sus siglas en inglés), el cual es un lenguaje de recuperación para archivos propios de ontologías (XML, RDF, OWL, entre otros). Presentación de resultados: Es la parte final del esquema general donde se visualizan los resultados mediante una aplicación Web y un servidor de mapas. Es la interfaz gráfica donde el usuario interactúa con el sistema para obtener respuesta a sus consultas. La base de datos espacial es generada con base en un modelo jerárquico elaborado en el sistema Protégé, posteriormente mediante una herramienta de dicho sistema exportamos la información al gestor de base de datos MySql. El modelo jerárquico facilita la organización de la información y permite emplear métodos que miden la similitud entre elementos del mismo modelo. El hecho de almacenar nuestra información en MySql no implica que se puedan hacer consultas con lenguaje SQL como se haría con una base de datos tradicional, el modelo necesita ser consultado con un lenguaje propio y especializado para buscar datos en este tipo de estructuras, para ello se ocupa SPARQL. 4.1. Arquitectura funcional del sistema En el apartado anterior, se mencionaron los cuatro bloques generales de la metodología que se propone en esta investigación. En esta sección se describe la arquitectura funcional del sistema, así mismo se describen los componentes que la integran. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 57 Capitulo 4. Metodología Partiendo del conocimiento del dominio geográfico podemos realizar una conceptualización por medio de una clasificación jerárquica. A continuación se muestra la arquitectura funcional del sistema (ver Figura 4.2). Figura 4.2. Arquitectura funcional del sistema En la Figura 4.2 se observa que todo inicia a partir de los datos proporcionados por el INEGI, posteriormente se realiza la conceptualización del dominio geográfico y se organizan los datos en estructuras jerárquicas. Con la conceptualización realizada se define la información que estará contenida en la base de datos espacial, así como las propiedades que servirán para enriquecer semánticamente a dicha base. Estas propiedades son características que consideramos relevantes para describir nuestro dominio y también se estructuran en jerarquías; a partir de dichas propiedades se hace el cálculo de la similitud semántica empleando confusión. Jena en conjunto con el lenguaje de consultas SPARQL son los encargados de analizar tanto el modelo persistente donde se encuentra la información, como el almacenamiento en Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 58 Capitulo 4. Metodología memoria representado por archivos OWL que simbolizan las propiedades que caracterizan a la base de datos. Finalmente se presentan los resultados mediante una aplicación Web y un servidor de mapas que nos permite desplegar los resultados de manera gráfica. 4.2. Conceptualización del dominio geográfico La conceptualización del dominio geográfico denota el principio de esta investigación y por ende es de suma importancia, ya que con base en ella se obtiene la base de datos conceptual y se crean las jerarquías donde posteriormente se aplica confusión para determinar la similitud semántica ente conceptos. Esta tesis está dirigida al almacenamiento y procesamiento de datos geográficos considerando a la semántica un factor principal para su manejo, a diferencia de los sistemas actuales que dan mayor importancia a la parte alfanumérica, en la medida de que es esta la que nos permite hablar de entidades geográficas y no solamente de objetos gráficos. Además, mientras que las operaciones topológicas puedan ser limitadas, los procesos limitados con las tablas de una base de datos están limitados solo por cantidad de información disponible. 4.2.1. Características de los datos geográficos En (Moreno Ibarra, 2007) se describe que las bases de datos espaciales almacenan datos descriptivos y espaciales. Los descriptivos están orientados a las características atributivas de los datos, tales como área de los objetos, identificadores, entre otros. Por otra parte, los datos geoespaciales o datos geográficos son instancias de los objetos geográficos que existen en la realidad Cuando se desea modelar datos se tropieza con serios problemas para identificar las características que debe tener algún tipo de dato; así abstraer la realidad para modelarla a través de datos sigue siendo una tarea difícil. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 59 Capitulo 4. Metodología 4.2.2. Diseño de jerarquías La información está organizada en forma de jerarquías, lo cual implica que los datos son definidos de un nivel general a uno particular. Para propósitos de esta tesis las jerarquías estarán compuestas por: • Clases. Una clase define un grupo de individuos que pertenecen a la misma ya que comparten algunas propiedades. • Propiedades. Las propiedades pueden utilizarse para establecer relaciones entre individuos. • Relaciones. Las relaciones son propiedades que conectan dos conceptos de manera biunívoca. Dado que tratamos con jerarquías, cada estructura maneja una relación única. 4.2.2.1. Diseño de la base de datos espacial El diseño de la base de datos espacial está elaborado con base en los datos que proporciona el INEGI, dicha base se genera a partir de una estructura jerárquica que se elabora mediante el sistema Protégé. En esta base se almacenan los datos correspondientes al dominio geográfico en estudio. Para el diseño de la base de dados se consideran tres etapas básicas: • Diseño conceptual: En esta etapa son identificados los requerimientos de información, así como los datos disponibles en el dominio geográfico que se analiza. • Diseño lógico: En esta etapa se analizan los datos con el fin de evitar redundancias y se realiza una optimización general para construir el sistema formal de la base de datos. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 60 Capitulo 4. Metodología • Modelo físico: Consiste en la representación computacional (esto incluye archivos, métodos de búsqueda, algoritmos de recuperación de información, análisis semántico, entre otros.). 4.2.2.1.1. Diseño conceptual Para el desarrollo de esta investigación partimos de la definición de un dominio geográfico; con el objetivo de contribuir a la representación de una porción de dicho dominio se eligió el uso del suelo y vegetación de México. Los datos se obtienen del diccionario de datos geográfico de Uso del Suelo y Vegetación escala 1: 250 000 y algunas obras que contribuyeron a la elaboración de estos diccionarios (Miranda, et al., 1963), (Rzedowsky, 1978). El INEGI es un órgano autónomo del gobierno mexicano que coordina los sistemas y servicios nacionales de estadística e información geográfica. Este órgano tiene entre otros objetivos, reproducir la información geográfica que el país requiere para planificar y conducir el aprovechamiento optimo de sus recursos naturales y culturales (INEGI, 1995). En esta documentación se describen conceptos, restricciones y relaciones entre los datos. En la carta de Uso de Suelo y Vegetación, se representa la localización y extensión de los diferentes tipos de vegetación y agricultura, incluye también símbolos que indican actividades de uso pecuario y forestal, y códigos de cultivos y diversas especies vegetales. En relación con la clasificación y la nomenclatura de las comunidades vegetales de México, se han presentado algunos problemas. Entre otros podemos mencionar: • Inconsistencia en la diferenciación y clasificación de las comunidades vegetales. • Inconsistencia en la denominación de las unidades de la vegetación. • Categorías insuficientes y a menudo no bien delimitadas. • Criterios subjetivos para clasificar y denominar las comunidades vegetales. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 61 Capitulo 4. Metodología • Mezcla de diferentes sistemas de clasificación y denominación, originando confusión. Los objetivos para tener una clasificación y nomenclatura adecuadas para las comunidades vegetales del país, son las siguientes. • Mostrar la similitud y las diferencias de la composición florística y la estructura entre las comunidades. • Mostrar las relaciones de las comunidades con su hábitat, aunque a veces se enfatizan más las características del ambiente que las de la vegetación. • Con un criterio económico, las comunidades vegetales se clasifican por su uso real o potencial, ya sea forestal, agrícola, pecuario, recreativo, entre otros. El INEGI en la cartografía de Uso del Suelo y Vegetación escala 1:250, 000 considera los tipos de vegetación mostrados en la 4; dichos tipos de vegetación fueron empleados para la elaboración del reporte de la evaluación de los Recursos Forestales Mundiales. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 62 Capitulo 4. Metodología Tabla 4.1. Tipos de Vegetación considerados por el INEGI Tipos de Clases de Uso del Suelo y Vegetación del INEGI Vegetación Bosque Selva Comunidades áridas y semiáridas Bosque de encino – pino Bosque mesófilo de montaña Bosque de galería Bosque cultivado Bosque inducido Selva alta perennifolia Selva alta subperennifolia Selva mediana perennifolia Selva mediana subperennifolia Selva baja perennifolia Selva mediana subcaducifolia Selva baja subcaducifolia Selva mediana caducifolia Selva baja caducifolia Selva baja espinosa Selva baja subperennifolia Selva de galería Petén Matorral de coníferas Bosque de táscate Matorral subtropical Mezquital (MKE) Mezquital (MK) Matorral submontano Matorral espinosos tamaulipeco Matorral sarcocaule Matorral sarco-crasicaule Matorral sarco-crasicaule de neblina Chaparral Mezquital (MKX) Matorral crasicaule Matorral desértico micrófilo Matorral desértico rosetófilo Matorral rosetófilo costero Vegetación de desierto arenosos Vegetación de dunas costeras Vegetación gipsófila Vegetación halófila Vegetación halófila hidrófila Vegetación de galería Manglar Manglar Palmar Palmar natural Palmar inducido Comunidades subacuáticas Bosque de ayarín Bosque de cedro Bosque de oyamel Bosque de pino Bosque de pino-encino Bosque de encino Popal Tular Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 63 Capitulo 4. Metodología Con base en los datos descritos en la tabla anterior elaboramos nuestra base de datos conceptual. Los tipos de vegetación representan los objetos que serán devueltos en las consultas, para definir cada uno de estos objetos se definen algunas propiedades que los caracterizan. 4.2.2.1.2. Diseño Lógico En esta fase los datos son organizados a fin de evitar redundancias y así obtener un esquema formal. En la Figura 4.3 se muestra la estructura definida para la base de datos espacial, basada en la tabla de la sección anterior. Propiedades heredadas a todas las subclases Figura 4.3. Estructura de la base de datos Nótese que la información tiene una estructura jerárquica, donde se definen tres propiedades (ubicación, producción y clima) consideradas como básicas para caracterizar a los diversos tipos de vegetación. Referirnos a una jerarquía es definir los datos de un nivel general a uno particular. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 64 Capitulo 4. Metodología Por otro lado, el almacenamiento de los datos es un reto superado, sin embargo la búsqueda de información y la integración de la misma es un reto que aun se tiene que superar, a pesar de la cantidad de información con la que se cuente aun existen ciertas preguntas por responder, por ejemplo: ¿Se encuentra lo que se busca? o ¿Cómo se hacen las búsquedas? La estructura jerárquica es elaborada en Protége y posteriormente es almacenada en un modelo persistente de datos. Jena permite crear modelos persistentes, los cuales son mantenidos de forma transparente al usuario en una base de datos relacional. 4.2.2.1.2.1. Descripción de propiedades Las propiedades nos sirven para caracterizar los conceptos contenidos en la jerarquía. Consideramos tres propiedades básicas: • Ubicación. Propiedad que describe la localización geográfica de los diversos tipos de vegetación existente en la República Mexicana. • Producción. Esta propiedad describe la actividad productiva que se lleva a cabo en las diferentes zonas vegetales de México. • Clima. Se refiere a los climas dominantes en los tipos de vegetación. Las propiedades pueden tener diferentes características, tales como el rango de valores permitidos o la cardinalidad. Algunas de estas características son altamente dependientes de la aplicación a la que se enfoque. 4.2.2.1.3. Modelo físico A medida que más datos se almacenan en formatos como RDF/OWL, surge la necesidad de encontrar una forma sencilla para la localización de información específica. SPARQL es un nuevo y potente lenguaje de consultas, por lo que es fácil encontrar datos en archivos RDF/OWL. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 65 Capitulo 4. Metodología En la Figura 4.4 se muestra la estructura del modelo físico de la base de datos. La arquitectura funcional de este módulo está compuesta por un bloque de consulta que se encarga de la búsqueda de información en la base de datos, esto lo hace a través de SPARQL. Figura 4.4. Modelo físico de la base de datos Como lenguaje de consulta SPARQL es orientado a datos, en el sentido de que puede responder a la información contenida en los modelos, por otro lado Jena puede considerarse como una herramienta que permite procesar la información de forma “inteligente” ya que da la impresión de tener más parámetros para manipular la información e incluye un razonador para OWL. 4.2.2.2. Jerarquías proveedoras de semántica Con base en las propiedades definidas para la base de datos (ubicación, producción y clima) son elaboradas las jerarquías, en las cuales mediremos la distancia semántica entre los conceptos que las componen para poder ponderar los resultados de las consultas. En el área de las ciencias de la información geográfica y de acuerdo con nuestra línea de investigación, siempre ha sido de vital importancia responder a dos preguntas básicas: Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 66 Capitulo 4. Metodología • ¿Qué es? • ¿Dónde está? Para responder la primera pregunta basta mencionar que consideramos ciertas propiedades que caracterizan los diferentes tipos de vegetación existentes en México. No obstante, para responder la segunda es necesario incluir una referencia geográfica expresada por coordenadas (latitud – longitud). 4.2.2.2.1. Jerarquía para la propiedad de “ubicación” En la Figura 4.5 se encuentran organizados los 32 estados que conforman en territorio mexicano de acuerdo a su ubicación. Incluimos una referencia geográfica para cada uno de los 32 estados (Latitud, Longitud) Figura 4.5. Jerarquía simple H1 para la propiedad ubicación Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 67 Capitulo 4. Metodología Los Estados Unidos Mexicanos presenta en su territorio diferentes divisiones, la principal corresponde a la político-administrativa, la cual es considerada para la clasificación mostrada en la figura anterior. Nótese que la jerarquía correspondiente a la propiedad de producción, está compuesta por un conjunto de clases y subclases que describen la distribución geográfica de los estados dentro de la República Mexicana (norte, centro y sur), para elaborar esta jerarquía fueron considerados aspectos contenidos en (INEGI, 2006). Aunado a esto incluimos la coordenada geográfica que nos permite ubicar un punto sobre la superficie terrestre. Es importante mencionar que sólo se consideran 32 puntos de localización, representando así a cada uno de los estados de la República Mexicana. 4.2.2.2.2. Jerarquía para la propiedad de “producción” En la carta de Uso del Suelo y Vegetación (INEGI, 1995), se representa la localización y extensión de los diferentes tipos de vegetación y agricultura. Incluye también símbolos que indican actividades de uso pecuario, forestal y códigos de cultivos y diversas especies vegetales. La carta involucra información de campo acerca de prácticas agrícolas y cultivos, así como estructura, composición, uso y dinámica de la vegetación. En la Figura 4.6 se muestra la jerarquía simple que describe a la propiedad producción. Considerando las actividades productivas que se realizan dentro del territorio nacional mexicano y basándonos en los datos del INEGI se obtiene la jerarquía de clases correspondiente. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 68 Capitulo 4. Metodología Figura 4.6. Jerarquía simple H2 para la propiedad producción 4.2.2.2.3. Jerarquía para la propiedad de “clima” Hasta el momento sólo hemos hablado de jerarquías simples, sin embargo, en ocasiones las jerarquías obedecen a una relación de orden, tal es el caso de la jerarquía que describe los climas principales de México (ver Figura 4.7). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 69 Capitulo 4. Metodología Figura 4.7. Jerarquía de orden H3 En la figura anterior se muestra que la jerarquía obedece a una relación de orden, va de un tipo de clima caluroso a un tipo de clima frio. Una de las clasificaciones más conocidas y utilizadas para los climas es la que Wilhelm Köppen propuso (Koeppen, 1948). En ella se contemplan cinco grupos climáticos representados por las letras mayúsculas A (tropical), B (seco), C (templado), D (frío) y E (polar). En México predominan los climas A, B y C; sólo en las partes más altas de su territorio se encuentran climas fríos, debido a que son los climas que prevalecen en nuestro país, fueron considerados para elaborar la jerarquía H3 de orden. Los climas tropicales(A). Los climas tropicales se distribuyen en las llanuras costeras y en parte de los estados de Jalisco, Colima, Michoacán, Guerrero, Oaxaca, Chiapas, Morelos, Puebla, Veracruz, Tabasco y la mayor parte de la superficie de la península de Yucatán. El clima templado (C). En México este tipo de clima se presenta en las zonas montañosas y la parte sur de la Mesa Central. Climas secos (B). En México, los climas secos se distribuyen en una amplia porción del norte del país en los estados de Baja California, Sonora, Sinaloa, Chihuahua, Durango, Coahuila, San Luis Potosí, Nuevo León, Zacatecas y Tamaulipas; aunque en los estados de Yucatán, Puebla, Tlaxcala e Hidalgo existen porciones que presentan este clima. El clima frío de altura (ETH) y el muy frío de altura (EFH). Sólo se presentan en las mayores elevaciones del país, como el Popocatépetl y el Nevado de Toluca, cuyas cumbres siempre están cubiertos de nieve. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 70 Capitulo 4. Metodología 4.3. Análisis Semántico Hasta el momento solo se ha hablado de organizar la información. En esta sección se hace énfasis en el procedimiento que se lleva a cabo para proveer de amantica a los datos El uso de jerarquías proporciona una forma de representar y compartir el conocimiento haciendo uso de un vocabulario común para lograr la interoperabilidad y minimizar los problemas relacionados con la heterogeneidad de datos descriptivos. 4.3.1. Confusión para jerarquías El cálculo de las distancias semánticas mediante la teoría de confusión es la parte medular de esta investigación, para nuestro caso de estudio nos avocamos al uso de jerarquías simples y de orden exclusivamente. 4.3.1.1. Confusión para jerarquías simples Basándonos en las jerarquías ya elaboradas es necesario considerar una serie de reglas ya establecidas que nos permiten calcular la similitud semántica entre elementos de una jerarquía simple. En la Figura 4.8 se eligen dos elementos de la jerarquía y se realiza el cálculo de la distancia semántica por medio de confusión. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 71 Capitulo 4. Metodología Figura 4.8. Elementos de una jerarquía simple para obtener la confusión conf (SurDeMexico, Tamaulipas) = 1 + conf(SurDeMexico, NorteDeMexico) = 1 + 1 + conf(SurdeMexico,RepublicaMexicana) = 1 + 1+ 0 =2 En la figura anterior se eligen dos elementos de la jerarquía (SurDeMexico, Tamaulipas) y se obtiene un valor de confusión de 2, ahora bien, dado que la confusión está definida como una medida asimétrica, no es lo mismo hacer el cálculo de la confusión de: conf (Tamaulipas, SurDeMexico) = 1 + conf(Tamaulipas, RepublicaMexicana) =1 + 0 =1 Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 72 Capitulo 4. Metodología Obsérvese que el orden de los elementos si altera el resultado, sin embargo, estandarizando y definiendo cual será el elemento de consulta no se tendrá ningún problema. 4.3.1.2. Confusión para jerarquías de orden Para determinar la similitud semántica entre elementos de una jerarquía de orden también existen ciertas reglas a seguir: Consideremos la jerarquía de orden presentada en la Figura 4.7, tomando en cuenta la regla adicional presentada para las jerarquías de orden se calcula la confusión tomando dos elementos de la lista ordenada que denota los principales climas que prevalecen en México (ver Figura 4.9). Figura 4.9. Elementos considerados para la confusión en una jerarquía de orden La confusión correspondiente conf(Tropical, Frio) para la Figura 4.9 es de 3/3=1. Nótese que 4.3.2. Formas empleadas para consultas Las consultas se hacen hacia objetos que poseen propiedades (o variables), algunas de estas tienen una estructura jerárquica. Ahora bien, las consultas se hacen con base en estas variables jerárquicas que definen un conjunto de objetos que satisfacen a un predicado P con un valor de confusión ε. Los objetos para nuestro caso de estudio están definidos por los tipos de vegetación que existen en México, los cuales poseen propiedades de ubicación, producción y clima, que a su vez caracterizan a nuestros objetos Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 73 Capitulo 4. Metodología 4.3.2.1. Confusión para predicados compuestos Para predicados compuestos, es necesario tener un control más estricto de la confusión, es decir, para este caso se propone un umbral definido por un valor de ε, el cual no deberá excederse. Para realizar una consulta compuesta es necesario considerar ciertos elementos. En la Figura 4.10 se observan dos jerarquías, H1 y H2 respectivamente, se elige un elemento de cada jerarquía y se forma un predicado mediante un conector lógico6. Definimos formalmente a predicado, mediante la siguiente expresión: … donde: • es un conjunto de elementos pertenecientes a una jerarquía que cumplen con un valor de ε. • k representa a las propiedades que se definen (producción, ubicación, clima). Para ejemplificar las formas las formas de las consultas se proponen tres predicados de la siguiente manera: • P = Norte de México ∧ Actividad pecuaria • Q = Norte de México ∨ Actividad pecuaria • R = ¬ Norte de México 6 Los “conectores lógicos” permiten representaciones compuestas complejas, agrupando objetos y relaciones entre objetos Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 74 Capitulo 4. Metodología Figura 4.10. Elementos para las consultas compuestas. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 75 Capitulo 4. Metodología En la figura anterior se muestra como se estructura una consulta compuesta empleando elementos de diferentes jerarquías. Partiendo de un conjunto de datos se obtienen los valores de confusión correspondientes, se considera el predicado P compuesto de dos propiedades (ubicación, producción) y unido por el conector lógico AND. Veamos una muestra de datos como una tabla donde cada tipo de vegetación tiene ciertas propiedades que lo caracterizan. Hay que recordar que la base de datos está elaborada a partir de una estructura jerárquica, representar estos datos en una tabla solamente nos sirve para ilustrar gráficamente la correspondencia de propiedades a cada elemento de la jerarquía (ver Tabla 4.2). Tabla 4.2. Tipos de vegetación y propiedades Tipo de vegetación (Objeto) Bosque de encino Bosque de ayarin Sabana Pastizal Natural Bosque bajo abierto Bosque de táscate Bosque cultivado Selva alta perennifolia Matorral subtropical Matorral crasicaule Ubicación (Propiedad) Nayarit Durango Guerrero Chihuahua Durango Aguascalientes Estado de México Chiapas Sonora Zacatecas Producción (Propiedad) Actividad forestal Guayaba Frutas Bovinos Actividad pecuaria Actividad forestal Actividad forestal Frutas Actividad agrícola Frutas Clima (Propiedad) Húmedo Seco Tropical Seco Templado Templado Seco Tropical Seco Seco La columna denotada por los tipos de vegetación representa los objetos que recuperaremos por medio de una consulta. Las propiedades de ubicación, producción y clima son elementos que nos permitirán recuperar a los objetos, ya que estas propiedades los caracterizan. Como ya se menciono en secciones anteriores, cada una de las propiedades (ubicación, producción y clima) tiene una estructura jerárquica sobre las cuales se calcula la distancia semántica que nos permitirá ponderar los resultados a una consulta. Ahora bien, es necesario calcular la confusión de manera independiente, es decir, para cada elemento se obtiene los valores correspondientes a su distancia semántica, obteniendo así Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 76 Capitulo 4. Metodología una tabla que muestra al elemento seleccionado comparado con los demás elementos de la base de datos conceptual. En la Tabla 4.3 se muestran los valores de confusión obtenidos para el elemento de la jerarquía de la propiedad ubicación (NorteDeMexico). Tabla 4.3. Confusión con respecto al elemento Norte de México Nayarit Durango Guerrero Chihuahua Durango Aguascalientes Estado de México Chiapas Sonora Zacatecas Norte de México 0 0 2 0 0 2 2 2 0 0 En la Tabla 4.4 se muestran los resultados obtenidos después de calcular la confusión para el elemento seleccionado de la jerarquía que representa la propiedad producción. Tabla 4.4. Confusión para el elemento Actividad Pecuaria Actividad forestal Guayaba Frutas Bovinos Actividad pecuaria Actividad forestal Actividad forestal Frutas Actividad agrícola Frutas Actividad pecuaria 1 3 2 0 0 1 1 2 1 2 Se han obtenido los valores de cada uno de los elementos que conforman el predicado P, el siguiente paso es determinar cuáles de estos serán validos de acuerdo con el conector lógico usado. Nótese que algunos elementos se repiten, esto se debe a que la comparación se hace considerando el orden en el que se encuentran los objetos. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 77 Capitulo 4. Metodología 4.3.2.2. Ponderación de resultados En este apartado ejemplificamos las consultas empleando los diferentes operadores lógicos considerados para esta investigación (AND, OR, NOT). 4.3.2.2.1. Consultas empleando el operador lógico AND En la Tabla 4.5 se observan los objetos y sus propiedades con los valores de confusión correspondientes. La regla para ponderar los resultados cuando empleamos un conector lógico AND es: • Los valores de confusión de cada propiedad, no deben sobrepasar un umbral de valor de ε, es decir, si queremos una respuesta sin error, los valores de confusión calculados para cada propiedad no deberán sobrepasar el valor de ε=0, ya que esta representa una coincidencia exacta con la consulta. Tabla 4.5. Tabla de comparación para P = Norte de México ∧ Actividad pecuaria Tipo de vegetación (Objeto) Bosque de encino Bosque de ayarin Sabana Pastizal Natural Bosque bajo abierto Bosque de táscate Bosque cultivado Selva alta perennifolia Matorral subtropical Matorral crasicaule Ubicación (Propiedad) Norte de México Producción (Propiedad) Actividad pecuaria AND Nayarit Durango Guerrero Chihuahua Durango Aguascalientes Estado de México Chiapas Sonora Zacatecas 0 0 2 0 0 2 2 2 0 0 Actividad forestal Guayaba Frutas Bovinos Actividad pecuaria Actividad forestal Actividad forestal Frutas Actividad agrícola Frutas 1 3 2 0 0 1 1 2 1 2 1 3 2 0 0 2 2 2 1 2 La columna denotada por AND muestra los valores obtenidos de acuerdo a la regla correspondiente. Para ilustrar mejor los resultados, ordenamos los objetos de acuerdo a la tabla de comparación anterior (ver Tabla 4.6). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 78 Capitulo 4. Metodología Tabla 4.6. Consultas para un predicado P = Norte de México ∧ Actividad pecuaria ε =0 ε =1 ε= 2 Pastizal Natural, Bosque Bajo Abierto Bosque de encino - Matorral subtropical - Pastizal Natural – Bosque Bajo abierto Sabana – Bosque de táscate – Bosque cultivado – Selva alta perennifolia – Matorral crasicuale - Bosque de encino - Matorral subtropical - Pastizal Natural – Bosque Bajo abierto ε =3 BosqueAyarin - Sabana – Bosque de táscate – Bosque cultivado – Selva alta perennifolia – Matorral crasicuale - Bosque de encino Matorral subtropical - Pastizal Natural – Bosque Bajo abierto De la tabla anterior se observa que conforme aumenta el valor de ε, incrementa el número de respuestas posibles, dicho de otra manera, el nivel superior se hace subconjunto del nivel inferior inmediato. En este sentido, los resultados para un valor ε = 0 son: Pastizal natural y Bosque bajo abierto, mientras que para un valor de ε = 1, los resultados obtenidos son Bosque de encino, Matorral subtropical, Pastizal Natural y Bosque Bajo abierto. A esto es lo que se denomina razonamiento monotónico en Inteligencia Artificial. 4.3.2.2.2. Consultas empleando el operador OR En la Tabla 4.7 se muestran los resultados de comparación para el predicado Q = Norte de México ∨ Actividad pecuaria. La regla para ponderar los resultados cuando empleamos un conector lógico OR es: • El umbral de confusión debe corresponder para una u otra propiedad que componga el predicado, es decir, si una propiedad tiene un valor de confusión ε=0 y otra un valor de ε = 2, el objeto corresponderá a los dos casos. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 79 Capitulo 4. Metodología Tabla 4.7. Tabla de comparación para Q = Norte de México ∨ Actividad pecuaria Tipo de vegetación (Objeto) Bosque de encino Bosque de ayarin Sabana Pastizal Natural Bosque bajo abierto Bosque de táscate Bosque cultivado Selva alta perennifolia Matorral subtropical Matorral crasicaule Ubicación (Propiedad) Norte de México Producción (Propiedad) Actividad pecuaria Nayarit Durango Guerrero Chihuahua Durango Aguascalientes Estado de México Chiapas Sonora Zacatecas 0 0 2 0 0 2 2 2 0 0 Actividad forestal Guayaba Frutas Bovinos Actividad pecuaria Actividad forestal Actividad forestal Frutas Actividad agrícola Frutas 1 3 2 0 0 1 1 2 1 2 Ahora analizamos las respuestas obtenidas partiendo de un predicado compuesto por los mismos elementos que en la sección anterior, pero conectados por un operador lógico OR (ver Tabla 4.8). Tabla 4.8. Consulta para un predicado Q = Norte de México ∨ Actividad pecuaria ε =0 ε =1 ε= 2 Bosque de encino – Bosque de ayarin – Pastizal natural – Bosque bajo abierto – Matorral subtropical – Matorral crasicaule Bosque de encino – Bosque de táscate – Bosque cultivado – Matorral subtropical Sabana – Bosque de táscate – Bosque cultivado – Selva alta perennifolia – Matorral crasicaule ε= 3 Bosque de ayarin El comportamiento de los resultados al usar el conector lógico OR es diferente que al emplear el conector AND, nótese que el rango de respuestas es más amplio cuando se tiene ε = 0 y en la medida que incrementa ε, se acorta el rango de respuestas, esto se debe a que es suficiente con que alguna de las propiedades cumpla con un valor de ε. 4.3.2.2.3. Consultas empleando NOT Por último consideramos una consulta simple empleando un operador lógico NOT (ver Tabla 4.9). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 80 Capitulo 4. Metodología Tabla 4.9. Resultados para el predicado R= ¬ Norte de México Guerrero ε=0 Aguascalientes Estado de México Chiapas En la tabla anterior se obtienen los resultados para un predicado R con un valor de ε = 0. Como se observa, los resultados obtenidos corresponden a otras zonas que no están dentro del Norte de México. 4.3.2.2.4. Consultas para jerarquías ordenadas El procedimiento para obtener los valores de confusión de una jerarquía ordenada varía con respecto al que empleado en las jerarquías simples (ver Tabla 4.10). Tabla 4.10. Confusión para la jerarquía ordenada. conf Tropical 0 Tropical 1/3 Seco 2/3 Templado 3/3 Frio Seco 1/3 0 1/3 2/3 Templado 2/3 1/3 0 1/3 Frio 3/3 2/3 1/3 0 Para obtener los resultados de la tabla anterior consideramos el siguiente conjunto ordenado. Clima = {Tropical, Seco, Templado, Frio} Nótese que se consideran los saltos que se dan de un elemento a otro, por ejemplo: conf(Tropical, Templado) = 2/3 Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 81 Capitulo 4. Metodología La distancia entre el clima Tropical y el clima Templado es de dos, este es representado por el numerador de la fracción, la máxima distancia que puede existir entre los elementos del conjunto ordenado es representada por el denominador y tiene un valor de 3. 4.3.2.2.5. Consultas para jerarquías ordenadas y simples En secciones anteriores se propusieron una serie de predicados utilizando solamente jerarquías simples, ahora se propone un predicado basado en la combinación de jerarquías simples y ordenadas. T = Norte de México ∧ Actividad pecuaria ∧ Tropical El número de propiedades aumenta y la complejidad de la consulta también, ahora hay que considerar los dos procedimientos para determinar la distancia semántica entre elementos de las jerarquías (ver Tabla 4.11). Tabla 4.11. Confusión para las propiedades del predicado T = Norte de México ∧ Actividad pecuaria ∧ Tropical Tipo de vegetación (Objeto) Bosque de encino Bosque de ayarin Sabana Pastizal Natural Bosque bajo abierto Bosque de táscate Bosque cultivado Selva alta perennifolia Matorral subtropical Matorral crasicaule Ubicación (Propiedad) Nayarit Durango Guerrero Chihuahua Durango Aguascalientes Estado de México Chiapas Sonora Zacatecas conf 0 0 2 0 0 2 2 2 0 0 Producción (Propiedad) Actividad forestal Guayaba Frutas Bovinos Actividad pecuaria Actividad forestal Actividad forestal Frutas Actividad agrícola Frutas conf 1 3 2 0 0 1 1 2 1 2 Clima conf (Propiedad) Templado Seco Tropical Seco Templado Templado Seco Tropical Seco Seco 2/3 1/3 0 1/3 2/3 2/3 1/3 0 1/3 1/3 La tabla anterior es similar a la Tabla 4.5, solo que se agrega la propiedad clima con su valor correspondiente de confusión. Para combinar el valor de confusión de la jerarquía ordenada con los valores de las jerarquías simples consideramos solo el valor del numerador, así entonces obtenemos la siguiente tabla de resultados. Tabla 4.12. Resultados para el predicado T = Norte de México ∧ Actividad pecuaria ∧ Tropical Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 82 Capitulo 4. Metodología ε =0 ---------- ε =1 ε= 2 Pastizal Natural – Matorral subtropical Sabana – Bosque de táscate – Bosque cultivado – Selva alta perennifolia – Matorral crasicuale - Bosque de encino - Matorral subtropical - Pastizal Natural – Bosque Bajo abierto ε =3 BosqueAyarin - Sabana – Bosque de táscate – Bosque cultivado – Selva alta perennifolia – Matorral crasicuale - Bosque de encino Matorral subtropical - Pastizal Natural – Bosque Bajo abierto Es interesante mencionar que no existe coincidencia exacta en esta consulta, esto se debe a que las restricciones en la consulta han aumentado, sin embargo para nuestro trabajo de investigación esto no representa mayor problema ya que se pueden obtener respuestas aproximadas o similares. Los resultados que corresponden a ε =1 nos dan aproximaciones a la consulta; es decir, se quiere encontrar un objeto (tipo de vegetación) que es caracterizado con las propiedades Norte de México, Actividad Pecuaria y clima Tropical, donde los objetos más próximos semánticamente son: Pastizal Natural y Matorral Subtropical. Estos objetos comparten propiedades similares, esta similitud es proporcionada por la teoría de confusión. Lo antes mencionado es una de las aportaciones del trabajo de investigación, evitar respuestas vacías y tener la opción de considerar respuestas aproximadas o similares. 4.4. Procesamiento El procesamiento se refiere al funcionamiento interno de la aplicación, esto incluye la manera en que son recuperados los datos, así como el algoritmo de confusión que permite medir la distancia semántica entre conceptos. En esta sección se describe la funcionalidad del módulo de búsqueda. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 83 Capitulo 4. Metodología Se ha descrito el modelo físico de datos y la manera en la cual se organizo la información en jerarquías correspondientes a las propiedades que describen a cada tipo de vegetación. En este sentido es necesario describir la forma en la que estos datos se procesan para satisfacer las consultas del usuario. Para manejar los resultados obtenidos del cálculo de la confusión, nos apoyamos en lo que denominamos tablas de similitud, aquí se almacenan los valores de confusión obtenidos de acuerdo con el elemento seleccionado en la consulta. Tenemos definidas tres tablas de similitud que corresponden a las propiedades ubicación, producción y clima. Por otro lado, las tablas de comparación tienen la función de determinar qué elementos cumplen con las reglas para cada conector lógico y así ponderar los resultados. En la Figura 4.11 se muestra el que describe el modulo de búsqueda. Figura 4.11. Diagrama del modulo de búsqueda Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 84 Capitulo 4. Metodología 7 En el modelo físico de datos (BDE ) se encuentra almacenada toda la información correspondiente a nuestro dominio geográfico. Este modelo está elaborado a partir de una estructura jerárquica, misma que manejamos con el marco de trabajo Jena. Esta API permite realizar consultas avanzadas empleando el lenguaje de consultas SPARQL. Por otro lado, se tienen las propiedades representadas por jerarquías que se encuentran almacenadas en archivos OWL. Jena además de proporcionar un lenguaje especializado de consulta, ofrece métodos que permiten navegar y manipular las estructuras jerárquicas. Considerando las reglas que definen la teoría de confusión obtenemos las tablas de similitud. Al definir un elemento de consulta se hace la comparación con cada uno de los elementos que conforman la jerarquía obteniendo así una tabla e similitud (ver Figura 4.12). Figura 4.12. Tabla de similitud de la propiedad ubicación El lenguaje de recuperación SPARQL ha sido diseñado para un uso a escala de la Web, así permite hacer consultas sobre orígenes de datos distribuidos, independientemente del formato. A la hora de recuperar información la creación de una sola consulta a través de diferentes almacenes es mejor que múltiples consultas, además de tener un costo menor y de ofrecer mejores resultados. El lenguaje SPARQL posee tres componentes importantes: URIs, literales y variables procedentes del lenguaje RDF. 7 BDE Base de datos espacial elaborada a partir de los datos del INEGI Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 85 Capitulo 4. Metodología • URIs sirven para especificar las URLs. • Literales se describen como una cadena de caracteres encerradas entre " ". • Variables estas variables son globales, además debe de ser prefijadas por "?" ó "$" no formando parte del nombre de la variable. SPARQL tiene cuatro tipos de consultas, éstas con sus respectivas descripciones se pueden observar a continuación: • SELECT. Devuelve todo, o un conjunto de las variables que coinciden con el patrón de búsqueda. • CONSTRUCT. Devuelve un grafo RDF construido por la sustitución de variables en un conjunto de tres plantillas. • ASK. Devuelve un boolean indicando si los patrones de la consulta coinciden o no. • DESCRIBE. Devuelve un grafo RDF que describe los recursos encontrados. El sistema pretende que el usuario pueda realizar consultas basándose en un predicado como forma de expresar dichas peticiones. Como respuesta mostrarán atributos del contenido seleccionado y también se proporciona información que se asemeja semánticamente a la consulta, esta función está a cargo de la teoría de confusión. 4.5. Presentación de resultados Los resultados de una consulta, se presentan como una lista de instancias que satisfacen a un predicado compuesto. La interfaz es una aplicación Web que controla todos los elementos mencionados en la arquitectura funcional del sistema: una base de datos conceptual, archivos OWL, Jena y SPARQL como motor de búsqueda. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 86 Capitulo 4. Metodología Por medio de confusión es posible ponderar la información, es decir, tener un control de error en las respuestas. El usuario tendrá la opción de ir obteniendo respuestas aproximadas o similares a su consulta inicial. Como se ha mencionado en este capítulo la metodología propuesta va dirigida al uso de una representación alterna para el procesamiento inteligente de los datos geográficos. Se maneja una base de datos conceptual que contiene objetos y propiedades que los describen, estas propiedades permiten proveer de semántica a los datos. Con base es las jerarquías, se mide la similitud semántica entre los elementos que la conforman y así poder controlar las respuestas a una consulta. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 87 Capitulo 5. Pruebas y resultados CAPÍTULO 5. PRUEBAS Y RESULTADOS En este capítulo presentamos los resultados obtenidos de acuerdo con metodología propuesta, la cual está basada en la conceptualización del dominio geográfico. Esta investigación se enfoca al procesamiento y a la recuperación de información contenida en una base de datos conceptual. El sistema propuesto está basado en tecnología Java y la interfaz gráfica de consulta es desplegada mediante una aplicación Web y la API de Google Maps como servidor de mapas. Se ocupa el sistema Protégé para organizar los datos y posteriormente obtener la base de datos conceptual. Los datos principales utilizados provienen de las cartas del Uso del Suelo y Vegetación en México a escala 1:250,000 del INEGI. Dichos datos fueron organizados en jerarquías para poder hacer uso de confusión y así obtener las distancias semánticas entre elementos que conforman dichas jerarquías. Obtener las distancias semánticas permite identificar que elementos son más próximos conceptualmente, con esto podemos dar respuestas próximas o cercanas a una consulta que se haga a la base de datos. 5.1. Diseño de las jerarquías Los datos geográficos por naturaleza están organizados en jerarquías, el caso de estudio es el uso del suelo y vegetación en México. Una vez definido nuestro dominio geográfico de estudio, es necesario emplear herramientas que nos permitan almacenar este tipo de estructuras. En este apartado se mencionan las herramientas y los métodos empleados para organizar y almacenar la información. 5.1.1. Diseño de la base de datos conceptual La base de datos conceptual es generada a partir de una jerarquía que describe los diferentes tipos de vegetación de la república Mexicana. Una vez almacenados los datos Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 88 Capitulo 5. Pruebas y resultados mediante el sistema Protégé, la información se exporta a un modelo persistente en el gestor de base de datos Mysql. El modelo persistente permite almacenar los datos de forma duradera, en este modelo se pueden añadir y eliminar datos, además maneja un lenguaje propio de consulta. En la Figura 5.1 se muestra la estructura jerárquica de la base de datos, cada nodo representa un concepto. Figura 5.1. Jerarquía que define la base de datos espacial La figura anterior representa el modelo conceptual de la base de datos, las consultas se enfocaran hacia el último nivel de esta jerarquía, que es donde se localizan los tipos de vegetación que consideramos como objetos en nuestras consultas. 5.1.2. Jerarquías que describen las propiedades. Cada tipo de vegetación tienen tres propiedades lo caracterizan (ubicación, producción y clima), es importante mencionar que con base en estas propiedades se realizan las consultas, es decir, con ellas formamos los predicados de consulta (ver Figura 5.2). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 89 Capitulo 5. Pruebas y resultados Figura 5.2. Propiedades que caracterizan a los diferentes tipos de vegetación En la Figura 5.3 se muestra la jerarquía que describe la propiedad de ubicación, esta jerarquía es organizada en Protégé y se almacena en un archivo OWL. La propiedad ubicación organiza los estados de la república en tres zonas principales (norte, centro y sur). Figura 5.3. Jerarquía correspondiente a la propiedad de “ubicación” Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 90 Capitulo 5. Pruebas y resultados En la Figura 5.4 se muestra la jerarquía que describe a la propiedad de producción, en esta se mencionan las principales actividades productivas de México. Figura 5.4. Jerarquía correspondiente a la propiedad “producción” En la Figura 5.5 se muestra la jerarquía que describe a los diferentes tipos de clima que prevalecen en el país. A diferencia de las demás las jerarquías descritas anteriormente, esta tiene una relación de orden; es decir, para nuestro caso de estudio la organizamos de un clima Tropical a un clima Frio. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 91 Capitulo 5. Pruebas y resultados Figura 5.5. Jerarquía correspondiente a la propiedad clima Nótese que el editor Protégé no muestra en el grafo de manera ordenada, sin embargo el orden se lo daremos posteriormente cuando sean procesados los datos mediante Jena. Las jerarquías antes mencionadas son de suma importancia, ya que mediante el manejo de ellas se hace el procesamiento para la recuperación de información, además estas estructuras jerárquicas dotan de semántica a la base de datos conceptual. 5.2. Consultas al modelo de datos Empleamos la API de Jena para acceder al modelo jerárquico de datos. Para realizar la conexión al modelo de datos es necesario conocer el namespace de la ontología, este lo podemos obtener al abrir el archivo OWL en el editor de ontologías Protégé. Empleando los métodos correspondientes se accede a los datos (ver Figura 5.6) Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 92 Capitulo 5. Pruebas y resultados Figura 5.6. Programa que conecta al modelo de datos OWL Una vez obtenida la conexión al modelo de datos, se determinan los parámetros de consulta que requiere SPARQL. Estos parámetros mantienen cierta similitud con los que emplea SQL, sin embargo es especializado para realizar consultas sobre modelos ontológicos (ver Figura 5.7) Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 93 Capitulo 5. Pruebas y resultados Figura 5.7. Parámetros de consulta de SPARQL Una de las primeras pruebas realizadas, fue acceder al modelo de datos y extraer las propiedades que caracterizan a los diferentes tipos de vegetación. En la Figura 5.8 se muestra la consulta que obtiene los tipos de producción que le corresponde a cada tipo de vegetación. Figura 5.8. Resultados que nos muestran el tipo de producción en las selvas Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 94 Capitulo 5. Pruebas y resultados La Figura 5.9 muestra los tipos de vegetación y despliega su propiedad de ubicación, para obtener solo los datos que nos interesan empleamos JDOM8 y almacenamos los resultados en vectores, para posteriormente procesarlos e mostrarlos en la interfaz. Figura 5.9. Resultados que nos muestran la ubicación de los bosques 5.3. El sistema de búsqueda El sistema de búsqueda fue descrito en la sección 4.1. El sistema tiene como fin realizar consultas a la base de datos conceptual, basadas en un predicado compuesto de propiedades que definen a los objetos (Tipos de vegetación). Los resultados obtenidos de la implantación de la metodología son descritos en esta sección. Para la verificación de resultados se tomo la muestra de datos considerada en la metodología. 5.3.1. Elementos de la interfaz grafica La interfaz grafica está conformada por una sección de consultas y una sección que permite seleccionar de grado de error a las respuestas, las consultas están definidas por predicados compuestos de propiedades y conectados mediante un operador lógico, por otro lado tenemos la opción de elegir un grado de error en las respuestas, con esto evitamos las respuestas vacías (ver Figura 5.10). 8 JDOM es una biblioteca de código fuente para manipulaciones de datos XML optimizados para Java. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 95 Capitulo 5. Pruebas y resultados Se proponen dos modos de consulta, por un lado tenemos una consulta compuesta de tres propiedades conectadas por el operador lógico AND y por el otro, tenemos las mismas tres propiedades pero conectadas con el operador lógico OR. El usuario selecciona los tres elementos que le sean de interés y envía la solicitud de consulta. Los resultados esperados corresponden a obtener uno o varios tipos de vegetación que cumplan con las propiedades que los describen. Figura 5.10. Interfaz de usuario para consultas Las listas de propiedades están definidas por las jerarquías contenidas en archivos OWL. 5.3.1.1. Interfaz de resultados Los resultados son descritos mediante una lista que contiene los tipos de vegetación que satisfacen al predicado de consulta. No obstante se emplea la API de Google Maps para representar gráficamente la ubicación de los diferentes tipos de vegetación obtenidos en la respuesta. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 96 Capitulo 5. Pruebas y resultados En caso de obtener una respuesta vacía, solo se muestra el mapa y se lanza un mensaje para invitar al usuario a realizar la misma consulta pero ahora eligiendo un grado de error, es así como se obtiene una respuesta similar o aproximada. Figura 5.11. Elementos en las respuestas a una consulta 5.3.2. Consultas empleando el operador lógico AND Ahora veremos la funcionalidad del sistema, consideremos los siguientes elementos para la búsqueda (ver Figura 5.12) Figura 5.12. Elementos de consulta empleando el operador AND Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 97 Capitulo 5. Pruebas y resultados Obsérvese que la casilla de error tiene un valor de 0; es decir, estamos pidiendo una consulta exacta. En la Figura 5.13 se observan los resultados a esta consulta. Figura 5.13. Resultados para una coincidencia exacta empleando el operador lógico AND El sistema de búsqueda no encontró elementos en la base de datos que cumplan con el predicado compuesto por las propiedades (ActividadPecuaria, NorteDeMexico, Tropical) seleccionadas. Entonces se sugiere incrementar el grado de error en las respuestas y volver a procesar la consulta. Seguimos considerando las mismas propiedades, pero ahora posicionamos el grado de error en 1, obtenemos los siguientes resultados (ver Figura 5.14). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 98 Capitulo 5. Pruebas y resultados Figura 5.14. Resultados empleando confusión con un grado de error de ε =1, para una consulta con operadores lógicos OR Eligiendo un valor de ε =1 obtenemos Pastizal Natural y Matorral Subtropical como resultado, esto implica que estos dos elementos tienen propiedades similares a las seleccionadas en la consulta. En el mapa se marca la ubicación de estos tipos de vegetación, nótese que los dos resultados están localizados en estados que pertenecen al norte de México, esto da una similitud con respecto a la propiedad de ubicación seleccionada. Ahora verificaremos los resultados con un grado de error igual a 2. Cambiaremos la visualización del mapa a una imagen satelital y se obtienen los resultados siguientes (ver Figura 5.15) Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 99 Capitulo 5. Pruebas y resultados Figura 5.15. Resultados empleando confusión con un grado de error de ε = 2, para una consulta con operadores lógicos AND Para un ε=2 obtenemos nueve elementos, nótese que conforme se incrementa el grado de error, también incrementa el número de respuestas posibles, esto se debe a que el procesamiento de la información se lleva a cabo mediante un razonamiento monotónico automático. Ahora veamos los resultados que se obtienen al proponer un grado de error ε=3. Considerando el patrón de resultados para esta consulta, lo lógico sería que para este caso el él número de respuestas posibles incremente. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 100 Capitulo 5. Pruebas y resultados Figura 5.16. Resultados empleando confusión con un grado de error de ε=3, para una consulta con operadores lógicos AND Como era de esperarse, el número de respuestas posibles incremento, y su ubicación es desplegada en el mapa. Los resultados obtenidos son los esperados de acuerdo con la metodología propuesta, obsérvese que para esta consulta no existe una coincidencia exacta, sin embargo se tiene la posibilidad de obtener respuestas que se asemejan con la petición solicitada. Ahora bien, en el caso donde se emplea el operador lógico AND para conectar a cada uno de las propiedades, al incrementar el valor de error de ε aumenta el número de respuestas posibles. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 101 Capitulo 5. Pruebas y resultados 5.3.3. Consultas empleando el operador lógico OR Ahora partiremos de una consulta que al igual que en el caso anterior, está compuesta por tres elementos que describen las propiedades de los distintos tipos de ubicación. Consideraremos los elementos seleccionados en la consulta anterior y se compararan las diferencias en el rango de respuestas que se obtengan (ver Figura 5.17). Figura 5.17. Elementos de consulta usando el operador OR Comenzaremos con las respuestas exactas asignando un valor de error ε=0. Entonces las propiedades para esta consulta son: ActividadPecuaria, NorteDeMexico, Tropical (ver Figura 5.18). Intuitivamente el rango de respuestas incrementará con respecto a las obtenidas en el caso anterior cuando usamos el operador lógico AND. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 102 Capitulo 5. Pruebas y resultados Figura 5.18. Resultados para una coincidencia exacta empleando el operador OR En este caso se tienen 8 elementos que satisfacen la consulta, era de esperarse ya que al usar el operador lógico OR basta con que haya coincidencia en alguna de las propiedades de consulta. Consideramos a este operador como un operador de expansión. Ahora se realiza la misma consulta, pero se varia el grado de error ε=1 (ver Figura 5.19). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 103 Capitulo 5. Pruebas y resultados Figura 5.19. Resultados empleando confusión con un grado de error ε=1, para una consulta con operadores lógicos OR Al usar un grado de error ε=1 obtenemos 7 elementos para esta consulta, un elemento menos que en la consulta anterior. Ahora analicemos los resultados que se obtienen al variar el grado de error ε=2 (ver Figura 5.20). Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 104 Capitulo 5. Pruebas y resultados Figura 5.20. Resultados empleando confusión con un grado de error ε=2, para una consulta con operadores lógicos OR Para esta consulta se obtienen, al igual que en el caso anterior 7 elementos a la salida, sin embargo nótese que solo el número de elementos es igual, pero los resultados varían. Ahora veamos lo que ocurre cuando solicitamos una consulta con un grado de error ε=3 (ver Figura 5.21) Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 105 Capitulo 5. Pruebas y resultados Figura 5.21. Resultados empleando confusión con un grado de error ε=3, para una consulta con operadores lógicos OR Solo nos arroja el objeto BosqueDeAyarin con ubicación en Durango, es importante mencionar que para este caso al variar el grado de error, el número de respuestas posibles va disminuyendo, es decir, se tiene un razonamiento monotónico de forma inversa. Dados los resultados obtenidos en las pruebas, se desarrollo un sistema de recuperación de información espacial capaz de proporcionar un control de error a las respuestas de una consulta. Los resultados obtenidos cumplen con los objetivos planteados en este trabajo de investigación, se pueden evitar respuestas vacías, se proporcionan respuestas aproximadas y la recuperación de información es controlada por medio de la teoría de confusión. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 106 Capitulo 6. Conclusiones y trabajo a futuro CAPÍTULO 6. CONCLUSIONES Y TRABAJO A FUTURO 6.1. Conclusiones En esta tesis se ha desarrollado un sistema encargado de la recuperación de información espacial, nos basamos en la teoría de confusión para tener un control de error a la solicitud de una consulta. El sistema de salida es una aplicación Web encargada de visualizar los datos después de ser procesados. Parte de los resultados que se describen en el Capítulo 5 se basan en la verificación de la funcionalidad del sistema, es importante mencionar que la semántica de la base de datos está definida por las jerarquías que describen las propiedades de producción, ubicación y clima. Los conceptos de las jerarquías están fundamentados en los diccionarios de datos del INEGI. Por otra parte es importante decir que la metodología propuesta en esta tesis puede ser empleada para otros dominios de aplicación. En otras palabras, la funcionalidad del sistema no está ligada directamente con el dominio geográfico, dicha metodología está compuesta por cuatro etapas: Análisis de datos en la cual se verifica que sea factible manejar los datos en estructuras jerárquicas, Procesamiento semántico es la parte medular de esta investigación, ya que en esta etapa se calculan las distancias semánticas entre elementos de las jerarquías, Procesamiento, es la parte donde se recupera la información del modelo de datos y se verifica que datos cumplen con las condiciones de salida y la Presentación de resultados, es la parte visual donde se aprecian los resultados. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 107 Capitulo 6. Conclusiones y trabajo a futuro Para el mecanismo de recuperación de información se empleo el editor de ontologías Protégé como herramienta para almacenar las jerarquías, además se utilizo el marco de trabajo Jena y SPARQL como lenguaje de consulta. Las consultas están basadas en predicados compuestos conectados con operadores lógicos. Las respuestas a una solicitud de consulta se dirigen a obtener los tipos de vegetación que cumplan con las propiedades seleccionadas en una consulta. En resumen se engloban en cuatro puntos las aportaciones principales de este trabajo de tesis: • Se evitan respuestas vacías y errores que generan gestores de bases de datos tradicionales. • Se tiene un sistema que proporciona respuestas inteligentes mediante razonamiento automático monotónico para procesar la información espacial. • Se pondera la información manteniendo un control de error en los resultados (respuestas controladas). Esto permite obtener respuestas similares o aproximadas a una consulta realizada. • El desarrollo de esta investigación contribuye al afianzamiento de los buscadores semánticos sobre bases de datos heterogéneas. Evitar las respuestas vacías a una consulta es uno de los puntos esenciales en esta investigación. Cabe mencionar que el sistema da respuestas nulas en caso de no encontrar coincidencias, sin embargo el sistema posee la ventaja de poder obtener respuestas aproximadas o similares mediante un procesamiento inteligente de la información, usando razonamiento automático monotónico Destacamos el uso de herramientas que se enfocan a calcular la similitud semántica (confusión), permiten desarrollar nuevas técnicas más eficientes para la recuperación de información del dominio geográfico. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 108 Capitulo 6. Conclusiones y trabajo a futuro El desarrollo de esta investigación utiliza un enfoque diferente a los trabajos que emplean confusión para medir la distancia semántica entre conceptos, dado que estos trabajos van dirigidos al uso de bases de datos relacionales; en nuestro caso se emplean herramientas propias de la web semántica (Jena, archivos OWL y SPARQL). 6.2. Trabajos a futuro Los trabajos a futuro van dirigidos a intentar dar solución a algunos aspectos que limitan el presente trabajo de tesis. La solución de estos problemas permitirá dar mejor desempeño a los sistemas de recuperación. A continuación se describen algunos puntos que pueden ser considerados para fortalecer la presente línea de investigación. • En la presente investigación solo se emplean dos de las cuatro jerarquías definidas, ocupar jerarquías mixtas u ontologías empleando la misma metodología seria una aportación de un trabajo a futuro. • Enfocar formalmente el sistema a la Web Semántica Geoespacial y extender las medidas de similitud semántica para obtener un buscador más eficiente que emplee información contenida en la Web. • Realizar consultas basándonos en predicados que hagan una combinación de conectores lógicos. • Añadir un modulo que permita cargar la estructura jerárquica desde una interfaz grafica. Como se observa, la solución de cada uno de los problemas descritos implica trabajos de investigación que ayudaran a fortalecer el área de “Recuperación y Procesamiento de Datos Geoespaciales”. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 109 ANEXO 1. CÓDIGO FUENTE Clase de control: ServletController package com.busqueda.databases; import java.io.IOException; import java.sql.SQLException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class ServletController extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { static final long serialVersionUID = 1L; /* (non-Java-doc) * @see javax.servlet.http.HttpServlet#HttpServlet() */ public ServletController() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { int control = Integer.parseInt(request.getParameter("idOpcion")); switch (control){ case 0: { ResqunoTO datosBean = new ResqunoTO(); //RESULTADOS PARA EL JSP DE RESPUESTA ConsultaBO logica = new ConsultaBO(request); // CONSULTAS A EJECUTAR Y DEFINES LOS PARAMETROS try { datosBean = logica.consulta1(); ///datosBean = logica.consulta11(); } catch (Exception e) { e.printStackTrace(); } HttpSession sesion = request.getSession(); sesion.setAttribute("datos",datosBean); // PASAS LOS DATOS AL JSP response.sendRedirect("resultadosJSP.jsp"); System.out.println("Imprimiendo desde el servlet..."+datosBean.getNum_registros()); Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 110 } break; case 1:{ ResqdosTO datosBean = new ResqdosTO(); //RESULTADOS PARA EL JSP DE RESPUESTA ConsultaBO logica = new ConsultaBO(request); // CONSULTAS A EJECUTAR Y DEFINES LOS PARAMETROS try { datosBean = logica.consulta2(); ///datosBean = logica.consulta11(); } catch (Exception e) { e.printStackTrace(); } HttpSession sesion = request.getSession(); sesion.setAttribute("datos",datosBean); // PASAS LOS DATOS AL JSP response.sendRedirect("resultadosJSP2.jsp"); System.out.println("Imprimiendo desde el servlet..."+datosBean.getNum_registros()); } break; } } } Clase de procesamiento (base de datos): ConsultaBO package com.busqueda.databases; import javax.servlet.http.HttpServletRequest; public class ConsultaBO { private ConsultaTO parametros = new ConsultaTO(); Busqueda mysql = new Busqueda(); private int gradconf; // private int gradconfusion; public ConsultaBO(){ gradconf=0; //gradconfusion=0; } public ConsultaBO(HttpServletRequest request){ parametros.setProduccion(request.getParameter("produccion")); parametros.setUbicacion(request.getParameter("ubicacion")); parametros.setClima(request.getParameter("clima")); gradconf=Integer.parseInt(request.getParameter("gradconf")); //gradconfusion=Integer.parseInt(request.getParameter("gradconfusion")); } //Consulta AND ResqunoTO consulta1() throws Exception{ mysql.connect(); Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 111 ResqunoTO resultados=mysql.verDatos3(parametros,gradconf); return resultados; } //consulta OR ResqdosTO consulta2() throws Exception{ mysql.connect(); ResqdosTO resultados=mysql.verDatos4(parametros, gradconf); return resultados; } void consulta3() throws Exception{ mysql.connect(); //mysql.verDatos4(); //return null; } } Clase de procesamiento (base de datos): Búsqueda package com.busqueda.databases; import java.sql.*; import java.util.*; public class Busqueda { String error; Connection con; public Busqueda() { } public void connect() throws ClassNotFoundException, SQLException, Exception { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); con = DriverManager.getConnection("jdbc:mysql://localhost/geobusqueda","root","99011445"); System.out.println("Conexion con la base de datos establecida"); } catch (ClassNotFoundException cnfe) { cnfe.printStackTrace(); error = "ClassNotFoundException: No se localiza el Driver."; throw new ClassNotFoundException(error); } catch (SQLException cnfe) { cnfe.printStackTrace(); error = "SQLException: No se puede hacer conexión con la base de datos."; throw new SQLException(error); } catch (Exception e) { e.printStackTrace(); error = "Exception: Un error desconocido durante la conexión " + "para la base de datos."; throw new Exception(error); } } public void disconnect() throws SQLException { try { Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 112 if ( con != null ) { con.close(); } } catch (SQLException sqle) { error = ("SQLException: Unable to close the database connection."); throw new SQLException(error); } } public ResultSet verDatos() throws SQLException, Exception { ResultSet rs = null; connect(); try { String queryString = ("SELECT * FROM produccion;"); Statement stmt = con.createStatement(); rs = stmt.executeQuery(queryString); while (rs.next()) { System.out.println("<option value='"+rs.getString("produccion")+"'>"+rs.getString("produccion")+"</option>"); } } catch (SQLException sqle) { sqle.printStackTrace(); error = "SQLException: No se puede ejecutar el query."; throw new SQLException(error); } catch (Exception e) { e.printStackTrace(); error = "Una exepcion ocurrida en ecosistema."; throw new Exception(error); } rs.beforeFirst(); return rs; } public ResultSet verDatos1() throws SQLException, Exception { ResultSet rs = null; connect(); try { String queryString = ("SELECT * FROM ubicacion;"); Statement stmt = con.createStatement(); rs = stmt.executeQuery(queryString); while (rs.next()) { System.out.println("<option value='"+rs.getString("ubicacion")+"'>"+rs.getString("ubicacion")+"</option>"); } } catch (SQLException sqle) { sqle.printStackTrace(); error = "SQLException: No se puede ejecutar el query."; throw new SQLException(error); } catch (Exception e) { e.printStackTrace(); error = "Una exepcion ocurrida en ecosistema."; throw new Exception(error); } rs.beforeFirst(); return rs; } Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 113 public ResultSet verDatos2() throws SQLException, Exception { ResultSet rs = null; connect(); try { String queryString = ("SELECT * FROM clima;"); Statement stmt = con.createStatement(); rs = stmt.executeQuery(queryString); while (rs.next()) { System.out.println("<option value='"+rs.getString("clima")+"'>"+rs.getString("clima")+"</option>"); } } catch (SQLException sqle) { sqle.printStackTrace(); error = "SQLException: No se puede ejecutar el query."; throw new SQLException(error); } catch (Exception e) { e.printStackTrace(); error = "Una exepcion ocurrida en ecosistema."; throw new Exception(error); } rs.beforeFirst(); return rs; } /*COMSULTA AND, CONFUSION 0*/ public ResqunoTO verDatos3(ConsultaTO parametros,int gradconf) throws SQLException, Exception { RegistrounoTO registro_temp=new RegistrounoTO(); ResqunoTO resultados = new ResqunoTO(); Vector registros_vegetacion=new Vector(); ResultSet rs = null; connect(); try { String queryString = ("SELECT ecosistema.vegetacion, ecosistema.ubicacion, ubicacion.Latitud, ubicacion.Longitud FROM ecosistema,produccion,ubicacion,clima" + "WHERE (produccion.produccion=ecosistema.produccion)AND(produccion."+parametros.getProduccion()+"<="+gradconf+")"+ "AND(ubicacion."+parametros.getUbicacion()+"<="+gradconf+")AND(ubicacion.ubicacion=ecosistema.ubicacion)"+ "AND(clima."+parametros.getClima()+"<="+gradconf+")AND(clima.clima=ecosistema.clima);"); System.out.println("verdatos 3 Query1: "+queryString); Statement stmt = con.createStatement(); rs = stmt.executeQuery(queryString); while (rs.next()) { registro_temp= new RegistrounoTO(); registro_temp.setLatitud(rs.getDouble("Latitud")); registro_temp.setLongitud(rs.getDouble("Longitud")); registro_temp.setUbicacion(rs.getString("ubicacion")); registro_temp.setVegetacion(rs.getString("vegetacion")); registros_vegetacion.add(registro_temp); } resultados.setRegistros(registros_vegetacion); resultados.setNum_registros(registros_vegetacion.size()); } catch (SQLException sqle) { sqle.printStackTrace(); error = "SQLException: No se puede ejecutar el query."; throw new SQLException(error); } catch (Exception e) { e.printStackTrace(); error = "Una exepcion ocurrida en ecosistema."; throw new Exception(error); } return resultados; Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 114 } /*COMSULTA OR CONFUSION 0*/ public ResqdosTO verDatos4(ConsultaTO parametros, int gradconfusion) throws SQLException, Exception { RegistrodosTO registro_temp=new RegistrodosTO(); ResqdosTO resultados = new ResqdosTO(); Vector registros_vegetacion=new Vector(); ResultSet rs = null; connect(); try { String queryString = ("SELECT ecosistema.vegetacion, ecosistema.ubicacion, ubicacion.Latitud, ubicacion.Longitud FROM ecosistema,produccion,ubicacion,clima" + " WHERE ((produccion.produccion=ecosistema.produccion)AND(ubicacion.ubicacion=ecosistema.ubicacion))"+ "AND(clima.clima=ecosistema.clima)AND((produccion.ActividadPecuaria="+gradconfusion+")"+ "OR(ubicacion.NorteDeMexico="+gradconfusion+")OR(clima.Tropical="+gradconfusion+"))"); System.out.println("verdatos 3 Query1: "+queryString); Statement stmt = con.createStatement(); rs = stmt.executeQuery(queryString); while (rs.next()) { registro_temp= new RegistrodosTO(); registro_temp.setLatitud(rs.getDouble("Latitud")); registro_temp.setLongitud(rs.getDouble("Longitud")); registro_temp.setVegetacion(rs.getString("vegetacion")); registro_temp.setUbicacion(rs.getString("ubicacion")); registros_vegetacion.add(registro_temp); } resultados.setRegistros(registros_vegetacion); resultados.setNum_registros(registros_vegetacion.size()); } catch (SQLException sqle) { sqle.printStackTrace(); error = "SQLException: No se puede ejecutar el query."; throw new SQLException(error); } catch (Exception e) { e.printStackTrace(); error = "Una exepcion ocurrida en ecosistema."; throw new Exception(error); } return resultados; } public static void main(String args[]) throws Exception{ new Busqueda().connect(); new Busqueda().verDatos(); new Busqueda().verDatos2(); //new Busqueda().verDatos3(); new Busqueda().disconnect(); //new Busqueda().verDatos3(); } } Clase para encapsular datos: ConsultaTO package com.busqueda.databases; Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 115 public class ConsultaTO { public ConsultaTO(){} private int idconsulta; private int resultado; private String produccion; private String ubicacion; private String clima; public String getClima() { return clima;} public String getProduccion() { return produccion;} public String getUbicacion() { return ubicacion;} public int getIdconsulta() { return idconsulta;} public void setIdconsulta(int idconsulta) { this.idconsulta = idconsulta;} public void setClima(String clima) { this.clima = clima;} public void setProduccion(String produccion) { this.produccion = produccion;} public void setUbicacion(String ubicacion) { this.ubicacion = ubicacion;} public int getResultado() { return resultado} public void setResultado(int resultado) {this.resultado = resultado;} } Clase para encapsular datos: RegistrodosTO package com.busqueda.databases; public class RegistrodosTO{ double latitud; double longitud; String vegetacion; String ubicacion; public RegistrodosTO(){ latitud=0.0; longitud=0.0; vegetacion="ESTA VACIO"; ubicacion="ESTA VACIO"; //gradoConfusion=-1; } public double getLatitud() { return latitud;} public void setLatitud(double latitud) {this.latitud = latitud; } public double getLongitud() { return longitud;} public void setLongitud(double longitud) { this.longitud = longitud;} public String getVegetacion() { return vegetacion;} public void setVegetacion(String vegetacion) { this.vegetacion = vegetacion;} public String getUbicacion() {return ubicacion;} public void setUbicacion(String ubicacion) { this.ubicacion = ubicacion;} } Clase para encapsular datos: RegistrounoTO package com.busqueda.databases; ESTA CLASE DEFINE UN REGISTRO EN UN TABLA Y CONTIENE LOS DATOS QUE QUIERES REGRESAR AL USUARIO public class RegistrounoTO{ Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 116 double latitud; double longitud; String vegetacion; String ubicacion; public RegistrounoTO(){ latitud=0.0; longitud=0.0; vegetacion="ESTA VACIO"; ubicacion="ESTA VACIO"; } public double getLatitud() {return latitud;} public void setLatitud(double latitud) {this.latitud = latitud;} public double getLongitud() {return longitud;} public void setLongitud(double longitud) {this.longitud = longitud;} public String getVegetacion() {return vegetacion;} public void setVegetacion(String vegetacion) {this.vegetacion = vegetacion;} public String getUbicacion() {return ubicacion;} public void setUbicacion(String ubicacion) {this.ubicacion = ubicacion;} } Clase para encapsular datos: ResqdosTO package com.busqueda.databases; import java.util.Vector; public class ResqdosTO { int num_registros; int index_registro; Vector registros=new Vector(); double latitud; double longitud; String vegetacion; String ubicacion; //int gradoConfusion; public ResqdosTO(){ num_registros=-111; index_registro=0; latitud=0.0; longitud=0.0; vegetacion="NULOooooo"; ubicacion="Nuloooo"; setIndex_registro(0); //Vector registros=new Vector(); } public void print(){ System.out.println(num_registros); System.out.println(getVegetacion()); System.out.println(getUbicacion()); } public Vector getRegistros() {return registros;} Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 117 public void setRegistros(Vector registros) {this.registros = registros;} public double getLatitud() { RegistrodosTO temp=(RegistrodosTO)registros.get(index_registro); return temp.getLatitud(); } public double getLongitud() { RegistrodosTO temp=(RegistrodosTO)registros.get(index_registro); return temp.getLongitud(); } public String getVegetacion() { RegistrodosTO temp=(RegistrodosTO)registros.get(index_registro); return temp.getVegetacion(); } public String getUbicacion() { RegistrodosTO temp=(RegistrodosTO)registros.get(index_registro); return temp.getUbicacion(); } public int getNum_registros() {return num_registros; } public void setNum_registros(int num_registros) {this.num_registros = num_registros; } public int getIndex_registro() {return index_registro; } public void setIndex_registro(int index_registro) {this.index_registro = index_registro; } } Clase para encapsular datos: ResqunoTO package com.busqueda.databases; import java.util.Vector; public class ResqunoTO { int num_registros; int index_registro; Vector registros=new Vector(); double latitud; double longitud; String vegetacion; String ubicacion; //int gradoConfusion; public ResqunoTO(){ num_registros=-111; index_registro=0; latitud=0.0; longitud=0.0; vegetacion="NULOooooo"; ubicacion="Nuloooooo"; setIndex_registro(0); //Vector registros=new Vector(); } public void print(){ System.out.println(num_registros); System.out.println(getVegetacion()); Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 118 System.out.println(getUbicacion()); } public Vector getRegistros() {return registros;} public void setRegistros(Vector registros) { this.registros = registros; } public String getUbicacion() { RegistrounoTO temp=(RegistrounoTO)registros.get(index_registro); return temp.getUbicacion(); } public double getLatitud() { RegistrounoTO temp=(RegistrounoTO)registros.get(index_registro); return temp.getLatitud(); } public double getLongitud() { RegistrounoTO temp=(RegistrounoTO)registros.get(index_registro); return temp.getLongitud(); } public String getVegetacion() { RegistrounoTO temp=(RegistrounoTO)registros.get(index_registro); return temp.getVegetacion(); } public int getNum_registros() {return num_registros;} public void setNum_registros(int num_registros) {this.num_registros = num_registros;} public int getIndex_registro() { return index_registro; } public void setIndex_registro(int index_registro) { this.index_registro = index_registro; } } Interfaz Web para el cliente (consultas), archivo: index.jsp <%@ page language="java" import="java.sql.*, java.io.*, java.util.*, com.busqueda.databases.*" errorPage="error.jsp" %> <jsp:useBean id="busq" class="com.busqueda.databases.Busqueda" /> <html> <head> <title> Busqueda de Informacion Geografica </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"> <!-body { background-color: #34558a; } .Estilo3 { font-size: 36px; font-weight: bold; color: #FFFFFF; } .Estilo4 { font-size: 24px; font-weight: bold; color: #000000; font-family: Geneva, Arial, Helvetica, sans-serif; Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 119 } .Estilo5 { font-family: Arial, Helvetica, sans-serif; font-weight: bold; } --> </style></head> <body> <table width="1024" height="191%" align="center" cellpadding="0" cellspacing="0" background="Images/imagen01.png" bgcolor="#34558a"> <tr> <td height="111" valign="top"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="11%"><div align="center"><img src="Images/logocic.gif" alt="cic" width="83" height="62" longdesc="cic imagen"></div></td> <td width="76%" class="Estilo3"><div align="center"> <p>B&uacute;squeda y Ponderaci&oacute;n de Informaci&oacute;n Geogr&aacute;fica </p> <p>PIIG LAB </p> </div></td> <td width="13%"><div align="center"><img src="Images/logoipn.jpg" alt="ipn" width="58" height="88" longdesc="ipn imagen"></div></td> </tr> </table></td> </tr> <tr> <td valign="top"><table width="100%" height="40" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="6%">&nbsp;</td> <td width="88%"><p> <%busq.connect();%> </p> <h1 align="center">&nbsp;</h1> <table width="100%" border="2" cellpadding="0" cellspacing="0" bordercolor="#000099" bgcolor="#FFFFFF"> <tr> <td height="41" bgcolor="34558a"><p align="left" class="Estilo4">Par&aacute;metros de consulta</p></td> </tr> <tr> <td height="81" bgcolor="#CCCCCC"><form name='formulario_query' method='post' action='ServletController'> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="29%"><div align="left" class="Estilo5">Producci&oacute;n</div></td> <td width="25%"><div align="left" class="Estilo5">Ubicacion</div></td> <td width="20%"><span class="Estilo5">Clima</span></td> <td width="15%">&nbsp;</td> <td width="11%"><div align="left"></div></td> </tr> <tr> <td><select name="produccion" id="produccion"> <% ResultSet rs1 = busq.verDatos(); while (rs1.next()) { out.println("<option value='"+rs1.getString("produccion")+"'>"+rs1.getString("produccion")+"</option>"); } Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 120 %> </select> <span class="Estilo5"> AND</span></td> <td><select name="ubicacion" id="ubicacion"> <% ResultSet rs2 = busq.verDatos1(); while (rs2.next()) { out.println("<option value='"+rs2.getString("ubicacion")+"'>"+rs2.getString("ubicacion")+"</option>"); } %> </select> <span class="Estilo5">AND</span></td> <td><select name="clima" id="clima"> <% ResultSet rs3 = busq.verDatos2(); while (rs3.next()) { out.println("<option value='"+rs3.getString("clima")+"'>"+rs3.getString("clima")+"</option>"); } %> </select></td> <td><input type="submit" id="Enviar" name="Submit" value="Enviar"/></td> <td><label>Error <select name="gradconf" id="gradconf"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </label></td> </tr> </table> <label></label> <label></label> <p><input name="idOpcion" type="hidden" id="idOpcion" value="0"/> </p> </form> </td> </tr> </table> <p align="center">&nbsp;</p> <table width="100%" border="2" cellpadding="0" cellspacing="0" bordercolor="#000099" bgcolor="#FFFFFF"> <tr> <td height="41" bgcolor="34558a"><p align="left" class="Estilo4">Par&aacute;metros de consulta</p></td> </tr> <tr> <td height="81" bgcolor="#CCCCCC"><form name='formulario_query' method='post' action='ServletController'> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="29%"><div align="left" class="Estilo5">Producci&oacute;n</div></td> <td width="25%"><div align="left" class="Estilo5">Ubicacion</div></td> <td width="20%"><span class="Estilo5">Clima</span></td> <td width="15%">&nbsp;</td> Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 121 <td width="11%"><div align="left"></div></td> </tr> <tr> <td><select name="select" id="select"> <% ResultSet rs4 = busq.verDatos(); while (rs4.next()) { out.println("<option value='"+rs4.getString("produccion")+"'>"+rs4.getString("produccion")+"</option>"); } %> </select> <span class="Estilo5"> OR</span></td> <td><select name="select" id="select2"> <% ResultSet rs5 = busq.verDatos1(); while (rs5.next()) { out.println("<option value='"+rs5.getString("ubicacion")+"'>"+rs5.getString("ubicacion")+"</option>"); } %> </select> <span class="Estilo5">OR</span></td> <td><select name="select" id="select3"> <% ResultSet rs6 = busq.verDatos2(); while (rs6.next()) { out.println("<option value='"+rs6.getString("clima")+"'>"+rs6.getString("clima")+"</option>"); } %> </select></td> <td><input type="submit" id="Submit" name="Submit2" value="Enviar"/></td> <td><label>Error <select name="gradconf" id="gradconf"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </label></td> </tr> </table> <label></label> <label></label> <p> <input name="idOpcion" type="hidden" id="idOpcion" value="1"/> </p> </form></td> </tr> </table> <p align="center">&nbsp;</p> <p align="center">&nbsp;</p> <p align="center">&nbsp;</p> <p align="center">&nbsp;</p> <% busq.disconnect(); %></td> <td width="6%"><p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p> Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 122 <p>&nbsp;</p> <p>&nbsp;</p> <p>&nbsp;</p></td> </tr> </table></td> </tr> <tr> <td>&nbsp;</td> </tr> </table> <p>&nbsp;</p> </body> </html> Interfaz Web para el cliente, archivo (resultados): resultadosJSP.jsp <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <jsp:useBean id="datos" scope="session" class="com.busqueda.databases.ResqunoTO" /> <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosD VG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA" type="text/javascript"></script> <script type="text/javascript"> function initialize() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(24.327077, -101.77734), 5); // Add 10 markers to the map at random locations var bounds = map.getBounds(); var southWest = bounds.getSouthWest(); var northEast = bounds.getNorthEast(); var lngSpan = northEast.lng() - southWest.lng(); var latSpan = northEast.lat() - southWest.lat(); <% int num1 = datos.getNum_registros(); for (int i=0;i<num1;i++) { datos.setIndex_registro(i); out.println("var point = new GLatLng("+datos.getLatitud()+","+datos.getLongitud()+");"); out.println("map.addOverlay(new GMarker(point));"); } %> } } </script> <style type="text/css"> <!-- Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 123 .Estilo1 {font-family: "Courier New", Courier, monospace} --> </style> </head> <body background="#76a0ca" onload="initialize()" onunload="GUnload()"> <center> <table width="1024" border="7" bordercolordark="#000099" height="1200" border="0" cellpadding="0" cellspacing="0" bgcolor="#34558a"> <tr> <td height="50" valign="top" bgcolor="#999999">&nbsp;</td> </tr> <tr> <td height="1240" valign="top"><table width="1024" height="1240" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="1240" valign="top"><table width="100%" height="1104" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="9%" height="1104" valign="top"><img src="Images/logocic.gif" alt="CIC" width="91" height="61" longdesc="CICIMAGEN" /></td> <td width="84%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="61" bgcolor="#34558a"><h1 align="center" class="Estilo1">B&uacute;squeda y Ponderaci&oacute;n de Informaci&oacute;n Geogr&aacute;fica </h1> <h1 align="center" class="Estilo1">PIIG LAB </h1> <h1 align="center" class="Estilo1">&nbsp;</h1></td> </tr> </table> <table width="100%" height="952" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="519"><center> <div id="map_canvas" style="width: 725px; height: 500px"></div> </center> </td> </tr> <tr> <td height="433" valign="top"><div align="center">Numero de elementos: <jsp:getProperty name="datos" property="num_registros" /> </div> <table border="2" align="center" bordercolor="#000000"> <tr> <td><div align="right"> <% int num = datos.getNum_registros(); if(num ==0) out.println("<center>"+"<h2>"+"LA RESPUESTA ES NULA, TE SUGERIMOS ELEGIR UNA RESPUESTA APROXIMADA"+"</h2>"+"</center>"); else{ out.println("<tr><td>RESULTADOS TIPOS DE VEGETACION</td><td>UBICACIÓN</td><td>LATITUD</td><td>LONGITUD</td></tr>"); for (int i=0;i<num;i++) { datos.setIndex_registro(i); out.println("<tr><td>"+datos.getVegetacion()+"</td><td>"+datos.getUbicacion()+"</td><td>"+datos.getLatitud() +"</td><td>"+datos.getLongitud()+"</td></tr>"); } Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 124 } %> </div></td> </tr> </table></td> </tr> </table></td> <td width="7%" valign="top"><img longdesc="IPNIMAGEN" /></td> </tr> </table> </td> </tr> src="Images/logoipn.jpg" alt="IPN" width="69" height="87" </table></td> </tr> <tr> <td>&nbsp;</td> </tr> </table></center> </body> </html> Interfaz Web para el cliente, archivo (resultados): resultadosJSP_2.jsp <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <jsp:useBean id="datos" scope="session" class="com.busqueda.databases.ResqdosTO" /> <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosD VG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA" type="text/javascript"></script> <script type="text/javascript"> function initialize() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(24.327077, -101.77734), 5); // Add 10 markers to the map at random locations var bounds = map.getBounds(); var southWest = bounds.getSouthWest(); var northEast = bounds.getNorthEast(); var lngSpan = northEast.lng() - southWest.lng(); var latSpan = northEast.lat() - southWest.lat(); <% int num1 = datos.getNum_registros(); for (int i=0;i<num1;i++) { datos.setIndex_registro(i); Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 125 out.println("var point = new GLatLng("+datos.getLatitud()+","+datos.getLongitud()+");"); out.println("map.addOverlay(new GMarker(point));"); } %> } } </script> </head> <body background="#76a0ca" onload="initialize()" onunload="GUnload()"> <table width="102%" height="261" border="0" cellpadding="0" cellspacing="0" bgcolor="#34558a"> <tr> <td>&nbsp;</td> </tr> <tr> <td valign="top"><table width="1024" height="866" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="866" valign="top">&nbsp; <table width="100%" height="712" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="9%">&nbsp;</td> <td width="84%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td height="61">&nbsp;</td> </tr> </table> <table width="100%" height="974" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="413"> <center><div id="map_canvas" style="width: 725px; height: 500px"></div></center> &nbsp;</td> </tr> <tr> <td height="496" valign="top"><div align="center">Numero de elementos: <jsp:getProperty name="datos" property="num_registros" /> </div> <table border="2" align="center" bordercolor="#000000"> <tr> <td> <div align="right"> <% int num = datos.getNum_registros(); if(num ==0) out.println("<center>"+"<h2>"+"LA RESPUESTA ES NULA, TE SUGERIMOS ELEGIR UNA RESPUESTA APROXIMADA"+"</h2>"+"</center>"); else{ out.println("<tr><td>RESULTADOS TIPOS DE VEGETACION</td><td>UBICACIÓN</td><td>LATITUD</td><td>LONGITUD</td></tr>"); for (int i=0;i<num;i++) { datos.setIndex_registro(i); out.println("<tr><td>"+datos.getVegetacion()+"</td><td>"+datos.getUbicacion()+"</td><td>"+datos.getLatitud() +"</td><td>"+datos.getLongitud()+"</td></tr>"); } } Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 126 %> </div></td> </tr> </table></td> </tr> </table></td> <td width="7%">&nbsp;</td> </tr> </table> <center> </center> </td> </tr> </table></td> </tr> <tr> <td>&nbsp;</td> </tr> </table> </body> </html> Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 127 REFERENCIAS (Aesigt, 1993) 1. Aesigt. 1993. Diccionario glosario de términos SIG. Madrid, AESIGT. 1993. (Aristotle’s, 2003) 2. Aristotle’s. 2003. Methaphysics, IV, 1, “The Subject Matter of Aristotle’s Methaphysics”, Stanford Encyclopedia of Philosophy. 2003. (Aronoff, 1991) 3. Aronoff, S. 1991. Geographic Information Systems: A Management Perspective. Ottawa, WDL Publications. 1991. (Bernaras, et al., 1996) 4. Bernaras, A., Laresgoiti, I. and Corera, J. 1996. Building and Reusing Ontologies for Electrical. Network Applications. Proceedings of the European Conference on Artificial Intelligence (ECAI96). 1996. pp. 298-302. (Berners-Lee, et al., 2001) 5. Berners-Lee, T. and Hendler, J. 2001. The Semantic Web: A new form of Web content that is meaningful to computers will unleash a revolution of new possibilities, Scientific American. 2001. (Blázquez del Toro, et al., 2006) 6. Blázquez del Toro, J. M., et al. 2006. Ordenacion de resultados en consultas semánticas sobre base de datos. Madrid : s.n., 2006. (Borst, 1997) 7. Borst, W. N. 1997. Construction of engineering ontologies for knowledge sharing and reuse. Doctoral Thesis. Centre for Telematics and Information Technology, Universiteit Twente. de la Morena A. XVIII Congreso Nacional de la SEAP. Benalmádena. 1997. (Bosque Sendra, 1992) 8. Bosque Sendra, J. 1992. Sistemas de Información Geográfica. Madrid, Rialp. 1992. (Braken, et al., 1992) Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 128 9. Braken, I. and Webster, C. 1992. Information technology in geography and planning. Londres & New York, Routledge. 1992. (Bucher, et al., 2005) 10. Bucher, B. P., Clough, H. and Joho, R. 2005. Geographic IR Systems: Requirements and Evaluation. En Proceedings of the 22nd International Cartographic Conference. 2005. (Burrough, et al., 1997) 11. Burrough, P. A. and Mcdonnell, R. A. 1997. Principles of geographical information systems. Nueva York, Oxford University Press. 1997. (Cebrian, 1994) 12. Cebrian, J. A. 1994. GIS Concepts. Cáceres, Departamento de Geografía y Ordenación del Territorio de la Universidad de Extremadura. 1994. (Chaudhuri, et al., 2006) 13. Chaudhuri, S., et al. 2006. Probabilistic information retrieval approach for ranking of database query results. ACM Press. 2006. pp. 1134-1168. (Conesa García, 1996) 14. Conesa García, C. 1996. Área de aplicación medio ambiental de los SIG. Modelizacion y avances recientes”. Papeles de Geografía, nº 23-24. 1996. pp. 101115. (Egenhofer, 2002) 15. Egenhofer, M. J. 2002. Max J. Egenhofer, Toward the semantic geospatial web, Proceedings of the 10th ACM international symposium on Advances in geographic information systems. 2002. (Felman, et al., 1995) 16. Felman, R. and Dagan, I. 1995. Knowledge discovery in textual databases. In Proceedings of KDD. 1995. (Fonseca, 2000) 17. Fonseca, F. 2000. Users, Ontologies and Information Sharing inUrbanGIS in ASPRS. 2000. (Francis, et al., 1982) Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 129 18. Francis, W. and Kucera, H. 1982. Frequency Analysis of English Usage, Houghton Mifflin Co. 1982. (Ganesan, et al., 2003) 19. Ganesan, P., Garcia-Molina, H. and Widom, J. 2003. Exploiting hierarchical domain structure to compute similarity. ACM Trans. Inf. Syst. 21(1). 2003. pp. 6493. (Gruber, 1993) 20. Gruber, T. R. 1993. A translation approach to portable ontology specifications. Knowledge Adquisition, 5(2). 1993. (Guarino, et al., 1995) 21. Guarino, N. and Giaretta, P. 1995. Ontologies and knowledge bases: towards a terminological clarification. Trento, Roma: Laboratory for Applied Ontology. 1995. (Guarino, 1998) 22. Guarino, N. 1998. Formal ontology and information systems. Trento, Roma: Laboratory for Applied Ontology (LOA). 1998. (Güting, 1994) 23. Güting, R. 1994. An introduction to spatial database systems. The International Journal on Very Large Data Bases 3(4). 1994. págs. 357-399. (Herman, 2003) 24. Herman, I. 2003. W3C Head of Offices Helsinki, Introduction to the Semantic Web. 2003. (Hirts, et al., 1998) 25. Hirts, G. and St-Onge, D. 1998. Lexical chains as representation of context for the detection and correction of malapropisms, en Fellbaum, C., WordNet: An Electronic Lexical Database, MIT Press. 1998. pp. 265–283. (Huxhold, 1991) 26. Huxhold, W. E. 1991. An introduction to urban geographic information systems New York, Oxford University Press. 1991. (INEGI, 2006) Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 130 27. INEGI. 2006. Instituto Nacional de Estadistica, Atlas. Situación Actual de la División Político-Administrativa Interestatal Estados Unidos Mexicanos . 2006. (INEGI, 1995) 28. INEGI. 1995. Instituto Nacional de Estadistica, Base de datos geograficos. Diccionario del uso del suelo y vegetación Escalas 1:250,000. 1995. (Jena, 2007) 29. Jena. 2007. Jena 2. “A Semantic http//www.hp1.hp.com/semweb/jena.html. 2007. Web Framework”. URL: (Koeppen, 1948) 30. Koeppen, Wilhelm. 1948. Climatología. Con un estudio de los climas de la tierra. Version directa de Pedro R. Hendrischs Pérez. Fondo de Cultura Economica. México : s.n., 1948. (Leacock, et al., 1998) 31. Leacock, C. and Chodorow, M. 1998. Combining local context and WordNet similarity for word sense identification, en Fellbaum, C., WordNet: An Electronic Lexical Database, MIT Press. 1998. pp. 265–283. (Levachkine, et al., 2004) 32. Levachkine, S. and Guzmán-Arenas, A. 2004. Hierarchies measuring qualitative variables. Lecture Notes in Computer Science. v2945. 2004. pp. 262-274. (Levachkine, et al., 2007) 33. Levachkine, S. and Guzmàn-Arenas, A. 2007. Hierarchy as a new data type for qualitative variables. Expert Systems with Applications: An International Journal, 32(3). 2007. pp. 899-910. (Lin, 1998) 34. Lin, D. 1998. An information-theoretic definition of similarity, Proc 15th International Conference on Machine Learning. 1998. pp. 296–304. (Lord, et al., 2003) 35. Lord, P. W., et al. 2003. Investigating semantic similarity measures across the Gene Ontology: the relationship between sequence and annotation, Bioinformatics, 19(10). 2003. pp. 1275– 1283. (Maguire, et al., 1991) Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 131 36. Maguire, D. J., Goodchild, M. F. and Rhind, D. W. 1991. Geographical information systems: principles and applications. Harlow, Longman/New York, John Wiley & Sons Inc. 1991. (Marble, 1990) 37. Marble, D. 1990. “Geographic information systems: an overview”. En Peuquet, J. y Marble, D. F., Introductory reading in geographic information systems. Londres. 1990. pp. 8-18. (McGill, 1983) 38. McGill, M. J. 1983. Introduction to Modern Information Retrieval. McGraw-Hill, New York. 1983. (Miller, et al., 1991) 39. Miller, G. A. and Chrales, W. G. 1991. Contextual Correlates of Semantic Similarity. Language and Cognitive Processes. 1991. pp. 6(1):1–28. (Miller, et al., 1990) 40. Miller, G. A., et al. 1990. WordNet: an on-line lexical database. International Journal of Lexicography, 3(4). 1990. (Miranda, et al., 1963) 41. Miranda, F. G. and Hernandez-X. 1963. Los tipos de vegetaciónde México y su clasificación. Bol. Soc. Bot. México. 1963. pp. 29-179. (Moreno Ibarra, 2007) 42. Moreno Ibarra, M. A. 2007. Similitud semántica entre sistemas de objetos geográficos aplicada a la generalización de datos geoespaciales. Tesis Doctoral. México : s.n., 2007. (NCGIA, 1990) 43. NCGIA. 1990. National Center for Geographical Information and Analysis, vol.1. Santa Bárbara, Universidad de California. 1990. (Neches, et al., 1991) 44. Neches, R., et al. 1991. Enabling Technology for Knowledge Sharing. Magazine, vol 12, number 3,1991. 1991. (Protégé, 2008) Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 132 45. Protégé. 2008. The Protégé Ontology Editor and Knowledge Acquisition System. URL: http//protege.stanford.edu. 2008. (RDQL, 2007) 46. RDQL. 2007. RDQL Query http://www.hpl.hp.com/semweb/rdql.htm. 2007. de HP. URL: (Resnick, et al., 1994) 47. Resnick, P., et al. 1994. An open architecture for collaborative filtering of netnews. In Proceedings of the Computer Supported Collaborative Work Conference. 1994. (Resnik, 1993) 48. Resnik, P. 1993. Selection and Information: A Class-Based Approach to Lexical Relationships, Ph.D Dissertation. 1993. (Rodríguez Pascual, 1993) 49. Rodríguez Pascual, A. 1993. “Proposición de una definición profunda de SIG”. II Congreso de AESIG. Los Sistemas de Información Geográfica en el umbral del S XXI. Madrid. 1993. pp. 127-143. (RQL, 2007) 50. RQL. 2007. "The RDD Query Language" URL: http://139.91.183.30:9090/RDF/RQL/ Forth Institute of Computer Sciences. 2007. (Rubenstein, et al., 1965) 51. Rubenstein, H. and Goodenough, J. B. 1965. Contextual Correlates of Synonymy. Communications of the ACM, 8(10). 1965. pp. 627-663. (Rusbergen, 1979) 52. Rusbergen, C. J. 1979. Information Retrieval. 2nd ed., Butterworths. London : s.n., 1979. (Rzedowsky, 1978) 53. Rzedowsky, J. 1978. Vegetación de México. Limusa, México. 1978. (Salton, et al., 1998) 54. Salton, G. and Buckley, C. 1998. Term-weighting approaches in automatic text retrieval. Inf. Process. Manage, 24(5). 1998. pp. 513-523. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 133 (Scott, et al., 1998) 55. Scott, S. and Matwin, S. 1998. Text classification using WordNet hypernyms. In Proceedings of the Use of WordNet in Natural Language Processing Systems. Association for Computational Linguistics. 1998. (SPARQL, 2007) 56. SPARQL. 2007. SPARQL W3C. URL: http://www.w3.org/TR/rdf-sparql-query/. 2007. (Strehl, et al., 2000) 57. Strehl, A., Ghosh, J. and Mooney, R. 2000. Impact of similarity measures on Web-page clustering. In Proceedings of the AAAI Workshop on AI for Web Search. 2000. (Studer, et al., 1998) 58. Studer, S., Benjamins, R. and Fensel, D. 1998. “Knowledge Engineering: Principles and Methosds,” Data and Knowledge Engineering, 25. 1998. pp. 167197. (Swartout, et al., 1997) 59. Swartout, B., Patil, R. and Knight, K. 1997. Toward distributed use of largescale ontologies. In AAAI-97 Spring Symposium Series on Ontological Engineering. 1997. (Tegels, 2008) 60. Tegels. 2008. "Model Your Data Hierarchies With SQL Server 2008". URL: http://msdn.microsoft.com/en-us/magazine/cc794278.aspx. 2008. (Torres, et al., 2008) 61. Torres M. and Levachkine S. 2008. “Towards a methodology to conceptualize the geographic domain”, In A. Gelbukh & E.F. Morales (Eds.), Lecture Notes in Artificial Intelligence, Vol. 5317, Springer-Verlag, Berlin Heidelberg, 2008, pp. 111-122. (Uschold, et al., 1996) 62. Uschold, M. and Grüninge, M. 1996. Ontologies: Principles, methods and applications. Knowledge Engineering Review, 11(2). 1996. (Van Heijst, et al., 1996) Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 134 63. Van Heijst, G., Schereiber, A. T. and Wielinga, B. J. 1996. "Using Explicit Ontologies in KBS Development" en International Journal of Human and Computer Studies. 1996. (W3C, 2001) 64. W3C. 2001. URL: http://www.w3.org/2001/sw/. 2001. (Wikipedia, 2008) 65. Wikipedia. 2008. Enciclopedia libre. URL: http://es.wikipedia.org/. 2008. Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías 135