• No se han encontrado resultados

Interfaz de definici´ on de reglas de correspondencia

9. Modelos de publicaci´ on y explotaci´ on de repositorios sem´ anti-

9.2. Publicaci´ on de repositorios sem´ anticos en LOD

10.1.1. Interfaz de definici´ on de reglas de correspondencia

Esta interfaz facilita la definici´on de reglas de correspondencia entre un repositorio relacional y una ontolog´ıa. Adem´as, utiliza el formato de docu- mento XML descrito en la secci´on 8.2.1 para almacenar de manera persistente las reglas definidas. As´ı, los documentos XML generados con esta herramien- ta pueden ser directamente utilizados por el proceso de integraci´on sem´antica sin tener que ser definidos manualmente.

Para la definici´on de las reglas de correspondencia se ha implementado una interfaz compuesta de varias ventanas. La Figura 10.2 representa la vista principal mediante la cual se gestionan las reglas de correspondencia defini- das. La barra de men´u permite cerrar la ventana, cargar un repositorio y una

Figura 10.2: Vista principal para la definici´on de reglas de correspondencia.

ontolog´ıa en la ventana principal, o importar ficheros de reglas de corres- pondencia previamente definidos. La parte izquierda de la ventana principal, identificada por la palabra“REPOSITORIES”, muestra los elementos que se podr´an asociar de los distintos repositorios sobre los que se van a definir las correspondencias. La parte superior de la ventana, identificada por“SOUR-

CE DB”, muestra las tablas del esquema del repositorio relacional cargado.

Los nodos del primer nivel del ´arbol est´an caracterizados con el prefijo“(T):”

que indica que se tratan de tablas relacionales, mientras que los dem´as no- dos del ´arbol est´an caracterizados por “(Col):” e indican las columnas. Por otro lado, la parte inferior de la ventana, identificada por “TARGET ON-

TOLOGY”, est´a asociada a la jerarqu´ıa de clases, propiedades y relaciones

de la ontolog´ıa. Los nodos con el prefijo “(C):” indican que son clases de la ontolog´ıa, los nodos con“(I):” est´an asociados a una instancia de la clase de su nivel superior, los nodos con “(D):” identifican a propiedades, los nodos

con“(O):” indican las relaciones, las cuales tienen como dominio las clases de

su nivel superior en el ´arbol, y por ´ultimo, los nodos con“(A):” representan posibles anotaciones definidas en la ontolog´ıa.

Para cargar un esquema de base de datos en el modelo se ha utilizado el

bot´on“Load DB”. La Figura 10.3 muestra los distintos par´ametros necesarios

Figura 10.3: Vista para la especificaci´on de los par´ametros de conexi´on al repositorio.

es un bot´on para seleccionar entre distintos sistemas gestores de bases de datos. Los tipos de gestores de repositorios soportados son MySQL [221], PostgreSQL [222] y Oracle [223]. El segundo par´ametro,“DB Description”, es una descripci´on textual del repositorio, que es opcional. El tercer par´ametro,

“DataBase host”, indica la URL del servidor de base de datos. El cuarto

par´ametro, “DataBase Name”, especifica el nombre del esquema de base de datos a importar. Por ´ultimo, el quinto y sexto par´ametros se corresponden con el usuario y contrase˜na para acceder al repositorio. Este usuario debe tener acceso de lectura al contenido y a los metadatos del esquema importado. Por otro lado, para cargar la ontolog´ıa con la que definir las correspon- dencias, se ha hecho uso del bot´on “Load Ontology”. Este bot´on abre una ventana para explorar los ficheros locales del sistema con el fin de seleccionar el fichero que contiene la definici´on de la ontolog´ıa. Los botones “Add” per- miten seleccionar los elementos de los ´arboles de los recursos de informaci´on. As´ı, el bot´on superior sirve para seleccionar los nodos del ´arbol del reposi- torio relacional y el bot´on inferior sirve para seleccionar los elementos de la ontolog´ıa.

