INSTITUTO POLITÉCNICO NACIONAL “BÚSQUEDA Y

Anuncio
 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 ∪iei = 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úsqueda y Ponderación de Información Geográ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%"> </td>
<td width="88%"><p>
<%busq.connect();%>
</p>
<h1 align="center"> </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á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ó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%"> </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"> </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á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ó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%"> </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"> </p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
<% busq.disconnect(); %></td>
<td width="6%"><p> </p>
<p> </p>
<p> </p>
Búsqueda y ponderación de información contenida en bases de datos espaciales, utilizando jerarquías
122
<p> </p>
<p> </p>
<p> </p></td>
</tr>
</table></td>
</tr>
<tr>
<td> </td>
</tr>
</table>
<p> </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&v=2&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"> </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úsqueda
y
Ponderación de Información Geográfica </h1>
<h1 align="center" class="Estilo1">PIIG LAB </h1>
<h1 align="center" class="Estilo1"> </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> </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&v=2&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> </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"> 
<table width="100%" height="712" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="9%"> </td>
<td width="84%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="61"> </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>
 </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%"> </td>
</tr>
</table>
<center>
</center> </td>
</tr>
</table></td>
</tr>
<tr>
<td> </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
Descargar