TITULO Consultando Bases de Datos HeterogŽneas Utilizando una Ontolog’a y Funciones de Similitud. TESISTA GutiŽrrez Valenzuela, Mariella Andrea, R.U.T 10.420.482-1 marielag@ucsc.cl PROFESOR GUêA Rodr’guez Tastets, Mar’a Andrea, Departamento de Ingenier’a Inform‡tica y Ciencias de la Computaci—n, Universidad de Concepci—n RESUMEN La idea de este proyecto surge de la inquietud de c—mo acceder a bases de datos heterogŽneas a travŽs de una herramienta computacional que haga transparente para el usuario la problem‡tica del acceso y la recuperaci—n. Muchos estudios han analizado las diferentes formas de c—mo recuperar informaci—n desde bases de datos heterogŽneas, los cuales, en su mayor’a, han presentado propuestas a un nivel conceptual enfatizando el uso de esquemas compartidos o integrados que son generados manual o semi-autom‡ticamente. A diferencias de estos trabajos previos, esta Tesis presenta un enfoque que no requiere de un nivel de acuerdo entre los distintos repositorios que van a compartir sus datos. La soluci—n propuesta se basa en un mŽtodo, que haciendo uso de una ontolog’a para describir los conceptos asociados a los tŽrminos usados en una consulta, determina din‡micamente los repositorios y los datos que pueden satisfacen la consulta. Los componentes fundamentales que conforman la soluci—n son: (1) una ontolog’a del usuario que permite expandir una consulta, (2) metadatos que describen los datos almacenados en cada repositorio y (3) las funciones de similitud que comparan conceptos dentro de una ontolog’a y que encuentran entidades similares a estos conceptos dentro de los repositorios de datos. Este trabajo se enmarca dentro de un enfoque basado en mediadores. El nivel de mediaci—n est‡ dado por funciones que permiten traducir la consulta del usuario a entidades definidas en la ontolog’a del usuario y luego, traducir estas entidades a los diferentes esquemas de bases de datos. No s—lo se ha querido limitar las consultas a encontrar entidades, se desea llegar a un nivel de detalle que permite expresar consultas con restricciones basadas en valores de atributos que dichas entidades deben satisfacer. Este trabajo propone una arquitectura de soluci—n la cual ser‡ evaluada en forma experimental a travŽs de la implementaci—n de una aplicaci—n Web referida al dominio de informaci—n forestal. La informaci—n forestal aqu’ utilizada corresponde a los datos alfanumŽricos, dejando para un trabajo futuro las consultas referidas a atributos geomŽtricos de las entidades. 1 FORMULACION DEL PROYECTO Los datos se han convertido en un recurso tan importante como las materias primas e insumos para las empresas e instituciones. No es posible realizar un buen proceso de documentaci—n o toma de decisiones si no se cuenta con las tecnolog’as inform‡ticas que permitan acceder a numerosas fuentes de informaci—n. El problema est‡ en que muchas veces lo que necesitamos est‡ en fuentes, formatos y hasta en idiomas distintos y resulta muy ÒcostosoÓ el recuperarlo para posteriormente realizar el procesamiento. La recuperaci—n de informaci—n desde bases de datos heterogŽneas ha adquirido aœn mayor relevancia debido al continuo mejoramiento de la interconexi—n entre sistemas computaciones independientes (Internet) que hacen ahora posible la reutilizaci—n y compartici—n de datos [1, 2]. Presentaci—n del problema En el contexto de bases de datos heterogŽneas, se distinguen tres tipos de heterogeneidad: sem‡ntica, esquem‡tica y sint‡ctica. En general la heterogeneidad sem‡ntica se refiere a las diferencias en la informaci—n del contexto, la esquem‡tica a diferencias en las abstracciones hechas en cuanto a la definici—n de clases, atributos y sus relaciones y, la sint‡ctica, se refiere a las diferencias en la representaci—n de los datos. Estos aspectos tienen directa relaci—n con el proceso de creaci—n de una base de datos [3]. Un repositorio de datos est‡ formado por un conjunto de datos referidos a un Dominio particular o Universo de Discurso (UOD), almacenados en una determinada estructura. Las bases de datos geogr‡ficas, en particular, se obtienen de abstracciones del mundo real, existiendo tres niveles de abstracci—n: el sem‡ntico, el esquem‡tico y el sint‡ctico. Primero, a nivel sem‡ntico lo que se hace es categorizar o caracterizar los elementos del mundo real de manera de diferenciar aquellos que presentan caracter’sticas similares. Luego, a nivel esquem‡tico las categor’as, identificadas a nivel sem‡ntico, son llevadas a clases, atributos y relaciones entre clases, que conforman el esquema de la base de datos. Por œltimo, a nivel sint‡ctico se define la representaci—n geomŽtrica de los datos, as’ como tambiŽn las relaciones topol—gicas de los objetos espaciales [3, 4]. Para clarificar el problema a consultar bases de datos heterogŽneas, considere el ejemplo de la Figura 1 con dos repositorios de datos referidos al ‡mbito forestal usando un esquema relacional: un sistema de Control de Incendios Forestales (Figura 1a) y un sistema de Manejo Forestal (Figura 1b), es decir, un sistema para el control de las faenas forestales.. Predio (1,n) Plantaci—n (0,n) (0,n) Protecci— n tiene Fundo (1,n) Otro Uso (1,n) (1,n) Rodal Otro Uso (b) (1,1) Especie (a) Figura 1: Repositorios de datos HeterogŽneos. (a) Control de Incendios Forestales; (b) Manejo Forestal. El repositorio de datos de Control de Incendios considera un objeto principal o clase llamado predio forestal, el cual es dividido en tres objetos o subclases: plantaci—n, ‡rea de protecci—n y otro uso. La plantaci—n tiene un atributo que es la especie plantada que se representa por una cadena de caracteres (string). Por otro lado, el repositorio de Manejo Forestal tiene un objeto principal que se identifica como fundo, el cual es dividido en dos subclases u objetos: rodal y otro uso. Del mismo modo, el rodal tiene un atributo que es la especie que hace referencia a un c—digo identificando una instancia del objeto tipo de especie dentro del repositorio. En este ejemplo se hacen evidentes dos de los tres tipos de heterogeneidades entre los repositorios de datos. Si se analiza la sem‡ntica, se puede ver que los objetos que se identifican en estos repositorios de datos son 2 diferentes, da la idea de un lenguaje diferente, sin embargo un predio forestal puede ser equivalente a un f u n d o y una p la n ta c i— n a un rodal. Luego, si consideramos solucionado el problema sem‡ntico y efectivamente hablar de predio forestal y fundo es lo mismo, se ve que a nivel esquem‡tico existen tambiŽn grandes diferencias, la jerarqu’a de clases no es la misma y atributos iguales (especie) tienen dominios de definici—n distintos, es decir, los elementos que se identifican en uno y otro repositorio de datos son diferentes. Usando estas dos bases de datos, los usuarios podr’an querer realizar las siguientes preguntas: • • Usuario de la base (a) sobre la base (b): ÀCu‡ntas hect‡reas de plantaci—n de pino existen? Usuario de la base (b) sobre la base (a): ÀDel total de superficie de fundos con incendios el a–o 2003, cu‡ntas hect‡reas correspondieron a rodales? Es evidente que al no existir un mecanismo que permita solucionar los problemas de heterogeneidad sem‡ntica y esquem‡tica de estas bases de datos, los usuarios no encontrar‡n respuestas acertadas a sus interrogantes. Esto es, justamente, lo que se quiere evitar al abordar este problema. Antecedentes y Trabajos Relacionados Existen muchas investigaciones que han tratado el problema del acceso de informaci—n desde bases de datos heterogŽneas. En general, estas propuestas han abordado el problema desde dos aspectos: la heterogeneidad esquem‡tica y la sem‡ntica. Cada uno de los trabajos estudiados propone una forma de soluci—n que tiene un mayor o menor grado de participaci—n del usuario final. Las soluciones a nivel esquem‡tico, van desde soluciones donde el usuario debe conocer la estructura y lenguaje de las bases de datos que quiere acceder, lo que implica un alto grado de conocimiento y participaci—n de su parte, pasando por aquellas soluciones que proponen la elaboraci—n de esquemas comunes entre diferentes esquemas de bases de datos fuentes o bien la utilizaci—n de un mediador de contexto para traducir las consultas del usuario, hasta aquellas soluciones mixtas en las cuales se combinan estructuras de lenguajes y esquemas comunes [3, 5]. A nivel de manejo de heterogeneidad sem‡ntica, la recuperaci—n basada en ontolog’as, a veces llamada recuperaci—n de conocimiento, ha sido considerada por muchos autores para abordar este problema. En el contexto de este trabajo, una ontolog’a es un artefacto de ingenier’a, conformado por un vocabulario espec’fico utilizado para describir una cierta realidad, m‡s un conjunto de supuestos referentes al significado de las palabras del vocabulario [6]. Heterogeneidad Esquem‡tica Mœltiples arquitecturas han sido propuestas que abordan el problema de heterogeneidad esquem‡tica entre bases de datos [3]. Un resumen de estas alternativas de soluci—n es el siguiente: 3 a) Sin Esquema Compartido ni Mediador de Contexto USER TambiŽn conocido como Sistema de Bases de Datos Mœltiples. En este enfoque, los usuarios formulan las preguntas utilizando el esquema exportado del proveedor de la informaci—n. Un esquema exportado es un subconjunto de una base de datos, que los usuarios desean compartir de comœn acuerdo. Los usuarios tienen la responsabilidad de resolver los conflictos entre los esquemas locales y el exportado [7]. Export Schema Export Schema shareable data (schema 1) shareable data (schema 2) DB1 DB2 Context 1 Context 2 Figura 2: Sin Esquema Compartido ni Mediador de Contexto. b) Con Esquema Compartido y sin Mediador de Contexto USER En este enfoque, los dise–adores de las bases de datos tratan de solucionar los conflictos entre todos los componente, dise–ando un esquema asociado (federated schema), tambiŽn llamado esquema unificado o global. Este esquema se mantiene en un servidor (federated server), el cual contiene un directorio con todas las fuentes de datos. Los usuarios realizan las consultas bas‡ndose en el esquema unificado [8]. Federated O. O. Schema Export Schema Export Schema shareable data (schema 1) shareable data (schema 2) DB1 DB2 Context 1 Context 2 Figura 3: Con Esquema Compartido y sin Mediador de Contexto. c) Sin Esquema Compartido y con Mediador de Contexto En este enfoque, el usuario realiza las consultas en su propio vocabulario, sin necesidad de identificar los conflictos. El mediador de contextos (context mediator) maneja las diferencias entre el contexto del usuario y el de la fuente de informaci—n. El mediador compara el contexto del que hace la pregunta con el contexto del receptor y reformula la consulta de manera que el receptor la entienda. Esto requiere que el emisor y el receptor hayan generado un mapeo entre sus propios contextos y el contexto mediador [9]. Proxy-context mediation USER Export Schema Export Schema shareable data (schema 1) shareable data (schema 2) DB1 DB2 Context 1 Context 2 Figura 4: Sin Esquema Compartido y con Mediador de Contexto. 4 d) Con Esquema Compartido y Mediador de Contexto Este enfoque adopta una combinaci—n del esquema unificado y el mediador de contexto para resolver los problemas esquem‡ticos y sem‡nticos. Los usuarios pueden realizar sus consultas en su propio vocabulario, las que luego son transformadas a un contexto compartido y luego transferidas hacia el esquema exportado de la fuente de informaci—n. El conjunto de datos es recibido transform‡ndolo en el esquema unificado y luego al esquema exportado del usuario. El mediador de contexto es utilizado para realizar un mapeo entre los esquemas involucrados [3]. Proxy-context mediation Federated O. O. Schema Context definition Export Schema shareable data (schema 1) Context definition Export Schema USER shareable data (schema 2) DB1 DB2 Context 1 Context 2 Figura 5: Con Esquema Compartido y Mediador de Contexto Heterogeneidad Sem‡ntica A nivel de manejo de heterogeneidad sem‡ntica, la recuperaci—n basada en ontolog’as, a veces llamada recuperaci—n de conocimiento, usa primitivas de una ontolog’a para especificar consultas y descripci—n de recursos. Estas primitivas con gran contenido sem‡ntico pueden lograr una mejor correspondencia entre la consulta y los datos almacenados. En los sistemas de informaci—n actuales que se basan en ontolog’as, la correspondencia sem‡ntica ha significado el acuerdo en el vocabulario usado por varios usuarios. As’, impl’citamente, se asume que los usuarios comparten una misma conceptualizaci—n, la que corresponde a la intersecci—n de cada una de las conceptualizaciones individuales [6]. A continuaci—n se presentan sistemas basados en ontolog’as para la recuperaci—n o integraci—n de informaci—n. a) OBSERVER El dise–o de OBSERVER [5, 10-12] refleja la necesidad de crear un sistema que sea altamente independiente del nœmero de repositorio y ontolog’as y que sea capaz de manejar distintos tipos de heterogeneidades a nivel estructural, funcional y sem‡ntico. Cada nodo incluye capacidades de procesamiento de consultas y adicionalmente, repositorios de datos accesibles por el resto de los nodos a travŽs de ontolog’as que las describen. Para tratar de resolver el problema del vocabulario, se tiene un repositorio compartido que contiene las relaciones inter-ontol—gicas. Este repositorio llamado Interontology Relationship Manager (IRM) puede ser visto como un cat‡logo de la sem‡ntica del sistema. Esta arquitectura se puede dividir en tres funciones: procesamiento de la consulta, servidor de ontolog’a y el administrador de relaciones entre ontolog’as (IRM) (Figura 6). 5 IRM Data Repositories Mappings Interontologies Terminological Relationship Ontology server IRM Node Ontologies Ontologies Ontologies Query processor User Query User Node Component Node Component Node Mappings Ontology server ooo Query processor Mappings Ontology server Query processor Ontologies Ontologies Ontologie Data Repositories Ontologies Ontologies Ontologie Data Repositories Figura 6: Arquitectura de OBSERVER. b) Interoperable Spatial Information System (ISIS) Otra alternativa de soluci—n lo presenta a travŽs del sistema Interoperable Spatial Information System (ISIS) [13], basada en la soluci—n din‡mica de conflictos de sem‡ntica usando tŽcnicas de multiagentes. ISIS no se basa en metodolog’as est‡ticas de integraci—n en las cuales los esquemas exportados son integrados para resolver conflictos de sem‡ntica, sino que en una soluci—n en la cual los conflictos de sem‡ntica pueden ser resueltos din‡micamente usando tŽcnicas multiagentes, las cuales dependen de un conjunto de contextos para llevar a cabo correlaciones sem‡nticas o concordancias entre varios sistemas. La arquitectura funcional de ISIS consiste de dos niveles principales: wrapper level y cooperation level. El wrapper level consiste de la informaci—n de los proveedores, la cual puede usar diferentes modelos de datos espaciales. Cada repositorio est‡ asociado a un wrapper cuya tarea principal es facilitar el acceso externo al repositorio proveyendo un esquema exportado descrito con AMUN. El cooperation level provee servicios y funcionalidades para facilitar resoluciones sem‡nticas y el procesamiento de consultas. Estos servicios involucran los aspectos din‡micos del sistema cooperativo, que incluye el conocer la fuente de informaci—n, la resoluci—n de conflictos y la ejecuci—n de la consulta. Los principales componentes de ISIS son una ontolog’a comœn, los esquemas cooperativos y las trasnformaciones de contexto (Figura 7). Una ontolog’a comœn (common Ontology) es utilizada para capturar la sem‡ntica de un dominio de aplicaci—n y definir un marco sem‡ntico que entrega descripciones concisas de la informaci—n sem‡ntica que son independientes de las representaciones sint‡cticas de los datos locales. Los esquemas cooperativos (cooperative schemas) est‡n compuestos de clases cooperativas que representan una interpretaci—n de la sem‡ntica local de una clase de mediaci—n, definiendo diferentes facetas o conceptos ontol—gicos. Finalemente, las transformaciones de contexto (context tranformations) son utilizadas para relacionar contextos cooperativos (es decir, los objetos ontol—gicos aceptados por un sitio) con los contextos locales de las fuentes de informaci—n. 6 Common Ontology Cooperation Level Mediation Object Hierarchy Common Context Ontological Commitment Cooperation Schema Cooperation Schema Cooperative Context Wrapper Level Context Transformations Cooperation Objects Hierarchy wrapper schema wrapper schema Local Context Local Objects Local GIS 1 Local GIS 2 Figura 7: Arquitectura Funcional de ISIS. c) Ontology Driven Geographic Information Systems (ODGIS) Para el caso de la integraci—n de sistemas de informaci—n, se presenta una soluci—n llamada Ontology Driven Geographic Information Systems (ODGIS) [14]. La estructura de ODGIS incluye dos aspectos principales: la generaci—n del conocimiento y el uso del conocimiento. La generaci—n del conocimiento involucra la especificaci—n de las ontolog’as utilizando un editor de ontolog’as, la generaci—n de nuevas ontolog’as a partir de las existentes y la traducci—n de ontolog’as en componentes de software. El uso del conocimiento cuenta con los productos generados en la fase anterior: un conjunto de ontolog’as especificadas en un lenguaje formal y un conjunto de clases. Las ontolog’as est‡n disponibles para ser usadas por los usuarios finales y proveen metadata de la informaci—n disponible. Un conjunto de clases que contienen datos y operaciones constituyen la funcionalidad del sistema. Estas clases son enlazadas a las fuentes de informaci—n geogr‡fica a travŽs del uso de mediadores. En Figura 8 se presenta la arquitectura general de ODGIS. El Ontology Server tiene un rol central, pues provee la conexi—n entre todos los componentes principales. Es tambiŽn responsable de hacer que las ontolog’as estŽn disponibles para las aplicaciones. La conexi—n con las fuentes de informaci—n es realizada utilizando mediadores. Las ontolog’as est‡n representadas por dos tipos de estructuras: las especificaciones y las clases. Las especificaciones son hechas por expertos y almacenadas de acuerdo a sus caracter’sticas distintivas y a sus interrelaciones sem‡nticas. Las clases son el resultado de la traducci—n de las ontolog’as. Las fuentes de informaci—n pueden ser cualquier tipo de base de datos geogr‡ficas. El mediador tiene la funci—n de extraer las piezas de informaci—n necesarias para generar una instancia de una entidad de una ontolog’a. Applications Information Sources Mediators Ontology Server Ontologies Specifications Classes Figura 8: Arquitectura b‡sica de un ODGIS. 7 En los diferentes trabajos realizados previamente, se proponen arquitecturas conformadas principalmente por Esquemas Comunes (Federated Schemas), Mediadores de contexto (context Mediators), u Ontolog’as (Ontology). En la mayor’a de estas propuestas se supone un cierto nivel de acuerdo entre las distintas bases de datos de manera de definir un contexto comœn y realizar las consultas sobre los datos. Esta Tesis, por otro lado, toma como antecedentes las diferentes propuestas de soluci—n al problema de la heterogeneidad esquem‡tica, para generar un esquema de soluci—n en que no se requiera un nivel de acuerdo entre los diferentes repositorios de datos. Para ello, se toma como base el trabajo realizado en [15], que define un mŽtodo de recuperaci—n basado en ontolog’as y funciones de similitud, y lo extiende para incluir no s—lo consultas basadas en tipos o clases de entidades sino tambiŽn, definidas en tŽrminos de valores de atributos. Objetivo general Definir una arquitectura y modelo de recuperaci—n de informaci—n desde bases de datos heterogŽneos que considere recuperaci—n por tipo de entidad y por valores de atributos. Objetivos Espec’ficos 1. Crear un modelo de especificaci—n de consultas donde un usuario no necesite conocer estructuras o modelos conceptuales de los repositorios de datos heterogŽneos. 2. Definir un mecanismo de bœsqueda basado en la determinaci—n de similitudes entre entidades y atributos. 3. Implementar un prototipo del sistema que permita la recuperaci—n de informaci—n desde repositorios de datos heterogŽneos de forma transparente para el usuario. Con estos objetivos espec’ficos, esta Tesis no abarca el tratamiento de inconsistencias de los datos que son recuperados desde bases de datos heterogŽneas, lo cual es dejado como trabajo futuro. Hip—tesis A diferencia de una integraci—n de informaci—n desde repositorios de datos heterogŽneos donde las discrepancias (es decir, el opuesto a la similaridades) deben ser identificadas y resueltas, la recuperaci—n de informaci—n se basa en la identificaci—n de similaridades entre lo que se tiene almacenado y lo que se busca. La recuperaci—n de informaci—n puede ser vista, entonces, como un mecanismo de asociaciones (din‡micas o est‡ticas) entre entidades u ocurrencias similares entre repositorios de datos heterogŽneos. Al igual que en un modelamiento conceptual, las asociaciones pueden ser jerarquizadas y, siguiendo un enfoque top-dowm, la correspondencia entre entidades precede a la correspondencia entre ocurrencias o instancias. A nivel sem‡ntico, la Tesis considera que la correspondencia entre entidades de repositorios de datos heterogŽneos puede ser establecida al analizar la similitud de sus definiciones en tŽrminos de atributos y relaciones a vecinos conceptuales. La jerarquizaci—n en la bœsqueda de correspondencia permite no s—lo disminuir el dominio de bœsqueda sino que tambiŽn, asegurar la convergencia de estos procesos a los elementos m‡s similares entre s’. Esta Tesis plantea como propuesta de investigaci—n que el establecimiento de correspondencia entre instancias de entidades de repositorios de datos heterogŽneos puede ser establecido din‡micamente sin exigir una asociaci—n fijada a priori entre ellos. Se pretende responder a esta pregunta al definir e implementar un sistema de consultas a bases de datos heterogŽneas que permita comparar la recuperaci—n autom‡tica de los datos con una recuperaci—n guiada por el usuario. 8 METODOLOGIA Y PLAN DE TRABAJO La soluci—n propuesta se basa en un mŽtodo de recuperaci—n basado en ontolog’as. En este contexto, una Ontolog’a es un artefacto de ingenier’a conformado por un vocabulario espec’fico utilizado para describir una cierta realidad, m‡s un conjunto de supuestos referentes al significado de las palabras del vocabulario [6]. Los componentes fundamentales que conforman esta soluci—n son una ontolog’a que permite expandir una consulta del usuario, los metadatos que describen el contenido de las bases de datos y las funciones de similitud que comparan conceptos dentro de una ontolog’a y encuentran entidades similares a estos conceptos dentro de los repositorios de datos. Considerando la ontolog’a como componente principal, se espera abarcar dos de las tres componentes sem‡ntica y esquem‡tica - de las bases de datos heterogŽneas. Para ello, se propone agrupar los distintos repositorios de datos en ÒDominios de Aplicaci—n Tem‡ticosÓ, considerando que en repositorios referidos a un mismo tema, la heterogeneidad sem‡ntica y esquem‡tica ser‡ menor que en aquellos de contextos diferentes. Si un usuario desea consultar datos desde diferentes repositorios de datos, es previsible que Žstos tengan al menos en comœn el contexto, de manera tal de que las respuestas encontradas sean m‡s acertadas. Por ejemplo, no se espera que un usuario de datos forestales realice una pregunta del ‡mbito forestal sobre bases de datos forestales, agr’colas y urbanos. Lo m‡s probable es que s—lo encuentre respuestas posibles dentro del repositorio de datos forestal. Sin embargo, un usuario del ‡rea de transporte quiz‡ s’ encuentre informaci—n relevante, relativa a rutas de transporte tanto urbano como rural, puesto que este tipo de informaci—n es considerada tanto en bases de datos urbanas, como forestales y agr’colas. En este œltimo caso, el contexto estar’a dado por el tema transporte. En este proyecto se propone realizar esta definici—n del contexto del dominio que un usuario desea consultar a travŽs de una Ontolog’a (user ontology). Esta ontolog’a incluye los tŽrminos y sin—nimos de los tŽrminos, las interrelaciones sem‡nticas entre los tŽrminos, como tambiŽn los atributos y sin—nimos de los atributos, que los caracterizan. Al incorporar tŽrminos y atributos con sus sin—nimos se trata de disminuir los problemas que se presentan con el uso de tŽrminos que son sin—nimos o polysŽmicos. La Figura 9 presenta la arquitectura propuesta. En esta arquitectura se propone una Interfaz de Consulta de Usuario (UI) [16], la cual le permite al usuario ingresar uno o m‡s conceptos para conformar su consulta y entrega a Žste los resultados parciales y finales de su procesamiento. El componente principal de esta arquitectura es el Procesamiento de la Consulta (Query Processing), que es el que realiza el procesamiento completo de la consulta y para lo cual se compone de tres subprocesos: pre-procesamiento de la consulta (query pre-processing) (es decir, validaci—n, expansi—n, filtro), bœsqueda (query search in DB1..DBn), recuperaci—n (data retrieval from DB1..DBn). USER UI Query Pre-Processing User Ontology Query Search Schema DB1..n Data Retrieval Query Processing DB1..n Figura 9: Arquitectura de la Soluci—n. 9 En el pre-proceasamiento de la consulta (query pre-processing) los conceptos que ingresa el usuario son validados y expandidos en funci—n de las entidades de la Ontolog’a del Usuario (User Ontology). Adem‡s, es posible especificar m‡s detalladamente la consulta aplicando uno o m‡s filtros a cada una de las entidades, lo que se traduce en la incorporaci—n de atributos y valores de atributos a la consulta. Luego, en la bœsqueda (query search) las definiciones de estas entidades son ejecutadas sobre cada base de datos a travŽs de la comparaci—n entre las definiciones ontol—gicas y las definiciones obtenidas de los metadatos que describen el contenido de los repositorios de datos (Scheme DB1É.Scheme DBn). Este proceso genera consultas en los tŽrminos utilizados por cada uno de los repositorios de datos, las cuales son ordenadas de acuerdo a su grado de similitud con respecto de la consulta original. Finalmente, si el usuario desea efectivamente recuperar las instancias asociadas a una consulta, debe seleccionarla con lo cual se ejecutar‡ la funci—n de recuperaci—n y despliegue de resultados (Data Retrieval). La interacci—n entre los distintos elementos de la arquitectura est‡ dada por las funciones mediadoras (Figura 10). Una descripci—n de estas funciones es la siguiente: • Validar: Proporciona al usuario la posibilidad de incorporar conceptos a la consulta. Se valida que los conceptos que ingresa el usuario pertenezcan a la Ontolog’a. • Expandir: Proporciona al usuario la posibilidad de ÒexpandirÓ un tŽrmino v‡lido usando la ontolog’a, es decir, se generar‡ una lista de conceptos v‡lidos asociados al concepto expandido. • Filtrar: Permite al usuario desplegar la lista de atributos pertenecientes a un concepto ya validado. Adem‡s permite que el usuario seleccione los atributos que incorporar‡ en su consulta y los operadores de comparaci—n y valores que conformar‡n los criterios de bœsqueda. • Buscar: Proporciona al usuario la opci—n de gatillar la bœsqueda ingresada en tŽrminos de la ontolog’a a tŽrminos de cada uno de los esquemas. Entregar‡ al usuario una lista de repositorios en donde se encuentra lo que est‡ buscando, adem‡s de un porcentaje asociado a la similitud de lo buscado con lo encontrado. Asociado a cada resultado se encuentra una consulta en los tŽrminos del repositorio correspondiente. • Recuperar: Proporciona al usuario la posibilidad de ÒejecutarÓ los resultados de la bœsqueda en un repositorio espec’fico. Para ello ejecuta en el repositorio remoto la consulta del usuario y despliega en la interfaz del usuario (UI) las instancias que la satisfacen. 10 Query Pre-Processing Concepto User Validar Concepto Validado Entidades, atributos y valores Conceptos Relacionados Expandir Filtrar User Query Search User Ontology Query Search User Entidades, atributos y valores Buscar Scheme DB1 User Consulta en tŽrminos de DB1..n Scheme DBn DB1..n Result Recuperar (From DB1..n ) Query Search DB1 User Data Retrieve (Query to DB1..n ) Query PreProcessing Data Retrieval Consultas en tŽrminos de DB1..n Ordenadas User DBn Figura 10: Funciones Mediadoras de la Arquitectura de Soluci—n. En este trabajo no existe una correspondencia establecida entre entidades de un repositorio de datos y una ontolog’a. Este proceso de establecer asociaciones es dado por medio de funciones de similitud. Las funciones de similitud son utilizadas en dos de las funciones mediadoras. Primero en la funci—n expandir que permite encontrar entidades de la ontolog’a con algœn grado de similitud a la entidad o concepto que el usuario desea consultar. Esta expansi—n ampl’a las posibilidades de encontrar entidades similares a las solicitadas por un usuario flexibilizando la manera en que los usuarios deben especificar una consulta. Esto se hace m‡s importante en ambientes heterogŽneos donde es dif’cil que un usuario pueda a priori saber la forma en que debe especificar una entidad. Luego, cuando la consulta del usuario ya ha sido conformada en base a la ontolog’a, la funci—n buscar utiliza funciones de similitud para realizar una asociaci—n entre las entidades del repositorio de datos y la ontolog’a. La funci—n de similaridad ser‡ definida en base a los resultados previos que comparan conceptos espaciales [17]. Esta Tesis extiende y complementa el trabajo previo [15] al no se considera la definici—n de ontolog’as para cada una de los repositorios de datos, sino una œnica ontolog’a del usuario como base de especificaci—n de consultas y el uso de metadata o esquemas que describan el contenido de los repositorios de datos. De esta manera, se relaja el requerimiento de tener una completa descripci—n conceptual de las entidades almacenadas en cada uno de los repositorios, la cual es el caso ideal, pero que en la pr‡ctica es menos probable. Como consecuencia de esto, las funciones de similitud deben ser ajustadas para considerar s—lo la definici—n parcial de entidades en los metadata. 11 Para la definici—n de entidades espaciales dentro de la ontolog’a se ha utilizado como base la estructura propuesta en [18], de la cual se ha considerado s—lo un subconjunto de los elementos definidos. Las entidades son referenciadas por palabras o un conjunto de sin—nimos, los cuales son interrelacionados por sus hip—nimos o relaciones is_a y por sus mer—nimos o relaciones part_whole. De las relaciones part_whole se desprenden dos relaciones, part_of y whole_of, para distinguir cuando una entidad es parte de otra (ej. un rodal es parte de un fundo) o cuando es un todo (ej. un fundo es un conjunto de usos del suelo). Adem‡s, en esta definici—n de entidad se incorporan caracter’sticas distintivas definidas por atributos. A diferencia de la ontolog’a usada en [18], este trabajo no ha considerado en la definici—n de entidad ni las funciones (es decir, que hace o se hace con la entidad) ni las partes (es decir, las partes estructurales de una entidad), debido a que estos elementos no pueden ser mapeados directamente a componentes de una base de datos real, de la cual usualmente no se tiene un modelo conceptual. Por otro lado, se ha agregado a la definici—n de los atributos un nivel de detalle mayor. Adem‡s de considerar el nombre de un atributo, se ha incorporado su tipo y unidad de medida, lo que permitir‡ en la etapa de bœsqueda y recuperaci—n de informaci—n conformar consultas sobre los repositorios, que permitan extraer instancias de las bases de datos m‡s espec’ficas (ej. buscar todos los rodales cuya especie = "pino"). Para la especificaci—n de la ontolog’a propuesta se ha utilizado el lenguaje OWL [19, 20, 21], por ser un est‡ndar de definici—n de ontolog’as en la Web Sem‡ntica [22-24] desarrollado por el Web Ontology Working Group de la Organizaci—n W3C1. El lenguaje OWL nace del lenguaje DAML+OIL creado por un grupo de investigadores Americanos y Europeos que combinan sus propuestas DAML_ONT y OIL respectivamente. Adem‡s de ser un lenguaje est‡ndar, OWL tiene la ventaja de superar algunas de las limitaciones de sus lenguajes antecesores, como el RDF y RDFS, en los cuales no se pod’a especificar restricciones de cardinalidad, combinaciones booleanas de clases, disjoin de clases y algunas caracter’sticas de las propiedades (transitividad, unicidad, entre otras) [19]. En Anexo 1 se presenta una definici—n gr‡fica de la ontolog’a utilizando el modelo de grafos RDF Graph Model [19] y en Anexo 2 la especificaci—n en OWL. Para la evaluaci—n formal de la soluci—n propuesta, se propone la implementaci—n de una aplicaci—n Web referida al dominio de informaci—n Forestal [16], para ello se requiere de la definici—n ontol—gica de este dominio y de al menos dos repositorios de datos experimentales. En la fase de prueba de esta aplicaci—n se deber‡ poder determinar con quŽ precisi—n se est‡n recuperando los datos, es decir, cu‡nta de la informaci—n relevante es efectivamente recuperada. Se propone la confecci—n de un conjunto de consultas de prueba, en distintos niveles de complejidad, de manera de ejecutar cada una de estas consultas directamente en los repositorios de datos experimentales, previa traducci—n de la consulta al lenguaje espec’fico de cada uno. Esto nos dar‡ como resultado un conjunto de soluci—n exacto para cada consulta. Luego, se propone ejecutar cada una de las consultas, expresadas en tŽrminos de la ontolog’a, a travŽs de la aplicaci—n Web, para as’ obtener conjuntos de soluci—n que deber‡n ser comparados con la soluci—n exacta al problema. Un resumen de la metodolog’a propuesta es la siguiente: 1. 2. 3. 4. 5. 6. 7. 8. 9. 1 Realizar un Estado del Arte de las ‡reas de acceso y recuperaci—n de datos desde Repositorios de Datos HeterogŽneos. Dise–ar y Definir formalmente los componentes de la Arquitectura de soluci—n del problema Dise–ar e implementar una Ontolog’a de prueba referida al dominio Forestal. Analizar y modificar la funci—n de similitud propuesta en [17] para extenderla al nivel de instancias. Dise–ar e implementar las funciones Mediadoras de la Arquitectura de soluci—n. Implementaci—n y prueba del prototipo de soluci—n propuesta. Definir e implementar un modelo de recuperaci—n que permita comparar la recuperaci—n autom‡tica de los datos con una recuperaci—n guiada por el usuario. Evaluaci—n experimental del prototipo de soluci—n propuesta Conclusiones y discusiones futuras http://www.w3.org/2001/sw/WebOnt/ 12 PLAN DE TRABAJO 1. Recopilaci—n bibliogr‡fica 2. Dise–o de los componentes de la Arquitectura 3. Dise–o e implementaci—n de la Ontolog’a de prueba 4. Implementaci—n de las funciones mediadoras de la Arquitectura 5. Definir e implementar un modelo de recuperaci—n 6. Evaluaci—n experimental de los resultados 7. Documentaci—n Agosto Actividad Junio Julio Agosto Sep Oct Nov 1. 2. 3. 4. 5. 6. 7. Dic Enero RECURSOS Para el desarrollo de este proyecto de Tesis se cuenta con los siguientes recursos: 1. Un Servidor (S.O. Linux) con motor de bases de datos Oracle v9i. 2. Dos repositorios de bases de datos espaciales del ‡mbito Forestal, proporcionadas por las empresas Forestal B’o B’o S.A. y Forestal Mininco S.A. Se piensa que estos recursos son suficientes para el desarrollo del proyecto puesto que para la implementaci—n del prototipo al menos se requieren dos bases de datos heterogŽneas. El que ellas se encuentren f’sicamente en el mismo equipo (servidor), no invalida las pruebas puesto que el usuario podr‡ realizar las consultas a los datos desde cualquier computador, a travŽs de Internet, s—lo teniendo una cuenta de usuario y password de acceso al sistema, siendo transparente el lugar f’sico en donde se encuentren los datos. TRABAJO ADELANTADO Un adelanto a este proyecto lo constituye la Memoria de T’tulo "Interfaz de Consultas a Bases de Datos HeterogŽneas" [19]. Este trabajo tuvo como objetivo general el crear la interfaz Web del prototipo que se pretende implementar en esta Tesis. En esta Memoria de T’tulo ya se consideran la Arquitectura de soluci—n propuesta en este proyecto, as’ como tambiŽn la estructura de definici—n de la Ontolog’a y funciones mediadoras del sistema. Espec’ficamente, lo que se presenta en esta memoria de t’tulo, es la componente UI de la Arquitectura de soluci—n presentada (Figura 9). 13 BIBLIOGRAFIA [1] Meller, P.: Distintas visiones sobre Tecnolog’as de Informaci—n (TI) e Internet en Chile. Revista Perspectivas (Departamento de Ingenier’a Industrial, Universidad de Chile), vol. 5, N¼ 2, 2002, pp. 131142. [2] Sheth, A.: Changing Focus on Interoperability in Information Systems: From System, Syntax, Structure to Semantics. In: M. Goodchild, M. Egenhofer, R. Fegeas, y C. Kottman (eds.), Interoperating Geographic Information Systems. 1999, pp. 5-30, Kluwer Academic Publishers, Norwell, MA. [3] Bishr, Y.: Semantic Aspects of Interoperable GIS. Ph.D. Thesis, Wageningen Agricultural University and ITC, The Netherlands, 1997. [4] De Miguel, A., Piattini, M., Marcos, E.Ê: Dise–o de Bases de Datos Relacionales. ALFAOMEGA GRUPO EDITOR S.A. DE C. V., 2000. [5] Mena, E., Illarramendi, A.: Ontology-Based Query Processing for Global Informaci—n Systems. Kluwer Academic Publishers, Norwell, Massachusetts, USA, 2001. [6] Guarino, N.: Semantic Matching: Formal Ontological Distinctions for Information Organization Extraction, and Integration. M. Pazienza (ed.), Information Extraction: A Multidisciplinary Approach to an Engineering Information Technology, Francasi, Italy, Springer Verlag, 1997, pp. 139-170. [7] March, T.S.: ACM Computer Surveys, Special Issue on Heterogeneous Databases.Vol 22, N¼ 3, September 1990. ACM Press. [8] Landers, T., Rosenberg, R.: An Overview of Multidatabase. Proceedings of the Ò2nd International Symposium for Distributed Databases, 1992, pp. 153-183. [9] Collet, C., Huhns, M.N., Shen, W. M.: Resorce Integration Using a Large Knowledge Base in Carnot. IEEE Computer, Vol. 24 N¼ 12, December 1991. [10] Mena, E., Kashyap, V., Sheth, A.: OBSERVER: An Approach for Query Processing in Global Information Systems Based on Interoperation Across Pre-Existing Ontologies. International Conference on Cooperative Information Systems (CoopIS'96), Brussel, Belgium,pp. 14-25, IEEE Computer Society Press, 1996. [11] Mena, E., Illarramendi, A., Kashyap, V., Sheth, A.: OBSERVER: An Approach for Query Processing In Global Information Systems Based on Interoperation across Pre-existing Ontologies. PhD Thesis, Universidad de Zaragoza, Espa–a. 1998. [12] Mena, E., Illarramendi, A., Kashyap, V., Sheth, A.: OBSERVER: An Approach for Query Processing In Global Information Systems Based on Interoperation across Pre-existing Ontologies. Distributed and Parallel Databases 8, 2000, 223-271 [13] Lecrercq, E., Benslimane, D., YŽtongnon, K.: Semantic Mediation for Cooperative Spatial Information Systems: The AMUN Data Model, 1998. [14] Fonseca, F., Egenhofer, M., Agouris, P., Camara,G.: Using Ontologies for Integrated Geographic Information Systems Transaction in GIS 6(3), 2002. [15] Rodr’guez, A., Varas, M.: A Knowledge-Based Approach to Querying Heterogeneous Databases. M. Hacid, Z. R‡s, D. Zighed and Y. Kodratoff (eds.), Methodologies for Intelligent Systems 2002, Lyon, France. 14 [16] Saavedra, R.: Interfaz de Consultas a Bases de Datos HeterogŽneas. Informe de Memoria de T’tulo Para optar al T’tulo de Ingeniero Civil Inform‡tico. Departamento de Ingenier’a Inform‡tica y Ciencias de la Computaci—n, Universidad de Concepci—n. Chile. 2003. [17] Rodr’guez, M., Egenhofer, M.: Comparing Geospatial Entity Classes: An Asymmetric and ContextDependent Similarity Measure. International Journal of Geographic Information Science. (in press) [18] Rodr’guez, A, Egenhofer, M. : Determining Semantic Similarity Among Entity Classes from different Ontologies, IEEE Transactions on Knowledge and Data Engineering. 15(2): 442-456, 2003. [19] Antoniou, G., Van Harmelen, F.: Web Ontology Language: OWL. Working Draft, 2002. [20] Dean, M. et al: OWL Web Ontology Language 1.0 Reference. W3C Working Draft, 29 July 2002. [21] Smith, M. et al: OWL Web Ontology Language 1.0 Guide. W3C Working Draft, 04 November 2002. [22] Berners-Lee, Hendle, J., Lassila: The Semantic Web, Scientific American 184(4): 34-43, 2001. [23] Fensel, D., Musen, M: The Semantic Web: A New Brain for Humanity, IEEE Intelligent Systems 16(1):24-25, 2001. [24] Horrocks, I., Patel-Schneider, P.: Three Theses of Representation in The Semantic Web. Proceeding of the Twelfth International Conference on World Wide Web. Budapest, Hungary, 2003, pp. 39-47. 15 ANEXO 1: Ontolog’a en el modelo de grafo RDF. is_a part_of whole_of Entity_class xsd;nonNegativeInteger entity_id has_Attributes entity_description attribute_id has_syns_entity_name attribute_unit Xsd;nonNegative Integer xsd;nonNegativeInteger Xsd;string syns_entity_name Attribute_class has_syns_entity_name entity_name syns_attribute_ name has_type attribute_name Xsd;string Xsd;string Attribute_type One_of • Caracter • Numerico • Fecha 16 ANEXO 2: Ontolog’a en OWL. <owl:Class rdf:ID=ÓEntity_classÓ> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#entity_id"/> <owl:Cardinality>1</owl:Cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#has_syns_entity_name"/> <owl:Cardinality>1</owl:Cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#entity_description"/> <owl:Cardinality>1</owl:Cardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#has_Attributes"/> <owl:minCardinality>1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#is_a"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#part_of"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#whole_of"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl:Class> <owl:ObjectProperty rdf:ID=Óis_aÓ/> <rdfs:domain rdf:resourse=Ó#Entity_classÓ/> <rdfs:range rdf:resourse=Ó#Entity_classÓ/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID=Ópart_ofÓ/> <rdfs:domain rdf:resourse=Ó#Entity_classÓ/> 17 <rdfs:range rdf:resourse=Ó#Entity_classÓ/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID=Ówhole_ofÓ/> <rdfs:domain rdf:resourse=Ó#Entity_classÓ/> <rdfs:range rdf:resourse=Ó#Entity_classÓ/> <owl:inverseOf rdf:resourse=Ó#part_ofÓ/> </owl:ObjectProperty> <owl:ObjectProperty rdf:ID=Óhas_AttributesÓ/> <rdfs:domain rdf:resourse=Ó#Entity_classÓ/> <rdfs:range rdf:resourse=Ó#Attribute_classÓ/> </owl:ObjectProperty> <owl:DatatypeProperty rdf:ID=Óentity_idÓ> <rdfs:domain rdf:resource=Ó#Entity_classÓ/> <rdfs:range rdf:resource=Ó&xsd;nonNegativeIntegerÓ/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID=Óentity_descriptionÓ> <rdfs:domain rdf:resource=Ó#Entity_classÓ/> <rdfs:range rdf:resource=Ó&xsd;stringÓ/> </owl:DatatypeProperty> <owl:Class rdf:ID=Ósyns_entity_nameÓ> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#entity_name"/> <owl:minCardinality>1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl_class> <owl:DatatypeProperty rdf:ID=Óentity_nameÓ> <rdfs:domain rdf:resource=Ó#syns_entity_nameÓ/> <rdfs:range rdf:resource=Ó&xsd;stringÓ/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:ID="has_syns_entity_name"> <rdfs:domain rdf:resource="#Entity_class"/> <rdfs:range rdf:resource="#syns_entity_name"/> </owl:ObjectProperty> <owl:Class rdf:ID="Attribute_class"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#attribute_id"/> <owl:maxCardinality>1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#attribute_type"/> <owl:maxCardinality>1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> 18 <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#attribute_unit"/> <owl:maxCardinality>1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#has_syns_attribute_name"/> <owl:Cardinality>1</owl:Cardinality> </owl:Restriction> </rdfs:subClassOf> </owl_class> <owl:DatatypeProperty rdf:ID=Óattribute_idÓ> <rdfs:domain rdf:resource=Ó#Attribute_classÓ/> <rdfs:range rdf:resource=Ó&xsd;integerÓ/> </owl:DatatypeProperty> <owl:DatatypeProperty rdf:ID=Óattribute_unitÓ> <rdfs:domain rdf:resource=Ó#Attribute_classÓ/> <rdfs:range rdf:resource=Ó&xsd;integerÓ/> </owl:DatatypeProperty> <owl:Class rdf:ID="attribute_type"> <owl:oneOf rdf:parseType="Collection"> < attribute_type rdf:about="Caracter"/> < attribute_type rdf:about="Numerico"/> < attribute_type rdf:about="Fecha"/> </owl:oneOf> </owl:Class> <owl:ObjectProperty rdf:ID="has_type"> <rdfs:domain rdf:resource="#Attribute_class"/> <rdfs:range rdf:resource="#attribute_type"/> </owl:ObjectProperty> <owl:Class rdf:ID=Ósyns_attribute_nameÓ> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#attribute_name"/> <owl:minCardinality>1</owl:minCardinality> </owl:Restriction> </rdfs:subClassOf> </owl_class> <owl:DatatypeProperty rdf:ID=Óattribute_nameÓ> <rdfs:domain rdf:resource=Ó#syns_attribute_nameÓ/> <rdfs:range rdf:resource=Ó&xsd;stringÓ/> </owl:DatatypeProperty> <owl:ObjectProperty rdf:ID="has_syns_attribute_name"> <rdfs:domain rdf:resource="#Attribute_class"/> <rdfs:range rdf:resource="#syns_attribute_name"/> </owl:ObjectProperty> 19