Una vez se han cargado el repositorio relacional y la ontolog´ıa en la vista principal, se pueden definir las reglas de correspondencia. Se han descrito tres tipos diferentes de reglas de correspondencia,DB2Class,DB2PropyDB2Rel. De este modo, la interfaz implementa tres procedimientos para definir cada tipo de regla.

La parte derecha de la vista principal, identificada por la etiqueta“MAP-

PING”, contiene dos cuadros de texto, donde el cuadro superior contiene los

elementos temporales seleccionados de los recursos y el cuadro inferior mues- tra las reglas de correspondencia ya definidas. Con todo, el bot´on“Add Map-

ping” sirve para crear el tipo de regla de correspondencia adecuada seg´un los

elementos seleccionados de los recursos de informaci´on, y el bot´on“Remove

mapping” sirve para borrar las selecciones realizadas sobre la regla actual.

El bot´on“Delete Map” borra la regla de correspondencia seleccionada, y el

bot´on“Save Mapping” se utiliza para localizar d´onde se ha de almacenar el

documento XML con las definiciones de la reglas de correspondencia. A continuaci´on, se describiren los procedimientos para definir los diferen- tes tipos de reglas de correspondencia utilizando la interfaz implementada.

Procedimiento para la definici´on de reglas de correspondencia

DB2Class

Para definir las reglas tipoDB2Class, primero se debe seleccionar la clase correspondiente a la regla del ´arbol de elementos de la ontolog´ıa. Despu´es, se deben seleccionar las columnas de la tabla del repositorio que se correspon- der´an con la clave de la clase seleccionada. Una vez seleccionados los distintos elementos, se crea la regla autom´aticamente pulsando el bot´on “Add Map-

ping”. A continuaci´on, ´esta se inserta directamente en el cuadro de texto

con las definiciones de las dem´as reglas de correspondencia, de modo que el cuadro de texto superior vuele a estar en blanco para la siguiente definici´on. En la Figura 10.2, se muestra un ejemplo de regla de correspondencia del

tipo DB2Class, “Cluster Orthologs -> [geneinf.clusterId]”, que indica que

la clave de la clase de los grupos ort´ologos se corresponde con la columna

clusterId de la tablageneinf.

Procedimiento para la definici´on de reglas de correspondencia

DB2Prop

Para la definici´on de reglas tipo DB2Prop, se debe seleccionar primero una de las propiedades de la ontolog´ıa que aparecen en la ventana principal

de la interfaz. Los elementos caracterizados con el prefijo “(D):” y “(A):” se corresponden con los elementos de la ontolog´ıa seleccionables para este tipo de regla. Adem´as, se debe seleccionar la tabla del repositorio en la que se relaciona la propiedad con la clase correspondiente. Una vez seleccionadas la tabla del repositorio y la propiedad de la ontolog´ıa, se utiliza el bot´on “Add

Mapping” para especificar el resto de par´ametros necesarios para definir la

regla en la Figura 10.4.

La Figura 10.4 est´a dividida en dos partes: la parte izquierda, identificada por la etiqueta“RESOURCES”, que proporciona la informaci´on sobre la ta- bla seleccionada (caracterizada con la etiqueta“DATABASE”) y el ´arbol de la ontolog´ıa (caracterizado con la etiqueta“ONTOLOGY”); y la parte dere- cha, identificada por la etiqueta“MAPPING PARAMETERS”, que muestra los par´ametros especificados para la creaci´on de la regla.

En la parte izquierda de la ventana, se muestran las columnas de la ta- bla para que con el bot´on“Add domain column” se seleccionen las columnas correspondientes a la clave de la clase, y el bot´on“Add value column” para seleccionar las columnas que contienen los valores de la propiedad. La clase de la ontolog´ıa asociada a la propiedad se selecciona del ´arbol de la onto- log´ıa mediante el bot´on“Add class”. Esta informaci´on es proporcionada en la definici´on de las reglas de correspondencia para las propiedades, ya que una propiedad puede estar asociada a m´as de una clase de la ontolog´ıa. El

bot´on“Remove annotation” permite borrar las anotaciones seleccionadas en

la ventana.

Por ´ultimo, el bot´on“Add mapping” permite crear la definici´on de la regla de correspondencia y volver a la ventana de la vista principal para continuar con la definici´on del resto de reglas. Un ejemplo de c´omo una regla de este tipo es representada en la interfaz (v´ease la Figura 10.2) es:“Gene[geneinf.geneId]

->Gene name ->[geneinf.geneName]”. Este ejemplo ilustra c´omo la propie-

dad Gene name se asocia a instancias de la clase gen, que tiene como clave

primaria los valores de la columna geneId y como nombre de los genes los valores de la columna geneName de la tabla geneinf.

Figura 10.4: Ejemplo de vista para la definici´on de reglas de correspondencia

tipoDB2Prop.

Procedimiento para la definici´on de reglas de correspondencia

DB2Rel

Para la definici´on de las reglas de correspondencia tipo DB2Rel, se debe seleccionar una relaci´on de la ontolog´ıa y la tabla del repositorio que contiene la informaci´on a utilizar. Las relaciones est´an caracterizadas por la etiqueta

“(O):”en la vista principal. Una vez seleccionados estos elementos de la vista

principal y tras presionar el bot´on “Add Mapping”, se muestra la ventana para especificar los par´ametros de la regla.

La Figura 10.5 muestra un ejemplo de la vista para la definici´on de los par´ametros de las reglas de correspondencia DB2Rel. Esta ventana est´a com- puesta por dos partes: la parte izquierda, identificada por la etiqueta “RE-

SOURCES”, que proporciona la informaci´on sobre la tabla seleccionada (ca-

racterizada con la etiqueta “DATABASE”) y el ´arbol de la ontolog´ıa (ca- racterizado con la etiqueta“ONTOLOGY”); y la parte derecha, identificada por la etiqueta“MAPPING PARAMETERS”, que indica los par´ametros es- pecificados para la creaci´on de la regla.

En la parte izquierda, se dispone del bot´on “Add domain columns” que sirve para seleccionar las columnas de la tabla asociada a la clase del dominio de la relaci´on y que se corresponden con la clave de la clase. El bot´on“Add

Figura 10.5: Ejemplo de vista para la definici´on de reglas de correspondencia

tipo DB2Rel.

rango de la relaci´on. El bot´on “Add property columns” puede ser utilizado para seleccionar una sub-relaci´on de la elegida. Los valores de la columna seleccionada se corresponde con alg´un valor de la etiqueta “label” de una sub-relaci´on de la relaci´on elegida.

Por otro lado, el bot´on “Add source class” es utilizado para seleccionar la clase sujeto de la relaci´on dentro del ´arbol de la ontolog´ıa. El bot´on “Add

target class” sirve para seleccionar la clase objetivo de la relaci´on de la regla.

El bot´on“Remove” permite borrar los par´ametros de la regla seleccionados del cuadro de texto de la parte derecha de la ventana.

Por ´ultimo, el bot´on “Add Mapping”, sirve para crear la definici´on de la regla de correspondencia y volver a la ventana de la vista principal de definici´on de reglas. El ejemplo de este tipo de reglas, presente en la Figura 10.2, est´a representado por: “Cluster Orthologs [geneinf.clusterId] -> has

Ortholog -> Gene [geneinf.geneId]”, indicando que la relaci´on has Ortholog

asocia una instancia de la clase de grupos ort´ologos, con su clave primaria la columna clusterId, con una instancia de la clase gen, y siendo su clave primaria la columna geneId de la tabla geneinf.

Una vez definidas todas las reglas de correspondencia entre el repositorio relacional y la ontolog´ıa, se usa el bot´on “Save Mapping” para almacenar

en un documento XML: (1) los par´ametros de conexi´on de la base de datos relacional; (2) la localizaci´on de la ontolog´ıa; (3) cada una de las reglas defi- nidas, seg´un la gram´atica de reglas de correspondencia definida en el Anexo 13.3.2.

10.1.2.

Interfaz de definici´on de reglas de identidad

Documento similar