SlideShare una empresa de Scribd logo
UNIVERSIDAD DE GRANADA
E.T.S. DE INGENIER´IA INFORM´ATICA
Departamento de
Ciencias de la Computaci´on
e Inteligencia Artificial
TESIS DOCTORAL
Sistema de Gesti´on de Bases de Datos Relacionales Difusas
Multiprop´osito. Una Ontolog´ıa para la Representaci´on del
Conocimiento Difuso
Carmen Mart´ınez Cruz
Granada, noviembre de 2008
Editor: Editorial de la Universidad de Granada
Autor: Carmen Martínez Cruz
D.L.: GR. 2741-2008
ISBN: 978-84-691-8242-0
Aspecto caracteristicas
Sistema de Gesti´on de Bases de Datos Relacionales
Difusas Multiprop´osito. Una Ontolog´ıa para la
Representaci´on del Conocimiento Difuso
memoria para optar al grado de
Doctor en Inform´atica
EL DOCTORANDO
Carmen Mart´ınez Cruz
DIRECTORES
Ignacio J. Blanco Medina Mar´ıa Amparo Vila Miranda
Granada, 17 de Noviembre de 2008
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACI´ON
E INTELIGENCIA ARTIFICIAL
E.T.S. de INGENIER´IA INFORM´ATICA UNIVERSIDAD DE GRANADA
Aspecto caracteristicas
Agradecimientos
En primer lugar me gustar´ıa agradecer a Ma Amparo Vila por la apuesta
que hizo al traerme de la Universidad de Almer´ıa para comenzar este periplo
granadino. Gracias a ella y a sus brillantes ideas este trabajo se ha podido
llevar adelante y muchos m´as continuar´an esta l´ınea de investigaci´on abierta.
Es una excelente directora y soy muy afortunada por haberla tenido.
A Nacho fundamentalmente le tengo que agradecer el haber encontrado
adem´as de un director de tesis, un gran amigo. Gracias a ´el, me plantee venir
a Granada y nunca me sent´ı sola. Has sido generoso en todo, gracias.
A mis padres y mi hermana Eva que siempre me han apoyado y han sufri-
do conmigo estos largos a˜nos que ha durado la elaboraci´on de este trabajo.
Aqu´ı por fin est´a el resultado de mi esfuerzo, gracias por el vuestro que ha
sido mucho mayor que el m´ıo.
A mis adorados Ra´ul y Miguel, vosotros me hab´eis apoyado desde el mo-
mento cero en que llegue a Granada, porque siempre hab´eis estado ah´ı con una
palabra de aliento o un buen consejo, no lo olvidar´e. Y a Yolanda, Cristina y
Amador, que por extensi´on tanto me han aguantado y con m´as m´erito porque
no conocen c´omo es esto.
A mis amigos del alma, Bel´en, Carlos Molina y Jes´us Alcal´a, me hab´eis
dado la inercia para trabajar, la sabidur´ıa para adaptarme y la energ´ıa para
continuar. Vosotros sab´eis mejor que nadie lo que me ha costado todo. Mil
gracias por vuestro ´animo y apoyo. ¡Viva Mecenas!
A mis amigos de la Universidad de Ja´en: Antonio Rueda, Carlos Porcel y
Francisco de As´ıs, por haber aguantado conversaciones monotem´aticas eternas
acerca de mi tesis, por aconsejarme, ayudarme y animarme en este ´ultimo a˜no
que tanta falta me ha hecho. Tengo mucha suerte de teneros entre mis filas.
A Josema, por toda la ayuda que me ha proporcionado. Este trabajo s´olo
contiene una m´ınima parte de tu enorme talento. Adem´as, quiero agradecer al
resto de compa˜neros del Dpto. de Inform´atica de la Universidad de Ja´en, por
apoyarme y hacerme la vida m´as f´acil, en especial a Samu.
A Mar´ıa Jos´e, Olga, Juanmi, Juan Carlos, Nico, Fernando, Miguel, Carmen
y Jes´us Campa˜na, compa˜neros del grupo de investigaci´on IDBIS que siempre
han sido amables y serviciales conmigo, haci´endole sentir parte del grupo des-
de el primer d´ıa. Sois un gran ejemplo a seguir y me hab´eis permitido conocer
que significa ser un buen investigador. Y a Dani especialmente, por la tran-
quilidad que me ha transmitido en estos ´ultimos tiempos, has sido un gran
descubrimiento. Gracias.
Tambi´en agradezco al Dpto. de C.C.I.A. de la Universidad de Granada,
por el marco inmejorable que me ha proporcionado para empezar mi trabajo
investigador.
No quiero dejar de mencionar a mis ex-compa˜neros de la Universidad de
Almer´ıa, ellos -Samuel, Alfonso, Joaqu´ın, Jorge y Paco- me motivaron para
comenzar este camino y no lo he olvidado.
Finalmente, a mi querida prima May y a mis amigas de fuera de este
ambiente universitario que son las que me hacen desconectar de este mundo
de ceros y unos, recobrar la cordura y pasar muy buenos ratos: Mar´ıa Jes´us,
Rosa y Pilar, gracias por estar ah´ı.
Tendr´ıa que agradecer a algunas personas m´as que han pasado por mi vida
colaborando de alguna forma a que yo realizara este trabajo. Aunque no os
mencione aqu´ı, os llevo en el coraz´on.
“S´olo cerrando las puertas detr´as de uno
se abren ventanas hacia el porvenir”
Fran¸coise Sagan.
A mi familia.
Aspecto caracteristicas
´Indice general
1. Introducci´on 1
2. Ontolog´ıas y Bases de Datos Difusas 9
2.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. La Web Sem´antica . . . . . . . . . . . . . . . . . . . . . 10
2.2.1. Bases de Datos en la Web Sem´antica . . . . . . . 11
2.2.2. Hacia donde va la Web . . . . . . . . . . . . . . . 15
2.3. Ontolog´ıas versus Bases de Datos . . . . . . . . . . . . . 16
2.3.1. Comunicaci´on entre Bases de Datos y Ontolog´ıas 20
2.3.2. Ontolog´ıas como Representaci´on de Modelos de Bases
de Datos . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.3. Integraci´on de Informaci´on . . . . . . . . . . . . . 27
2.4. Ontolog´ıas Previas . . . . . . . . . . . . . . . . . . . . . 29
2.4.1. Ontolog´ıa de Tipos de Datos . . . . . . . . . . . . 29
2.4.2. Ontolog´ıa de Descripci´on del SQL2003 . . . . . . 31
3. El problema de la Representaci´on de Datos Heterog´eneos
en Bases de Datos Difusas. Arquitectura de un SGBDR
Multiprop´osito 33
3.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2. Representaci´on de Informaci´on Imprecisa en el Modelo
Relacional . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2.1. Antecedentes del Modelo Relacional Difuso . . . . 34
3.3. Extensiones al Modelo Relacional para Representar Infor-
maci´on Imprecisa . . . . . . . . . . . . . . . . . . . . . . 35
3.3.1. Modelo Generalizado para Bases de Datos Rela-
cionales Difusas (GEFRED) . . . . . . . . . . . . 36
3.3.2. Representaci´on de Informaci´on L´ogica sobre BDD 39
3.3.3. Ampliaci´on de GEFRED para la Miner´ıa de Datos 41
i
3.4. Unificaci´on de las Arquitecturas . . . . . . . . . . . . . . 45
3.4.1. Visi´on General del Problema de Unificaci´on . . . 45
3.4.2. Sistema Actual . . . . . . . . . . . . . . . . . . . 46
3.4.3. Arquitectura de un Servidor Multiprop´osito Unifi-
cado . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.4. Ejemplo de Resoluci´on de una Consulta Compleja 54
3.4.5. Ventajas e Inconvenientes del Servidor Unificado . 61
4. Ontolog´ıa para la Representaci´on del Conocimiento Di-
fuso (FKRO) 69
4.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2. Ontolog´ıa para la Representaci´on del Conocimiento Difuso 72
4.2.1. descripci´on . . . . . . . . . . . . . . . . . . . . . 72
4.2.2. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . 73
4.3. Sub-Ontolog´ıa para la Representaci´on del Cat´alogo Exten-
dido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.3.1. Justificaci´on de la Sub-Ontolog´ıa . . . . . . . . . 74
4.3.2. Metodolog´ıa de Desarrollo . . . . . . . . . . . . . 76
4.3.3. descripci´on de la Ontolog´ıa del Cat´alogo Extendido 87
4.3.4. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . 102
4.4. Sub-Ontolog´ıa del Esquema de Datos Difusos . . . . . . 116
4.4.1. Justificaci´on de la Sub-Ontolog´ıa . . . . . . . . . 116
4.4.2. Generaci´on o Conversiones . . . . . . . . . . . . . 118
4.4.3. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . 121
4.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . 127
4.5.1. Ventajas e Inconvenientes . . . . . . . . . . . . . 127
5. Arquitectura del Sistema y Aplicaciones 131
5.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.2. Arquitectura del Sistema . . . . . . . . . . . . . . . . . . 132
5.2.1. Arquitectura de Comunicaci´on con la Ontolog´ıa . 132
5.2.2. Arquitectura de Comunicaci´on con la BD . . . . . 137
5.2.3. Arquitectura de Consulta . . . . . . . . . . . . . 143
5.3. descripci´on del Sistema Implementado . . . . . . . . . . 144
5.3.1. Propuestas . . . . . . . . . . . . . . . . . . . . . . 144
5.3.2. Bases de Datos Utilizadas . . . . . . . . . . . . . 145
5.3.3. Entorno Web . . . . . . . . . . . . . . . . . . . . 146
5.3.4. Extensi´on de la Herramienta de Desarrollo de On-
tolog´ıas: Prot´eg´e . . . . . . . . . . . . . . . . . . 153
5.4. Casos de Uso de la Arquitectura . . . . . . . . . . . . . . 162
ii
5.4.1. Definici´on de Datos. Creaci´on de Esquemas . . . 163
5.4.2. manipulaci´on de Datos . . . . . . . . . . . . . . . 171
6. Conclusiones y Trabajos Futuros 177
6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . 177
6.2. Beneficios de la Propuesta . . . . . . . . . . . . . . . . . 182
6.3. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . 184
A. Conceptos B´asicos de Ontolog´ıas 189
A.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . 189
A.1.1. Concepto de Ontolog´ıa . . . . . . . . . . . . . . . 189
A.1.2. Clasificaciones de Ontolog´ıas . . . . . . . . . . . . 191
A.2. Ingenier´ıa de Ontolog´ıas . . . . . . . . . . . . . . . . . . 197
A.2.1. T´ecnicas de Representaci´on de Ontolog´ıas . . . . 197
A.2.2. Metodolog´ıas de Representaci´on . . . . . . . . . . 199
A.2.3. Formalismos y Lenguajes en la Representaci´on del
Conocimiento . . . . . . . . . . . . . . . . . . . . 203
A.2.4. T´ecnicas de Manipulaci´on de Ontolog´ıas . . . . . 216
B. Extensiones Difusas al Modelo Relacional de BD 221
B.1. Modelo Generalizado para Bases de Datos Relacionales
Difusas (GEFRED) . . . . . . . . . . . . . . . . . . . . . 221
B.1.1. Fundamentos Te´oricos de GEFRED . . . . . . . . 221
B.1.2. Representaci´on Relacional de un Dominio Genera-
lizado Difuso: FIRST . . . . . . . . . . . . . . . . 224
B.1.3. Base de Metaconocimiento Difuso (FMB) . . . . . 230
B.1.4. Lenguaje SQL Difuso (FSQL): consulta imprecisa 231
B.2. Extensi´on L´ogica-Deductiva al Modelo de BDRD . . . . 233
B.2.1. Fundamentos Te´oricos para la Representaci´on del
Modelo L´ogico y L´ogico Difuso para Bases de Datos
Relacionales . . . . . . . . . . . . . . . . . . . . . 233
B.2.2. La Representaci´on Relacional de las Reglas Gene-
ralizadas Difusas: FREDDI Extendido . . . . . . 235
B.2.3. Base de Metaconocimiento Deductivo: Base de Re-
glas (RB) . . . . . . . . . . . . . . . . . . . . . . 236
B.2.4. Sintaxis Extendida Deductiva de FSQL . . . . . . 238
B.3. Miner´ıa de Datos en el Modelo Relacional . . . . . . . . 239
B.3.1. Ampliaci´on Te´orica de GEFRED para el Manejo
de M´ultiples Tipos de Datos (GEFRED*) . . . . 239
iii
B.3.2. Representaci´on de M´ultiples Tipos de Datos en el
Modelo Relacional(FIRST*) . . . . . . . . . . . . 241
B.3.3. Base de Metaconocimiento Difuso*(FMB*) . . . . 242
B.3.4. Ampliaci´on de FIRST* para el Data Mining . . . 245
B.3.5. Base de Metaconocimiento Difuso para Miner´ıa de
Datos (DMFMB) . . . . . . . . . . . . . . . . . . 246
B.3.6. Sintaxis Extendida para Operaciones de DM: DMF-
SQL . . . . . . . . . . . . . . . . . . . . . . . . . 248
C. Base de Datos de Suelos 251
C.1. Descripci´on del Esquema de la Base de Datos . . . . . . 251
C.1.1. Descripci´on de Clases . . . . . . . . . . . . . . . . 251
C.1.2. Paso a Tablas: Modelo Relacional . . . . . . . . . 253
C.1.3. Etiquetas Ling¨u´ısticas para los TD2 . . . . . . . . 255
C.1.4. Relaciones de Similitud de los TD3 . . . . . . . . 260
C.2. Cuerpo de la Base de Datos . . . . . . . . . . . . . . . . 270
iv
´Indice de figuras
1.1. Relaci´on de la Ontolog´ıa con el Entorno . . . . . . . . . 4
1.2. Interacci´on entre el Usuario y el SGBD . . . . . . . . . . 5
1.3. Interacci´on entre el Usuario y el SGBD para realizar las
operaciones proporcionadas por la ontolog´ıa . . . . . . . 6
2.1. La Web Sem´antica, usuarios, y acceso a la informaci´on . 12
2.2. Comparaci´on de documentos obtenidos de la web normal
y de la web sem´antica . . . . . . . . . . . . . . . . . . . 14
2.3. Ejemplo de relaci´on entre las Metaclases y las Instancias
en la representaci´on mediante ontolog´ıas de un esquema
de BD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4. Clasificaci´on de los tipos de datos expresados en SQL4
dada por Pardede [Par05] . . . . . . . . . . . . . . . . . 30
2.5. Parte de la Ontolog´ıa en UML dada por Calero et al.
[Cal06] del SQL4 . . . . . . . . . . . . . . . . . . . . . . 32
3.1. Arquitectura de los Servidores Independientes . . . . . . 47
3.2. Base de Metaconocimiento (MB) . . . . . . . . . . . . . 49
3.3. Base de Metaconocimiento (MB) con las tablas del cat´alo-
go de Oracle c . . . . . . . . . . . . . . . . . . . . . . . 51
3.4. Servidor Multiprop´osito . . . . . . . . . . . . . . . . . . 53
3.5. Resumen de las acciones ocurridas en la MB en una con-
sulta compleja. Ejemplo DFD1 . . . . . . . . . . . . . . . 56
3.6. Resumen de las acciones ocurridas en la MB en una con-
sulta compleja. Ejemplo DFD2 . . . . . . . . . . . . . . . 60
4.1. Relaci´on de la Ontolog´ıa con el Servidor Multiprop´osito
Unificado . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.2. Ejemplos de v´ınculos entre las sub-ontolog´ıas del Esquema
y Cat´alogo para cuatro BDD . . . . . . . . . . . . . . . . 74
4.3. Proceso de Desarrollo de la Ontolog´ıa del Esquema . . . 78
v
4.4. Ontolog´ıa en UML del SQL4 de Calero et al. [Cal06] recor-
tada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.5. Extensi´on de la ontolog´ıa de Pardede et al. [Par05] con los
datos difusos . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.6. Clasificaci´on de Pardede et al. [Par05] recortada . . . . . 84
4.7. Clasificaci´on de Pardede et al. [Par05] recortada con la
inclusi´on de datos difusos . . . . . . . . . . . . . . . . . . 84
4.8. Ontolog´ıa de Calero et al. [Cal06] y Pardede et al. [Par05]
del SQL4 y Tipos de Datos Difusos mezclada . . . . . . . 86
4.9. Especializaci´on de la clase Columna . . . . . . . . . . . . 88
4.10. descripci´on de la clase Dominios . . . . . . . . . . . . . . 90
4.11. descripci´on de las Restricciones Difusas . . . . . . . . . . 93
4.12. descripci´on de las estructuras para los TD Difusos . . . . 97
4.13. descripci´on de Ontolog´ıa del Cat´alogo . . . . . . . . . . . 100
4.14. Ejemplo en UML de una BD de Cl´ınica Veterinaria . . . 104
4.15. Ejemplo de una Cl´ınica Veterinaria generada como una
Ontolog´ıa del Esquema . . . . . . . . . . . . . . . . . . . 122
5.1. Arquitectura del Sistema General . . . . . . . . . . . . . 133
5.2. Arquitectura de integraci´on con un SGBDR con capaci-
dades FSQL . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.3. Arquitectura de integraci´on con un SGBDR con capaci-
dades funcionales . . . . . . . . . . . . . . . . . . . . . . 140
5.4. Arquitectura de integraci´on con un SGBDR sin capaci-
dades funcionales . . . . . . . . . . . . . . . . . . . . . . 141
5.5. Arquitectura Integrada . . . . . . . . . . . . . . . . . . . 142
5.6. Arquitectura de Consulta . . . . . . . . . . . . . . . . . . 143
5.7. Imagen de la aplicaci´on web para gestionar esquemas. . . 147
5.8. Imagen de la aplicaci´on web para gestionar esquemas. For-
mulario de conexi´on para generar un esquema dado en
OWL en una BD MySQL . . . . . . . . . . . . . . . . . 148
5.9. Imagen de la aplicaci´on web para gestionar esquemas. For-
mulario de resultado tras ejecutar la generaci´on de un Es-
quema de BD en MySQL c . . . . . . . . . . . . . . . . 149
5.10. Imagen de la aplicaci´on web para gestionar esquemas. Script
de generaci´on de esquemas en FSQL. . . . . . . . . . . . 150
5.11. Selecci´on del archivo de la ontolog´ıa a generar . . . . . . 151
5.12. Resultado de la ontolog´ıa generada . . . . . . . . . . . . 152
5.13. Imagen de la aplicaci´on para gestionar esquemas a˜nadida
a la herramienta Prot´eg´e . . . . . . . . . . . . . . . . . . 155
vi
5.14. Imagen de la aplicaci´on para gestionar las conexiones con
el esquema en Prot´eg´e . . . . . . . . . . . . . . . . . . . 156
5.15. Imagen de la aplicaci´on para abrir el asistente para la gen-
eraci´on de un atributo en Prot´eg´e . . . . . . . . . . . . . 158
5.16. Imagen de la aplicaci´on para gestionar esquemas a˜nadida
a la herramienta Prot´eg´e . . . . . . . . . . . . . . . . . . 159
5.17. Interfaz de generaci´on de consultas difusas en FSQL sobre
la herramienta Prot´eg´e. Establece una comparaci´on entre
atributos . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
5.18. Interfaz de generaci´on de consultas difusas en FSQL sobre
la herramienta Prot´eg´e. Establece una comparaci´on con
Valor Difuso. . . . . . . . . . . . . . . . . . . . . . . . . 162
5.19. Definici´on de Esquemas de BDD en SGBDR Heterog´eneos 164
5.20. Exportaci´on de un Esquema de BDD a cualquier SGBDR 165
5.21. Unificar Esquemas Complementarios . . . . . . . . . . . 165
5.22. Unificar Esquemas Compatibles . . . . . . . . . . . . . . 167
5.23. Incorporar a la Web un Esquema de BDD . . . . . . . . 169
5.24. Definici´on de un Esquema de BDD a partir de cualquier
tipo de Esquema . . . . . . . . . . . . . . . . . . . . . . 169
5.25. Combinaci´on de Fuentes Heterog´eneas . . . . . . . . . . 170
5.26. Consulta a un SBDRD ´unico . . . . . . . . . . . . . . . . 173
5.27. Consulta a SGBDRD con el mismo Esquema . . . . . . . 173
5.28. Consulta a SGBDRD con Esquemas Complementarios . . 174
5.29. Consulta a SGBDRD con Esquemas Compatibles . . . . 175
5.30. Consulta a SGBDRD con Esquemas Heterog´eneos . . . . 176
A.1. Clasificaciones de Lassila y McGuinness [Las02] y de Ruiz
e Hilera [Rui06] . . . . . . . . . . . . . . . . . . . . . . . 193
A.2. Clasificaci´on gen´erica de Ontolog´ıas basada en la natu-
raleza de la conceptualizaci´on . . . . . . . . . . . . . . . 196
B.1. Posibles Representaciones trapezoidales de una distribu-
ci´on de posibilidad . . . . . . . . . . . . . . . . . . . . . 225
B.2. Tipo difuso 1 . . . . . . . . . . . . . . . . . . . . . . . . 226
B.3. Tipo difuso 2 . . . . . . . . . . . . . . . . . . . . . . . . 226
B.4. Tipo difuso 3. Valores que pueden tomar las relaciones de
similitud. . . . . . . . . . . . . . . . . . . . . . . . . . . 227
B.5. Distribuciones de posibilidad de los valores Unknown y
Undefined . . . . . . . . . . . . . . . . . . . . . . . . . . 228
B.6. Estructura relacional de la FMB . . . . . . . . . . . . . . 232
vii
B.7. Cat´alogo de datos deductivos . . . . . . . . . . . . . . . 237
B.8. Estructura relacional de la extensi´on de la FMB para mane-
jo de m´ultiples datos . . . . . . . . . . . . . . . . . . . . 244
B.9. Estructura relacional de la DmFMB . . . . . . . . . . . . 247
B.10.Estructura relacional de la Base de Metaconocimiento para
el DM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
C.1. Diagrama de Clases de la BD de Suelos . . . . . . . . . . 252
viii
´Indice de tablas
3.1. Relaci´on Extended Tables . . . . . . . . . . . . . . . . . 50
3.2. Relaci´on Extended Tab Columns . . . . . . . . . . . . . . 51
3.3. Relaci´on Localizaci´on . . . . . . . . . . . . . . . . . . . . 63
3.4. Relaci´on Estructura . . . . . . . . . . . . . . . . . . . . . 63
3.5. Relaci´on Fuzzy Object List de la BD de Suelos . . . . . . 64
3.6. Relaci´on Fuzzy Nearness Def de la BD de Suelos . . . . . 65
3.7. Relaci´on Fuzzy Label Def en la BD de Suelos . . . . . . 65
3.8. Relaci´on Fuzzy Col List en la BD de Suelos . . . . . . . 65
3.9. Relaci´on Fuzzy Aprox Much en la BD de Suelos . . . . . 66
3.10. Relaci´on Extended Tab Column en la BD de Suelos . . . 66
3.11. Relaci´on Extended Tables en la BD de Suelos . . . . . . 66
3.12. Relaci´on DmFsql Project en la BD de Suelos . . . . . . 66
3.13. Relaci´on DmFsql Col List en la BD de Suelos . . . . . . 66
3.14. Relaci´on Ded Intensional Catalog de la Bd de Suelos . . 66
3.15. Relaci´on Ded Int Table Description de la BD de Suelos . 67
3.16. Relaci´on Ded Rule Description de la BD de Suelos . . . . 67
3.17. Relaci´on Ded Predicate Description de la BD de Suelos 67
3.18. Relaci´on Ded Condition Description de la BD de Suelos . 67
4.1. descripci´on Breve de las Clases de la Ontolog´ıa Recortada
de Calero et al. . . . . . . . . . . . . . . . . . . . . . . . 81
4.2. Restricciones de los atributos de Fuzzy Domain . . . . . 92
4.3. Restricciones de los atributos de Discrete Relation y Dis-
crete Definition . . . . . . . . . . . . . . . . . . . . . . . 95
4.4. Restricciones de los atributos de Label Definition . . . . 96
4.5. Restricciones de las estructuras de datos que representan
valores difusos . . . . . . . . . . . . . . . . . . . . . . . . 99
4.6. Ontolog´ıas importadas en OWL . . . . . . . . . . . . . . 102
4.7. descripci´on de los valores de las etiquetas ling¨u´ısticas rela-
cionadas con el dominio del atributo Age de la tabla Cat 104
ix
4.8. Relaciones de Similitud del Atributo Character . . . . . 105
4.9. Instanciaci´on de la Ontolog´ıa del Cat´alogo del ejemplo de
la Cl´ınica Veterinaria . . . . . . . . . . . . . . . . . . . . 106
4.10. Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del
ejemplo de la Cl´ınica Veterinaria . . . . . . . . . . . . . 107
4.11. Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo
del ejemplo de la Cl´ınica Veterinaria . . . . . . . . . . . 108
4.12. Instancias de la Ontolog´ıa del Cat´alogo del ejemplo de la
BDD Suelos . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.12. Instancias de la Ontolog´ıa del Cat´alogo del ejemplo de la
BDD Suelos . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.12. Instancias de la Ontolog´ıa del Cat´alogo del ejemplo de la
BDD Suelos . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.13. Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del
ejemplo de la BDD de Suelos . . . . . . . . . . . . . . . 112
4.13. Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del
ejemplo de la BDD de Suelos . . . . . . . . . . . . . . . 113
4.13. Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del
ejemplo de la BDD de Suelos . . . . . . . . . . . . . . . 114
4.14. Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo
del ejemplo de la BDD de Suelos . . . . . . . . . . . . . 114
4.14. Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo
del ejemplo de la BDD de Suelos . . . . . . . . . . . . . 115
4.14. Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo
del ejemplo de la BDD de Suelos . . . . . . . . . . . . . 116
4.15. Correspondencia de los tipos de datos difusos con las es-
tructuras de datos difusas en la ontolog´ıa . . . . . . . . . 118
4.16. Correspondencia de algunos de los tipos de datos pre-
definidos en la Ontolog´ıa del Cat´alogo con los tipos de
datos base definidos en XML . . . . . . . . . . . . . . . . 119
4.17. Instanciaci´on de la Cl´ınica Gatos definida en como On-
tolog´ıa de Esquema . . . . . . . . . . . . . . . . . . . . . 123
4.18. Propiedades de Objeto en la Ontolog´ıa del Esquema del la
Clinica Veterinaria . . . . . . . . . . . . . . . . . . . . . 124
4.19. Propiedades de tipos de dato en la Ontolog´ıa del Esquema
de la Clinica Veterinaria . . . . . . . . . . . . . . . . . . 124
4.20. Instanciaci´on de la BDD Suelos definida en como On-
tolog´ıa de Esquema . . . . . . . . . . . . . . . . . . . . . 125
x
4.21. Propiedades de Objeto en la Ontolog´ıa del Esquema de la
BDD Suelos . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.22. Propiedades de tipos de dato en la Ontolog´ıa del Esquema
de la BDD Suelos . . . . . . . . . . . . . . . . . . . . . . 126
A.1. Elementos de una p´agina RDF . . . . . . . . . . . . . . . 207
A.2. Elementos de una p´agina RDF Schema . . . . . . . . . . 208
A.3. Elementos de una p´agina OWL . . . . . . . . . . . . . . 219
B.1. Representaci´on para atributos de tipo 2 . . . . . . . . . . 229
B.2. Representaci´on para atributos de tipo 3 . . . . . . . . . . 229
B.3. Resumen de FSQL . . . . . . . . . . . . . . . . . . . . . 233
B.4. Resumen de DFSQL . . . . . . . . . . . . . . . . . . . . 238
B.5. Resumen de DMFSQL . . . . . . . . . . . . . . . . . . . 250
C.1. Atributos de la base de datos de color de suelos, agrupados
de acuerdo a su sem´antica . . . . . . . . . . . . . . . . . 256
C.2. Descripci´on de las propiedades la clase Localizaci´on . . . 257
C.3. Descripci´on de las propiedades de la clase Estructura . . 257
C.4. Descripci´on de las propiedades de la clase Anal´ıticos . . . 258
C.5. Descripci´on de las propiedades de la clase Identificaci´on . 258
C.6. Descripci´on de las propiedades de la clase Bibliograf´ıa . . 258
C.7. Descripci´on de las propiedades de la clase Color y sus
subclases . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
C.8. Etiquetas ling¨u´ısticas (Atributo PMEDIA) . . . . . . . . 259
C.9. Etiquetas ling¨u´ısticas (Atributo TMEDIA) . . . . . . . . 259
C.10.Etiquetas ling¨u´ısticas (Atributo ALTITUD) . . . . . . . 259
C.11.Etiquetas ling¨u´ısticas (Atributo PROFUNDI) . . . . . . 259
C.12.Etiquetas ling¨u´ısticas (Atributo PENDIENT) . . . . . . 259
C.13.Etiquetas ling¨u´ısticas (Atributo ARENA) . . . . . . . . . 259
C.14.Etiquetas ling¨u´ısticas (Atributo ARCILLA) . . . . . . . 260
C.15.Etiquetas ling¨u´ısticas (Atributo CO) . . . . . . . . . . . 260
C.16.Etiquetas ling¨u´ısticas (Atributo CARBONAT) . . . . . . 260
C.17.Etiquetas ling¨u´ısticas (Atributo PH) . . . . . . . . . . . 261
C.18.Etiquetas ling¨u´ısticas (Atributo AGUA) . . . . . . . . . 261
C.19.Etiquetas ling¨u´ısticas (Atributo FE) . . . . . . . . . . . . 261
C.20.Etiquetas ling¨u´ısticas (Atributo CEC) . . . . . . . . . . . 261
C.21.Etiquetas ling¨u´ısticas (Atributo CLASE ES) . . . . . . . 261
C.22.Relaciones de similitud (Atributo FAOREDUC) . . . . . 262
C.23.C´odigos para el atributo FAOREDUC . . . . . . . . . . . 262
xi
C.24.Relaciones de similitud (Atributo TIPO HOR) . . . . . . 262
C.25.Relaciones de similitud (Atributo ORIENTAC) . . . . . 263
C.26.Relaciones de similitud (Atributo FISIOGRA) . . . . . . 263
C.27.Relaciones de similitud (Atributo VEGETACI) . . . . . 263
C.28.C´odigos para el atributo VEGETACI . . . . . . . . . . . 263
C.29.Relaciones de similitud (Atributo MATERIAL) . . . . . 264
C.30.C´odigos para el atributo MATERIAL . . . . . . . . . . . 265
C.31.Relaciones de similitud (Atributo GRADO) . . . . . . . 265
C.32.Relaciones de similitud (Atributo HUE HUME) . . . . . 266
C.33.Relaciones de similitud (Atributo VALUE HU) . . . . . . 266
C.34.Relaciones de similitud (Atributo CROMA HU) . . . . . 267
C.35.Relaciones de similitud (Atributo HUE SECO) . . . . . . 267
C.36.Relaciones de similitud (Atributo VALUE SE) . . . . . . 268
C.37.Relaciones de similitud (Atributo CROMA SE) . . . . . 268
C.38.Relaciones de similitud (Atributo TIPO ES) . . . . . . . 268
C.39.C´odigos para el atributo TIPO ES . . . . . . . . . . . . 269
C.40.Relaciones de similitud (Atributo GRADO ES) . . . . . 269
C.41.Tabla Color, parte de su contenido . . . . . . . . . . . . 270
C.42.Tabla Estructura, parte de su contenido . . . . . . . . . . 270
C.43.Tabla Anal´ıticos, parte de su contenido . . . . . . . . . . 271
C.44.Tabla Localizaci´on, parte de su contenido . . . . . . . . . 271
xii
Cap´ıtulo 1
Introducci´on
El Entorno y las Bases de Datos
Hoy en d´ıa encontramos una creciente necesidad de representar in-
formaci´on, manejarla, explotarla y compartirla. Esta necesidad se debe
a la enorme capacidad de acceso a la informaci´on que tenemos gracias
a las m´ultiples fuentes que nos la proporcionan, desde los tradicionales
Sistemas de Gesti´on de Bases de Datos (SGBDs) hasta las m´as actuales
relacionadas con la Web (Internet, Web 2.0, la Web Sem´antica y la Web
3.0). Adem´as dicha informaci´on se encuentra representada en formatos
muy diversos, dependiendo del contenido de la misma y del soporte en el
que se halla representada y almacenada.
Sin embargo aunque las nuevas tecnolog´ıas est´an facilitando el acceso
a la informaci´on gracias a las clasificaciones y b´usquedas por contenidos
sem´anticos (la web sem´antica, ontolog´ıas, anotaciones, etc.), no se debe
olvidar que los sistemas que por excelencia mejor gestionan la informa-
ci´on son los SGBDs [Cod07] dado que han sido dise˜nados espec´ıficamente
para ello. Estos SGBDs han desarrollado durante los siglos XX y XXI un
gran n´umero de avances a la hora de representar informaci´on de muy di-
versa´ındole. Se han desarrollado Sistemas de Representaci´on de Bases de
Datos Relacionales, Orientadas a Objetos o mixtas, L´ogicas y/o Deduc-
tivas, para Miner´ıa de datos, de Grandes Vol´umenes, Transaccionales,
Multimedia, Temporales, Difusas, etc., todas ellas encaminadas a ges-
tionar de manera eficiente cualquier tipo de informaci´on.
El Modelo Relacional, desde que fue presentado por Codd en [Cod70],
se consider´o como el modelo que m´as eficientemente representaba la infor-
maci´on estructurada [Cod07], y se extendi´o tan r´apidamente que hoy en
d´ıa, a pesar de las m´ultiples propuestas que han surgido para representar
1
2 CAP´ITULO 1. INTRODUCCI ´ON
la informaci´on, sigue siendo uno de los m´as utilizados. Debido a ello, se
han realizado un gran n´umero de extensiones al Modelo Relacional, entre
la que destaca la integraci´on de la L´ogica Difusa al modelo con objeto de
representar valores imprecisos y flexibles [Bos88, Med94b, Gal99].
Sobre dicha extensi´on se han propuesto otras basadas, por ejemplo,
en la representaci´on de reglas l´ogicas sobre una Base de Datos Relacional
Difusa (BDRD) [Bal84, Bla01] y la posibilidad de realizar deducciones
usando mecanismos de inferencia cl´asicos extendidos.
Otro enfoque para la integraci´on de m´as elementos al Modelo Rela-
cional es el de la denominada Segunda Generaci´on de Miner´ıa de Datos
(DBMining), que propone un Sistema de Miner´ıa de Bases de Datos y
Descubrimiento de Informaci´on (KDDB System). Esta nueva tendencia,
planteada por Imielinski [Imi96] fusiona dos disciplinas, los procesos de
miner´ıa de datos con las Bases de Datos. Basado en esto, Carrasco et
al. [Car03a] propone la integraci´on de operaciones de Miner´ıa de Datos
(DM) con una extensi´on difusa sobre los modelos relacionales de bases
de datos.
En este trabajo de tesis se propone una Arquitectura Unificada Mul-
tiprop´osito donde se combinen la gesti´on de miner´ıa de datos [Car03a]
con la representaci´on de informaci´on imprecisa [Med94b, Gal99] y l´ogi-
ca [Bla01] para aumentar el potencial de las consultas sobre una base
de datos. Con esta arquitectura se permitir´a aumentar la escalabilidad
del sistema y la capacidad operativa del modelo relacional, de forma que
se puedan ejecutar consultas complejas mediante la combinaci´on de las
operaciones implementadas en el sistema, como puede ser la combinaci´on
de procesos de miner´ıa de datos sobre relaciones definidas sobre reglas
l´ogicas.
No obstante no todo son ventajas en la unificaci´on de las diferentes
arquitecturas. La complejidad que puede adquirir el sistema para ma-
nipular toda esta informaci´on hace muy costosa su puesta en marcha.
Dicha complejidad se origina debido a la gran cantidad de estructuras
que se necesitan para gestionar los diferentes tipos de informaci´on y el
gran coste que supone su comprensi´on para su posterior uso. Esta pro-
blem´atica hace plantearse la viabilidad de llevar este sistema a cabo o
bien realizar alg´un proceso de ingenier´ıa que permita la simplificaci´on del
sistema.
Otro inconveniente que surge a la hora de extender los SGBDR con
otro tipo de representaciones es el de la estrecha dependencia que tiene
cualquier nueva implementaci´on con el SGBD en la que se est´e realizan-
3
do. Hay que tener en cuenta que los SGBD adem´as de hacer una repre-
sentaci´on particular del lenguaje SQL dependiendo de las estructuras que
implementan, disponen de mecanismos de extensi´on propios en los que
algunos incluso incorporan capacidades funcionales para poder ejecutar
sus programas (como Oracle c con el PL/SQL y PostgreSQL c con el
PL/pgSQL). Otros en cambio permiten ejecutar programas en lengua-
jes de programaci´on gen´ericos como JAVA o C. Dicha situaci´on obliga
a los implementadores a evaluar si es conveniente realizar una extensi´on
personalizada para cada sistema (en tanto que se ganar´ıa en eficiencia)
o utilizar una com´un (se ganar´ıa en independencia del sistema). En este
trabajo, tambi´en se propone una arquitectura unificada capaz gestionar
diferentes SGBDs sean cuales sean sus particularidades. De esta forma,
la elecci´on sobre la implementaci´on de la extensi´on al SGBD elegida no
ser´a determinante para que el sistema no pueda ser integrado con el resto
y su informaci´on no sea definida o manipulada de forma ajena a dichas
particularidades.
Las Ontolog´ıas
Por otro lado, nos encontramos con que los esquemas de Bases de
Datos no se consideran informaci´on ´util en la Web. En un entorno en el
que las p´aginas Web son indexadas sem´anticamente gracias a que su con-
tenido se representa mediante ontolog´ıas o anotaciones, las p´aginas que
representan informaci´on consultada ad hoc sobre una Base de Datos (se
trata de formularios o interfaces back-end que realizan consultas contra
bases de datos bajo demanda), se quedan fuera de esta clasificaci´on. Con
este mismo problema tambi´en se encuentran otro tipo de BBDD, tambi´en
accesibles al p´ublico a trav´es de la web, carentes de un entorno espec´ıfi-
co para su acceso. La informaci´on de ´estas BBDD estar´ıa disponible a
trav´es del uso de aplicaciones gen´ericas, como el ISQLPlus c [Ora07].
La informaci´on de los esquemas de dichas BBDD (normalmente descritos
en lenguajes como SQL o UML) ser´ıan muy ´utiles especialmente en ca-
sos como el segundo, dado que ´estos datos no pueden ser integrados en
entornos como la Web Sem´antica.
Actualmente las ontolog´ıas se han convertido en el sistema m´as usado
de representaci´on del conocimiento. Las ontolog´ıas [Her02] se est´an em-
pleando en todo tipo de aplicaciones inform´aticas en las que es necesario
definir concretamente el conjunto de entidades relevantes en un campo
de aplicaci´on determinado, as´ı como las interacciones entre las mismas.
Algunas ontolog´ıas se crean con el mero objetivo de alcanzar una com-
4 CAP´ITULO 1. INTRODUCCI ´ON
prensi´on del Universo del Discurso pertinente, ya que su creaci´on impone
una especificaci´on muy detallada. Otras en cambio son creadas para un
prop´osito general que est´a orientado a la construcci´on de una base de
conocimiento que contenga el conocimiento humano necesario para hacer
inferencias.
La aparici´on de la Web Sem´antica, como entorno que permite con-
sultar informaci´on web a partir del contenido sem´antico que las p´aginas
web contengan, ha contribuido al ´exito de las ontolog´ıas, que han sido
utilizadas como mecanismo preferido (que no el ´unico) para representar
dicha sem´antica. Las ontolog´ıas por consiguiente pueden ser represen-
tadas utilizando lenguajes computacionalmente comprensibles a trav´es
de la web, permitiendo as´ı que la informaci´on que en ellas se halla defini-
da sea m´as universal.
PROGRAMAS DEAPLICACION
ONTOLOGIA
SGBDDIFUSAS
(Oracle, MySql ,
PostgreSQL ,Sybase ,
etc.)
USUARIOS
Figura 1.1: Relaci´on de la Ontolog´ıa con el Entorno
Esto nos lleva a plantear la representaci´on de la Arquitectura del SGB-
DRD Multiprop´osito en forma de ontolog´ıa como soluci´on al problema
de la complejidad. Dicha ontolog´ıa permitir´a la generalizaci´on y estruc-
turaci´on de los elementos que componen dicho Servidor Multiprop´osito,
siendo a su vez independiente de las particularidades del SGBDR sobre
el que estuviera desarrollada, y lo suficientemente clara y gen´erica para
su manipulaci´on y posible ampliaci´on. La ontolog´ıa se plantea as´ı como
5
una capa abstracta que generaliza los conceptos representados a m´as ba-
jo nivel por el SGBD, tal y como muestra la figura 1.1. El usuario final
tendr´a acceso a la ontolog´ıa bien directamente, o bien a trav´es de alguna
herramienta desarrollada para esta tarea. Esta opci´on es la m´as deseable,
dado que los lenguajes utilizados para la representaci´on de ontolog´ıas no
suelen ser f´acilmente interpretables por humanos.
La Soluci´on: una Ontolog´ıa para la Representaci´on del Cono-
cimiento Difuso
Se plantea as´ı el desarrollo una ontolog´ıa para la representaci´on del
conocimiento difuso, entendiendo por este, aquel conocimiento impre-
ciso representado mediante l´ogica difusa. Dicha ontolog´ıa contendr´a la
definici´on de las estructuras y relaciones que permiten definir informa-
ci´on imprecisa sobre un SGBDR (Sistema de Gesti´on de Bases de Datos
Relacional) gen´erico, esto es, al margen de las particularidades que pue-
da tener un SGBDR concreto. La ontolog´ıa actuar´a como interfaz entre
el usuario y la base de datos haciendo transparente para el usuario la
estructura de BD que permite almacenar la informaci´on difusa (infor-
maci´on imprecisa representada mediante l´ogica difusa). De esta forma,
´unicamente se mostrar´a la representaci´on que hace la ontolog´ıa de la
informaci´on del SGBDRD (Sistema de Gesti´on de Bases de Datos Rela-
cional Difuso), tal y como podemos ver en la figura 1.2. De igual manera
el usuario final podr´a seguir accediendo a la informaci´on difusa tal y co-
mo ha ido haci´endolo, directamente sobre el SGBD Extendido. La ´unica
diferencia es que con esta propuesta se incrementan las posibilidades de
comunicaci´on con la misma.
ONTOLOGIA
SGBDR Difuso
ADAPTADOR /
INTERPRETE
DE BD
Figura 1.2: Interacci´on entre el Usuario y el SGBD
La Ontolog´ıa para la Representaci´on del Conocimiento Difuso, tal y
6 CAP´ITULO 1. INTRODUCCI ´ON
como se ha denominado a este primer prototipo, intentar´a unificar toda
la representaci´on del conocimiento difuso en un solo entorno, haciendo
esta informaci´on portable a cualquier otro medio de representaci´on, prin-
cipalmente, a SGBDRs heterog´eneos.
Adem´as con esta representaci´on se pretende dotar al usuario final
de un mecanismo de definici´on y manipulaci´on de de datos que facilite
la gesti´on de informaci´on difusa sobre el cualquier SGBDRD. Por otro
lado la operaci´on de consulta tambi´en se definir´a para guiar a usuario
en la elaboraci´on de la misma. En la figura 1.3 se muestra como un
usuario puede utilizar una herramienta de consulta que opere contra el
SGBDRD (Sistema de Gesti´on de Bases de Datos Relacionales Difusos)
directamente o bien, realizar el proceso de consulta mediante el uso de la
ontolog´ıa. La diferencia entre ambas reside en que la primera interfaz es
totalmente dependiente del SGBD contra la que la realiza y la segunda
se ayuda de la ontolog´ıa para generar la consulta, y no a partir de los
datos que se hayan definidos en el SGBDRD.
INTERFAZ DE
CONSULTA 1
SGBDR Difuso
ONTOLOGIA INTERFAZ DE
CONSULTA 2
Figura 1.3: Interacci´on entre el Usuario y el SGBD para realizar las opera-
ciones proporcionadas por la ontolog´ıa
Objetivos
Los objetivos de este trabajo de tesis son los siguientes:
Plantear una Arquitectura de un SGBDR gen´erica que permita
combinar diferentes extensiones al modelo relacional, concretamente,
para permitir representar informaci´on imprecisa, l´ogica y de DM en
un ´unico sistema.
7
Definir una Ontolog´ıa para representar el conocimiento difuso re-
presentado en un SGBDRD.
Proponer una arquitectura del sistema que permita combinar in-
formaci´on entre varios SGBDRD heterog´eneos - cada uno con su
propia representaci´on de datos y su propio lenguaje en el caso que
permitan capacidades funcionales.
Aislar al usuario de las particularidades de representaci´on de los
SGBD en los que desee almacenar informaci´on.
Facilitar al usuario la definici´on de informaci´on imprecisa mediante
mecanismos o interfaces intuitivas.
Permitir a los usuarios elaborar consultas en FSQL(Fuzzy SQL),
extensi´on al SQL, para permitir manipular datos difusos sin tener
cuenta las particularidades de dicho lenguaje, las particularidades
de representaci´on de los datos difusos o de los propios SGBDs
Permitir la comunicaci´on simult´anea entre diferentes SGBDRD he-
terog´eneos para definir esquemas o informaci´on difusa.
Permitir la generaci´on de las clases de cat´alogo de forma gen´erica,
sin tener en cuenta las particularidades de los sistemas d´onde se
representen.
Incorporar los esquemas de BD (Difusas) a la Web Sem´antica. Estu-
diar la relaci´on de la ontolog´ıa que representa el conocimiento difuso
de un SGBDRD con el resto de estructuras que forman la web
sem´antica.
Contenidos
El contenido de esta tesis esta estructurado de la siguiente manera:
En el cap´ıtulo 2 se hace un repaso de algunas de las principales
aplicaciones de las ontolog´ıas (descritas en detalle en el Anexo A).
Concretamente se estudia la relaci´on de las ontolog´ıas con la Web y
con los Sistemas de Gesti´on de Bases de Datos, haciendo un estudio
profundo de las diferentes propuestas que existen sobre esta ultima
relaci´on. Adem´as se exponen las bases sobre las que se ha funda-
mentado la elaboraci´on de la Ontolog´ıa para la Representaci´on del
Conocimiento Difuso propuesta en esta tesis.
8 CAP´ITULO 1. INTRODUCCI ´ON
En el cap´ıtulo 3 se describen brevemente los modelos de bases de
datos extendidos que permiten manipular informaci´on difusa (ex-
puestos con detalle en el Anexo B). Adem´as se propone la Arqui-
tectura de Servidor Multiprop´osito que combina dichas extensiones
en un ´unico modelo que permite mezclar todas las operaciones de-
sarrolladas que utilizan informaci´on difusa multiprop´osito.
En el cap´ıtulo 4 se describe la Ontolog´ıa para la Representaci´on del
Conocimiento Difuso. Dicha ontolog´ıa se plantea como una forma
de solucionar el problema surgido en el proceso de unificaci´on de
las extensiones al modelo de bases de datos relacionales expuestas
en el cap´ıtulo 3.
En el cap´ıtulo 5 se establece la arquitectura del sistema para que la
ontolog´ıa establezca una comunicaci´on con un SGBDR heterog´eneo
y permitir as´ı la definici´on de datos y su posterior manipulaci´on.
Dicha arquitectura desemboca en el desarrollo de una interfaz de
usuario, que se encuentra descrita tambi´en en en ´este cap´ıtulo.
El cap´ıtulo 6 termina con las conclusiones del trabajo realizado y las
investigaciones futuras que se plantean a continuaci´on del mismo.
Al final se incorporan varios anexos:
En el Anexo A se muestra un estudio detallado del concepto de On-
tolog´ıas. Este estudio hace un repaso por la definici´on de Ingenier´ıa
Ontol´ogica, la clasificaci´on de las ontolog´ıas, de las herramientas
existentes para su explotaci´on, de los lenguajes utilizados para su
representaci´on y de las diferentes operaciones que se llevan a cabo
con ellas.
En el Anexo B se muestra un amplio de resumen de las extensiones
a los SGBD cl´asicos para la representaci´on y manipulaci´on de infor-
maci´on imprecisa, l´ogica y de algunas t´ecnicas de miner´ıa de datos.
Este resumen va desde el planteamiento del modelo te´orico hasta
la descripci´on de las bases de metaconocimiento que permiten la
puesta en marcha de estos sistemas en el modelo relacional.
En el Anexo C se muestra la estructura de datos del ejemplo ex-
puesto a lo largo de este trabajo de tesis.
Cap´ıtulo 2
Ontolog´ıas y Bases de Datos
Difusas
2.1. Introducci´on
En este cap´ıtulo se hace un repaso por algunas de las principales
aplicaciones de las ontolog´ıas en el campo de la representaci´on de la
informaci´on en la actualidad.
Por un lado, se describe el concepto de Web Sem´antica, analizando
el impacto que tienen las ontolog´ıas sobre dicha Web. Se destaca la pre-
sencia de las Bases de Datos en la Web y las diferentes t´ecnicas para el
acceso a los datos de las Bases de Datos Difusas (BDD) que existen, para
incorporarlas a la Web Sem´antica. Adem´as se hace un repaso por el resto
de tecnolog´ıas que est´an apareciendo en la Web y que tambi´en permiten
representar informaci´on con cierta sem´antica.
Por otro lado, se trata la relaci´on que existe entre el concepto de base
de datos y el de ontolog´ıa revisando las diferentes tendencias a la hora de
considerar la representaci´on llevada a cabo por una base de datos como
si fuese una ontolog´ıa. Se analizar´an las diferentes representaciones de
BBDD usando ontolog´ıas y el uso actual que tienen dichas representa-
ciones.
Por ´ultimo en este cap´ıtulo se expondr´an dos ontolog´ıas, una desa-
rrollada por Pardede et al. [Par05], que clasifica los tipos de datos pre-
definidos en el modelo relacional, y la ontolog´ıa propuesta por Calero et
al. [Cal05], que modela el ANSI SQL2003 [fSIIT03]. Estas dos ontolog´ıas
establecer´an los cimientos sobre los que se desarrollar´a la Ontolog´ıa de
Representaci´on del Conocimiento Difuso base de esta tesis y expuesta en
9
10 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
detalle en el cap´ıtulo 4.
2.2. La Web Sem´antica
A pesar de que la Web ha tra´ıdo con ella nuevas oportunidades para
intercambiar, compartir, publicar y consultar informaci´on en la sociedad,
tambi´en presenta sus limitaciones y desventajas. Por un lado, conforme
ha ido creciendo su extensi´on y aumentando el n´umero de p´aginas e infor-
maci´on accesible a trav´es de la misma, han ido cambiando las necesidades,
haci´endose cada vez m´as importante disponer de buscadores o mecanis-
mos de clasificaci´on o acceso que permitan la obtenci´on de informaci´on
exacta, cada vez m´as cercana a la pregunta, para evitar as´ı las canti-
dades ingentes de p´aginas como resultado. Otro problema de la Web se
encuentra en la carencia de sem´antica en las respuestas obtenidas tras
una consulta, obteniendo as´ı respuestas imprecisas o err´oneas [Lau04].
Adem´as, la Web necesita representar informaci´on que pueda ser proce-
sada computacionalmente [BL01]. Para ello requiere nuevas tecnolog´ıas
que estructuren la informaci´on disponible como XML, XML-S, RDF(S),
etc. Por contra, HTML la presenta de manera desorganizada y carente
de significado. Sin embargo, en Web cl´asica, tal y como la conocemos,
resumiendo lo dicho anteriormente:
El contenido no puede ser determinado.
Las consultas sem´anticas no pueden realizarse, puesto que las p´agi-
nas Web no pueden ser interpretadas, y
Los agentes inteligentes no pueden obtener informaci´on significati-
va.
La Web Sem´antica se propone como soluci´on a todos estos problemas,
y como muchos investigadores afirman [BL01, Gob03], ser´a la tecnolog´ıa
capaz de hacer los contenidos de la Web comprensibles por humanos y
procesables computacionalmente. Mas formalmente, la Web Sem´antica se
puede definir como el resultado de extender la Web est´andar con lengua-
jes, informaci´on y recursos que nos permitan extraer informaci´on acerca
del significado de los contenidos de la Web autom´aticamente (Berners-
Lee et al. [BL01]).
Estos contenidos se encuentran en diferentes formatos, por ejemplo en
forma de documentos web, esquemas semiestructurados, o datos din´ami-
cos [Hen02]. En la Web Sem´antica se extiende cada fuente de informa-
2.2. LA WEB SEM ´ANTICA 11
ci´on con una representaci´on estructurada de su sem´antica. Existen varias
aproximaciones para incluir esta sem´antica, la m´as utilizada, como se in-
dica en [Fin05], son las ontolog´ıas, aunque tambi´en se ha propuesto el
uso de anotaciones [She05].
Tal y como describimos en detalle en el Anexo A, una ontolog´ıa es una
descripci´on formal del dominio del discurso para un problema concreto,
y la intenci´on de la misma es ser compartida entre diferentes usuarios
o aplicaciones. Una de sus ventajas es que puede ser expresada en un
lenguaje (la mayor´ıa en l´ogica descriptiva o de primer orden) de tal forma
que pueda utilizarse para razonar [GP03b, Noy04, Sta04].
Por tanto esta primera aproximaci´on para incorporar sem´antica a los
contenidos de la Web consistir´a en la incorporaci´on de la ontolog´ıa a la
p´agina web cuyo contenido est´e describiendo, bien dentro del c´odigo de la
web, bien adjunt´andolo al resto de los archivos donde se encuentre la mis-
ma [Fin05]. Sin embargo McCool en [McC06] descubre ciertos problemas
con esta soluci´on (v´ease figura 2.1):
La complejidad que adquiere la Web Sem´antica.
La baja participaci´on de los usuarios.
El hecho de que en la actualidad exista un n´umero muy escaso de
aplicaciones.
La complejidad de los lenguajes de descripci´on de ontolog´ıas.
La segunda soluci´on presenta anotaciones acerca del contenido de la
p´agina Web y del vocabulario. Esta soluci´on [McC06] reduce la compleji-
dad de la Web Sem´antica, permite obtener m´as r´apidos resultados en las
consultas, y permite una mayor participaci´on de los usuarios y desarro-
lladores. Sin embargo tambi´en tiene sus desventajas, no es tan expresiva
como las ontolog´ıas a la hora de representar la sem´antica de una fuente
de informaci´on (v´ease secci´on 2.2.2).
De cualquier manera, la Web Sem´antica se mantiene como alterna-
tiva a la Web cl´asica y permite que toda la informaci´on que en ella se
encuentra pueda ser consultada y accedida.
2.2.1. Bases de Datos en la Web Sem´antica
Una parte importante de la informaci´on en la Web, la podemos en-
contrar en forma de documentos de texto (Word, PDF, txt,...), p´aginas
HTML, documentos XML, p´aginas Web din´amicas, contenidos FLASH,
12 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
AGENTES
USUARIOS
PROGRAMAS WEB SEMÁNTICA
<<Clie
nt>>
<<Clie
nt>>
html
Varias pg. web
la ontología
adjunta (html,
jsp, owl..)
Ontología
incluida en la
pg. principal
Página Web
anotada
Figura 2.1: La Web Sem´antica, usuarios, y acceso a la informaci´on
librer´ıas, ejecutables, interfaces de programas, bases de datos, formula-
rios, etc. Incluso podemos encontrar simples datos (registros de datos,
tuplas) o metadatos, podemos acceder a bases de datos, o inferir conoci-
miento a partir de estas (v´ease la figura 2.2), pero nosotros necesitamos
definir las tecnolog´ıas que permitan acceder a toda esta informaci´on de
la manera y formato que se requiera en cada uno de los casos.
Una p´agina din´amica es un tipo de contenido Web que se genera me-
diante la consulta de una base de datos. Para generar un p´agina din´ami-
ca, suelen utilizarse tecnolog´ıas como JSP, ASP, o PHP, para lanzar las
consultas sobre dichas bases de datos. En estas p´aginas, la sem´antica
no puede ser introducida, dado que se trata de un interfaz (front-end)
para la base de datos. Sin embargo, podr´ıan describirse sem´anticamente
mediante los contenidos de la base de datos a la que ellas acceden [Jur07].
Existen incluso otros tipos de p´aginas web, que son m´as complejas
a´un para ser definidas de manera sem´antica, estas son por ejemplo, las
interfaces Web gen´ericas para consultar bases de datos. Un ejemplo de
este tipo de p´aginas es el ISQLPlus (Oracle c ) [Ora07] o el WebinTool
[Hu96] o incluso, aquellas desarrolladas con paquetes de acceso a bases de
datos como LISBDB [Eri07]. Estas p´aginas permiten acceder a la infor-
maci´on de bases de datos, pero no pueden ser sem´anticamente indexadas
porque sus contenidos no se conocen hasta que no se accede a una u otra
base de datos.
2.2. LA WEB SEM ´ANTICA 13
En el contexto de la Web Sem´antica, y como caso particular de lo ex-
plicado en la anteriormente, ser´ıa interesante poder almacenar la sem´anti-
ca de dichos datos y emplear dicha sem´antica para su acceso. Por ejemplo
si trat´aramos de buscar registros de datos sobre una BD concreta o do-
minio particular usando ISQLPLUS(Oracle c ) [Ora07], el tener acceso
a los esquemas de bases de datos que definen la informaci´on contenida en
la misma resultar´ıa muy ´util. Tambi´en ser´ıa interesante obtener entre los
resultados de una b´usqueda: referencias a bases de datos existentes que
contengan entre sus datos informaci´on que cumpla el criterio de b´usque-
da, referencias a aplicaciones cliente existentes o formularios (una vez que
los tenemos sem´anticamente declarados), etc. Entonces ser´an los usuarios
los que deciden que resultados son los que necesitan.
Hay propuestas que intentan generar o extraer informaci´on de bases
de datos relacionales, a partir de estas p´aginas en HTML, o de las p´agi-
nas din´amicas. Por ejemplo Astrova [Ast04] construye estos esquemas de
BD relacionales utilizando wrappers (programas para extraer dicha in-
formaci´on). Otro autor que tambi´en utiliza wrappers para incorporar la
sem´antica de las BDR a la Web es Champin et al. [Cha07] que propone
un herramienta para construir en un lenguaje de la Web Sem´antica la
informaci´on de la BDR.
Sin embargo, en las BBDD la dificultad para acceder a ellas est´a en
funci´on del tipo de informaci´on que representen. Si se trata de BBDD
Extendidas (como una BD Difusa) entonces su representaci´on no forma
parte del est´andar ANSI [fSIIT99], lo cual implicar´ıa que se necesitara
hacer p´ublica la informaci´on acerca de los metadatos que representan la
dicha informaci´on especial (por ejemplo la imprecisa), para garantizar el
acceso correcto a los datos almacenados en la BD, tanto por parte de los
usuarios como de los agentes que lo intenten [Bla05a, Bla05b].
Para realizar la tarea de publicaci´on de contenido de una BD en la
Web Sem´antica, existen numerosas aproximaciones. Una de las m´as uti-
lizadas consiste en la representaci´on formal del modelo relacional en for-
ma de ontolog´ıa, la cual act´ua de interfaz entre el usuario y la BD real.
Algunos de los autores que han llevado a cabo esta propuesta son LaBorda
et al. [PdL05], Calero et al. [Cal06] o Blanco et al. [Bla05a] que presentan
cada uno una interpretaci´on del ANSI SQL como soluci´on para que las
bases de datos sean visibles a trav´es de la Web (v´ease para mayor detalle
secci´on 2.3.2). Esta interfaz mantendr´ıa separada la representaci´on de los
datos de su almacenamiento, y simplificar´ıa la definici´on necesaria para
acceder a la misma. En el caso de las BD Extendidas esta caracter´ıstica
14 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
es fundamental, dado que proporcionar´ıa una definici´on p´ublica de la es-
tructura especial que tenga la informaci´on que representen, haci´endolas
mas accesibles y comprensibles al usuario o agente final. La ontolog´ıa
resultante define las metaclases que definen la estructura de la informa-
ci´on (el cat´alogo del sistema) que proporcionan la interfaz de acceso a los
datos adecuada. Esta ontolog´ıa entonces podr´ıa integrarse con el resto
de las estructuras que se encuentran en la Web Sem´antica, comentadas
con anterioridad. No obstante dicha representaci´on ser´a descrita con m´as
detalle en los cap´ıtulos sucesivos.
Web Page
File
<<Form
>>
BÚSQUEDA WEB
Class
name
Attribute
s
Class
name
Attributes
Class
name
Attributes
ESQUEMAS
Páginas Dinámicas
PAGINAS WEB
(HTML, XML )
DOCUMENTOS
(DOC, XML ,PDF , ..)
PROGRAMAS ,
INTERFACES, ...
BASES DE DATOS
WWW
compuesta por
RESULTADOSDE
BÚSQUEDA
TRADICIONAL
Enlaces a pg. Web
Enlaces a archivos
Enlaces a webs
dinámicas
.....
RESULTADOS DE
BÚSQUEDA EN LA
WEB SEMÁNTICA
Enlaces a pg. Web
Enlace a archivos
Enlaces a web dinámicas
Ontologías
Esquemas
Interfaces de BBDD
.....
Figura 2.2: Comparaci´on de documentos obtenidos de la web normal y de la
web sem´antica
2.2. LA WEB SEM ´ANTICA 15
2.2.2. Hacia donde va la Web
Adem´as de todo lo expuesto acerca de la Web Sem´antica, y dado que
se est´a hablando de nuevas tecnolog´ıas, no se puede obviar la nueva ten-
dencia de la Web que est´a en contraste con la Web Sem´antica, la Web
2.0. Esta tecnolog´ıa que ha surgido en paralelo con la Web Sem´antica,
est´a centralizada en los servicios que se presentan en la Web, al contrario
que la Web Sem´antica que se centra en el contenido de la informaci´on.
Es decir, la Web 2.0 aparece para satisfacer al usuario en las nuevas
necesidades de comunicaci´on que van surgiendo, como la mayor interac-
ci´on entre los usuarios, el mayor uso de las redes sociales (blogs, ebay,
del.icious, wikipedia, youtube, myspace, etc.), es decir, que demandan un
mayor servicio. Las folksonomias (ser´ıa la traducci´on en espa˜nol de folk-
sonomy) se corresponderan as´ı a la manera que tiene la Web 2.0 para
etiquetar la informaci´on y as´ı categorizar el contenido. Esta pr´actica es
m´as sencilla que la generaci´on de ontolog´ıas [Bre07] y evita tener exper-
tos generando la sem´antica de una web concreta [Sha06a], puesto que son
clasificaciones de contenido mediante etiquetas (tags) que van surgiendo
de un trabajo colaborativo de los usuarios de la red. No obstante, los
servicios que aporta la Web 2.0 no son incompatibles con la propuesta
que da la Web Sem´antica, todo lo contrario, se complementan tal y como
Ankolekar et al. en [Ank07] o Berners-Lee et al. en [BL06] proponen.
Por ´ultimo, se debe se˜nalar que existen un gran n´umero de detrac-
tores de la Web Sem´antica, por los problemas expuestos anteriormente
resumidos por McCool [McC05]. De entre estos problemas destaca de
manera significativa el escaso n´umero de aplicaciones de Web Sem´antica
que est´an en uso actualmente, son conocidas o populares. Es un hecho
que algunos autores, defensores de la Web Sem´antica, vaticinan que a la
Web Sem´antica para su ´exito total le quedan unos 5 a˜nos de desarrollos
[Car07]. Otros, en cambio, califican este movimiento de “vaporware”, es
decir algo que desv´ıa esfuerzos hacia un objetivo irreal. De cualquier ma-
nera, se considera que la Web Sem´antica se consolidar´ıa como la Web 3.0.
Sin embargo, cabe preguntarse si bien esta “nueva web” conseguir´a tri-
unfar, si aunar´a esfuerzos con la filosof´ıa de la Web 2.0, si coexistir´an
las dos tecnolog´ıas en paralelo, o bien si tras estos cinco a˜nos, desapare-
cer´a como otros tantos intentos de nuevas tecnolog´ıas, que a pesar de ser
grandes ideas no han conseguido cuajar en la industria.
16 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
2.3. Ontolog´ıas versus Bases de Datos
El concepto de ontolog´ıa en el campo de la ciencia de la computaci´on
se ha incorporado con mayor fuerza en las ´areas de la inteligencia artifi-
cial y de las bases de datos. Concretamente el ´area de las bases de datos
siempre ha tratado de modelar la informaci´on del mundo real, pero pre-
senta una serie de restricciones, impuestas por el modelo de datos que se
elija, para proporcionar la mayor eficiencia en el acceso y manipulaci´on
de la informaci´on.
De hecho, un gran n´umero de estudios en el campo de las bases de
datos han sido recuperados [Mee01a] para ser utilizados en desarrollos
muy parecidos en el campo de las ontolog´ıas. Hay que observar que en
el campo de las ontolog´ıas, existen los problemas de heterogeneidad de
informaci´on, b´usqueda de correspondencias, la combinaci´on de esquemas,
alineamiento, traducci´on, mezcla, etc. que tienen mucho parecido, por no
decir que son id´enticos a los problemas que surgen entre los esquemas de
Bases de Datos [Ma05, Hai05, Men01, Sta04].
Sin embargo, existe un gran debate abierto en cuanto a la considera-
ci´on de una base de datos (el esquema y su estado) como una ontolog´ıa.
Una ontolog´ıa esta considerada como una representaci´on de la realidad
bas´andose fundamentalmente en el modelado de la sem´antica que rep-
resenta. Para llevar esto a cabo, utiliza clases, propiedades, instancias,
relaciones de agregaci´on, generalizaci´on..., y sobre todo restricciones, que
en la mayor´ıa de los casos est´an representadas mediante lenguajes l´ogicos
(l´ogica descriptiva o de primer orden), para poder a˜nadir esa sem´anti-
ca al modelo. De esta manera una ontolog´ıa no basa su representaci´on
en c´omo la informaci´on ser´a almacenada computacionalmente y por tan-
to es independiente del aspecto f´ısico de su implementaci´on [Bre04]. De
acuerdo con esto, un esquema de base de datos podr´ıa verse como una
ontolog´ıa, puesto que tambi´en representan los hechos de mundo real,
tienen su propia estructura de representaci´on, e incluso restricciones que
dan sem´antica al modelo. Es m´as, existen correspondencias directas en-
tre una ontolog´ıa y una base de datos, como por ejemplo que una clase
puede ser una tabla, o que una propiedad se corresponde a un atributo,
adem´as de que tambi´en pueden modelarse relaciones de agregaci´on, ge-
neralizaci´on, restricciones, etc. [Unc04] Sin embargo su comparaci´on no
es tan trivial.
A continuaci´on veremos las diferencias que existen entre la repre-
sentaci´on de conceptos utilizando Ontolog´ıas y BBDD. Se analizar´an sus
2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 17
ventajas e inconvenientes, compar´andolas a trav´es de los siguientes pun-
tos de vista:
La sem´antica o conceptualizaci´on de la informaci´on que representan.
El mecanismo de representaci´on de los datos (tuplas/instancias) en
las mismas.
El modelo utilizado para la representaci´on de la informaci´on.
La eficiencia de uso.
Con respecto a la conceptualizaci´on de la informaci´on
Los te´oricos de las ontolog´ıas afirman que una base de datos, dada
la estructura de representaci´on de su informaci´on y su finalidad, se co-
rresponder´ıa con una ontolog´ıa de peso ligero (light weight ontology), es
decir, no ser´ıa una ontolog´ıa propiamente dicha [GP03b, Bre04, Noy04],
puesto que carece en su definici´on, entre otras cosas, de los axiomas que
permiten realizar inferencias. Se considera que los esquemas de bases de
datos est´an normalmente destinados a satisfacer los requisitos de una
aplicaci´on, mientras que las ontolog´ıas son fruto de un trabajo consen-
suado y deben ser compartidas entre toda la comunidad [Bre04, Unc04].
Adem´as destacan que las ontolog´ıas no necesitan distinguir obligatoria-
mente entre los tipos de datos primitivos y complejos, que sus propiedades
tienen mucha m´as sem´antica y que no necesitan realizar una normali-
zaci´on (gracias a todo esto se facilita la uni´on y compartici´on de las
mismas).
En el ´area de las bases de datos, por contra, se considera que el mo-
delado conceptual en el que est´a basada su representaci´on [Spy02, Cul03,
Mee01b, Rui06] proporciona una descripci´on mas rica sem´anticamente
que la que da la l´ogica descriptiva en la que est´an basadas la mayor´ıa
de las descripciones de ontolog´ıas. No obstante, existen en la actualidad
representaciones conceptuales de ontolog´ıas, como las que est´an basadas
en frames, que son mucho mas intuitivas. Sin embargo, las ontolog´ıas
requieren un nivel m´as alto de expresividad que el que le pueden dar los
modelos conceptuales. Otros autores, como Jean et al. [Jea06] consideran
que los modelos conceptuales no cumplen el criterio de la representaci´on
de un conocimiento consensuado y la capacidad de ser referenciada la
informaci´on que se representa. Mylopoulos [Myl07] considera que una
ontolog´ıa no es un modelo conceptual, puesto que un ontolog´ıa se con-
sidera reutilizable y un modelo conceptual lo es en menor grado.
18 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
De cualquier manera, las desventajas que puedan verse en cuanto a
la representaci´on de la realidad utilizando una base de datos, por su
carencia a la hora de expresar axiomas para dar a´un m´as sem´antica a la
realidad que est´an representando, pueden verse resueltas por la incorpo-
raci´on de informaci´on l´ogica, gracias al uso de una Base de Datos L´ogico-
Deductiva. Es m´as, existen hoy en d´ıa un gran n´umero de Sistemas de
Bases de Datos dedicados al tratamiento de informaci´on de muy diverso
tipo, desde BD Temporales, Espaciales, de Miner´ıa de Datos, Multimedia,
Transaccionales, etc. Esto es m´as de lo que puede decirse del modelado de
informaci´on en ontolog´ıas, que hoy en d´ıa esta carente de la posibilidad
de asociar especificaciones temporales o espaciales [Cul03] a las mismas.
Con respecto a los datos que se representan
La representaci´on de la realidad que hace una ontolog´ıa, mezcla la in-
formaci´on del esquema con los datos o instancias que este esquema pueda
tener. De hecho, no es necesario que la ontolog´ıa tenga datos. En cam-
bio, en una base de datos hay una clar´ısima separaci´on entre esquema y
datos. La informaci´on del esquema se encuentra almacenada como tuplas
en el diccionario de datos, de esta forma tambi´en puede ser consultada
al igual que los datos en s´ı [Cul03, Unc04]. Gracias a la carencia de esta
separaci´on en las ontolog´ıas, es posible la definici´on de clases que puedan
ser a la vez instancias, flexibilidad que jam´as permitir´ıa un modelo de
bases de datos relacional (un modelo orientado a objetos puro si que lo
permitir´ıa). Sin embargo esta flexibilidad tambi´en traer´a consecuencias a
las ontolog´ıas, puesto que no se podr´a hacer deducciones sobre aquellas
ontolog´ıas que utilicen dicha funcionalidad.
En cuanto a la incorporaci´on de las instancias, una ontolog´ıa no sigue
ning´un tipo de patr´on ni regla [Cul03]. Es m´as, en una ontolog´ıa la defini-
ci´on de una nueva instancia no requiere que se cumplan las restricciones
impuestas a la misma, son a˜nadidas sin m´as. Contrariamente, el mo-
delado de una base de datos requiere el cumplimiento de todos los re-
querimientos definidos sobre la misma para asegurar la integridad de la
informaci´on (algunos autores consideran que el principal motivo de las
BBDD es la integridad de los datos [Unc04]). De hecho, una tupla, en
una BD Relacional, no podr´ıa ser incluida en la BD si no cumple to-
das las restricciones impuestas a la misma, incluyendo las restricciones
sem´anticas del modelo (CHECK Constraints) adem´as de las propias del
Modelo Relacional (claves primarias, ajenas, nulos, etc.). Este hecho pro-
porciona al Sistema de Bases de Datos la presunci´on de mundo cerrado
2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 19
(aunque para sus detractores [Unc04] supondr´ıa una p´erdida sem´antica
en la representaci´on de la informaci´on importante). Para solventar este
problema en las ontolog´ıas, se ha de recurrir a los razonadores, que son
los que determinar´an qu´e instancias son las que pertenecen o no a la
ontolog´ıa donde est´an definidas. Por tanto, cada vez que se desee realizar
dicha comprobaci´on, habr´a que lanzar el razonador sobre la ontolog´ıa,
cosa que en Bases de Datos no es necesario, dado que la informaci´on es
consistente desde el principio.
Evidentemente los razonadores de ontolog´ıas sirven adem´as para poder
obtener nueva informaci´on adem´as de la que ya se encuentra representa-
da. Su analog´ıa en el campo de las bases de datos se encontrar´ıa en los
lenguajes de consulta como el SQL. La principal diferencia est´a en que los
razonadores pueden encontrar esta informaci´on sobre las ontolog´ıas, inde-
pendientemente de que tengan instancias definidas en ellas. Al contrario
que las bases de datos, que ´unicamente obtendr´an nueva informaci´on so-
bre la que ya est´a almacenada en ella, y por supuesto, ser´ıa imposible,
obtener informaci´on mixta, es decir, de datos y de partes del esquema a
la vez [Unc04]. Por supuesto, el razonamiento taxon´omico es otra de las
partes fundamentales de las ontolog´ıas.
Con respecto a la t´ecnica de modelado
Tambi´en habr´a que tener en cuenta las diferencias que existen en el
modelo de base de datos utilizado para su representaci´on. El modelado
l´ogico de una BD no representa la misma sem´antica que el modelado
conceptual de la misma. La serie de limitaciones, dependiendo del modelo
que se trate, proporcionar´a mayores o menores p´erdidas sem´anticas a la
representaci´on. As´ı por ejemplo, un esquema entidad-relaci´on extendido,
o un diagrama UML, presenta una informaci´on como las relaciones es-un
que se pierden al transformarse en el modelo relacional. Sin embargo la
mayor´ıa de estas transformaciones hacen perder muy poca sem´antica al
modelo l´ogico que representan.
En las ontolog´ıas, estas p´erdidas tambi´en ocurren dependiendo del
lenguaje de representaci´on utilizado. As´ı no ser´a lo mismo representar
una ontolog´ıa mediante KIF, RDF, OWL (en cada una de sus modali-
dades), LOOM o utilizando cualquier herramienta de generaci´on de on-
tolog´ıas, que haga su propia representaci´on de la informaci´on. Adem´as,
cada lenguaje propone sus propias restricciones, provocando p´erdidas
sem´anticas a la hora de realizar traducciones entre las mismas. Esta
desventaja no ocurre con las Bases de Datos y concretamente en el Mo-
20 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
delo Objeto-Relacional que utiliza siempre el mismo lenguaje est´andar
para su representaci´on, el ANSI SQL [fSIIT99]. De cualquier modo es
conveniente destacar que OWL esta tomando cada vez m´as fuerza en
el campo de la representaci´on de ontolog´ıas gracias a la aparici´on de la
Web Sem´antica, pudiendo llegar a convertirse en est´andar en un futuro
no muy lejano.
Con respecto a la eficiencia en la representaci´on
En cuanto a la ventaja de las bases de datos dada la gesti´on tan
eficiente de la informaci´on que hacen, ha provocado que esta tecnolog´ıa
est´e presente en el entorno de las ontolog´ıas, ya que no es l´ogico tener
ingentes cantidades de datos almacenadas en forma de archivo de texto
en formato OWL, o RDF. Es decir, las instancias donde se encuentra
la informaci´on almacenada, deber´ıan estar almacenadas en un entorno
de bases de datos y ser entonces la ontolog´ıa la que quedar´ıa como una
envoltura que permite acceder a esta informaci´on. En lugar de acceder
al esquema de la BD, ser´a la ontolog´ıa la que proporcione la informaci´on
para poder formular la consulta. Siguiendo esta idea existen numerosas
propuestas que permiten acceder a la informaci´on que se encuentra en una
BD (principalmente relacional debido a su hegemon´ıa en el ´area de las
BBDD), a trav´es de una ontolog´ıa de dominio. A continuaci´on se presenta
un gran n´umero de estas propuestas, clasificadas en funci´on de c´omo es
utilizada la ontolog´ıa para representar o acceder a dicha informaci´on.
2.3.1. Comunicaci´on entre Bases de Datos y Ontolog´ıas
La comunicaci´on entre Bases de Datos y Ontolog´ıas s´olo es posible si
los esquemas de BD coinciden de alguna manera con las ontolog´ıas que
representan dicha informaci´on. Para ello han surgido distintas propuestas
que, seg´un [Vys06] pueden categorizarse en:
Generar Descripciones de Ontolog´ıas y Esquemas de Bases de Datos
utilizando la misma T´ecnica de Modelado
Se trata de propuestas generadas en esquemas conceptuales que pueden
ser v´alidos tanto para bases de datos como para la definici´on de on-
tolog´ıas. De esta forma una ontolog´ıa, podr´ıa ser traducida en cualquier
otro lenguaje. Este es el caso de [Bro06], que usa UML para definir on-
tolog´ıas, pero es el menos frecuente, dado que la mayor´ıa de las repre-
2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 21
sentaciones de ontolog´ıas utilizan un modelo de representaci´on espec´ıfico
para ellas, lo mismo que las bases de datos.
Generar el Esquema de Bases de Datos a partir de Ontolog´ıas
En este caso, una ontolog´ıa ya existente ser´ıa la encargada de generar
el esquema de bases de datos. Esta opci´on provoca, seg´un algunos au-
tores una gran p´erdida sem´antica, dado que gran parte de la informaci´on
inherente en la ontolog´ıa se pierde en la traducci´on. Existen propuestas
que llevan a cabo este proceso, como la que se encuentra en [Vys06] o
en [Gal05b], en las que se implementan procedimientos que autom´atica-
mente generan esquemas de bases de datos a partir de una ontolog´ıa en
OWL. Existen otras propuestas como la de El-Ghalayini et al. en [EG06]
que propone la obtenci´on de un modelo conceptual a partir de una on-
tolog´ıa.
Extraer o Representar la Descripci´on de la Base de Datos en forma
de Ontolog´ıa
Este ´ultimo caso, consistente en generar una ontolog´ıa a partir del
esquema de bases de datos, es el m´as desarrollado en la comunidad,
de hecho existen un gran n´umero de propuestas de muy diversa ´ındole
llev´andolo a cabo. Este proceso tambi´en se conoce como ingenier´ıa in-
versa de bases de datos relacionales a ontolog´ıas [Ast04]. En ´el se per-
mitir´a el acceso a la informaci´on, esto es, a las instancias almacenadas
en las bases de datos, a trav´es de la ontolog´ıa. Seg´un Astrova [Ast05],
existen 3 aproximaciones a la hora de hacer esta Ingenier´ıa Inversa:
La basada en un an´alisis del esquema relacional. Stojanovid et al.
[Sto02] construyen reglas para mapear los constructores en el mo-
delo de BD con su equivalentes constructores en la ontolog´ıa. Tam-
bi´en Juric y Sckocir [Jur07] proponen unas tablas de mapeo para
generar la ontolog´ıa en OWL a partir de un esquema relacional,
sin embargo esta propuesta luego se enriquece sem´anticamente con
otras fuentes de informaci´on. Incluso en la propuesta de Champin
[Cha07] se modela formalmente el modelo relacional, estableciendo
las correspondencias con OWL para poder implementar una apli-
caci´on que obtenga las ontolog´ıas. El programa DataGenie [Gen07]
desarrollado por Gennari et al. establece mapeos entre la ontolog´ıa
y la BD. Existen propuestas que incluso dise˜nan un lenguaje pro-
pio para declarar estos mapeos, como el Web-PDDL [Dou06], o el
22 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
lenguaje declarativo R20 de Barrasa et al. [Bar03] que representa las
correspondencias entre el modelo de BD relacional y una ontolog´ıa
basado en la propuesta previa D2R MAP de Bizer [Biz03]. Por otro
lado, hay otras propuestas que suben un nivel de abstracci´on, cen-
tr´andose en el modelo conceptual de la base de datos relacional (el
entidad relaci´on), para obtener la ontolog´ıa de dominio [Jea06] co-
rrespondiente en OWL. En [Upa05] y [Xu04] se propone incluso una
herramienta propia y reglas de mapeo para obtener la ontolog´ıa en
OWL. A este nivel tambi´en se proponen lenguajes para establecer
las correspondencias entre los dos modelos. As´ı a partir de Diagra-
mas E/R o UML, se propone un nuevo lenguaje para la definici´on
de la ontolog´ıa, llamado el DLR-DB de Lubyte y Tessaris [Lub07].
Los basados en un an´alisis de los datos. Construyen la ontolog´ıa
basada en un an´alisis del esquema relacional (tambi´en se analizan
los datos para a˜nadir sem´antica). Este es el caso de Astrova [Ast04]
y Tijerino et al. [Tij05], este ´ultimo, analiza los contenidos de las
tablas para obtener una ontolog´ıa. A trav´es de los contenidos, pode-
mos descubrir relaciones entre datos y restricciones y, a partir de
ellas, descubrir correspondencias con otras ontolog´ıas ya realizadas
o bien desarrollar una nueva propia. Otra aproximaci´on que cons-
truye una ontolog´ıa en OWL de manera semiautom´atica que se cor-
responde con el contenido de una BD relacional a partir del an´alisis
de formularios en HTML la propuesta por Benslimane et al. [Ben06].
Las basadas en un an´alisis de las consultas de los usuarios. Como
la de Kashyap [Kas99], que construye una ontolog´ıa basada en un
an´alisis del esquema relacional. La ontolog´ıa se refina con las con-
sultas de los usuarios. Esta ontolog´ıa no crea axiomas.
Sin embargo, algunos autores destacan los problemas que tiene este
proceso de ingenier´ıa inversa [Jur07]. La construcci´on de una ontolog´ıa
basada en un an´alisis del esquema relacional, afirman, puede estar limi-
tado por la compleci´on de la informaci´on de entrada y la correcci´on de
la misma. Dicha afirmaci´on se basa en problemas como la falta de infor-
maci´on en los esquemas, la creaci´on de esquemas no normalizados, las
p´erdidas al traducir de los esquemas conceptuales a los relacionales, o
el uso de nombres inapropiados en la representaci´on de la informaci´on.
No obstante, estos problemas no dejan de ser puntuales, y no suponen
la mayor parte de las representaciones de bases de datos relacionales que
son susceptibles de ser convertidas en ontolog´ıas.
2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 23
Existen otras alternativas en la comunicaci´on entre BD Relacionales
y Ontolog´ıas, estas consisten en la utilizaci´on por parte de esta ´ultima
del modelo relacional para poder “ser almacenadas”. Estas propuestas
olvidan la conceptualizaci´on o realidad que la ontolog´ıa representa y que
deber´ıa analizarse y modelarse a la hora de representar informaci´on en
una BD, dado que el inter´es del uso de la BD ´unicamente subyace en
la representaci´on de la meta informaci´on que constituye la ontolog´ıa. Es
decir, la base de datos, representa la metaontolog´ıa: clases, propiedades,
instancias, restricciones, etc, y su tarea ser´a la gesti´on eficiente de todas
las ontolog´ıas que en ella se encuentren almacenadas. Estas propuestas
reciben el nombre de modelos OBDB (Ontologies Based DataBases) y
se definen como los modelos de bases de datos que permiten almacenar
la ontolog´ıa y los datos en un modelo de datos com´un y ´unico [Jea06].
Jean et al. [Jea06] propone un modelo que separa la definici´on de la
ontolog´ıa y la de las instancias. La propuesta de Rold´an-Garc´ıa et al.
[Rol05] propone una herramienta para almacenar ontolog´ıas en OWL en
un BD relacional, mediante el uso de archivos XML como archivos de
configuraci´on que podr´an ser almacenados en cualquier RDBMS. Pan et
al. [Pan03] almacena ontolog´ıas en un RDBMS de Access, creando una
tabla para cada clase, o propiedad. La jerarqu´ıa de clases se almacena en
el sistema utilizando vistas. Otro tipo de propuestas las representa co-
mo por ejemplo Sesame [Bro02, Kam07], se proponen una arquitectura
desarrollada para un almacenamiento y consulta eficiente de datos en
RDF y sobre todo independiente de cualquier sistema de almacenamien-
to. Este modelo propone una API (en Java), que permite acceder a los
procedimientos que gestionan la informaci´on de la ontolog´ıa. Hay otras
muchas propuestas como esta, como la que proporciona JENA [Pro07]
permitiendo la interpretaci´on tambi´en de ontolog´ıas OWL.
2.3.2. Ontolog´ıas como Representaci´on de Modelos de Bases
de Datos
Otra tendencia que existe es la de generar ontolog´ıas que describen
la conceptualizaci´on de una base de datos. De esta forma, la informaci´on
que representan estas ontolog´ıas son metadatos, y desde este punto de
vista, pueden ser consideradas estas ontolog´ıas como Ontolog´ıas de Alto
Nivel. A partir de la definici´on de la ontolog´ıa de alto nivel, la definici´on
de los esquemas como instancias de la ontolog´ıa ser´a un paso sencillo,
poniendo de esta manera a disposici´on del usuario la perspectiva de una
base de datos como si se tratara de una ontolog´ıa. Existen tambi´en un
24 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
gran numero de propuestas sobre esta idea: LaBorda et al. [PdL05] pro-
pone Relational.OWL, una ontolog´ıa muy b´asica que describe el modelo
de bases de datos relacional con el fin de poder compartir informaci´on
entre bases de datos heterog´eneas, utilizando OWL-Full para represen-
tar dicha ontolog´ıa. En la misma linea que el anterior, Kupfer et al.
[Kup06] presenta una ontolog´ıa en OWL-Lite que denomina ontolog´ıa
abstracta de bases de datos, la cual permite representar un esquema de
bases de datos, mediante la instanciaci´on de dicha ontolog´ıa. Trinh et al.
[Tri06] tambi´en propone una ontolog´ıa llamada OWL-RDBO que repre-
senta en OWL los elementos b´asicos de una BD relacional y las relaciones
sem´anticas entre ellos. Calero et al. [Cal05, Cal06] tambi´en representa el
modelo relacional de bases de datos de la manera m´as completa hasta la
fecha, dado que describe ´ıntegramente en el ANSI SQL 2003 [fSIIT03].
Sin embargo, utilizan una representaci´on en UML para describirlo, jun-
to con descripciones en OCL para completar su definici´on. En cuanto a
propuestas software concretas existe Ontobase [Yab07], una herramienta
que representa los contenidos de una base de datos autom´aticamente, a
trav´es de la herramienta de representaci´on de ontolog´ıas de Prot´eg´e.
En definitiva, podemos considerar entonces una Base de Datos como
una ontolog´ıa, puesto que todas las carencias que pudiera presentar son
solventables de una u otra manera. Esta propuesta, permite la definici´on
de una BD a base de la instanciaci´on de la ontolog´ıa de alto nivel que
representa la informaci´on del modelo de bases de datos relacional. Si
se trata dicha informaci´on tal como es por naturaleza, esto es, como
metadatos, entonces la instanciaci´on de ciertas clases de dicha ontolog´ıa
deber´a dar lugar a unas nuevas clases, que representan la informaci´on del
esquema de la BD que es en ultima instancia lo que se desea representar.
Por ejemplo, cualquier propuesta de ontolog´ıa que represente el modelo
relacional de bases de datos, contar´a con una definici´on de Tabla no como
clase, sino como metaclase, dado que una tabla es la representaci´on de la
estructura de la informaci´on. De esta forma, la instancia de la clase Tabla,
por ejemplo, con el concepto de Personas dar´ıa lugar a una nueva clase,
la clase Personas, que ser´ıa en ultima instancia, la que albergar´ıa los
datos o informaci´on al respecto de la realidad que representa a trav´es de
sus instancias (se corresponder´ıa con las tuplas en el modelo relacional).
En la figura 2.3 se puede visualizar este ejemplo, donde el fondo de color
destaca la relaci´on entre las metaclases y las instancias del esquema de
BD generadas.
Las principales motivaciones que llevan al modelado del modelo de
2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 25
(ONTOLOGIA DEREPRESENTACION
DELMODELO RELACIONAL)
Tables
Tipos de
datos
Columnas
Esquemas
...
CLASES
(metaclase )
Personas
Nombre
Edad
Cuentas
...
...
Personas
Cuentas
...
INSTANCIAS CLASES
Juan
Pedro
...
INSTANCIAS
(ONTOLOGIA DELESQUEMA
DE BASES DE DATOS)
Figura 2.3: Ejemplo de relaci´on entre las Metaclases y las Instancias en la
representaci´on mediante ontolog´ıas de un esquema de BD
26 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
bases de datos como una ontolog´ıa son las siguientes:
Simplifica la visi´on de una base de datos, dado que presentan el
modelo alejado de una implementaci´on concreta.
Aporta otra posibilidad de acceso a la informaci´on almacenada en
una base de datos, adem´as de la que da el propio RDBMS o las
aplicaciones que la utilicen.
Hace visible la estructura de la informaci´on de una base de datos,
a trav´es de una representaci´on est´andar como puede ser OWL o
RDF. Esto puede resultar ´util en algunos entornos como la Web
Sem´antica, donde el acceso al contenido sem´antico de las bases de
datos es escaso.
Permite incluir en la Web Sem´antica la informaci´on de los esquemas,
anotar p´aginas web din´amicas o sistemas de acceso a BDs.
Es f´acil mantener actualizados los cambios que se producen en la
estructura de una base de datos, puesto que la generaci´on de la
ontolog´ıa es autom´atica.
Permite la comunicaci´on y compartici´on de informaci´on entre bases
de datos heterog´eneas, dado que la representaci´on de la informaci´on
es independiente de cualquier RDBMS.
Permite el establecimiento de relaciones entre diferentes modelos de
representaci´on de datos adem´as de esquemas relacionales, esto es:
orientados a objetos, ontolog´ıas, estructuras XML, esquemas RDFS,
etc.
Permite la gesti´on homog´enea de bases de datos distribuidas.
Enriquece la representaci´on de la informaci´on, permitiendo a la on-
tolog´ıa generada de Bases de datos relacionarse con otro tipo de
ontolog´ıas de dominio, m´as ricas en sem´antica (a trav´es de t´ecni-
cas de mapeo o alineamiento), para mejorar as´ı la calidad de la
informaci´on representada.
Permiten representar tipos de datos complejos o diferentes tipos
de datos de manera sencilla para el usuario, cuya representaci´on y
gesti´on a trav´es de un RDBMS ser´ıa mucho mas costoso para su
interpretaci´on y manipulaci´on por parte de usuario (dado la estruc-
tura de representaci´on de datos que tienen estos sistemas).
2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 27
2.3.3. Integraci´on de Informaci´on
En la actualidad nos encontramos con un gran n´umero de ontolog´ıas
que describen cualquier concepto de la realidad. Los contenidos de las
ontolog´ıas var´ıan desde la descripci´on de un simple dominio, hasta la
descripci´on de tareas o metadatos. A su vez, existen ontolog´ıas que
representan la misma realidad o parte de ella. Es m´as incluso existen
otros mecanismos de representaci´on de informaci´on alternativos a las on-
tolog´ıas tambi´en accesibles y utilizados por los usuarios. Ante toda esta
cantidad de informaci´on se impone la necesidad de acceder a la misma,
de forma unificada y transparente, para lo que requiere la utilizaci´on de
mecanismos de integraci´on de estructuras de informaci´on.
Se han desarrollado un gran n´umero de sistemas para permitir inte-
grar una amplia variedad de datos provenientes de muy diversas fuentes.
La integraci´on de Ontolog´ıas, descrita en [Cho06, Ham04, Noy04], es una
de las operaciones m´as estudiadas, desarrolladas e implementadas dado
el gran n´umero de representaciones de este tipo que existen. Sin embargo
el campo de las ontolog´ıas no es el ´unico que necesita utilizar sistemas
de integraci´on de informaci´on. Desde que la Web Sem´antica permite el
acceso a fuentes de informaci´on de muy diversa ´ındole (dicha informa-
ci´on se encuentra representada en diversos formatos, incluso en diferentes
lenguajes) la necesidad de sistemas de integraci´on cada vez m´as sofisti-
cados se hace m´as acuciante. Algunos ejemplos de los diferentes tipos
de esquemas que nos podemos encontrar son: esquemas XML, ontolog´ıas
(RDF, OWL), esquemas relacionales (SQL), esquemas orientados a ob-
jetos (UML), folksonomias, tesauros, etc.
El proceso de integraci´on de informaci´on no es simple. George [Geo05]
resume los diferentes tipos de heterogeneidad que nos podemos encontrar
en los esquemas y las dimensiones de integraci´on, que pueden establecerse
en tres:
Integraci´on del Sistema, representa la heterogeneidad en la platafor-
ma donde se representa la informaci´on,
Integraci´on del Esquema, representa la heterogeneidad entre esque-
mas. En [Geo05] se identifican cinco tareas en este proceso: a) pre-
integraci´on, que es cuando se traduce el esquema en forma de mo-
delo de datos, b) comparaci´on, que es cuando se identifican los con-
flictos sem´anticos, c) ajuste: hace los conflictos compatibles para
combinarlos mediante una representaci´on similar, d) combinaci´on:
integra los esquemas, e) reestructuraci´on: refina el esquema
28 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
Integraci´on Sem´antica, resuelve las diferencias entre la representaci´on
de los datos conceptuales mediante la determinaci´on de equivalen-
cias entre los constructores del esquema.
Aunque la mayor´ıa de las aproximaciones para integrar informaci´on
est´an basadas en t´ecnicas de integraci´on de esquemas que provienen de
las disciplinas de bases de datos, existen ciertas diferencias entre las on-
tolog´ıas y las bases de datos, como hemos visto en la secci´on anterior y
destacan Kalfoglou y Schorlemmer [Kal03]. Las dos aproximaciones m´as
comunes en el proceso de integraci´on de esquemas son: Vista Local y Vista
Global [Gog05]. La aproximaci´on de Vista Global consiste en establecer
una representaci´on de dominio gen´erica (un esquema global) donde los
esquemas locales se mapeen con el global (esta t´ecnica es la m´as utilizada
en BBDD [Apa05]). La aproximaci´on de Vista Local implica establecer
correspondencias directas entre los diferentes esquemas locales.
Existen varias propuestas para establecer la correspondencia entre
esquemas y ontolog´ıas. Por ejemplo, MAPONTO [An04] es una herra-
mienta que utiliza l´ogica para establecer mapeos entre ontolog´ıas y BDs,
COMA++ [Aum05] herramienta que resuelve los problemas de corres-
pondencias entre los esquemas y las ontolog´ıas escritas en diferentes
lenguajes como SQL, W3C XSD u OWL. GLUE [Doa02] u Ontomap
[Gal05a] son otros ejemplos de herramientas usadas para la b´usqueda de
correspondencias entre esquemas autom´aticas.
En este trabajo, se intentar´a establecer un marco id´oneo para in-
tegrar esquemas de bases de datos difusas con el resto de estructuras
heterog´eneas que pueden obtenerse a trav´es de la Web Sem´antica. Se
han identificado dos dimensiones en este marco:
La integraci´on del sistema, que requerir´a la integraci´on de esque-
mas a partir de SGBDs diferentes como Oracle c , MySQL c , Post-
greSQL c , etc. Cada sistema tendr´a sus propias caracter´ısticas que
deber´an ser analizadas para que esta integraci´on pueda llevarse a
cabo.
La integraci´on del esquema que permite integrar esquemas hetero-
g´eneos. Estos esquemas pueden representarse utilizando diferentes
lenguajes como SQL, XML u OWL. Esta tarea requiere que sean
resueltos algunos conflictos, como: conflictos de tipo de datos, de
escalado de datos, de p´erdida de datos, etc. [Hai05]
Dadas las caracter´ısticas espec´ıficas de la ´ultima dimensi´on, la inte-
graci´on sem´antica ser´a estudiada una vez que las dos dimensiones previas
2.4. ONTOLOG´IAS PREVIAS 29
sean desarrolladas. Cualquiera de las dos aproximaciones, Vista Global
o Vista Local, pueden ser v´alidas para establecer correspondencias entre
diferentes esquemas. Sin embargo, dada la naturaleza de la informaci´on
con la que se trabaja, lo m´as usual es que se utilice mayoritariamente la
de Vista Local.
La representaci´on de esquemas de BD Difusas en forma de ontolog´ıa
puede establecer un marco id´oneo donde cualquier esquema local pue-
da establecer la correspondencia con dicho esquema que permite la re-
presentaci´on de informaci´on difusa. Dicha representaci´on de esquemas
ser´a detallada en los cap´ıtulos siguientes.
2.4. Ontolog´ıas Previas
En este apartado se presentan aquellas dos ontolog´ıas en las que
est´a basado este trabajo de investigaci´on. A partir de ellas y tal y co-
mo marcan las metodolog´ıas de generaci´on de ontolog´ıas (realizando una
operaci´on de mezcla y de alineamiento de ontolog´ıas) se formar´a una
nueva, objeto de esta tesis.
2.4.1. Ontolog´ıa de Tipos de Datos
Los tipos de datos, tambi´en denominados tipos base, tipos primitivos
o tipos built-in, han sido descritos por todos los lenguajes de progra-
maci´on, o sistemas de representaci´on de datos, que requieren el almace-
namiento o manipulaci´on de los mismos. A partir de ellos, se formar´an
otros tipos de datos m´as complejos y con mayor capacidad expresiva.
Sin embargo si requerimos la representaci´on de los tipos de datos base,
en teor´ıa, simplemente tendr´ıamos que irnos a cualquier especificaci´on de
lenguaje que los utilizara, y obtendr´ıamos un listado con los nombres que
tienen asignados y sus caracter´ısticas principales. El problema viene dado
porque cada representaci´on difiere en los tipos de datos que implementa,
incluso algunos nombres son diferentes, como es el caso de lenguajes de
programaci´on como C o Pascal, o SGBDs como Oracle c o MySQL c .
El ANSI SQL hace una distinci´on de los tipos de datos predefinidos,
describiendo cada uno de ellos de manera ligada a la representaci´on de
datos que se hace en el Modelo Relacional [fSIIT99, fSIIT03]. Pardede et
al. [Par05] toma la ultima revisi´on del SQL , el ANSI SQL 2003 (SQL4)
y hace una clasificaci´on de los tipos de datos predefinidos tal y como se
puede ver en la figura 2.4.
30 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
SQL Data Types
Predefined Types
String
Boolean
Numeric Interval DateTime
Constructed Type User-Defined Types
Exact Approximate
Integer
Float
SmallIntBigInt
Real Double Precision
Charact.BLOBBIT
VaryingFixed
CLOB.VaryingFixed
T.Stamp.TimeDate
CompositeAtomic
CollecctionRow
MultisetArray
StructuredDistinct
Ref
Figura 2.4: Clasificaci´on de los tipos de datos expresados en SQL4 dada por
Pardede [Par05]
2.4. ONTOLOG´IAS PREVIAS 31
Esta clasificaci´on ser´a utilizada en este trabajo de investigaci´on como
parte de la ontolog´ıa desarrollada para formar una ontolog´ıa de repre-
sentaci´on del conocimiento difuso.
2.4.2. Ontolog´ıa de Descripci´on del SQL2003
Siguiendo con el Modelo de Representaci´on de Datos Relacional, y da-
do que el ANSI 2003 [fSIIT03] propone la ´ultima revisi´on del est´andar,
Calero et al. en [Cal05, Cal06] propone una ontolog´ıa, que revisa la especi-
ficaci´on de este est´andar, utilizando el lenguaje de representaci´on UML
y a˜nadiendo las restricciones necesarias que plantea el modelo utilizando
el lenguaje de restricciones OCL. El diagrama de clases en UML que se
presenta en la figura 2.5 muestra la parte de la ontolog´ıa de Calero et al.
[Cal05, Cal06] utilizada en este trabajo de investigaci´on:
La ontolog´ıa de Calero et al. [Cal05, Cal06] describe todas las es-
tructuras objeto relacionales que presenta el SQL4, aunque no detalla
los tipos base predefinidos y sin embargo, si que lo hace con los tipos
de datos complejos y el resto de estructuras que representa el Modelo
Objeto-Relacional.
32 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS
SchemaObject
objectName : string
Table
isInsertableInto :bool
isReferenceable :bool
Column
name: string
defaultOption :[user, current_user,
current_role, session_user, system_user,
current_path, <literal>, <date time
value>,< implicy typed value>]
ordinalPosition :int
isUpadatable :bool
isSelfReferencing :bool
nullabilityCharacteristic :[not nullable,
possibly nullable]
UniqueColumn
ordinalposition :i
nteger
BaseTable
Constraint
isDeferrable :Bool
initialConstraintMode :[deffered,inmediate]
TableConstraint
ReferentialConstraint
updateRule :[cascade, set_null, set_default,
restrict, no_action]
deleteRule : [cascade, set_null, set_default,
restrict, no_action]
matchOption :[mach full, match partial]
UniqueConstraint
PrimaryKey
1..*
has columns
*
Constraints
References
References
1..*
UniqueColumnList
*
IdentityColumn
startvalue :int
increment: int
maximunvalue :int
minimunvalue :int
cycle_option: Boolean
1
1..n
GeneratedColumn
generation_expression: String
1..n
1..n
*
DerivedTable
query_expression: STring
is_updatable : Boolean
is_simply_ updatable :boolean
View
check_option:
[cascade, local, none]
TypedTable
xor
SQLSchema
name : string
Catalog
name : string
1 1..n
1
1..n
StructuredType
(from DataTypes)
1
1..n
*
selfReprences
1
0..1
DataTypes
hasDataType
1
TransientTable
UserDefinedType
(UserDefinedType , describes
inCalero et al. work)
Domain
default_option: enum
Domain_hasTypeOf_DataType
defines
*
0..1
*
xor
0..1
Asertion
search_condition:string
Domain_Constraint
search_condition:string
constraints
TableCheckConstraint
search_condition:string
ConstructedType
(Constructed Types, describes
inCalero et al. work)
Predefined
(Predefined DATA TYPES)
Figura 2.5: Parte de la Ontolog´ıa en UML dada por Calero et al. [Cal06] del
SQL4
Cap´ıtulo 3
El problema de la
Representaci´on de Datos
Heterog´eneos en Bases de
Datos Difusas. Arquitectura
de un SGBDR Multiprop´osito
3.1. Introducci´on
En este cap´ıtulo se hace un repaso por las diferentes extensiones al
modelo de bases de datos relacional que se han propuesto para repre-
sentar informaci´on difusa. Dicho repaso culmina con la descripci´on en
profundidad de la extensi´on difusa al modelo de base de datos relacional
desarrollado por Medina et al. [Med95], denominado GEFRED. Tambi´en
se describen a continuaci´on las extensiones realizadas a GEFRED que
permiten manipular estructuras l´ogicas para realizar deducciones por un
lado, y operaciones de miner´ıa de datos sobre un SGBD Difuso por otro.
Estas tres extensiones al modelo de bases de datos relacional cl´asico, for-
man la arquitectura b´asica sobre la que se fundamenta este trabajo de
investigaci´on.
Cada una de las extensiones descritas presentar´a en primer lugar el
modelo te´orico sobre el que est´a basada la arquitectura propuesta. A
continuaci´on se presentan los datos que puede representar el modelo y la
estructura necesaria para que dichos datos puedan ser representados (ex-
tensi´on del cat´alogo del sistema). Y por ´ultimo, la extensi´on al lenguaje
33
34 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
de consulta SQL que permitir´a gestionar la informaci´on almacenada en
el SGBD.
Es importante destacar que la arquitectura propuesta, FIRST (basa-
da en GEFRED, que permite la representaci´on de informaci´on impre-
cisa), sirve como base para la implementaci´on de las otras dos arquitec-
turas desarrolladas, que incluir´an, entre sus funcionalidades particulares,
el manejo de datos difusos.
Finalmente, se propone como nueva aportaci´on una ´ultima extensi´on
al SGBD que permita la combinaci´on de las tareas de gesti´on de miner´ıa
de datos y representaci´on de informaci´on imprecisa y l´ogica (las tres ex-
tensiones al SGBD anteriores) a la vez, para aumentar as´ı, el potencial
de las consultas. Esta propuesta define la arquitectura de un Servidor
Unificado Multiprop´osito que permite resolver consultas complejas sobre
una base de datos que soporta todos los tipos de datos descritos anterior-
mente. Para ello, extiende la Base de Metaconocimiento de tal forma que
sea lo suficientemente gen´erica para permitir la inclusi´on de las nuevas
arquitecturas y, por tanto, aumentar la escalabilidad del sistema. Con
el Servidor Multiprop´osito propuesto, tratamos de solucionar el proble-
ma de incompatibilidades que existen entre las extensiones anteriormente
descritas. Adem´as, se presenta un ejemplo de c´omo funcionar´ıa esta pro-
puesta, utilizando una consulta compleja, y qu´e ventajas e inconvenientes
presenta.
3.2. Representaci´on de Informaci´on Imprecisa en el
Modelo Relacional
Se han propuesto muchas extensiones al modelo relacional de bases
de datos desde que Zadeh ([Zad65]) introdujera el concepto de conjunto
difuso, que permiti´o representar datos difusos. Existen en la literatura
actual, numerosas recopilaciones donde se resumen las diferentes exten-
siones difusas realizadas al modelo relacional, entre las que destacamos
los libros de Ma [Ma05, Ma06], y los trabajos de Chen [Che99], Petri
[Pet96], Medina et al. [Med94b] o Galindo et al. [Gal06].
3.2.1. Antecedentes del Modelo Relacional Difuso
Para la representaci´on y el tratamiento de informaci´on imprecisa en
el ´ambito de las Bases de Datos Relacionales, se han presentado varios
modelos a lo largo de estos a˜nos. Entre ellos, destacan:
3.3. EXTENSIONES AL MODELO RELACIONAL 35
Aproximaciones que no emplean la l´ogica difusa, y que se basan en
el modelo original de Codd [Cod79, Cod86, Cod87, Cod90].
Aproximaciones que usan distribuciones de posibilidad para repre-
sentar la informaci´on difusa a nivel de tuplas, como la de Raju and
Majumdar [Raj88]. Este modelo tambi´en se ha denominado Modelo
B´asico de Bases de Datos.
Aproximaciones que utilizan las relaciones de similitud para repre-
sentar la informaci´on difusa, son aquellos desarrollados por Buckles
y Petri [Buc82b, Buc82a], Shenoi y Melton [She89] y Rundensteiner
et al. [Run89].
Aproximaciones que usan distribuciones de posibilidad para repre-
sentar la informaci´on difusa a nivel de atributo. Algunas de estas
son las de Prade and Testemale [Pra84b, Pra84a, Pra87b, Pra87a],
Umano y Fukami [Fuk79, Uma80, Uma82b, Uma82a, Uma94] o Ze-
mankova y Kaendel [Zem84, Zem85].
Aproximaciones mixtas que combinan diferentes t´ecnicas para re-
presentar la informaci´on imprecisa y conseguir representar el m´axi-
mo de informaci´on posible. Estas aproximaciones se basan en la
propuesta de un modelo difuso que combina distribuciones de posi-
bilidad y relaciones de similitud a la vez, como la Base de Datos
Difusa Extendida Basada en Posibilidad propuesta en Ma et al.
[Ma00], Rundensteiner et al. [Run89] y Chen et al. [Che92], o la ex-
tensi´on hecha por Medina et al. en [Med94b, Med94a] denominada
GEFRED.
El Modelo propuesto por Medina et al. en [Med94b, Med94a] se des-
cribe con mayor detalle en los apartados siguientes, dado que ha sido
utilizado como base de este trabajo de investigaci´on.
3.3. Extensiones al Modelo Relacional para Repre-
sentar Informaci´on Imprecisa
El modelo GEFRED establece las bases de la representaci´on de datos
difusos en el modelo relacional. A partir del mismo, otras extensiones
realizadas ya incluir´an la gesti´on de datos difusos como una parte m´as
del sistema. Esta f´ormula la utilizan dos extensiones concretas: una que
36 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
permite representar informaci´on l´ogico-deductiva y otra que realiza ope-
raciones de miner´ıa de datos (b´usqueda de reglas de asociaci´on, opera-
ciones de clustering, etc.) ambas utilizando datos difusos.
A continuaci´on se presentan muy brevemente dichas extensiones, pu-
di´endose consultar con m´as detalle en el Anexo B o en las fuentes biblio-
gr´aficas referenciadas.
3.3.1. Modelo Generalizado para Bases de Datos Relacionales
Difusas (GEFRED)
El modelo GEFRED de Medina et al. [Med94a, Med94b, Med95] surge
como una integraci´on de algunas tendencias (v´eanse trabajos de Prade y
Testemale [Pra84b, Pra84a, Pra87b, Pra87a], Umano y Fukami [Fuk79,
Uma80, Uma82b, Uma82a, Uma94], Bucles y Petri [Buc82b, Buc82a,
Buc84, Buc89], Zemankova y Kaendel [Zem84, Zem85]) para resolver el
problema de la representaci´on y consulta de informaci´on imprecisa en el
seno del modelo relacional.
Dicho modelo define formalmente una Base de Datos Relacional Di-
fusa (BDD) a trav´es de las definiciones de los siguientes conceptos:
Dominio Difuso Generalizado: se trata de una extensi´on del con-
cepto de dominio relacional que ampl´ıa el rango de valores que un
atributo puede tomar. Entre algunos de estos valores se encuentran:
el valor nulo, el valor no aplicable, el valor desconocido, un conjun-
to de asignaciones escalares o num´ericas posibles, distribuciones de
posibilidad construidas sobre dominios escalares o num´ericos, etc.
Relaci´on Difusa Generalizada: define una relaci´on incluyendo el
concepto de Dominio Difuso Generalizado.
Comparadores Difusos Generalizados: extienden el concepto de com-
parador para incluir las comparaciones entre valores que existen en
el Dominio Difuso Generalizado.
Operaciones de BBDD: proyecci´on y selecci´on difusa.
Las definiciones formales de estos conceptos est´an detalladas en la
secci´on B.1.1.
Arquitectura FIRST
A partir de esta definici´on formal se propone una representaci´on con-
creta de la informaci´on imprecisa, la cual se ha denominado FIRST (des-
3.3. EXTENSIONES AL MODELO RELACIONAL 37
crita en detalle en la secci´on B.1.2). Esta representaci´on plantea una
estructura de los datos difusos definidos en el Dominio Difuso Generali-
zado, discriminando entre datos imprecisos sobre un referencial:
Ordenado: para ello se establece un mecanismo para representar las
distribuciones de posibilidad utilizando aproximaciones a las mis-
mas a trav´es de representaciones trapezoidales (v´ease figura B.1 del
Anexo B) y etiquetas ling¨u´ısticas.
No ordenado: son datos sobre los que se definir´a una relaci´on de se-
mejanza para representar su dominio subyacente. Las distribuciones
de posibilidad en este tipo de dato definen asignando un grado de
pertenencia de cada valor al conjunto de valores del atributo. La
figura B.4 del Anexo B muestra los valores que puede tomar dicha
representaci´on.
Adem´as se permite representar los valores especiales Null, Unknown
y Undefined.
Resumiendo, en FIRST se definen expl´ıcitamente tres tipos de atri-
butos para representar el Dominio Generalizado Difuso:
Tipo Difuso 1: representa datos almacenados de forma precisa que
pueden ser consultados de forma imprecisa. Los tipos utilizados son
los tipos base propios del SGBDR que se utilice.
Tipo Difuso 2: representa datos imprecisos pertenecientes a un do-
minio difuso construido sobre un referencial ordenado y que pueden
ser consultados de forma imprecisa. Para ello se necesita una re-
presentaci´on especial de estos datos, la cual, utiliza estructuras que
combinan los tipos de datos base proporcionados por el SGBDR.
En la tabla B.1 del Anexo B se muestra la estructura necesaria
que han de seguir las representaciones de valores: Null, Undefined,
Unknown, etiquetas ling¨u´ısticas, valores intervalares, aproximados
o triangulares, trapezoidales o cl´asicos.
Tipo Difuso 3: representa datos imprecisos pertenecientes a un do-
minio difuso construido sobre un referencial discreto no ordenado,
sobre el que se define una relaci´on de similitud y que pueden ser
consultados de forma imprecisa. Para ello, se representan las es-
tructuras de datos: Null, Undefined, Unknown, valores simples, y
distribuciones de posibilidad descritas en detalle en la tabla B.2 del
Anexo B.
38 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
Adem´as de la representaci´on de la informaci´on, se llev´o a cabo la
implementaci´on de una serie de comparadores difusos para gestionar este
tipo de informaci´on y se a˜nadi´o el concepto de Grado de Cumplimiento
de una Condici´on o Umbral, para completar la operaci´on de selecci´on.
FMB
Para poder llevar a cabo la representaci´on de la informaci´on impre-
cisa, tal y como describe FIRST, en un SGBDR concreto, se propone la
creaci´on de la Base de Metaconocimiento Difuso (FMB). La FMB esta
formada por las relaciones donde se incluye toda la informaci´on acerca
de la estructura de los dominios y los valores que puede tomar cada atri-
buto difuso. Estas relaciones, descritas con detalle en la secci´on B.1.3, se
encuentran brevemente descritas a continuaci´on:
Fuzzy Col List: contiene los atributos difusos definidos en la BD.
Fuzzy Object List: contiene todos los objetos difusos de la BD (por
ejemplo, todas las etiquetas definidas en la BDD).
Fuzzy Label Def : contiene las distribuciones de posibilidad trape-
zoidales asociadas a etiquetas ling¨u´ısticas.
Fuzzy Approx Much: contiene los par´ametros usados para la com-
paraci´on de valores difusos contenidos en columnas de los Tipos
Difusos 1 y 2.
Fuzzy Nearness Def : contiene la relaci´on de semejanza entre cada
par de valores de un dominio de TD 3.
Fuzzy Compatible Col: contiene aquellos Tipo Difuso 3 que com-
parten dominio.
Fuzzy Qualifiers Def : contiene el umbral m´ınimo de satisfacci´on
para cada cualificador definido sobre una etiqueta ling¨u´ıstica.
Cada una de estas relaciones contiene una serie de atributos y res-
tricciones que determinan su funcionamiento. En la figura B.6 se puede
observar el comportamiento de las mismas de modo gr´afico.
3.3. EXTENSIONES AL MODELO RELACIONAL 39
FSQL
El lenguaje FSQL (Fuzzy SQL) aparece junto con la arquitectura
FIRST, para extender el lenguaje que permite gestionar la informaci´on
imprecisa en un SGBD que soporta dicha arquitectura. Este lenguaje
incluye las extensiones del DDL y el DML como se describe en el apartado
B.1.4. Adem´as en la tabla B.3 se encuentra una referencia a todas las
instrucciones extendidas que aporta este lenguaje.
Toda la arquitectura FIRST se implement´o en un SGBDR concreto,
Oracle c utilizando el lenguaje de programaci´on incrustado PL/SQL,
permitiendo as´ı que la definici´on de los operadores y el int´erprete del
lenguaje FSQL (Fuzzy SQL) fuera una parte m´as del sistema de repre-
sentaci´on de datos.
3.3.2. Representaci´on de Informaci´on L´ogica sobre BDD
Las Bases de Datos Relacionales L´ogico Deductivas permiten extraer
informaci´on a partir de los datos que se encuentran en una BD cualquiera
o representar informaci´on l´ogica. Esta funcionalidad se lleva a cabo a
trav´es del uso de relaciones especiales (extensivas e intensivas), reglas
l´ogicas y de motores l´ogicos (Prolog, Datalog, etc.) que permiten la de-
ducci´on de informaci´on.
El tratamiento de la informaci´on difusa en una BD L´ogica requiere, en
primer lugar la representaci´on de dicha informaci´on difusa en un SGBD.
Para ello que se utiliza GEFRED como modelo de datos difuso. A conti-
nuaci´on se extiende GEFRED para representar algunos de los conceptos
fundamentales del modelo l´ogico-deductivo, apareciendo as´ı, FREDDI
[Pon96, Med97]. Dicha extensi´on, que se encuentra detallada en la secci´on
B.2, se describe brevemente a continuaci´on:
Relaci´on Extensiva Difusa, es una relaci´on Difusa Generalizada
desde el punto de vista del modelo GEFRED (definici´on formal B.7
localizada en la secci´on B.2).
Relaci´on Intensiva Difusa, que consta de una cabecera que describe
una Relaci´on Difusa Generalizada, pero el cuerpo ser´ıa un conjunto
de reglas orientadas a la deducci´on con datos difusos, que permiten
el c´alculo de la instancia de la relaci´on (v´ease definici´on B.8).
Regla Generalizada con Grado de Acoplamiento, ser´ıa definida para
poder generar la instancia de las relaciones intensivas difusas. Su
40 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
definici´on esta descrita en el apartado B.2, y se corresponde con la
B.6.
Arquitectura FREDDI Extendida
Al igual que pasaba en GEFRED con FIRST, FREDDI [Pon96, Med97]
se propone como arquitectura donde se unifica el sistema de consulta de-
ductivo con el sistema de consulta difuso ambos construidos sobre un
SGBDR.
FREDDI propone las siguientes estructuras (descritas con m´as detalle
en B.2.2) para representar la informaci´on l´ogico-deductiva en un SGBDR:
Relaci´on Intensiva: es una relaci´on normal pero su instancia se cal-
cula en funci´on de los predicados que intervienen en el cuerpo de
reglas cuando se consulta, o bien es una relaci´on temporal constru-
ida en el momento de resolver la consulta.
Reglas L´ogicas: se representan en funci´on de sus predicados y vari-
ables, almacen´andose en orden y con el grado especificado.
Motor de Inferencia: ser´a un m´odulo, bien interno al SGBDR (si
este lo permite) o bien externo, implementado en un lenguaje de
programaci´on l´ogico.
Las Relaciones Extensivas carecen de representaci´on especial dado
que se corresponder´ıan con las Relaciones Difusas Generalizadas anteri-
ormente descritas en FIRST.
Base de Metaconocimiento Deductivo. Base de Reglas (RB)
La representaci´on de la informaci´on deductiva en una Base de Datos
Difusa necesitar´a estar descrita por dos bases de metaconocimiento:
FMB, anteriormente descrita, representa la informaci´on difusa.
RB o Base de Reglas, proporciona la representaci´on de las relaciones
intensivas y las Reglas Generalizadas con Grado de Acoplamiento
Difuso.
La Base de Reglas est´a compuesta por un conjunto de relaciones que
se describen con detalle en la secci´on B.2.3. Sus funciones, atributos,
y restricciones se ilustran en la figura B.7 del Anexo B y se listan a
continuaci´on de forma muy resumida:
3.3. EXTENSIONES AL MODELO RELACIONAL 41
Intensional Table Description: almacena los predicados intensivos.
Rule Description: describe cada una de las reglas como una secuen-
cia de predicados extensivos e intensivos y comparaciones concate-
nados con el operador de conjunci´on.
Predicate Description: describe el orden de las variables en cada uno
de los predicados.
Comparision Description: describe las condiciones, tipo especial de
predicados, que s´olo poseen dos variables y su tipo es uno de los
siguientes: =, =, ≤, <, ≥, >, FEQ, FGT, FGEQ, FLT, FLEQ,
MGT, MLT, NFEQ, NFGT, NFGEQ, NFLT, NFLEQ, NMGT y
NMLT.
La arquitectura FREDDI Extendida es la que permite flexibilizar la
representaci´on de las reglas difusas y aumentar el n´umero de compara-
dores difusos tal y como se ve en la figura B.7del Anexo B.
DFSQL
Al igual que ocurre con FSQL, el DFSQL (Deductive FSQL) es el
lenguaje de consulta extendido que a˜nade a los predicados descritos en
FSQL aquellos que permiten realizar operaciones deductivas. Se a˜naden
as´ı sentencias de definici´on de datos, como reglas l´ogicas o relaciones in-
tensivas, y se modifican sentencias de manipulaci´on de datos como la SE-
LECT para realizar consultas deductivas. En la secci´on B.2.4 del Anexo
B se puede encontrar un resumen de las mismas y referencias a una in-
formaci´on mas detallada de este lenguaje.
3.3.3. Ampliaci´on de GEFRED para la Miner´ıa de Datos
Antes de realizar tareas de miner´ıa de datos, se requiere resolver el
problema de gestionar informaci´on, cualquiera que sea su forma. Carras-
co et al. [Car03a, Car03b] propone la implementaci´on de un modelo de
BDRD sobre un SGBDR en el que el tratamiento difuso de la diversi-
dad de dominios susceptibles de ser tratados por un sistema de miner´ıa
de datos sea resuelto. Para ello se extiende GEFRED, y a continuaci´on
la arquitectura o interfaz (FIRST) que permite su representaci´on en el
SGBDR. Una vez representada la informaci´on, las operaciones de miner´ıa
de datos se describen a trav´es de una nueva extensi´on a la arquitectura
que se ha denominado DmFIRST y que ser´a descrita m´as adelante.
42 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
GEFRED*
Para la gesti´on de la informaci´on difusa, se utilizar´a la propuesta de
GEFRED, sin embargo, dadas las caracter´ısticas del modelo de Miner´ıa
de Datos se necesita su redefinici´on para permitir que el concepto de
dominio difuso tenga un sentido m´as universal es decir, no restringido
a un dominio concreto, y permitir representar tipos de datos complejos
(formados por m´as de un atributo cl´asico). Esta redefinici´on, que se ha
denominado GEFRED* (v´ease secci´on B.3 del Anexo B para mayor de-
talle), viene dada ante la necesidad de realizar tareas de miner´ıa de datos
sobre una BDD que requiere operar con tipos de datos m´as complejos
que los presentados hasta el momento.
Se redefinen entonces los conceptos del modelo te´orico GEFRED (sec-
ci´on B.3) para gestionar un nuevo concepto de dominio: el Dominio Difu-
so Generalizado Complejo (Definici´on B.11, secci´on B.3). En este dominio
se describe c´omo cualquier atributo definido sobre el mismo podr´a tomar
cualquier valor simple, excluyente o distribuci´on de posibilidad.
Tambi´en se encontraran nuevas definiciones para:
Relaci´on Difusa Generalizada Compleja, Definici´on B.12.
Comparador Difuso Generalizo Complejo, Definici´on B.14.
Proyecci´on Difusa Generalizada Compleja, Definici´on B.15.
Selecci´on Difusa Generalizada Compleja, Definici´on B.16.
Todas estas, se diferencian de las anteriores descritas en GEFRED en
el nuevo dominio sobre el que sus datos son definidos.
FIRST*
Carrasco et al. [Car03a, Car03b] tambi´en proponen FIRST* como una
interfaz que proporciona el acceso a m´ultiples tipos de datos, definidos
en el modelo GEFRED*, con el objeto de realizar tareas de miner´ıa de
datos sobre un SGBDR. Este interfaz se encuentra descrito en el apartado
B.3.2 y extiende el modelo FIRST anteriormente descrito.
Entre las extensiones que realiza destaca:
La inclusi´on del Tipo Difuso 4 representa a la serie de atributos
cl´asicos que determinan un Dominio Difuso Generalizado Comple-
jo y por tanto pueden ser consultados de forma imprecisa. Es un
3.3. EXTENSIONES AL MODELO RELACIONAL 43
supertipo, estar´ıa formado por los atributos de datos y si es nece-
sario, por los atributos de metadatos (que describen el significado
los datos representados en los atributos de datos).
Esta arquitectura implementa los Comparadores Difusos General-
izados Complejos, los cuales confieren al usuario la posibilidad de
definir sus propios comparadores difusos en funci´on del Tipo Difuso
4 definido.
No obstante, esta propuesta no excluye el resto de estructuras descri-
tas en FIRST, por lo que seguir´an existiendo los Tipos Difusos 1, 2 y 3
y el resto de estructuras anteriormente definidas.
FMB*
Tal y como ocurr´ıa con la FMB, la FMB* permite describir la in-
formaci´on sobre la estructura de los dominios y los valores que puede
tomar cualquier elemento descrito en GEFRED*. Dado que GEFRED*
extiende GEFRED, en la FMB* se incluyen todas las estructuras que
ya formaban parte de la base de Metaconocimiento FMB, a˜nadiendo o
modificando aquellas que posibilitan la definici´on y tratamiento del Tipo
Difuso 4 (v´ease con m´as detalle en secci´on B.3.3 y en figura B.8). Conc-
retamente:
Fuzzy Col List: se modifica para contemplar el Tipo Difuso 4.
Fuzzy Object List: se modifica para almacenar los objetos relaciona-
dos con el Tipo Difuso 4.
DmFSQL Col Col: lista de aquellos atributos de la tabla de la base
de datos que forman parte de un dominio difuso generalizado com-
plejo.
DmFSQL Label Definition: contiene informaci´on sobre las etiquetas
ling¨u´ısticas definidas para los tipos difusos 4.
DMFSQL Functions: define la referencia de las funciones tanto que
implementan a los distintos comparadores difusos de los atributos
difusos de tipo 4, como las funciones de representaci´on de los mis-
mos.
DmFSQL Functions Col: contiene la definici´on para cada atributo
difuso tipo 4.
44 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
DmFSQL Col Par: contiene la informaci´on de los par´ametros adi-
cionales para construir las llamadas a funciones que implica cada
tipo difuso 4 respecto a cada comparador.
Miner´ıa de Datos en FIRST*: DMFIRST
En Carrasco et al. [Car03a, Car03b] tambi´en se propone la implementa-
ci´on de una interfaz que permita utilizar FIRST* como base a la apli-
caci´on de distintas t´ecnicas de Miner´ıa de Datos en el marco del modelo
de BDRD ya implementado. Esta interfaz se denomina DMFIRST y per-
mite realizar las operaciones de clustering, caracterizaci´on, clasificaci´on
difusa y b´usqueda de dependencias difusas entre atributos (para m´as
detalle v´ease secci´on B.3.4).
DMFMB
Dado que las operaciones de miner´ıa de datos sobre una BDR son com-
plejas se propone definir un nuevo objeto denominado proyecto en el cual
se proporcionen los par´ametros necesarios para realizar una operaci´on
de estas caracter´ısticas (desde condiciones iniciales, resultados interme-
dios, y finales). Este nuevo elemento estar´a descrito en la Base de Meta-
conocimiento Difuso para la Miner´ıa de Datos, denominada DMFMB
(descrita en detalle en la secci´on B.3.5) y engloba las siguientes rela-
ciones (v´ease figura B.9):
DmFSQL Project: contiene la informaci´on general sobre los proyec-
tos de Miner´ıa de Datos.
DmFSQL Col List: contiene la informaci´on sobre las distintas colum-
nas requeridas en el proceso de Miner´ıa de datos.
DMFSQL
Para poder realizar tareas de miner´ıa de datos sobre este sistema,
se ha extendido el FSQL con un conjunto de sentencias de definici´on
de datos, para crear proyectos de MD (Miner´ıa de Datos), y modificado
sentencias de manipulaci´on de datos para lanzar consultas de MD. Esta
extensi´on del lenguaje se ha denominado DMFSQL (Data Mining FSQL)
y se encuentra descrita en la secci´on B.3.6.
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 45
3.4. Unificaci´on de las Arquitecturas
3.4.1. Visi´on General del Problema de Unificaci´on
Como se expuso en el apartado anterior, se encuentran desarrolladas
tres arquitecturas de bases de datos que permiten gestionar datos y rea-
lizar operaciones de muy diversa ´ındole. Resumiendo estas arquitecturas
son:
FIRST, que implementa un SBD que permite almacenar imprecisi´on
en la informaci´on,
FREDDI*, extiende el SGBD para almacenar datos para realizar
deducciones a partir de la definici´on de reglas l´ogicas, que tambi´en
pueden ser difusas, y
FIRST* y DMFIRST que mediante un nuevo tipo de datos, permite
la realizaci´on de ciertas operaciones de DM dentro de un SGBD.
N´otese que a partir del desarrollo de la arquitectura FIRST, fueron
desarrolladas las otras dos, aunque siempre desde el punto de vista de
cubrir las necesidades que se requer´ıan para la puesta en funcionamiento
de cada sistema en particular. De esta forma se dio lugar a soluciones
“ad hoc” que nada ten´ıan que ver entre si, excepto por el hecho de que
todas trabajaban con informaci´on imprecisa, y que podr´ıan reutilizar y
compartir la funcionalidad que proporcionaba la arquitectura FIRST.
No obstante, una vez en funcionamiento todas estas arquitecturas
independientes sobre un mismo SGBD, se nos plantean las siguientes
preguntas:
¿son compatibles los datos que utilizan las diferentes arquitecturas
dado que se apoyan sobre la misma implementaci´on que permite la
gesti´on de informaci´on imprecisa?,
¿se pueden utilizar reglas l´ogicas para almacenar cualquiera de los
procesos de miner´ıa de datos gestionados en DMFSQL?,
¿Una relaci´on intensiva podr´ıa ser consultada por un proceso de
miner´ıa de datos?.
46 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
Como respuesta a estas preguntas, se retoma la reflexi´on de que cada
arquitectura fue desarrollada sin tener en cuenta nada m´as que aquello
que fuera necesario para resolver los objetivos espec´ıficos del problema,
con lo que se deduce que no existe ning´un mecanismo para la combinaci´on
de las mismas. Esto es, las operaciones y estructuras definidas por DFSQL
son incompatibles con las definidas en DMFSQL.
En este apartado se plantea la infraestructura de un servidor unifi-
cado que integra las caracter´ısticas de las arquitecturas anteriormente
definidas y que permite combinar sus funcionalidades. Para ello, se estu-
dia la viabilidad de la puesta en marcha de dicha unificaci´on, planteando
las ventajas e inconvenientes en el desarrollo del sistema [Bla04, Bla05a].
3.4.2. Sistema Actual
En la Figura 3.1 se muestra la arquitectura del sistema actual donde
coexisten en un mismo SGBD las tres arquitecturas anteriormente ex-
puestas. Como se puede observar, hay una interfaz de usuario por cada
uno de los clientes que puede relacionarse con el sistema:
El Cliente SQL es el cliente por defecto del SGBD. Accede directa-
mente al Ejecutor de Consultas del SGBD para obtener la respuesta.
El Cliente FSQL es aquel que permite realizar consultas flexibles al
sistema, usando datos cl´asicos o difusos. Accede a la arquitectura
FSQL.
El Cliente DFSQL, permite consultar al sistema utilizando estruc-
turas l´ogicas. Accede a los motores deductivos implementados para
hacer inferencias y permite combinar aspectos l´ogicos con estruc-
turas difusas y cl´asicas.
El Cliente DmFSQL permite realizar operaciones de miner´ıa de
datos, difusas o no, definiendo nuevos tipos de datos y extendiendo
el FSQL anterior.
Cada interfaz esta conectada con su correspondiente arquitectura. Las
arquitecturas comparten el mismo analizador l´exico y sint´actico, pero no
sem´antico. El motivo es que la extensi´on del analizador l´exico es muy
simple, puesto que consiste en a˜nadir a la lista de tokens permitidos los
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 47
necesarios para reconocer los nuevos comandos. El analizador sem´antico
por el contrario, depender´a del significado de cada expresi´on y por tanto
su an´alisis ser´a realizado de forma particular en cada una de las arquitec-
turas. Cada m´odulo se encargar´a de traducir la consulta en una o varias
sentencias en SQL. El acceso a la Base de Datos es com´un y se realiza a
trav´es del Ejecutor de Consultas.
ANALIZADOR
LÉXICO
FSQL
DFSQL
DmSQL
ANALIZADOR
SINTÁCTICO
EJECUTORDE
SQL
ANALIZADOR
SEMÁNTICO **
BASE DE DATOS
MB
ANALIZADOR
SEMÁNTICO *
ANALIZADOR
SEMÁNTICO
RDBMS
CLIENTE
DFSQL
CLIENTE
DmFSQL
CLIENTE
SQL
CLIENTE
FSQL
Figura 3.1: Arquitectura de los Servidores Independientes
3.4.3. Arquitectura de un Servidor Multiprop´osito Unificado
El problema surge cuando se pretenden combinar las distintas tareas
que hace cada arquitectura por separado. As´ı pues, por ejemplo, si en
alg´un momento se quisiera tener almacenada en la base de reglas una que
nos mostrase el resultado de haber calculado una dependencia funcional
difusa sobre una relaci´on, habr´ıa que introducirla a mano, y a´un as´ı, su
existencia en el sistema nos resultar´ıa extremadamente in´util, dado que
no existen operaciones para explotar esta funcionalidad.
Es necesario plantearse c´omo extender los diferentes servidores ya
48 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
implementados para permitir la combinaci´on de operaciones entre s´ı y
una gesti´on de datos conjunta. Adem´as, el sistema deber´a mantenerse lo
suficientemente estructurado para que la incorporaci´on de nuevas ope-
raciones (como puedan ser nuevas tareas de miner´ıa de datos, gesti´on
de nuevos tipos de datos como por ejemplo el tiempo, etc.) sea senci-
lla o cuando menos, posible. Es decir, se plantea un nuevo trabajo de
ingenier´ıa inversa, consistente en redefinir y aunar cada una de las ar-
quitecturas planteadas, dejando las definiciones de datos, y operaciones
abiertas a nuevas incorporaciones, generando as´ı un ´unico sistema esca-
lable y completo.
De esta forma, y utilizando las arquitecturas anteriormente descritas,
se propone la infraestructura de un servidor unificado que integra las fun-
cionalidades de cada una de las arquitecturas permitiendo combinarlas
entre s´ı (v´ease [Bla04, Bla05a]). Esta integraci´on es capaz de procesar
diferentes tipos de consultas en una misma sentencia. Por ejemplo con-
sultas que permitan deducir con datos difusos y utilizando resultados de
un proceso de miner´ıa de datos.
A continuaci´on se describen los cambios que permitir´an la unificaci´on
del sistema:
Combinaci´on y extensi´on de las diferentes Bases de Metaconocimien-
to.
Arquitectura unificada que especifica la secuencia de procesamiento
de una consulta. Se genera un servidor creado espec´ıficamente para
decidir los m´odulos implicados en dicha ejecuci´on y el orden de
participaci´on de los mismos.
3.4.3.1. Base de Metaconocimiento (MB)
Se ha denominado Base de Metaconocimiento (MB) al conjunto de
relaciones del cat´alogo que almacenan la definici´on de los objetos, tipos de
datos, etiquetas, dominios, etc. utilizados por las diferentes arquitecturas
y por el servidor unificado. Est´a formada por los siguientes subcat´alogos:
FMB: representa tipos de datos difusos, dominios difusos, etiquetas
difusas, etc.
RB: almacena predicados intensivos y su definici´on descrita median-
te reglas l´ogicas.
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 49
FMB*: define un nuevo tipo de datos capaz de representar texto,
XML, objetos, relaciones, etc. y las operaciones que pueden ser
aplicadas a este nuevo tipo de datos.
DMFMB: almacena informaci´on acerca de las operaciones de clus-
tering, clasificaci´on, y b´usqueda de dependencias funcionales sobre
datos cl´asicos o difusos.
Sobre esta nueva estructura relacional se hace necesaria una exten-
si´on, dado que las relaciones del cat´alogo de cada arquitectura son invisi-
bles entre s´ı, particularidad que elimina cualquier posibilidad de realizar
operaciones conjuntas.
En las figuras 3.2 y 3.3 y en [Bla04, Bla05a] se muestra como se rela-
cionan las diferentes estructuras del cat´alogo a partir de la definici´on de
dos nuevas relaciones. Las dos nuevas relaciones permitir´an la comparti-
ci´on de informaci´on entre las arquitecturas, y su descripci´on se detalla a
continuaci´on:
FUZZY_QUALIFIERS_DEF
FUZZY_COL_LIST FUZZY_OBJECT_LIST
DED_INTENSIONAL_CATALOG
DED_RULE_DESCRIPTION
DED_COMPARISION_DESCRIPTION
DED_PREDICATE_DESCRIPTION
DED_LINK_VALUE_SET DED_STACK_INDEX
DED_STACK_TYPES
DED_INT_TABLE_DESCRIPTION
ALL_OBJECTS
ALL_TAB_COLUMNS
DMFSQL_COL_COL
DMFSQL_LOG
DMFSQL_LABEL_DEFINITION
DMFSQL_FUNCTIONS_COL
DMFSQL_COL_PAR
DMFSQL_FUNCTIONS
DMFSQL_PROYECTDMFSQL_COL_LIST
EXTENDED_TAB_COLUMNS
EXTENDED_TABLES
Catálogo
del Sistema
Catálogo Extendido
FMB
Base de Reglas
FMB*
DMFMB
Base de Metaconocimiento
FUZZY_APROX_MUCH
FUZZY_COMPATIBLE_ COL
FUZZY_LABEL_DEF
FUZZY_NEARNESS_DEF
Figura 3.2: Base de Metaconocimiento (MB)
50 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
Extended Tables: almacena las relaciones (cl´asicas o extendidas) de-
finidas en la base de datos que pueden ser usadas en consultas di-
fusas, deductivas o de miner´ıa de datos. Aquellas relaciones almace-
nadas en All Objects1
(solo aquellas que hagan referencia a tablas)
est´an incluidas en esta relaci´on (conexi´on (5) de la figura 3.3). De
esta forma, esta relaci´on es una especializaci´on de All Objects dado
que todas las relaciones incluidas en ella tienen alguna caracter´ısti-
ca especial de las mencionadas previamente. La tabla 3.1 muestra
los atributos de esta relaci´on y los valores que puede tomar. OBJ#
representa el identificador de la tabla, TYPE indica si la tabla es in-
tensiva (no contiene datos) o extensiva y Orig da informaci´on acerca
del tipo de datos que dicha tabla contiene o a partir de donde se ha
formado.
Tabla 3.1: Relaci´on Extended Tables
OBJ# Type Orig
0 (Extensiva) 0 (Datos Cl´asicos)
1 (Intensiva) 1 (Datos Difusos)
2 (Descripci´on de la Regla)
3 (Datos de DM)
4 (Descripciones de DM)
Extended Tab Columns: proporciona informaci´on acerca de todos
los atributos (tanto cl´asicos como extendidos) a los que puede ac-
ceder el usuario. Esto incluye algunos atributos almacenados en
All Tab Columns2
(conexi´on (1) de la figura 3.3) y una descripci´on
de ´estas. Como en la relaci´on anterior, Extended Tab Columns es
una especializaci´on de All Tab Columns puesto que las tuplas que
esta relaci´on puede referenciar pueden ser atributos difusos descritos
en FIRST, atributos intensivos descritos en FREDDI, atributos usa-
dos en procesos de miner´ıa de datos, o atributos que pueden alma-
cenar informaci´on temporal o resultados de procesos de miner´ıa de
1
Tabla que hace referencia a todas las tablas del sistema. Esta notaci´on corresponde
´unicamente a la tabla del cat´alogo del SGBD de Oracle c para acceder a todos los objetos
del sistema. Otros SGBDs utilizan otros nombres para referenciar esta tabla.
2
Tabla que hace referencia a todas las columnas del sistema. Esta notaci´on corresponde
´unicamente a la tabla del cat´alogo del SGBD de Oracle c para acceder a todas las columnas
del sistema. Otros SGBDs utilizan otros nombres para referenciar esta tabla.
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 51
datos. El atributo TYPE de esta relaci´on (v´ease tabla 3.2) almace-
na el tipo de datos que el atributo referenciado puede contener: una
regla, un dato difuso, etc., mientras que OBJ# y COL# identifican
de forma ´unica el atributo en el SGBD.
Tabla 3.2: Relaci´on Extended Tab Columns
OBJ# COL# Type
0 (Columna Difusa)
1 (Columna L´ogica)
2 (Columna de DM)
Como ya se ha comentado, estas nuevas relaciones se corresponden con
las relaciones especificas del cat´alogo del sistema SGBD utilizadas para
contener informaci´on acerca de todas las columnas y tablas definidas en
la base de datos. En esta propuesta las vistas espec´ıficas del SGBDR:
All Tab Columns y All Objects de Oracle c , han sido usadas a modo
de ejemplo para referenciar a los contenidos de tablas y atributos de los
SGBDs.
Las conexiones establecidas entre las diferentes arquitecturas y estas
dos nuevas relaciones (mostradas en la figura 3.3) son:
EXTENDED_
TAB_COLUMNS
EXTENDED_
TABLES
FMB RB
DMFMBFMB*
ALL_TAB_
COLUMNS
ALL_
OBJECTS
1
2
3 4
5
67
8
Figura 3.3: Base de Metaconocimiento (MB) con las tablas del cat´alogo de
Oracle c
52 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
Las conexiones 2 y 8 permiten que se relacionen el FMB y el FMB*
con Extended Tab Columns ya que ´estas ampl´ıan las definiciones de
atributos y sus dominios.
La conexi´on 4 permite que la RB se relacione con Extended Tables
ya que FREDDI incorpora nuevas relaciones al sistema.
La conexi´on 3 relaciona RB con Extended Tab Columns porque esta
extensi´on debe disponer de atributos a partir de otras relaciones.
La conexi´on 7 permite que DMFMB se relacione con Extended Tab-
Columns porque las operaciones de miner´ıa de datos se aplican
sobre cualquier tipo de atributos.
La conexi´on 6 permite que DMFMB se relacione con Extended Tables
porque los resultados de sus operaciones tienen que ser almacenadas
como nuevas relaciones en la base de datos.
La inclusi´on de estas tablas har´a el sistema escalable en la forma
en que permiten una sencilla extensi´on de la Base de Metaconocimiento
(MB).
3.4.3.2. Arquitectura del Servidor Multiprop´osito Unificado
En la figura 3.4 se muestra una propuesta de arquitectura unificada
que permite que todo el flujo de informaci´on pase a trav´es de un ´unico
cliente. El cliente se encarga de recoger todas las consultas por parte del
usuario y enviarlas a un servidor unificado de consultas que ser´a capaz
de identificar el tipo de relaciones implicadas en cada una. El servidor
se encarga de analizar la consulta envi´andola al m´odulo correspondiente
para obtener la soluci´on. Una vez que la consulta ha sido analizada,
el servidor controlar´a la ejecuci´on de todos los m´odulos que permitan
traducir las partes de las que est´e compuesta la consulta, e integrar´a sus
respuestas.
Adem´as habr´a otro modulo dentro del servidor, el Planificador de
Estrategias de Consulta, que planificar´a el orden en el que las consultas
deber´an ser ejecutadas de forma que aumente la eficiencia del servidor.
La estrategia seguida por este planificador consiste en analizar la consul-
ta compleja (consulta que implica diferentes m´odulos para su resoluci´on)
y determinar el orden de ejecuci´on de cada una de las subconsultas in-
cluidas en la sentencia compleja.
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 53
ANALIZADOR
LÉXICO
FSQL
DFSQL
DmSQL
ANALIZADOR
SINTÁCTICO
EJECUTORDE
SQL
ANALIZADOR
SEMÁNTICO **
BASE DE DATOS
ANALIZADOR
SEMÁNTICO *
ANALIZADOR
SEMÁNTICO
RDBMS
CLIENTE
SERVIDOR
MB
PLANIFICADOR
DEESTRATEGIAS
DECONSULTAS
Figura 3.4: Servidor Multiprop´osito
Las modificaciones propuestas por esta arquitectura est´an se˜naladas
en la figura 3.4 con l´ıneas discontinuas. El proceso de resoluci´on de una
consulta puede resumirse de la siguiente manera:
1. El cliente env´ıa la consulta al servidor.
2. La consulta se analiza por el servidor utilizando los analizadores
l´exicos y sint´acticos para determinar los m´odulos implicados en su
resoluci´on.
3. La sentencia se divide, si es necesario, y enviada al m´odulo corres-
54 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
pondiente. El Planificador de Estrategias de Consulta planifica la
ejecuci´on de las diferentes subconsultas).
4. Cada modulo analiza sem´anticamente su parte asignada de la con-
sulta y la traduce a una sentencia en SQL.
5. La parte procesada de la consulta original se devuelve al servidor
que integra todas las traducciones proporcionas por cada uno de los
m´odulos implicados construyendo as´ı una ´unica consulta en SQL
que ser´a enviada al Ejecutor de consultas SQL, y
6. El servidor formatea el conjunto de tuplas resultantes proporcionadas
por el Ejecutor de consultas SQL antes de enviarlas al Cliente.
Como se muestra en la figura 3.4, tanto el servidor como todos los
m´odulos integrados en la arquitectura necesitan consultar la MB.
3.4.4. Ejemplo de Resoluci´on de una Consulta Compleja
La integraci´on de las arquitecturas previamente descritas permite la
combinaci´on de diferentes tipos de consultas y el almacenamiento de
los resultados de las mismas en forma de relaciones, reglas l´ogicas, datos
calculados, etc. que cualquier otro proceso podr´ıa usar con posterioridad.
Este apartado muestra c´omo puede relacionarse una operaci´on de
miner´ıa de datos con la gesti´on de reglas l´ogicas difusas. En concreto,
este ejemplo muestra c´omo una dependencia funcional difusa encontrada
mediante un proceso de miner´ıa de datos, puede generar una Regla Ge-
neralizada Difusa con Grado de Acoplamiento y almacenarla en la base
de datos.
Dado que se dispone de una Base de Datos Difusos de Suelos des-
crita en el Anexo C, utilizada a lo largo de este trabajo de tesis para
ejemplificar todas las aportaciones realizadas en el mismo, incluyendo
esta primera de unificaci´on de servidores, se plantea el hecho de bus-
car, si existe, alguna relaci´on entre los datos que componen esta BDD.
En principio se va a tratar de buscar la existencia de dos dependencias
funcionales difusas:
La primera dependencia funcional tratar´a de describir si hay alg´un
tipo de relaci´on entre la Precipitaci´on Media que tiene el emplazamiento
del terreno particular y la temperatura media que registra dicho emplaza-
miento. Ambas caracter´ısticas que se encuentran descritas en la tabla
C.2 Anexo C son difusas, la Precipitaci´on Media y la Temperatura Media
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 55
son atributos de car´acter difuso pero basado en un referencial num´eri-
co ordenado (Tipos Difusos 2). Los valores de su dominio son etiquetas
ling¨u´ısticas descritas en el Anexo C, tablas C.8 y C.9.
La segunda dependencia trata de descubrir si entre la vegetaci´on que
caracteriza un suelo y el tipo de estructura que tenga dicho suelo existe
una relaci´on. Esta b´usqueda versar´a sobre datos localizados en la tabla
C.3. Los atributos Vegetaci´on y Tipo de Estructura, a partir de ahora
tipo est, son campos de Tipo Difuso 3 descritos a trav´es de las relaciones
de similitud establecidas entre sus valores de dominio que podemos en-
contrar en las tablas C.27, y C.38 y C.39 respectivamente.
Para la b´usqueda de las Dependencias Funcionales Difusas (DFD)
planteadas se ve necesaria la utilizaci´on de t´ecnicas de miner´ıa de datos
que permitan analizar las relaciones Localizaci´on y Estructura(tablas C.2
y C.3), concretamente los atributos Tmedia y Pmedia, por un lado y
Vegetaci´on y Tipo de Estructura por otro. Una vez conocido si se cumplen
dichas hip´otesis, esto es, la existencia de las DFD que estamos buscando,
´estas podr´an ser almacenadas en la base de datos como reglas l´ogicas con
grado de acoplamiento de forma que el conocimiento extra´ıdo no se pierda
sino que se almacene y vaya verific´andose con las nuevas inserciones sin
necesidad de ser recalculado.
Para buscar la DFD en primer lugar es necesario tener la informaci´on
almacenada en la base de datos y m´as espec´ıficamente, dado el caso que
nos ocupa, conocer c´omo esta informaci´on esta almacenada en la Base
de Metaconocimiento (MB) anteriormente descrita.
La figura 3.5 muestra, de manera resumida, la sucesi´on de acciones
en cuanto a creaci´on de tablas o inserci´on de tuplas en la MB para que
sea posible la ejecuci´on de la consulta compleja que se ha planteado. La
relaci´on Localizaci´on mostrada en la tabla C.2 ha sido almacenada en
la base de datos utilizando la estructura especial para los datos difusos
(descrita en la tablas B.1 y B.2 del Anexo B). Dicha representaci´on al-
macenada en la base de metaconocimiento se encuentra descrita en la
tabla 3.3.
Adem´as de la relaci´on y las tuplas en la base de datos, debe haber
constancia de la estructura de la informaci´on difusa que se halla en el
sistema. Las fases 2 a 6 de la figura 3.5 muestran todas las relaciones
implicadas en el almacenamiento de esta informaci´on en la FMB. El
atributo F TYPE de la tabla Fuzzy Col List (tabla 3.8) especifica el
tipo de dato difuso del atributo almacenado, concretamente: PMedia y
TMedia son Tipos de Datos Difuso 2 mientras que Vegetaci´on y Tipo es
56 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
Latitud Longitud Pmedia Tmedia
41045 5478 baja alta
41135 5598 baja alta
40883 4649 media media
41082 4657 alta baja
4103 5705 baja alta
... ..... ... ....
1º Se crea Relación Localización
2º. Se definen Atributos Difusos
en Fuzzy_Col_List
3º. Se definen valores en
Fuzzy_Object_List
4º. Se definen las etiquetas en
Fuzzy_Label_ Def
5º. Se definen Relaciones de
Similituden
Fuzzy_Nearness_Def
6º. Se definen dominiode
PMedia y TMedia
Fuzzy_Aprox_Much
7º Se define la relación difusa en
Extended_Tab_Column
FMB
MB
Extendida
9º Se define el proyecto de DM en
DmFsql _Project
10º Se define losparámetros del
proceso de DM en
DmFsql_Col_List
Se lanzaconsulta
SELECT MINING FGLOBAL_DEPENDENCIES
yse obtiene regla
DFD1(Pmedia,Tmedia ):-Localizacion (X,Y)y
(X=0.6 Pmedia )y(Y= 0.7 Tmedia )
DmFMB
13º. Se describe la reglaen
Ded_Rule_Description
12º. Se define tabla intensiva
Ded_Int_Table_Description
11º Se define la reglaen
Ded_Intensional_Catalog
15º. Se describe lasconexiones
Ded_Condition_Description
14º. Se definen lospredicados en
Ded_Predicate_Description
8º Se define la relación difusa en
Extended_Tables
16º Se define la relación intensiva en
Extended_Tables
DFMB
MB
Extendida
Figura 3.5: Resumen de las acciones ocurridas en la MB en una consulta
compleja. Ejemplo DFD1
es un Tipo de Datos Difuso 3. La relaci´on de similitud entre los valores de
Vegetaci´on y Tipo es est´an almacenados en la Base de Metaconocimiento
en la relaci´on Fuzzy Nearness Def (descripci´on en tabla 3.6).
Las etiquetas ling¨u´ısticas utilizadas, como la calificaci´on Alta, o Ba-
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 57
ja est´an descritas en la relaci´on Fuzzy Label Def (descripci´on en tabla
3.7) de la MB. La relaci´on Fuzzy Object List (descripci´on en tabla 3.5)
almacena las etiquetas utilizadas en el atributo Vegetaci´on y Tipo es y
todas las etiquetas que pueden usarse para describir el valor del atributo
PMedia y TMedia. Adem´as, esta tabla establece un identificador ´unico
para cada etiqueta, evitando as´ı cualquier confusi´on.
Todas las relaciones mostradas anteriormente est´an referidas ´unica-
mente a la parte de representaci´on de informaci´on difusa, correspondiente
al m´odulo FMB de la MB. Sin embargo, estos datos deber´an ser defini-
dos en las nuevas relaciones de la arquitectura unificada para que puedan
ser visibles a todos los sistemas incluidos en el SGBD. De esta forma la
relaci´on Localizaci´on y Estructura y los atributos que la componen ser´an
definidos tambi´en en las tablas Extended Tables y Extended Tab Columns
de la MB, correspondientes a los pasos 7 y 8 de la figura 3.5. La relaci´on
Extended Tab Columns (descripci´on detallada en la tabla 3.10) contiene
una referencia a todos los atributos usados difusos en este ejemplo y
al tipo de datos que representan (datos difusos). La relaci´on Extend-
ed Tables (detalle en tabla 3.11) mantiene una descripci´on de las rela-
ciones usadas en el ejemplo: hasta ahora ´unicamente las tablas extensivas
reci´en definidas, Localizaci´on y Estructura. Los signos ’-’ de la tabla 3.11
simbolizan que el valor no es relevante en la relaci´on y por tanto no se
necesita rellenar este campo.
Una vez definida la estructura sobre la que se va a operar, se puede
iniciar el proceso de definici´on de datos para llevar a cabo una operaci´on
de DM. Un nuevo proyecto de DM debe definirse sobre la base de datos
(especificaci´on m´as detallada en el apartado B.3.2). Este proyecto gene-
ra un conjunto de nuevas tuplas en las relaciones correspondientes a la
DMFMB de la MB (pasos 9 y 10 de la figura 3.5). La sentencia que per-
mite definir este proyecto tiene la siguiente forma (v´ease referencia a la
sintaxis completa en [Car03a, Car03b]):
CREATE_MINING PROJECT Localizacion_PRJ
ON TABLE Localizacion
WITH COLUMNS FOR
FGLOBAL_DEPENDENCIES ’(’ {
ANTECEDENT Pmedia FCOMP_GLOBAL_DEPENDENCIES
FEQ THOLD_ANT 0.6
CONSEQUENT Tmedia FCOMP_GLOBAL_DEPENDENCIES
FEQ THOLD_CON 0.7}
58 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
donde Localizacion PRJ es el identificador del proyecto de DM, que
mantiene toda la informaci´on necesaria para llevar a cabo el proceso
de DM, como par´ametros, tablas temporales, etc. En concreto el proceso
de b´usqueda de dependencias funcionales difusas necesita conocer el tipo
de dependencias difusas que se han de buscar, el grado de acoplamiento
de cada atributo, etc. La definici´on del proyecto es el primer paso para
comenzar el proceso de DM. La estructura para definir el proyecto en la
DmFMB est´a descrita con detalle en las tablas 3.12 y 3.13. La tabla 3.12
almacena una especificaci´on general acerca de la dependencia funcional
difusa propuesta y la tabla 3.13 almacena informaci´on acerca de cada
una de las columnas que forman parte del proceso de b´usqueda.
La dependencia funcional difusa buscada se ha denominado DFD1 y
se describe con la siguiente expresi´on:
0.6 - 0.7 DFD1 PMedia FEQ∗FEQ −→ Tmedia with confidence c and
support s
El objetivo de esta dependencia funcional consiste, obviamente, en
encontrar si la presi´on en la localizaci´on de un suelo influye en la tem-
peratura media, donde el grado de acoplamiento para Pmedia es de 0.6
y para Tmedia 0.7. La siguiente sentencia DML permite ejecutar en en
servidor de miner´ıa de datos la b´usqueda de la DFD planteada:
SELECT_MINING FGLOBAL_DEPENDENCIES Localizacion_PRJ
USING T_NORM THOLD_ANT_CON
Esta consulta estar´a formada, en ultima instancia, por un conjunto
de sentencias en FSQL que tendr´an una estructura similar a la de la
siguiente (que se corresponde a la ´ultima sentencia que permite ejecutar
esta operaci´on):
SELECT COUNT(*) FROM Localizacion A1, Localizacion A2
WHERE(A1.NAME<>A2.NAME) AND
(A1.Pmedia FEQ A2.Pmedia
THOLD 0.6) AND NOT
(A1.Tmedia NFEQ A2.Tmedia
THOLD 0.7)
El soporte y la confianza de la DDF se han calculado con una sentencia
similar a la anterior, contando el n´umero de apariciones del antecedente
y consecuente. Si el soporte y la confianza son lo suficientemente altos,
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 59
entonces la DFD ser´a aceptada y autom´aticamente almacenada en la base
de datos como una regla l´ogica. En cambio, si el soporte o la confianza no
son lo suficientemente buenos, entonces o bien la dependencia funcional
difusa se rechaza o bien se disminuyen los umbrales de cumplimiento.
En el caso en que si se acepte la dependencia, la estructura de la regla
l´ogica ser´ıa la siguiente:
DFD1(Pmedia,Tmedia) :- Localizacion(X,Y) ∧
(X =0,6 Pmedia)∧ (Y =0,7 Tmedia)
Una vez conocida la estructura de la regla, se procede a su almace-
namiento en la base de datos. esto se lleva a cabo a trav´es de su definici´on
en la RB de MB (pasos del 11 al 15 de la figura 3.5). La sentencia en
DFSQL que permite generar esta regla es (v´ease referencia a la sintaxis
completa en [Bla01, Bla00b]):
CREATE INTENSIONAL TABLE DFD1
(Pmedia FTYPE2 (2,3) NUMBER (3,2)
Tmedia FTYPE3 );
CREATE RULE FOR DFD1 (Pmedia, Tmedia) AS
Localizacion (X SOURCE Pmedia, Y SOURCE Tmedia) AND
( X FEQ Pmedia THOLD 0.6) AND (Y FEQ Tmedia THOLD 0.7)
donde Create Intensional Table inserta una nueva tupla en la tabla 3.14
y crea una nueva relaci´on DFD1 en la base de datos, por supuesto, sin
tuplas ya que se trata de una relaci´on intensiva. Este proceso tambi´en
incluir´ıa la inserci´on de una tupla en la tabla 3.11 especificando que el
tipo de relaci´on almacenada es intensiva (Tab type = 1) (paso 16 de la
figura 3.5). La sentencia Create Rule almacena la estructura de la regla
en las relaciones de la RB: 3.15, 3.16, 3.17 y 3.18. Estas cuatro relaciones
permiten describir ´ıntegramente la estructura de una Regla Generalizada
Difusa con Grado de Acoplamiento: los predicados y variables que la
conforman, tal y como se puede ver en la secci´on B.2.
Una vez que la regla se ha definido en la base de datos, cada nueva
inserci´on de una tupla en la tabla Localizacion provocar´a que el sis-
tema compruebe si dicha tupla cumple o no la regla DFD1, es decir, si
60 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
sobrepasa el umbral establecido para cada atributo (antecedente y con-
secuente). Si lo cumple la nueva tupla validar´a la regla y ser´a insertada
en la BD incrementando la confianza y soporte de la regla.
Latitud Longitud Pmedia Tmedia
41045 5478 baja alta
41135 5598 baja alta
40883 4649 media media
41082 4657 alta baja
4103 5705 baja alta
... ..... ... ....
1º Se crea Relación Localización
2º. Se definen Atributos Difusos
en Fuzzy_Col_List
3º. Se definen valores en
Fuzzy_Object_List
4º. Se definen las etiquetas en
Fuzzy_Label_ Def
5º. Se definen Relaciones de
Similituden
Fuzzy_Nearness_Def
6º. Se definen dominiode
PMedia y TMedia
Fuzzy_Aprox_Much
7º Se define la relación difusa en
Extended_Tab_Column
FMB
MB
Extendida
9º Se define el proyecto de DM en
DmFsql _Project
10º Se define losparámetros del
proceso de DM en
DmFsql_Col_List
Se lanzaconsulta
SELECT MINING FGLOBAL_DEPENDENCIES
yse obtiene regla
DFD1(Pmedia,Tmedia ):-Localizacion (X,Y)y
(X=0.6 Pmedia )y(Y= 0.7 Tmedia )
DmFMB
13º. Se describe la reglaen
Ded_Rule_Description
12º. Se define tabla intensiva
Ded_Int_Table_Description
11º Se define la reglaen
Ded_Intensional_Catalog
15º. Se describe lasconexiones
Ded_Condition_Description
14º. Se definen lospredicados en
Ded_Predicate_Description
8º Se define la relación difusa en
Extended_Tables
16º Se define la relación intensiva en
Extended_Tables
DFMB
MB
Extendida
Figura 3.6: Resumen de las acciones ocurridas en la MB en una consulta
compleja. Ejemplo DFD2
La misma secuencia de operaciones se ha de seguir para calcular la
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 61
segunda dependencia funcional difusa planteada, que podemos ver en la
figura 3.6. En las tablas de la MB descritas, se encuentra especificada cada
una de las entradas correspondientes a la creaci´on de dicha dependencia,
denominada DFD2.
Este ejemplo demuestra que una vez unificada la base de datos, las
operaciones de cada extensi´on pueden ser combinadas, haci´endola as´ı mas
operativa. Al igual que ocurre con este ejemplo otro tipo de operaciones
pueden realizarse combinando las funcionalidades de los sistemas inte-
grados. En el apartado siguiente se resumen brevemente las operaciones
que se pueden realizar sobre esta nueva arquitectura.
3.4.5. Ventajas e Inconvenientes del Servidor Unificado
Una vez dise˜nada la arquitectura unificada aparecen un buen n´umero
de nuevas funcionalidades en el sistema. En general las ventajas del sis-
tema son las siguientes:
El incremento del n´umero de operaciones y tipos de datos que un
RDBMS difuso (FRDBMS) puede gestionar. Estas operaciones in-
cluyen:
• Realizar deducciones sobre estructuras resultantes de un pro-
ceso de miner´ıa de datos.
• Realizar operaciones de miner´ıa de datos sobre estructuras l´ogi-
cas (como relaciones intensivas).
• Almacenar resultados de operaciones de miner´ıa de datos uti-
lizando estructuras l´ogicas.
La conversi´on de esta arquitectura en una m´as escalable, para que
el sistema pueda incrementar el n´umero de operaciones y tipos de
datos.
La capacidad de mantener un lenguaje de consulta unificado.
La posibilidad de utilizar datos difusos est´a presente en cada opera-
ci´on del sistema, dado que todas las arquitecturas que forman parte de
´el han sido desarrolladas con dicha funcionalidad.
Con objeto de implementar esta arquitectura, el Planificador de Es-
trategias de Consulta deber´a ser implementado integramente, mientras
que las arquitecturas iniciales FIRST, FREDDI y DMFIRST, ya desar-
rolladas est´an funcionando actualmente.
62 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
Por contra, algunos de los inconvenientes que plantea esta arquitec-
tura unificada son:
Posible disminuci´on del rendimiento, dado que hay un gran n´umero
de operaciones a realizar y aumenta la complejidad de las consultas.
Aumento en la complejidad del sistema. El sistema debe gestionar
un gran n´umero de estructuras, por ejemplo las del cat´alogo y otras
muchas operaciones y procedimientos.
Complejidad del desarrollo. Es muy costoso el proceso de estudio
del sistema actual para incorporar nuevos procesos o simplemente
la definici´on de datos.
Dependencia del SGBD utilizado. Se necesita una implementaci´on
diferente por cada SGBD utilizado, aunque el planteamiento te´orico
para el desarrollo del sistema sea el mismo que el planteado en este
trabajo.
Dichos inconvenientes nos hacen plantearnos la puesta en marcha
de este sistema multiprop´osito. La generaci´on de una base de meta-
conocimiento m´as compleja a´un que la que ya exist´ıa, al a˜nadir dos nuevas
relaciones, es un hecho nada deseable. Como tampoco lo es la dependen-
cia que se crea del SGBD de Oracle c . Adem´as, la soluci´on propuesta
puede parecer en un principio una soluci´on temporal al problema puesto
que la inclusi´on de nuevos tipos de datos u operaciones aumentar´a, l´ogi-
camente, la base de metaconocimiento, convirti´endose en una tarea a´un
mas tediosa la comprensi´on de la misma, pudiendo provocar que se vuel-
van a generar soluciones parciales, independientes del sistema global.
Como soluci´on a este problema se propone redise˜nar esta nueva arqui-
tectura global de tal forma que sea posible la comunicaci´on del usuario
con la informaci´on sin la necesidad de emplear muchos recursos en ello,
dej´andola adem´as, abierta a nuevas incorporaciones. El dise˜no de dicha
arquitectura puede realizarse haciendo uso de las nuevas tecnolog´ıas que
permiten modelar los metadatos que estructuran informaci´on, de manera
abstracta e independiente del sistema sobre el que se vaya a desarrollar.
Proponemos de esta manera, como soluci´on a todos estos inconvenientes,
modelar esta arquitectura mediante el uso de ontolog´ıas, utilizando las
mismas para servir de interfaz entre el SGBD y el usuario. El estudio de
esta propuesta ser´a el centro de los siguientes cap´ıtulos de esta tesis.
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 63
Tabla 3.3: Relaci´on Localizaci´on
Latitud Longitud TmediaT Tmedia1 Tmedia2 Tmedia3 Tmedia4 . . .
41045 5478 4 0 NULL NULL NULL . . .
41135 5598 4 0 NULL NULL NULL . . .
4103 5705 4 0 NULL NULL NULL . . .
41082 5675 4 0 NULL NULL NULL . . .
40963 5636 4 0 NULL NULL NULL . . .
41049 5578 4 0 NULL NULL NULL . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . PmediaT Pmedia1 Pmedia2 Pmedia3 Pmedia4 . . .
. . . 4 2 NULL NULL NULL . . .
. . . 4 2 NULL NULL NULL . . .
. . . 4 2 NULL NULL NULL . . .
. . . 4 2 NULL NULL NULL . . .
. . . 4 2 NULL NULL NULL . . .
. . . 4 2 NULL NULL NULL . . .
. . . . . . . . . . . . . . . . . . . . .
Tabla 3.4: Relaci´on Estructura
Latitud Longitud VegetacionT VegetacionP1 Vegetacion1 . . .
41045 5478 3 1 4 . . .
41135 5598 3 1 4 . . .
4103 5705 3 1 4 . . .
41082 5675 3 1 4 . . .
40963 5636 3 1 2 . . .
41049 5578 3 1 4 . . .
. . . . . . . . . . . . . . . . . .
. . . Tipo esT Tipo esP1 Tipo es1 . . .
. . . 3 1 5 . . .
. . . 3 1 1 . . .
. . . 3 1 7 . . .
. . . 3 1 7 . . .
. . . 3 1 1 . . .
. . . 3 1 8 . . .
. . . . . . . . . . . . . . .
64 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
Tabla 3.5: Relaci´on Fuzzy Object List de la BD de Suelos
OBJ# COL# FUZZY ID FUZZY NAME FUZZY TYPE
Localizacion TmediaT 0 ’baja’ 0
Localizacion TmediaT 1 ’media’ 0
Localizacion TmediaT 2 ´alta’ 0
Localizacion PmediaT 0 ’baja’ 0
Localizacion PmediaT 1 ’media’ 0
Localizacion PmediaT 2 ´alta’ 0
Estructura Vegetacion 0 ’1’ 1
Estructura Vegetacion 1 ’2’ 1
Estructura Vegetacion 2 ’3’ 1
Estructura Vegetacion 3 ’4’ 1
Estructura Vegetacion 4 ’5’ 1
Estructura Vegetacion 5 ’6’ 1
Estructura Vegetacion 6 ’7’ 1
Estructura Tipo es 0 ’1’ 1
Estructura Tipo es 1 ’2’ 1
Estructura Tipo es 2 ’3’ 1
Estructura Tipo es 3 ’4’ 1
Estructura Tipo es 4 ’5’ 1
Estructura Tipo es 5 ’6’ 1
Estructura Tipo es 6 ’7’ 1
Estructura Tipo es 7 ’8’ 1
Estructura Tipo es 8 ’9’ 1
. . . . . . . . . . . . . . .
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 65
Tabla 3.6: Relaci´on Fuzzy Nearness Def de la BD de Suelos
OBJ# COL# FUZZY ID1 FUZZY ID2 DEGREE
Estructura Tipo es 0 1 0.4
Estructura Tipo es 0 2 0.4
Localizacion Tipo es 0 3 0.4
Localizacion Orientacion 0 4 0.4
Localizacion Orientacion 0 5 0.4
Localizacion Orientacion 0 6 0.4
Localizacion Orientacion 1 2 0.4
Localizacion Orientacion 1 3 0.4
Localizacion Orientacion 1 4 0.4
Localizacion Orientacion 1 5 0.4
Localizacion Orientacion 1 6 0.4
Localizacion Orientacion 2 3 0.4
Localizacion Orientacion 2 4 0.4
Localizacion Orientacion 2 5 0.4
Localizacion Orientacion 2 6 0.4
Localizacion Orientacion 3 4 0.4
Localizacion Orientacion 3 5 0.4
Localizacion Orientacion 3 6 0.4
Localizacion Orientacion 4 5 0.4
Localizacion Orientacion 4 6 0.4
Localizacion Orientacion 5 6 0.4
. . . . . . . . . . . . . . .
Tabla 3.7: Relaci´on Fuzzy Label Def en la BD de Suelos
OBJ# COL# FUZZY ID ALFA BETA GAMMA DELTA
Localizacion TmediaT 0 0 0 6.5 8.5
Localizacion TmediaT 1 8.5 10.5 12.5 14.7
Localizacion TmediaT 2 14.7 16.9 21.0 21.0
Localizacion PmediaT 0 183 183 315 490
Localizacion PmediaT 1 490 664 731 818
Localizacion PmediaT 2 818 905 1287 1287
. . . . . . . . . . . . . . . . . . . . .
Tabla 3.8: Relaci´on Fuzzy Col List en la BD de Suelos
OBJ# COL# F TYPE LEN COM
Localizacion TmediaT 2 NULL “Localizacion.Tmedia”
Localizacion PmediaT 2 1 “Localizacion.Pmedia”
Estructura Vegetacion 3 NULL “Estructura.Vegetacion”
Estructura Tipo es 3 1 “Estructura.Tipo es”
. . . . . . . . . . . . . . .
66 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
Tabla 3.9: Relaci´on Fuzzy Aprox Much en la BD de Suelos
OBJ# COL# MARGEN MUCH
Localizacion TmediaT 4 10
Localizacion PmediaT 50 300
Tabla 3.10: Relaci´on Extended Tab Column en la BD de Suelos
OBJ# COL# COL TYPE
Localizacion TmediaT 0
Localizacion TOrientacion 0
Estructura Vegetacion 0
Estructura Tipo es 0
Tabla 3.11: Relaci´on Extended Tables en la BD de Suelos
OBJ# TAB TYPE ORIG
Localizacion 0 1
Estructura 0 1
DFD1 1 -
DFD2 1 -
Tabla 3.12: Relaci´on DmFsql Project en la BD de Suelos
PROJECT NAME OWNER OBJ# STATUS-
FGD
THOLD-
ANT FGD
Localizacion PRJ OWNER Localizacion - 0.6
Localizacion PRJ OWNER Estructura - 0.8
THOLD CON FGD CONFIDENCE FGD SUPPORT FGD . . .
0.7 c s . . .
0.8 c s . . .
Tabla 3.13: Relaci´on DmFsql Col List en la BD de Suelos
PROJECT NAME COL-
TYPE
COL# FUZZY -
COMP FGK
THOLD-
FGD
Localizacion PRJ A TmediaT FEQ -
Localizacion PRJ Q PmediaT FEQ -
Localizacion PRJ A Vegetacion FEQ -
Localizacion PRJ Q Tipo es FEQ -
Tabla 3.14: Relaci´on Ded Intensional Catalog de la Bd de Suelos
ID PRED MARCADO NVARS
DFD1 1 2
DFD2 1 2
3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 67
Tabla 3.15: Relaci´on Ded Int Table Description de la BD de Suelos
Table ID Rule Id
DFD1 1
DFD2 1
Tabla 3.16: Relaci´on Ded Rule Description de la BD de Suelos
Table ID Rule Id Pred Id Occ Number Negated Type
DFD1 1 2 1 0 0
DFD1 1 - 2 0 2
DFD1 1 - 3 0 2
DFD2 1 2 1 0 0
DFD2 1 - 2 0 2
DFD2 1 - 3 0 2
Tabla 3.17: Relaci´on Ded Predicate Description de la BD de Suelos
Table-
ID
Rule-
Id
Pred-
Id
Occ-
Number
Var-
Id
Col-
Id
Source Col
DFD1 1 2 1 3 1 TmediaT
DFD1 1 2 1 4 2 PmediaT
DFD2 1 2 1 3 1 VegetacionT
DFD2 1 2 1 4 2 Tipo esT
Tabla 3.18: Relaci´on Ded Condition Description de la BD de Suelos
Table-
ID
Rule-
Id
Pred-
Id
Occ-
Number
Var-
Id1
Var-
Id2
ComOp Thold
DFD1 1 - 2 3 1 6(FEQ) 0.6
DFD1 1 - 3 4 2 6(FEQ) 0.7
DFD2 1 - 2 3 1 6(FEQ) 0.8
DFD2 1 - 3 4 2 6(FEQ) 0.8
68 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
Cap´ıtulo 4
Ontolog´ıa para la
Representaci´on del
Conocimiento Difuso (FKRO)
4.1. Introducci´on
Tal y como se expuso en el apartado 3.4.5, la arquitectura que permite
combinar las operaciones de manejo de datos difusos, estructuras l´ogicas
y tareas de miner´ıa de datos en un ´unico sistema presenta algunos incon-
venientes. Uno de los m´as destacados consiste en la complejidad que el
Servidor Multiprop´osito Unificado tiene a la hora de gestionar la infor-
maci´on (definir estructuras, relaciones, procesos en el sistema) o ampliar
el sistema incluyendo nuevos tipos de datos u operaciones. Dicha com-
plejidad repercute directamente en el aumento de recursos para la com-
prensi´on del funcionamiento del sistema y su consiguiente explotaci´on.
Por otro lado, a pesar de que el planteamiento de las arquitecturas se
ha tratado de hacer independiente de la plataforma del SGBD en la que
se haya implementado, es realmente dif´ıcil desvincular completamente el
sistema de la misma puesto que el cat´alogo de datos y el tipo de datos
con los que se trabaja requieren su presencia.
Dado que existen metodolog´ıas para la representaci´on del conocimien-
to que permiten mantener la informaci´on de un dominio lo suficiente-
mente estructurada y clasificada para permitir la independencia de los
datos con respecto del sistema de informaci´on en que sonn representados,
se plantea la definici´on de una Ontolog´ıa para representar la informaci´on
asociada al Servidor Multiprop´osito expuesto. Dicha ontolog´ıa ser´a una
69
70 CAP´ITULO 4. FKRO
meta-ontolog´ıa o una Ontolog´ıa Representacional (v´ease definici´on en
Anexo A), puesto que conceptualiza los formalismos para representaci´on
del conocimiento difuso, deductivo, etc.
Una ontolog´ıa con el objetivo antes mencionado permitir´a la definici´on
de la Base de Metaconocimiento en forma de conceptos exclusivamente
(usando por ejemplo una jerarqu´ıa de clases), en lugar de como se encuen-
tra planteada actualmente, como un conjunto de relaciones y atributos
del cat´alogo de un SGBD en particular. Dicha definici´on adem´as nos fa-
cilitar´a el plantear de forma abstracta el tipo de datos que se utilizan
para almacenar informaci´on de muy diversos tipos (difusa, deductiva, de
miner´ıa de datos, etc.) en la base de datos y las restricciones propias que
pueda imponer un SGBD determinado a la hora de definir las relaciones
en el mismo. Finalmente esta propuesta de ontolog´ıa tambi´en ser´a sus-
ceptible de posteriores extensiones de forma inmediata a otros sistemas
de representaci´on de bases de datos difusos como pueden ser el orientado
a objetos, almacenes de datos, etc.
La figura 4.1 contextualiza el lugar de la ontolog´ıa en nuestra pro-
puesta de arquitectura de un SGBD multiprop´osito extendido. Dicha
ontolog´ıa act´ua como interfaz entre el usuario y el SGBD, proporcionan-
do as´ı una alternativa al tipo de acceso a la informaci´on ordinario (esto
es, del usuario a los datos a trav´es de SGBD directamente).
En este trabajo de tesis se define la primera versi´on de ´esta ontolog´ıa
que es la correspondiente a la parte de la arquitectura unificada de la
figura 3.4 que permite representar y gestionar informaci´on difusa. Dicha
ontolog´ıa permitir´a definir de forma clara todas las entidades necesarias
para que el almacenamiento y manipulaci´on de la informaci´on difusa sea
independiente del contexto en que se incluya.
La ontolog´ıa para la representaci´on de informaci´on imprecisa en el Mo-
delo Relacional que se propone se encuentra dividida en dos subontolog´ıas
que definen la informaci´on del esquema de modo distinto:
Sub-Ontolog´ıa para la Representaci´on del Cat´alogo. Esta
ontolog´ıa, representa la informaci´on del cat´alogo del sistema, y su
instanciaci´on permite la definici´on completa de un esquema difuso o
cl´asico utilizando el est´andar SQL 2003 [Cal06, fSIIT03] extendido
con la propuesta dada en FIRST [Med95] para la manipulaci´on de
datos difusos. Se trata de una meta-ontolog´ıa, puesto que contiene
metaclases, que permiten a posteriori, definir los datos o tuplas que
est´e representando dicho esquema.
4.1. INTRODUCCI ´ON 71
RDBMS
EJECUTORDE
SQL
CATÁLOGO
DELSISTEMA
DATOS
Diccionario
deDatos
SERVIDOR
MULTIPROPÓSITO
CLIENTE
DE LA
BASE DE
DATOS Catálogo
Extendido
(FMB )
ONTOLOGIA PARA
LA
REPRESENTACION
DEL CONOCIMIENTO
DIFUSO (FKRO )
INTERFAZDE
LA
ONTOLOGIA
(OI)
CLIENTE
DE LA
ONTOLOGÍA
FSQL DFSQLDmFQL
TRADUCTORDE
CONSULTAS
Figura 4.1: Relaci´on de la Ontolog´ıa con el Servidor Multiprop´osito Unificado
Sub-Ontolog´ıa para la Representaci´on del Esquema de BD
Difusas. Esta ontolog´ıa, ser´a generada a partir de la subontolog´ıa
anterior y representa un esquema de BDD (Bases de Datos Difusas)
sobre un dominio concreto. Su objetivo es el de aportar la posi-
bilidad de instanciar los datos o tuplas que dicho esquema pueda
contener.
La ontolog´ıa en global se denominar´a Ontolog´ıa para la Representaci´on
del Conocimiento Difuso (FKRO, Fuzzy Knowledge Representation On-
tology) y establece las bases, la representaci´on de la informaci´on impre-
cisa, para la representaci´on a posteriori del resto de la informaci´on de la
arquitectura que forma el Servidor Multiprop´osito descrito en el apartado
3.4.
Dicha ontolog´ıa ser´a descrita utilizando el modelado de datos UML
72 CAP´ITULO 4. FKRO
para su desarrollo. Una vez descrita, su representaci´on final ser´a imple-
mentada utilizando un lenguaje de definici´on de ontolog´ıas basado en
Web, OWL [Bec, Ant03]. La elecci´on de este lenguaje de representaci´on
viene motivada porque permite que los datos sean comprensibles en este
entorno web, adem´as de que se trata de un lenguaje cada vez m´as acepta-
do y estandarizado que esta produciendo un gran n´umero de aplicaciones
nuevas con las que interactuar. La descripci´on de las diferentes ontolog´ıas
descritas en este cap´ıtulo se incluyen en el CD que acompa˜na a este tra-
bajo.
4.2. Ontolog´ıa para la Representaci´on del Conoci-
miento Difuso
4.2.1. descripci´on
La Ontolog´ıa para la Representaci´on del Conocimiento Difuso [Bla08b]
define la informaci´on difusa que se encuentra representada en una BD
Relacional Difusa. Esta ontolog´ıa act´ua como una interfaz entre el SGB-
DD y el usuario y/o los programas de aplicaci´on, de tal forma que hace
transparente el modo en que la informaci´on esta representada en el SGB-
DD (mediante el diccionario de datos).
La estructura del Modelo Relacional Extendido para la manipulaci´on
de informaci´on imprecisa se encuentra representada en la Sub-Ontolog´ıa
del Cat´alogo Extendido, y por tanto la definici´on de una BDD ser´a real-
izada a trav´es de la instanciaci´on de dicha sub-ontolog´ıa, olvidando as´ı re-
presentaciones particulares que los SGBDs pueden hacer. De esta forma
se define el esquema de la BDD. Sin embargo, cualquier interacci´on con
dicho esquema para la manipulaci´on de los datos de la BDD, requerir´a de
su conversi´on expl´ıcita a forma de ontolog´ıa. El proceso de conversi´on
consiste en generar a partir de las instancias de la Sub-Ontolog´ıa del
Cat´alogo Extendido una nueva ontolog´ıa, denominada de forma gen´eri-
ca, Sub-Ontolog´ıa para la Representaci´on del Esquema de BDD. Dicho
proceso puede ser automatizado y su resultado, la Sub-Ontolog´ıa para la
Representaci´on del Esquema de BDD correspondiente, permitir´a la ma-
nipulaci´on de los datos difusos tambi´en de forma transparente al SGBDS
en el que se encuentren almacenados.
La Ontolog´ıa para la Representaci´on del Conocimiento Difuso, englo-
ba ambas sub-ontolog´ıas descritas, que tratan de representar la misma
informaci´on, un esquema relacional de BDD, aunque la manera de rep-
4.3. ONTOLOG´IA DEL CAT ´ALOGO 73
resentarlo difiere en gran medida:
Mediante la instanciaci´on de la Sub-Ontolog´ıa del Cat´alogo Exten-
dido se permite la definici´on completa del esquema de datos difusos,
especificando todas las restricciones propias del Modelo Relacional
y de la extensi´on te´orica para la representaci´on de datos difuso
propuesto en GEFRED.
Mediante la generaci´on de la Sub-Ontolog´ıa para la Representaci´on
del Esquema de BDD se permite la compartici´on de esquemas de
datos difusos con el entorno, y por supuesto la definici´on de datos
(tuplas) sobre la misma.
Ambas representaciones son dependientes, es decir, una (la del Esque-
ma) es generada a partir de la otra (la instanciaci´on del Cat´alogo) y por
tanto, deben coexistir las dos al menos en el momento de su generaci´on.
A su vez, ambas est´an vinculadas puesto que comparten las clases
necesarias para representar la informaci´on (v´ease secci´on 4.4.2 para cono-
cer los detalles) y por tanto ambas requieren de la importaci´on de la
Sub-Ontolog´ıa del Cat´alogo Extendido. Asimismo, los datos del dominio
relativos a etiquetas y relaciones de similitud, deben existir tambi´en en
ambas definiciones, y en mayor medida sobre la Sub-Ontolog´ıa para la
Representaci´on del Esquema de BDD dado que es d´onde se han de definir
los valores de las tuplas.
4.2.2. Ejemplo
En la figura 4.2 se muestra gr´aficamente en qu´e consiste la Ontolog´ıa
de Representaci´on de Conocimiento Difuso en el Modelo Relacional. Co-
mo puede observarse, el n´ucleo fundamental, la Sub-Ontolog´ıa del Cat´alo-
go Extendido permitir´a representar cualquier BDD (su esquema) me-
diante su instanciaci´on. En el ejemplo se plantean cuatro BDD, la de la
Cl´ınica Veterinaria, otra de Suelos, Caracter´ısticas de Diamantes, o Liga
de Baloncesto.
Una vez instanciadas el proceso de Generaci´on de la Sub-Ontolog´ıa
para la Representaci´on del Esquema de BDD ser´ıa ´unico para cada BDD.
Cada uno de los esquemas descritos generar´a una ontolog´ıa de su esque-
ma propio, siguiendo los pasos establecidos en la secci´on 4.4. Estas cuatro
Sub-Ontolog´ıas para la Representaci´on del Esquema de BDD, al instan-
ciarlas permitir´an la inserci´on de datos (tuplas) referentes a los datos que
se han modelado en sus esquemas correspondientes.
74 CAP´ITULO 4. FKRO
ONTOLOGIA DE REPRESENTACION DEL CONOCIMIENTO
DIFUSO EN EL MODELO RELACIONAL (FDTSCHO )
Ontología
del
Catálogo
Instancia :
Clinica
Veterinaria
Instancia:
Diamantes
Instancia:
Suelos
Instancia:
Liga de Baloncesto
Ontología del
Esquema:
Diamantes
GENERADOR
AUTOMATICO
Ontología del
Esquema:
Suelos
Ontología
delEsquema:
Ligade
Baloncesto
Ontología
delEsquema:
Clinica
Veterinaria
Instancia:
Tupla
Veterinario
Instancia :
Tupla
Diamantes
Instancia:
Tupla Suelos
Instancia :
TuplaJugador
Figura 4.2: Ejemplos de v´ınculos entre las sub-ontolog´ıas del Esquema y
Cat´alogo para cuatro BDD
4.3. Sub-Ontolog´ıa para la Representaci´on del Ca-
t´alogo Extendido
4.3.1. Justificaci´on de la Sub-Ontolog´ıa
En la representaci´on de la informaci´on que existe en una base de
datos, una parte fundamental de la misma es el esquema de la base de
datos, que describe la estructura de la informaci´on siguiendo un modelo
de representaci´on determinado. Dado que el Modelo Relacional es el m´as
extendido y usado en el entorno de las Bases de Datos, ser´a ´este el elegido
para ser representado por la ontolog´ıa.
Puesto que se intenta estar lo m´as desvinculado de cualquier imple-
mentaci´on concreta de un SGBDR, la representaci´on del est´andar ANSI
SQL2003 [fSIIT03] nos parece la propuesta m´as razonable. En cuanto a la
representaci´on de informaci´on imprecisa, muchas propuestas han extendi-
4.3. ONTOLOG´IA DEL CAT ´ALOGO 75
do al Modelo Relacional en los ´ultimos a˜nos, tal y como se ha descrito en
el cap´ıtulo 3. El modelo FIRST propuesto por Vila et al. [Med95, Gal99]
se plantea en este trabajo dada su completitud en la descripci´on de este
tipo de informaci´on.
Un esquema de bases de datos difusas o cl´asicas, no deja de ser un
mecanismo de descripci´on de la informaci´on que hay almacenada en la
BD en forma de tuplas en las relaciones o tablas. En este caso, dicha des-
cripci´on o esquema simplemente establecer´a las restricciones mediante las
cuales los datos, en ´ultima instancia, estar´an almacenados en la BD. Por
tanto, cuando se habla de esquema de base de datos se debe hablar de
metadatos, puesto que los esquemas son la representaci´on de la estructura
de los datos finales.
Sin embargo la definici´on de metadatos o esquemas en un Sistema de
Gesti´on de Bases de Datos cualquiera supone la generaci´on autom´atica
de las estructuras necesarias para almacenar la informaci´on. Por ejemplo,
cada vez que se define una relaci´on como Jugadores autom´aticamente se
genera en el SGBD una tabla Jugadores con todas las caracter´ısticas y
restricciones descritas en DDL (lenguaje de definici´on de datos) de SQL,
tal y como se muestra a continuaci´on:
CREATE TABLE Jugadores (
Nombre VARCHAR2(60) NOT NULL PK,
Equipo VARCHAR2(30) NOT NULL REFERENCES TEAM(TName),
Altura NUMBER(4,2) NOT NULL,
ColorPelo FTYPE3 (2) NOT UNDEFINED,
FechaNac DATE CHECK (>=1980)
CONSTRAINT minHeight CHECK Altura BETWEEN 1.70 AND 2.50)
Al realizar esta definici´on de los metadatos o esquema de una BD
realmente se est´an instanciando las tablas del cat´alogo o diccionario de
datos de un SGBDR. En dicho cat´alogo ´unicamente se almacena la in-
formaci´on que esta sentencia proporciona, no existen datos referentes a
ning´un jugador, ´unicamente datos referentes a las caracter´ısticas de la
relaci´on.
La inserci´on de un nuevo registro en la tabla Jugadores implica la
creaci´on de dicha relaci´on (proceso autom´atico en un SGBD al ser inclu-
ida su informaci´on en el Cat´alogo) y la instanciaci´on de la misma.
Esto no ocurre de la misma manera cuando se representa informa-
ci´on utilizando ontolog´ıas. Una ontolog´ıa, tal y como est´a definida, esta
compuesta por un conjunto de clases, propiedades y restricciones que per-
76 CAP´ITULO 4. FKRO
miten describir una realidad concreta. La instanciaci´on de dicha ontolog´ıa
nos permite definir la informaci´on que queremos representar bas´andonos
en la misma. Es decir, que si nuestra ontolog´ıa trata de representar el
est´andar ANSI extendido con representaci´on de datos difusos, su instan-
ciaci´on nos permite definir esquemas tal y como hemos visto en el ejemplo
anterior con la tabla Jugadores. Pero ´unicamente hasta ah´ı podremos lle-
gar.
Es un hecho que se pueden instanciar cuantos elementos se deseen de
una clase, sin embargo una instancia no puede ser instanciada de nue-
vo para definir mas conceptos asociados con la realidad que representa.
Consecuentemente, no podr´ıamos actuar de la misma forma que actu-
ar´ıa un SGBD con las estructuras descritas usando DDL (Lenguaje de
Definici´on de Datos). Siguiendo con el ejemplo anterior, si definimos en
la ontolog´ıa, la clase Tabla, e instanciamos la misma con la relaci´on Ju-
gador, no podr´ıamos volver a instanciar tabla Jugador para almacenar
el registro (Juan L´opez, Juventud, 1.99, Casta˜no, 10/7/1985).
Es por esta raz´on que la ontolog´ıa se considera una meta-ontolog´ıa o
una Ontolog´ıa Representacional, puesto que para solucionar este proble-
ma se propone la inclusi´on de metaclases en la definici´on de la Ontolog´ıa
del Esquema difuso. Estas metaclases permitir´an que la generaci´on de
instancias sobre las mismas generen a su vez nuevas clases que, ya s´ı,
podr´an ser instanciadas para incluir los datos o tuplas (v´ease la figura
2.3 del cap´ıtulo anterior que ilustra dicha explicaci´on).
A continuaci´on se describe la Sub-Ontolog´ıa para la Representaci´on
del Cat´alogo Extendido, a partir de ahora denominada Ontolog´ıa del
Cat´alogo por motivos de claridad. Se describir´a c´omo se ha construi-
do, las clases que la integran, las metaclases definidas en la misma, y un
ejemplo de utilizaci´on.
4.3.2. Metodolog´ıa de Desarrollo
Para representar el esquema de una base de datos, debemos plantear-
nos c´omo la informaci´on de este esquema est´a estructurada. Para realizar
este proceso se ha tomado como analog´ıa el cat´alogo del sistema dado
por cualquier SGBD, que es el mecanismo que utilizan dichas aplicaciones
para poder representar esta informaci´on. Sin embargo, cada SGBD define
su propio cat´alogo de forma ´unica, por lo que no tendr´ıa ning´un sentido
elegir alguna representaci´on concreta dada por un SGBD comercial.
Siguiendo con esta analog´ıa, la propuesta consiste en representar un
cat´alogo que permita mantener un registro de toda la estructura de una
4.3. ONTOLOG´IA DEL CAT ´ALOGO 77
base de datos relacional desvincul´andose de cualquier implementaci´on
concreta. Por tanto, la representaci´on del est´andar ANSI SQL2003 es la
propuesta m´as razonable. Calero et al. [Cal05, Cal06] describe a modo de
ontolog´ıa dicha representaci´on (ver secci´on 2.4.2) utilizando el lenguaje
de modelado UML.
La propuesta de Calero carece de la descripci´on de los tipos de datos
predefinidos, que proporciona el est´andar. Dichos tipos de datos, tambi´en
se encuentran desglosados a modo de jerarqu´ıa de conceptos en el trabajo
de Pardede et al. [Par05], tal y como se ha descrito en la secci´on 2.4.1.
Como ya se defini´o anteriormente, una ontolog´ıa debe representar el
conocimiento compartido y consensuado por un conjunto de expertos
acerca de una parcela concreta de la realidad. Partiendo de esta base, y
dada la amplia difusi´on de las ontolog´ıas en la actualidad, se estima con-
veniente no comenzar a realizar una ontolog´ıa desde cero, sino reutilizar
ontolog´ıas que se encuentran ya desarrolladas. Una vez identificadas la
ontolog´ıas adecuadas, se proceder´a a realizar sobre ellas diversos proce-
sos que refinamiento y soporte, para dar lugar a la ontolog´ıa final que
contiene toda la informaci´on que se desea representar [Cor06].
A continuaci´on se detalla el proceso para realizar la conceptualizaci´on
de la ontolog´ıa que en este trabajo se propone. Este proceso est´a dividido
en varias etapas que se exponen a continuaci´on y que pueden verse en la
figura 4.3:
1. Recorte de la ontolog´ıa de Calero et al. [Cal06, Cal05].
2. Recorte y extensi´on de la ontolog´ıa de Pardede et al. [Par05] con
los tipos de datos difusos definidos en GEFRED.
3. Mezcla de la ontolog´ıa de Calero et al. [Cal06, Cal05]. recortada con
la de Pardede et al. [Par05] extendida.
4. Extensi´on de la ontolog´ıa resultante con la extensi´on al Modelo Re-
lacional para definir la informaci´on imprecisa definida por el modelo
denominado GEFRED y su implementaci´on, denominada FIRST
(v´ease secci´on B.1.1 del Anexo B).
Paso 1. Recorte de la Ontolog´ıa de Calero et al. [Cal06]
Tal y como describe Calero et al. [Cal06], el ANSI SQL 2003 repre-
senta una extensi´on a las versiones anteriores ANSI SQL en tanto que
78 CAP´ITULO 4. FKRO
Ontología del
Estándar ANSISQL2003
Modelo Objeto Relacional
Ontología delos
Tipos deDatos
Predefinidos
Estándar ANSISQL2003
Proceso
deCorte
Proceso
de
Combinación
Ontología para
la Representación
del Conocimiento Difuso
Proceso de
Extensión y
Especialización
GEFRED
Extension al Modelo
Relacional para
Representar Datos
Difusos
Ontología de los
Tipos deDatos
Predefinidos +
Tipos deDatosDifusos FIRST
Estándar ANSISQL2003
GEFRED
Tipos de
Datos Difusos
Proceso
de Corte y
Extensión
Ontología del
Estándar ANSISQL2003
Modelo Relacional
Ontología del
Estándar
ANSISQL2003
Modelo Relacional +
Especificación delos Tipos
de DatosPredefinidos
Figura 4.3: Proceso de Desarrollo de la Ontolog´ıa del Esquema
4.3. ONTOLOG´IA DEL CAT ´ALOGO 79
a˜nade al Modelo Relacional la manipulaci´on de objetos y algunos ele-
mentos nuevos de lenguaje Web XML a lo que ya exist´ıa (v´ease [Eis04]).
El modelo que la Ontolog´ıa del Cat´alogo trata de representar, se centra
´unicamente en el Modelo Relacional, y por lo tanto, la parte orientada
a objetos no es un requisito en su representaci´on. De esta manera la
ontolog´ıa de Calero et al. [Cal06] es recortada dejando ´unicamente las
estructuras necesarias para representar el Modelo Relacional tal y como
puede verse en la figura 4.4. Dichas estructuras se describen brevemente
en la tabla 4.1 (tambi´en se encuentran descritas con mayor detalle en
[Cal06]). Tambi´en se ha eliminado parte de la representaci´on del Mode-
lo Relacional que resulta irrelevante para probar la manipulaci´on de la
representaci´on imprecisa. Entre estos recortes se encuentran los tipos de
datos compuestos y otras estructuras que complican el modelo en demas´ıa
con respecto a su grado de utilizaci´on como por ejemplo la representaci´on
de las claves candidatas o las columnas generadas por una expresi´on
(muy ´utiles en tareas de miner´ıa de datos). Este recorte se ha realizado
fundamentalmente para simplificar la representaci´on de la ontolog´ıa en
este primer prototipo. Sin embargo la inclusi´on de dichas clases ser´a algo
inmediato en las fases de extensi´on de este trabajo.
Paso 2. Recorte y Extensi´on de la Ontolog´ıa de Pardede et al. [Par05]
La clasificaci´on de Pardede et al. [Par05] desglosa todos los tipos de
datos base que el est´andar ANSI ha ido declarando a lo largo de todas
sus versiones. A este conjunto de datos se propone a˜nadir aquellos que
permiten representar datos difusos sobre una BD y que est´an definidos
en el cap´ıtulo B.1.1. Los tipos de datos difusos que aparecer´an en esta
extensi´on son (v´ease secci´on B.1.2 para una descripci´on m´as detallada):
Tipo Difuso 1 o TD1. Representa datos cuyos valores se basan en
un referencial ordenado, pero que pueden ser consultados de forma
difusa.
Tipo Difuso 2 o TD2. Representa datos cuyos valores se basan en un
referencial ordenado, pero pueden ser almacenados y/o consultados
siguiendo una distribuci´on de posibilidad utilizada para representar
datos difusos.
Tipo Difuso 3 o TD3. Representa datos cuyos valores se basan en
un referencial discreto y en las relaciones de semejanza descritas
expl´ıcitamente sobre este referencial.
80 CAP´ITULO 4. FKRO
SchemaObject
objectName : string
Table
isInsertableInto :bool
isReferenceable :bool
Column
name: string
defaultOption:[user, current_user,
current_role, session_user, system_user,
current_path, <literal>, <date time
value>,<implicy typed value>]
ordinalPosition :int
isUpadatable:bool
isSelfReferencing :bool
nullabilityCharacteristic :[not nullable,
possibly nullable]
UniqueColumn
ordinalposition:
integer
BaseTable
Constraint
isDeferrable:Bool
initialConstraintMode:[deffered, inmediate]
TableConstraint
ReferentialConstraint
updateRule:[cascade, set_null,
set_default, restrict, no_action]
deleteRule: [cascade, set_null,
set_default, restrict, no_action]
matchOption :[mach full, match
partial]
UniqueConstraint
PrimaryKey
1..*
has columns
*
Constraints
References
References
1..*
UniqueColumnList
*
IdentityColumn
startvalue:int
increment:int
maximunvalue:int
minimunvalue:int
cycle_option: Boolean
1
1..n
1..n
1..n
*
DerivedTable
query_expression: STring
is_updatable: Boolean
is_simply_updatable:boolean
View
check_option:
[cascade, local,
none]
SQLSchema
name: string
1
1..n
1..n
*
1
*
DataTypes
name:String
hasDataType
*
Domain
default_option: enum
Domain_hasTypeOf_DataType
defines
*
0..1*
xor
0..1
Domain_Constraint
search_condition:string
TableCheckConstraint
search_condition:string
Predefined
Figura 4.4: Ontolog´ıa en UML del SQL4 de Calero et al. [Cal06] recortada
4.3. ONTOLOG´IA DEL CAT ´ALOGO 81
Tabla 4.1: descripci´on Breve de las Clases de la Ontolog´ıa Recortada de
Calero et al.
Clase Superclase descripci´on Atributos
SQLSchema Representa los esquemas de
BD
Schema-
Object
SQLSchema Es cualquier objeto del esque-
ma
objectName
Table Schema-
Object
Es un objeto Relacion isInsertableInto, isRefer-
enceable
Derived-
Table
Table El resultado de una consulta queryExpresion, isUpdat-
able, isSimplyUpdatable
BaseTable Table Tabla compuesta por atributos
View Tabla virtual basada en una
consulta
CheckOption
Domain Schema-
Object
Conjunto de valores de un atri-
buto agrupado, compuesto de
un tipo de datos y restricciones
defaultOption
DataType Conjunto de valores repre-
sentables
Predefined DataType Tipos de Datos Base
Constraint Schema-
Object
Restricciones sobre la BD isDeferrable, initialCon-
straintMode
Table-
Constraint
Constraint Restricciones sobre Tablas
Domain-
Constraint
Constraint Restricciones sobre Dominios searchCondition
TableCheck-
Constraint
Table-
Constraint
Restricciones de Negocio
(Check Constraint) sobre
Tablas
searchCondition
Unique-
Constraint
Table-
Constraint
Restriccion de Clave ´Unica
Referential-
Constraint
Table-
Constraint
Restriccion Referencial updateRule, setDefault,
deleteRule, matchOption
PrimaryKey Unique-
Constraint
Representa la clave primaria
Column Columna o atributo name, defaultOption, ordi-
nalPosition, isUpdatable,
isSelfReferencing, nullabil-
ityCharacteristic
Identity-
Column
Column Columna que autom´atica-
mente act´ua como una
secuencia
startVal, increment, max-
imunVal, minimunVal, cy-
cleOp
Unique-
Column
Column Columna que contiene valores
´unicos
ordinalPos
82 CAP´ITULO 4. FKRO
As´ı pues la clasificaci´on de Pardede et al. [Par05] quedar´ıa represen-
tada tal y como se indica en la figura 4.5. En la misma, apartado A, se
describe expl´ıcitamente d´onde entrar´ıa la extensi´on difusa en la clasifi-
caci´on. En el apartado B se describen con mas detalle los tipos de datos
difusos y su integraci´on con el resto de la clasificaci´on de Pardede et al.
[Par05]. Como podemos observar, s´olo aquellos datos difusos que se basan
en un referencial num´erico se relacionan con el resto de la clasificaci´on
(Tipo Difuso 1 y 2), es decir definen expl´ıcitamente el referencial en el
que se basan.
Tal y como ocurre en el paso 1 con la clasificaci´on de Calero et al.
[Cal06] se propone recortar la clasificaci´on de Pardede et al. [Par05] ex-
cluyendo los tipos de datos complejos y dejando ´unicamente los tipos
base, tambi´en llamados predefinidos (para as´ı poder mezclar ambas on-
tolog´ıas en el paso siguiente). Por otro lado, en esta clasificaci´on tam-
bi´en se propone un nuevo recorte que excluye los tipos de datos menos
comunes, es decir, mantenemos ´unicamente aquellos que son m´as suscep-
tibles de ser implementados en la mayor´ıa de los SGBDs del mercado en
este primer prototipo de ontolog´ıa, tal y como se ve en la figura 4.6.
Uniendo las diferentes modificaciones a la clasificaci´on de Pardede et
al. [Par05] la clasificaci´on quedar´ıa tal y como se describe en la figura
4.7.
La clase FDTOrder es una clase abstracta que agrupa a los tipos
de datos difusos que representan valores sobre un referencial ordenado
num´erico. Ambos tipos de datos (TD1 y TD2) deber´an ser definidos
por el referencial num´erico sobre el que se basan, a trav´es de la relaci´on
hasDataType y por los atributos margen y much que se usan para la
comparaci´on de valores dentro del dominio difuso. Ambos valores tienen
la cardinalidad establecida a 1, puesto que por cada tipo de dato s´olo
tienen un valor asociado al mismo.
Paso 3. Proceso de Mezcla
Una vez que disponemos de las diferentes ontolog´ıas fuente a partir de
las cuales se va a generar la nueva, el siguiente proceso es el de unificar
dichas ontolog´ıas usando las partes que tengan en com´un para formar
una ontolog´ıa mayor y m´as especializada. De esta forma procederemos a
identificar las partes comunes que ambas ontolog´ıas tienen:
La clase DataTypes aparece en la Ontolog´ıa Recortada y Extendi-
da de Pardede et al. [Par05] mostrada en la figura 4.7, de la cual
4.3. ONTOLOG´IA DEL CAT ´ALOGO 83
SQL Data Types
Predefined Types
String Boolean Numeric Interval DateTime
Constructed Type User-Defined Types Fuzzy Types
Exact Approximate
Integer
Float
SmallIntBigInt
Real Double Precision
Charact.BLOBBIT
VaryingFixed
CLOB.VaryingFixed
T.Stamp .TimeDate
CompositeAtomic
CollecctionRow
MultisetArray
StructuredDistinct
Ref
Predefined
Numeric
scale : int
DataTypes
Fuzzy
FDTOrder
margen: float
much: float
FType3
len:int
FType1 FType2
hasNumericType
1
*
UserDefinedType Constructed
A
A)Taxonomía dePardede &WennyRahayu, de lostiposdedatos delSQL4 junto
con la inclusióndelostiposdedatosdifusos.
B)TiposdeDatos Difusos relacionados con la taxonomía general de Pardede et al.
Figura 4.5: Extensi´on de la ontolog´ıa de Pardede et al. [Par05] con los datos
difusos
84 CAP´ITULO 4. FKRO
DataTypes
Float
Char
Fixed
Approx
Varying
Numeric
Predefined
String
Exact
RealInteger
BooleanDateTime
Date Time
Figura 4.6: Clasificaci´on de Pardede et al. [Par05] recortada
Fuzzy
FDTOrder
margen: float
much: float
FType3
len:int
FType1 FType2
hasNumericType
1
*
DataTypes
Float
Char
Fixed
Approx
Varying
Numeric
Predefined
String
Exact
RealInteger
BooleanDateTime
Date Time
Figura 4.7: Clasificaci´on de Pardede et al. [Par05] recortada con la inclusi´on
de datos difusos
4.3. ONTOLOG´IA DEL CAT ´ALOGO 85
depende Predefined y Fuzzy que representan los tipos de datos que
se van a usar en esta ontolog´ıa.
La clase DataTypes aparece en la Ontolog´ıa de Recortada de Calero
et al. [Cal06] tal y como se puede ver en la figura 4.4, con la subclase
Predefined dependiente de ella. Sin embargo dicha clase, carece de la
especificaci´on jer´arquica de los elementos que la componen. Adem´as
la clase DataTypes cuenta con el atributo Name, que representa el
nombre de del tipo de datos.
Dado que las clases especificadas anteriormente coinciden en significa-
do y nombre, la unificaci´on de las ontolog´ıas es inmediata. Este proceso
de mezcla incorpora todos los elementos que aparecen en una u otra on-
tolog´ıa, de tal forma que se forma una nueva lo m´as completa posible tal
y como vemos en la figura 1
4.8.
Paso 4. Extensi´on o de Definici´on de Datos Difusos
Este proceso consiste en extender la ontolog´ıa generada a trav´es de los
procesos de recorte y mezcla anteriores, para poder representar informa-
ci´on imprecisa en el Modelo Relacional representado por dicha ontolog´ıa
(v´ease figura 4.8).
La extensi´on de la ontolog´ıa consta de varias fases listadas a conti-
nuaci´on y descritas con detalle en las subsecciones siguientes:
Redefinici´on del concepto Columna para poder englobar aquellas
que contienen datos difusos.
Extensi´on del n´umero de restricciones que pueden definirse en el
Modelo Relacional para englobar aquellas que tengan que ver con
datos difusos.
Definici´on de metaclases necesarias para formar la ontolog´ıa de
datos.
Definici´on del concepto de Dominio Difuso, junto con la definici´on
de etiquetas ling¨u´ısticas, valores discretos y relaciones de similitud.
Definici´on de aquellas estructuras que permiten el almacenamien-
to de valores difusos (distribuci´on posibilidad, estructuras trape-
zoidales, triangulares, intervalares, etc.).
1
Todas las clases que aparecen en la figura 4.8 se encuentran descritas en los apartados
anteriores.
86 CAP´ITULO 4. FKRO
SchemaObject
objectName : string
Table
isInsertableInto :bool
isReferenceable :bool
Column
name: string
defaultOption:[user, current_user,
current_role, session_user, system_user,
current_path, <literal>, <date time
value>,<implicy typed value>]
ordinalPosition :int
isUpadatable:bool
isSelfReferencing :bool
nullabilityCharacteristic :[not nullable,
possibly nullable]
UniqueColumn
ordinalposition:
integer
BaseTable
Constraint
isDeferrable:Bool
initialConstraintMode:[deffered, inmediate]
TableConstraint
ReferentialConstraint
updateRule:[cascade, set_null,
set_default, restrict, no_action]
deleteRule: [cascade, set_null,
set_default, restrict, no_action]
matchOption :[mach full, match
partial]
UniqueConstraint
PrimaryKey
1..*
has columns
*
Constraints
References
References
1..*
UniqueColumnList
*
IdentityColumn
startvalue:int
increment:int
maximunvalue:int
minimunvalue:int
cycle_option: Boolean
1
1..n
1..n
1..n
*
DerivedTable
query_expression: STring
is_updatable: Boolean
is_simply_updatable:boolean
View
check_option:
[cascade, local,
none]
SQLSchema
name: string
1
1..n
1..n
*
1
*
DataTypes
name:String
hasDataType
*
Domain
default_option: enum
Domain_hasTypeOf_DataType
defines
*
0..1*
xor
0..1
Domain_Constraint
search_condition:string
TableCheckConstraint
search_condition:string
Fuzzy
FDTOrder
margen: float
much: float
FType3
len: int
FType1 FType2
hasNumericType
1
*
Float
Char
Fixed
Approx
Varying
Numeric
Predefined
String
Exact
RealInteger
BooleanDateTime
Date Time
Figura 4.8: Ontolog´ıa de Calero et al. [Cal06] y Pardede et al. [Par05] del
SQL4 y Tipos de Datos Difusos mezclada
4.3. ONTOLOG´IA DEL CAT ´ALOGO 87
4.3.3. descripci´on de la Ontolog´ıa del Cat´alogo Extendido
El cat´alogo de un SGBD nos permite almacenar los metadatos, es
decir, la informaci´on que representa la estructura de la informaci´on que la
BD va a permitir almacenar. Si a este cat´alogo que ya tenemos propuesto
como ontolog´ıa en la figura 4.8, le a˜nadimos la extensi´on descrita en
FIRST (v´ease secci´on B.1.2) que presenta las estructuras para representar
informaci´on imprecisa, obtendremos la que hemos denominado Ontolog´ıa
del Cat´alogo Extendido.
A continuaci´on se presentan de manera desglosada cada uno de los
cambios que son requeridos en la presente ontolog´ıa para obtener dicha
Ontolog´ıa del Cat´alogo Extendido.
4.3.3.1. Columnas Difusas
En la representaci´on de la ontolog´ıa del est´andar SQL4, se debe modi-
ficar el concepto de Columna para que sea especializado en dos categor´ıas
(Columna Base y Columna Difusa), quedando las clases relacionadas con
ella de la siguiente manera (v´ease figura 4.9 para ilustrar las definiciones
siguientes):
Columna: es la clase ra´ız, representa todas las columnas de la BD.
Sin embargo esta clase ser´a considerada como abstracta, y ´unica-
mente sus subclases deber´an ser instanciadas. Los atributos de dicha
clase son los mismos que los definidos anteriormente, a excepci´on
de la nullabilityCharacteristic (que representa si la clase puede con-
tener valores nulos), que aparecer´a como atributo en la subclase
Columna Base.
Columna Base: s aquella que representa las columnas cl´asicas en
una BD. Seguir´a con las mismas relaciones que en la anterior defini-
ci´on lo hac´ıa la clase Columna, de hecho es este tipo de columna la
que va a permitir mantener las diferentes restricciones de integridad
que exige el Modelo Relacional. El tipo de dato vendr´a determinado
por la relaci´on hasDataTypes con los tipos de datos predefinidos (no
olvidemos que el resto de tipos de datos compuestos los hemos ex-
cluido de esta propuesta) o bien por la relaci´on defines que relaciona
una columna con un dominio. Aunque no es la m´as utilizada en la
definici´on de datos, se ha optado por representar esta relaci´on dado
que muchos SGBDs la utilizan impl´ıcitamente en muchas defini-
ciones (en cualquier caso dicha relaci´on se describir´a con m´as de-
88 CAP´ITULO 4. FKRO
Table
(described
previously)
Column
name: string
defaultOption:[user, current_user,
current_role, session_user, system_user,
current_path, <literal>, <date time
value>,<implicytyped value>]
ordinalPosition :int
isUpadatable:bool
isSelfReferencing :bool
UniqueColumn
ReferentialConstraint
(described previously)
1..*
tablecolumns
*
ReferencedCol
IdentityColumn
startvalue:int
increment:int
maximunvalue:int
minimunvalue:int
cycle_option: Boolean
Fuzzy_Column Base_Column
nullabilityCharacteristic :
[not nullable, possibly
nullable] 1..*
Domain
namedom:String
DataType
(prev.descr.)
FuzzyDataTypes
(previously desc)
SQLDataTypes
(previously desc)
FuzzyDomain
ClassicDomain
hasDataType
defines
Fdefines
xor
DomTypeOf
FDomTypeof
1
*
1
*
*
1
0..1
0..1
*
Figura 4.9: Especializaci´on de la clase Columna
4.3. ONTOLOG´IA DEL CAT ´ALOGO 89
talle en el apartado siguiente). La definici´on del tipo de dato, sea
directamente, o sea a trav´es de un dominio, s´olo puede ser una, tal
y como especifica la relaci´on xor en el diagrama. En cuanto a los
atributos, esta clase es una especializaci´on del concepto Columna,
contiene todos los de dicha superclase e incluye nullabilityCharac-
teristic, completando as´ı la lista de atributos que antes representaba
Columna en la ontolog´ıa del ANSI SQL4 descrita en la secci´on an-
terior.
Columna Difusa: clase que representa todas aquellos atributos que
pueden contener datos difusos o bien ser consultados utiliz´andolos.
Una columna difusa por definici´on s´olo podr´a contener datos o bien
difusos o bien que sean susceptibles de ser consultados de forma
difusa, por tanto, el tipo de datos ser´a representado por la relaci´on
Fdefines. Esta relaci´on garantiza que una columna difusa est´e vin-
culada con un dominio difuso ´unicamente, y no en sentido inverso.
Es por esta raz´on que no existe un v´ınculo directo a los tipos de
datos difusos, ya que cuando se define un tipo de dato difuso no
suele tratarse de un ´unico valor sino que suele tratarse de un do-
minio que viene acompa˜nado por definiciones previas de etiquetas
ling¨u´ısticas o relaciones de similitud entre valores discretos, usados
en el proceso de definici´on de datos o en consultas. En cualquier
caso, esta relaci´on ser´a descrita con m´as detalle en el apartado de
dominios difusos siguiente. En cuanto a atributos concretos, esta
relaci´on no tendr´a m´as que los heredados por la superclase. No ex-
isten restricciones definidas sobre columnas difusas porque dichas
restricciones se establecen sobre los dominios difusos, como ya vere-
mos en el subapartado de dominios y restricciones difusas siguiente.
4.3.3.2. Dominios Difusos
Tal y como se describi´o brevemente en el p´arrafo anterior correspon-
diente a las columnas, un dominio representa el conjunto de valores y res-
tricciones que un atributo puede contener. Un gran n´umero de SGBDs,
dependiendo del tipo de dato que se este definiendo crea dominios en lu-
gar de establecer un v´ınculo a un tipo de dato predefinido, pero de forma
invisible al usuario.
Cuando se trata de gestionar informaci´on imprecisa la presencia de
dominios es imprescindible, dado que normalmente a la definici´on de un
tipo de dato difuso siempre acompa˜na un conjunto de valores adem´as
90 CAP´ITULO 4. FKRO
Fuzzy_Column
Base_Column
(prev. described)
Domain
namedom :StringDataType
(prev. descr.)
FuzzyDataTypes
(previously desc)
SQLDataTypes
(previously desc)
FuzzyDomain
ClassicDomain
Domain_Constraint
search_condition:String
Fuzzy_Dom_Constraint
value:boolean
hasDataType
defines
Fdefines
xor
DomTypeOf
FDomTypeof
constraints
Fconstraint
1 *
1 *
*
*
1
0..1
0..1
*
1
LabelDefinition
lname:String
DiscreteDefinition
dname:String
DiscreteRelation
FuzzyDataStructures
*
*1
referencedType2 referencedType1
1 1
SchemaObject
objectName : string
Fuzzy_Values
FType1_Struct FType2_Struct FType3_Struct
lavelVal 1
*
relates
1
1
relates1
2
*
Figura 4.10: descripci´on de la clase Dominios
de los datos num´ericos predefinidos (en el caso que el tipo de dato los
permita). Estos valores suelen venir dados por etiquetas ling¨u´ısticas liga-
das a distribuciones de posibilidad concretas. Por ejemplo: un atributo
que describa la altura de una persona, tendr´a representado mediante eti-
quetas ling¨u´ısticas los valores: muy bajo, bajo, mediano, alto, muy alto.
Si bien se tratara de un tipo de dato cuyos valores son discretos, estos
tambi´en deber´an ser definidos previamente, por ejemplo, el color de pelo
de una persona, vendr´a definido por las etiquetas: rubio, moreno, cas-
ta˜no y pelirrojo y las relaciones entre dichas etiquetas. Y no sol´amente
se utilizan dichas definiciones para insertar informaci´on en la BD sino
tambi´en para consultarla.
Las clases que describen los dominios difusos est´an representadas en
la figura 4.10 y se describen a continuaci´on:
4.3. ONTOLOG´IA DEL CAT ´ALOGO 91
Domain: se trata de una clase abstracta que agrupa los diferentes
tipos de dominios que ahora existen en la ontolog´ıa, el domino b´asico
(definido por el ANSI SQL) y el dominio difuso. Consta de un atri-
buto, que identifica el nombre del dominio del que se trata. Por
´ultimo cabe destacar que Domain es subclase de Schema Object, ya
que es otro de los elementos que forman parte de un esquema de
bases de datos.
Classic Domain: se trata del dominio cl´asico, y se corresponde con
la clase Domain de la anterior ontolog´ıa. Este dominio esta formado
por la relaci´on que establece su v´ınculo con las diferentes columnas
que pueden usar dicha definici´on de dominio (defines), la relaci´on
que establece el tipo de dato por el que est´a formado el dominio
(domTypeOf ) que tiene que definirse expl´ıcitamente, y aquella que
establece las restricciones de integridad de datos que puede definirse
sobre el mismo, llamada constraints (estas restricciones se suelen
corresponder con la sentencia Check).
Fuzzy Domain: sta clase representa aquellos dominios que involu-
cran datos difusos en su definici´on. La ´unica forma de definir un
tipo de dato difuso y vincularlo a una columna difusa es a trav´es de
la relaci´on Fdefines. El tipo de datos difuso asociado al dominio se
establece mediante la relaci´on FDomTypeOf. A su vez, los domin-
ios difusos tambi´en tienen restricciones asociadas a los mismos, el
n´umero de restricciones asociadas a un dominio queda determinado
por Fconstraint. Por ´ultimo, asociadas con los dominios tambi´en se
encuentran las definiciones de etiquetas ling¨u´ısticas y valores dis-
cretos, sin embargo estas relaciones se describir´an en en subaparta-
do correspondiente. En la tabla 4.2 se muestran las restricciones
definidas sobre las propiedades relacionadas con dicha clase y su
descripci´on mas detallada.
Tal y como se puede observar, la definici´on de los tipos de datos en los
valores cl´asicos, puede hacerse bien a trav´es de dominios o bien a trav´es
de un v´ınculo directo con el tipo de datos en cuesti´on. En datos difu-
sos ´unicamente se podr´a realizar a trav´es de dominios, siendo entonces
dicha clase la que contendr´a las referencias a las columnas que est´an
relacionadas con el mismo. Gracias a esta particularidad, las columnas
difusas pueden compartir dominios y ahorrarse as´ı definiciones repetitivas
de los mismos.
92 CAP´ITULO 4. FKRO
atributo Restricci´on Valor descripci´on
Fdefines cardinalidad multiple Varias columnas pueden representarse por
el mismo dominio difuso
FDomTypeOf cardinalidad 1 A un dominio le corresponde so´lo un tipo
de datos difuso
Fconstraint cardinalidad m´ultiple Sobre un dominio se pueden relacionar
m´ultiples restricciones difusas
Tabla 4.2: Restricciones de los atributos de Fuzzy Domain
4.3.3.3. Restricciones Difusas
Los tipos de datos difusos definidos en FIRST (v´ease secci´on B.1.2 del
Anexo B para m´as detalle), tambi´en pueden incluir restricciones en su
definici´on. Dichas restricciones consisten en la especificaci´on de qu´e tipos
de valores (estructuras de datos a usar) pueden o no contener los atributos
definidos.
Para realizar esta especificaci´on se han creado las siguientes clases
(pueden verse en la figura 4.11):
Fuzzy Dom Constraint: clase que agrupa todas las restricciones di-
fusas. Es una clase abstracta, que tiene como atributo a value, que
es de tipo booleano y especifica si la restricci´on est´a activada o
no. La restricci´on de cardinalidad que existe sobre este valor esta
establecida a 1.
Label Constr: significa que la definici´on que incluya esta restricci´on
(si el atributo value esta a verdadero) no permitir´a la inclusi´on de
valores que sean etiquetas ling¨u´ısticas.
Crisp Constr: si el atributo value esta a verdadero, implicar´a que
no se permiten valores Crisp (num´ericos comunes) en el atributo
que contenga dicha restricci´on.
Interval Constr: incluir esta restricci´on implica no permitir el uso
de valores intervalares.
Trapezoid Constr: no se permitir´an valores trapezoidales en aquellos
atributos donde est´a restricci´on tenga un valor de verdadero.
Appr Constr: los valores aproximados a un n´umero concreto no
ser´an permitidos en aquellos atributos en los que se defina esta
restricci´on.
4.3. ONTOLOG´IA DEL CAT ´ALOGO 93
Constraint
(described previously)
FuzzyDomain Fuzzy_Dom_Constraint
value:boolean
Fconstraint
Nullability_Const
Unknown_Const
Undefined_Const
Appr_Const
Trapezoid_Const
Label_Const
Crsip_Const
Interval_Const
*
1
Figura 4.11: descripci´on de las Restricciones Difusas
94 CAP´ITULO 4. FKRO
Nullability Constr: indica que no se permiten valores nulos en este
dominio.
Unknown Constr: indica que no se permiten valores desconocidos
(unknown) en este dominio.
Undefined Constr: indica que no se permiten valores indefinidos
(undefined) en este dominio.
Existen otras dos restricciones en la definici´on del modelo, son ONLY
LABEL y ONLY LABEL OR UNKNOWN. Estas dos restricciones se
forman generando expl´ıcitamente las restricciones necesarias para que se
cumplan las anteriores, es decir generar una instancia de todas las res-
tricciones a excepci´on de la de etiquetas ling¨u´ısticas, y/o de valores de
unknown.
En la ontolog´ıa la definici´on de las restricciones difusas se realiza a
trav´es de la definici´on de un dominio usando la relaci´on FConstraint y
no, tal y como se podr´ıa plantear a priori, sobre las columnas. A pesar
de que utilizando el lenguaje FSQL [Gal99] las restricciones se vinculan
a las columnas, esta decisi´on se ha tomado debido al hecho de que los
tipos de datos difusos se vinculan a las columnas a trav´es de dominios,
con lo que resulta m´as l´ogico que sea este dominio el que albergue dichas
restricciones.
4.3.3.4. Valores Discretos y Relaciones de Similitud
La representaci´on de valores discretos, nos permite establecer etique-
tas que no tienen significado basado en un referencial ordenado, sino que
su significado vendr´a dado por la relaci´on que se establece entre las di-
ferentes etiquetas asociadas al mismo dominio. Dicho significado ser´a es-
tablecido mediante la asignaci´on de un valor de similitud (establecido
entre 0 y 1) para cada par de valores.
Para representar estas etiquetas y las relaciones, se han propuesto dos
nuevas clases en la ontolog´ıa (tal y como podemos ver en la figura 4.10):
Fuzzy Data Structures: clase abstracta que engloba las estructuras
difusas concretas relacionadas con etiquetas como las etiquetas lin-
g¨u´ısticas y los valores discretos.
Discrete Definition: clase que permite representar las etiquetas que
tienen un valor sem´antico asociado, pero no puede ser cuantificado
4.3. ONTOLOG´IA DEL CAT ´ALOGO 95
sin una representaci´on expl´ıcita de su valor a trav´es de relaciones
de similitud con otras etiquetas. El valor de esta etiqueta viene
representado mediante el atributo de esta clase denominado dname.
La relaci´on referencedType1 permite establecer con qu´e dominios
est´a relacionada la etiqueta que est´a definida.
Discrete Relation: esta clase representa como los valores discretos,
definidos como instancias de la clase Discrete Definition, son rela-
cionados dos a dos a trav´es un valor num´erico (entre 0 y 1) es-
tablecido con el atributo similarity. El atributo relates es el que
permitir´a establecer que dos etiquetas discretas est´an relacionadas
con un valor dado.
Las restricciones sobre las propiedades de objetos de estas clases se
describen en la tabla 4.3.
Estas clases representan la base del tipo difuso 3 ya que las instancias
de las mismas definen todos los valores que este tipo de dato puede
representar.
Tabla 4.3: Restricciones de los atributos de Discrete Relation y Dis-
crete Definition
Atributo Restricci´on Valor descripci´on
ReferencedType1 cardinalidad 1 Una definici´on de discreto, s´olo puede es-
tar asociada con un dominio difuso
Relates cardinalidad 2 Una relaci´on difusa tiene dos definiciones
de discretos relacionadas
dname cardinalidad 1 Nombre del discreto
4.3.3.5. Etiquetas ling¨u´ısticas
En la figura 4.10 podemos ver c´omo se ha representado la existencia de
etiquetas ling¨u´ısticas que representan valores basados en distribuciones
de posibilidad (basadas en un referencial ordenado).
Las clase Label Definition es la que representa todas las etiquetas
mediante su instanciaci´on. Se les da un nombre a trav´es del atributo
lname, se vinculan a dominios difusos mediante la relaci´on referenced-
Type2 y representan un valor mediante una referencia a una distribuci´on
de posibilidad definida a trav´es de la relaci´on labelVal (que conecta dicha
etiqueta con la clase Ftype2 Struct que a continuaci´on ser´a descrita). Las
restricciones sobre esta clase se describen en la tabla 4.4.
96 CAP´ITULO 4. FKRO
Por ultimo dicha clase es subclase de Fuzzy Data Structures, que es
una clase abstracta que engloba las estructuras difusas definidas en FIRST
(v´ease secci´on B.1.2 del Anexo para m´as detalle).
Atributo Restricci´on Valor descripci´on
ReferencedType2 cardinalidad 1 Una definici´on de etiqueta, s´olo puede es-
tar asociada con un dominio difuso
labelVal cardinalidad 1 Una etiqueta ´unicamente puede tener aso-
ciada una distr. posibilidad
lname cardinalidad 1 Nombre de la etiqueta
Tabla 4.4: Restricciones de los atributos de Label Definition
4.3.3.6. Representaciones de las Estructuras de los Tipos de Datos
Difusos
Los valores que los tipos de datos difusos representan deben de ser
definidos siguiendo una estructura concreta. Los tipos de datos difusos
basados en un referencial ordenado podr´ıan representar datos cl´asicos,
para lo cual pueden usarse los tipos de datos base, o bien ser distribu-
ciones de posibilidad, pero en este ´ultimo caso las estructuras que per-
mitir´an almacenar dichos valores deben ser generadas expl´ıcitamente.
Dichas estructuras est´an descritas con detalle en FIRST (m´as detalle en
la secci´on B.1.2 del Anexo B).
La figura 4.12 muestra las estructuras de datos que los tipos de datos
difusos pueden soportar para almacenar sus valores. Dichas estructuras
est´an representadas por las siguientes clases:
FuzzyValues: clase abstracta que agrupa aquellas estructuras de
representaci´on que se necesitan para definir datos que no son los
predefinidos y representan datos difusos basados en un referencial
ordenado.
FType1 Struct: clase abstracta que agrupa aquellos estructuras que
´unicamente pueden usar los valores que han sido definidos como de
Tipo Difuso 1.
Null: clase que representa un valor nulo. Esta clase es subclase de
FType1 Struct, FType2 Struct o FType3 Struct.
Unknown: clase que representa un valor unknown o desconocido.
Esta clase es subclase de FType2 Struct o FType3 Struct.
4.3. ONTOLOG´IA DEL CAT ´ALOGO 97
LabelDefinition
lname:String
Fuzzy_Values FType1_Struct
FType2_Struct
FType3_Struct
labelVal* 1
Unknown
Undefined
Null
LabelCrisp
x:numeric
Interval
a:numeric
b:numeric
Approx
v:numeric
Trapezoid
alfa:numeric
beta:numeric
delta:numeric
gamma:numeric
NumericT
val:numeric
Simple
degree:float
Distr.Poss .
labelID
discreteVal
*
*
DiscreteDefinition
dname:String
1
1
discreteID
1
*
Figura 4.12: descripci´on de las estructuras para los TD Difusos
98 CAP´ITULO 4. FKRO
Undefined: clase que representa un valor indefinido. Esta clase es
subclase de FType2 Struct o FType3 Struct.
NumericT: clase que representa un valor cl´asico num´erico. Para ello
esta clase cuenta con el atributo val que es de tipo num´erico. En
este atributo se almacena el valor num´erico deseado mediante su
instanciaci´on.
FType2 Struct: clase abstracta que agrupa aquellos estructuras que
´unicamente pueden usar los valores que han sido definidos como de
Tipo Difuso 2.
Crisp: clase que representa un valor cl´asico num´erico. Para ello
esta clase cuenta con el atributo x que es de tipo num´erico. En
este atributo se almacena el valor num´erico deseado mediante su
instanciaci´on.
Approx: clase que representa un valor aproximado a un n´umero con-
creto. Tal y como se describe en FIRST, se trata de una distribuci´on
de posibilidad aproximada. Para ello esta clase cuenta con el atribu-
to v que es de tipo num´erico en el que se almacena el valor deseado
mediante su instanciaci´on.
Interval: clase que representa un valor intervalar. Tal y como se
describe en FIRST, se trata de una distribuci´on de posibilidad in-
tervalar. Para ello esta clase cuenta con los atributos a y b que
definen los l´ımites del intervalo que se usan.
Trapezoid: clase que representa un valor trapezoidal. Tal y como
se describe en FIRST, se trata de una distribuci´on de posibilidad
aproximada. Para ello esta clase cuenta con los atributos alfa, beta,
delta y gamma que definen los limites del trapecio.
Label: clase que representa a una etiqueta ling¨u´ıstica. Dicha clase
hace referencia a la clase Label Definition a trav´es de la relaci´on
labelID.
FType3 Struct: clase abstracta que agrupa aquellos estructuras que
´unicamente pueden usar los tipos que han sido definidos como de
Tipo Difuso 3.
Simple: clase que representa un valor discreto, con un cierto grado
de certeza dado por el atributo degree. Dicho atributo s´olo ser´a usa-
do cuando la clase Simple sea parte de una DistrPoss (clase descrita
4.3. ONTOLOG´IA DEL CAT ´ALOGO 99
a continuaci´on). En el resto de los casos su valor carece de inter´es
pues se interpreta como 1. El valor de este atributo en el primer
caso hace referencia a la definici´on previa de valores discretos en la
clase discrete Definition usando el atributo discreteID.
DistrPoss: clase que representa un conjunto de valores simples (ins-
tancias de la clase Simple) con un valor de certeza en cada uno de
ellos (matizados por degree y descritos previamente), a trav´es de la
relaci´on discreteVal.
En la tabla 4.5 se muestran las restricciones relacionadas con estas
estructuras.
Atributo Restricci´on Valor descripci´on
labelID cardinalidad 1 La estructura de un valor label, tiene asocia-
da una definici´on de etiqueta (instancia de La-
bel Definition)
discreteID cardinalidad 1 La estructura de un valor Simple, tiene asociada
una definici´on de valor discreto (instancia de Dis-
crete Definition)
discreteVal cardinalidad multiple Una distr. posibilidad, tiene asociada uno o varios
valores de instancias de valores Simples
Tabla 4.5: Restricciones de las estructuras de datos que representan valores
difusos
4.3.3.7. Definici´on del Esquema. Metaclases.
Una vez planteada la Ontolog´ıa del Cat´alogo (podemos verla en la
figura 4.13), nos queda especificar c´omo un esquema que representa datos
difusos puede ser definido en la misma.
Metaclases
La Ontolog´ıa del Cat´alogo describe la estructura de la informaci´on
que puede ser representada en una BD relacional extendida con infor-
maci´on imprecisa. Por tanto, al representar la estructura de la cualquier
informaci´on trabajamos con metadatos.
En ontolog´ıas, los metadatos son aquellos que permiten especificar
como la realidad est´a representada. En este caso, ser´ıan metadatos la
definici´on de clase, propiedad, restricci´on y cualquier otro elemento que
100 CAP´ITULO 4. FKRO
SchemaObject
objectName : string
Table
isInsertableInto :bool
isReferenceable : bool
Column
name: string
defaultOption:[user, current_user,
current_role, session_user, system_user,
current_path, <literal>, <date time
value>,<implicy typed value>]
ordinalPosition :int
isUpadatable:bool
isSelfReferencing :bool
UniqueColumn
BaseTable
Constraint
isDeferrable:Bool
initialConstraintMode:[deffered, inmediate]
TableConstraint
ReferentialConstraint
updateRule:[cascade, set_null,
set_default, restrict, no_action]
deleteRule: [cascade, set_null,
set_default, restrict, no_action]
matchOption :[mach full, match
partial]
UniqueConstraint
PrimaryKey
1..*
tablecolumns
*
isconstrainedby
References
ReferencedCol
hasUniqueCol/const
*
IdentityColumn
startvalue:int
increment:int
maximunvalue:int
minimunvalue:int
cycle_option: Boolean
1
1..n
Fuzzy_Column Base_Column
nullabilityCharacteristi
c: [not nullable,
possibly nullable]
1
*
DerivedTable
query_expression: STring
is_updatable: Boolean
is_simply_updatable:boolean
View
check_option:
[cascade, local,
none]
SQLSchema
name: string
1 1..*
1..n
1
*
1..*
TableCheckConstraint
search_condition2:String
Domain
namedom:StringDataType
(prev. descr.)
FuzzyDataTypes
(previously desc)
SQLDataTypes
(previously desc)
FuzzyDomain
ClassicDomain
Domain_Constraint
search_condition:String
Fuzzy_Dom_Constraint
value:boolean
hasDataType
defines
Fdefines
xor
DomTypeOf
FDomTypeof
constraints
Fconstraint
Nullability_Const
Unknown _Const
Undefined_Const
Appr_Const
Trapezoid_Const
Label_Const
Crsip_Const
Interval_ Const
1
*
1 *
* *
1
0..1
0..1
*
1
LabelDefinition
lname:String
DiscreteDefinition
dname:String
DiscreteRelation
FuzzyDataStructures
*
*1
referencedType2
referencedType1
1 1
similarity
1
1
Fuzzy_Values
FType1_Struct
(prev. descr.))
FType2_Struct
(prev. desc)
FType3_Struct
(prev.desc)
labelVal 1
*
relates1
2 *
Figura 4.13: descripci´on de Ontolog´ıa del Cat´alogo
4.3. ONTOLOG´IA DEL CAT ´ALOGO 101
nos permitiera representar algo en la misma (este es el caso de las On-
tolog´ıas Representacionales).
En el caso de la Ontolog´ıa del Cat´alogo del Modelo Relacional se
cuenta con la definici´on b´asica de una Relaci´on o Tabla como elemen-
to fundamental para representar la informaci´on. Adem´as de describir la
estructura y particularidades de una relaci´on esta deber´a ser por s´ı mis-
ma un elemento que permita la inserci´on de datos. Por ejemplo y al
contrario que ocurre en un SGBD del Modelo Relacional que al represen-
tar una relaci´on o tabla en el cat´alogo autom´aticamente obtendr´ıamos
relaciones como personas, departamentos, piezas, proyectos, etc., esto no
resultar´ıa posible hacerlo en una ontolog´ıa. En ella ocurre que al re-
presentar estas mismas relaciones en el cat´alogo definido hasta ahora, se
obtendr´ıan ´unicamente las instancias de las clases de cat´alogo (de la clase
Tabla, Columna Base, Columna Difusa, etc.). Por tanto, insertar datos
en dichas tablas ser´ıa imposible dado que no se puede instanciar una
instancia, que es lo que dichas tablas son en la Ontolog´ıa del Cat´alogo
tal y como est´a representada.
En la figura 4.13 vemos como la clase Tablas est´a sombreada para
especificar que dicha clase es una Metaclase. Esta decisi´on se ha tomado
para poder representar dichas relaciones (tablas), como lo que verdadera-
mente son, una representaci´on de alto nivel de una forma de organizar los
datos. Por consiguiente la definici´on de tabla (relaci´on) deber´a ser trata-
da como una metaclase y su instancia genera una nueva clase. Siguiendo
con el ejemplo anterior, todas aquellas tablas que hab´ıamos definido como
instancias: personas, departamentos, piezas, proyectos, etc. ser´ıan ahora
a su vez clases de la ontolog´ıa, y por tanto podr´ıan ser instanciadas, para
contener datos. En el apartado 2.3.2 se introduce el concepto de c´omo
las metaclases, una vez que son instanciadas, generan a la vez instancias
y clases, y c´omo estas mismas clases pueden volver a generar una nueva
ontolog´ıa dado que representan una realidad diferente a la del cat´alogo.
En este caso la realidad que representan dichas instancias ser´a la del pro-
pio esquema que se esta representando, por ejemplo, el de la gesti´on de
una biblioteca, la gesti´on de una BD multimedia, etc.
Importaci´on
Cuando se desea representar una ontolog´ıa cualquiera mediante un
lenguaje concreto, como por ejemplo OWL, se ha de recurrir a las on-
tolog´ıas representacionales que definen los conceptos sobre los que se
representa la informaci´on. En el caso de OWL se requieren las ontolog´ıas
102 CAP´ITULO 4. FKRO
descritas en la tabla 4.6 para poder utilizar la representaci´on de datos
que ´este lenguaje propone.
En el caso de una BDD se requiere la presencia de la Ontolog´ıa del
Cat´alogo para su correcta definici´on. Sobre dicha ontolog´ıa, se procede-
r´a a definir instancias que representan la BDD deseada. Sin embargo,
la Ontolog´ıa del Cat´alogo es una estructura est´atica, es decir, representa
una realidad y como tal no debe ser modificada, simplemente debe ser
utilizada para representar otros conceptos. De esta forma, y al igual que
ocurre con las descripciones de la tabla 4.6, la Ontolog´ıa del Cat´alogo no
se utiliza directamente para generar el nuevo esquema de BDD, puesto
que no debe permitirse su modificaci´on. El proceso consistir´a en generar
una nueva ontolog´ıa basada en OWL, donde se importa la Ontolog´ıa del
Cat´alogo, cuyos elementos estar´an accesibles y ser´an instanciables, pero
no podr´an modificarse, y no formar´an parte de la nueva definici´on. La
nueva ontolog´ıa estar´a entonces definida por un conjunto de instancias y
clases (dado que existen metaclases en la ontolog´ıa) que representan un
esquema de BDD relacional.
Ontolog´ıa URL descripci´on
xsd http://www.w3.org/2001/XMLSchema# Tipos de datos
base y elementos
XML
rdfs http://www.w3.org/2000/01/rdf-schema# Elementos del es-
quema de RDFS
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# Sintaxis b´asica de
RDF
owl http://www.w3.org/2002/07/owl# Caracter´ısticas
propias del OWL
Tabla 4.6: Ontolog´ıas importadas en OWL
La Ontolog´ıa del Cat´alogo se ha denominado fdtscho, y se encuentra
disponible en http://personales.ya.com/fkrowl/fdtscho/fdtscho.owl.
Tambi´en podemos ver el c´odigo descrito en el CD que se adjunta a
este trabajo de tesis.
4.3.4. Ejemplos
A continuaci´on se mostrar´a un breve ejemplo de como un esquema
de BDD puede ser definido en la Ontolog´ıa del Cat´alogo mediante la
instanciaci´on del mismo. Vamos a plantear el esquema de BDD que se
4.3. ONTOLOG´IA DEL CAT ´ALOGO 103
muestra en figura 4.14 y cuyo esquema l´ogico en FSQL2
[Bla03b] se
expone a continuaci´on:
CATS ( CatID INTEGER PK,
CatName STRING (20),
Age FTYPE2 (1,2) FLOAT (1) NOT UNKNOWN,
Weigh FTYPE1 (0.4,2.0) FLOAT (2),
Character FTYPE3 (3) NOT NULL,
hasBreed (BREED.BreedName) )
BREED( BreedName STRING (100) PK,
CharacterB FTYPE3 (3))
VISIT( Date Date PK,
Price FLOAT (2),
Cat (CATS.CatID) PK)
TREATMENT (
illness STRING (200)
kind FTYPE3 (2)
Date (VISIT.Date) PK,
Cat (VISIT.CatID) PK)
MEDICINE (
MedicineName STRING (100) PK,
dose FTYPE2 (0.5,3) FLOAT (2) )
PRESCRIBE (
Medicine (MEDICINE.MedicineName) PK,
Date (TREATMENT.Date) PK,
Cat (TREATMENT.CatID) PK)
PERIODICAL_TREATMENT (
Date (TREATMENT.Date) PK,
Cat (TREATMENT.CatID) PK,
duration INTEGER,
period INTEGER)
SPORADIC_TREATMENT (
Date (TREATMENT.Date) PK,
Cat (TREATMENT.CatID) PK,
rule STRING (200) )
2
Delante de cada una de las tablas descritas deber´ıa escribirse la sentencia CREATE
TABLE que se ha omitido para clarificar la descripci´on
104 CAP´ITULO 4. FKRO
CATS
CatID : Integer
CatName : String (20)
Age: FType2 (Float)
Weigh: FType1 (Float)
Character: FType3
BREED
BreedName : String (100)
CharacterB :FType3
TREATMENT
illness: String (200)
Kind: FType3
VISIT
Date : Date
Price: Float
MEDICINE
MedicineName : String (100)
dose: FType2 (Float)
PERIODICAL
period: Integer
duration: Integer
SPORADIC
rule: String (200)
hasBreed >
prescribe
Figura 4.14: Ejemplo en UML de una BD de Cl´ınica Veterinaria
Adem´as de los datos comunes del esquema, quedan por definir en
detalle de los dominios difusos que forman esta BDD, siendo:
Etiquetas ling¨u´ısticas utilizadas en el dominio definido para el atri-
buto Age de la tabla Cat. La descripci´on de dichas etiquetas, nombre
y tipo de estructura utilizada y valor dado a las mismas se muestra
en la tabla 4.7.
Nombre Etiqueta Tipo de Valor Valor
Cachorro(puppy) Intervalar 0-1
Joven (young) Trapezoidal 1-1,4-4-5
Adulto (adult) Trapezoidal 2-3-6-10
Mediana-Edad (middle-aged) Aproximado 5
Viejo (old) Trapezoidal 7-8-13-15
Tabla 4.7: descripci´on de los valores de las etiquetas ling¨u´ısticas relacionadas
con el dominio del atributo Age de la tabla Cat
4.3. ONTOLOG´IA DEL CAT ´ALOGO 105
4.3.4.1. Ejemplo 1: Cl´ınica Veterinaria
Valores Discretos relacionados con el atributo Character de la tabla
Cat y su relaciones de similitud. Los valores discretos definidos son:
Agresivo (Aggresive), Tranquilo (Calm), Inquieto (eager), Indifer-
ente (Indiferent), Cari˜noso (Loving). La relaci´on de similitud es-
tablecida entre estos valores se describe en la tabla 4.8.
Indiferente Tranquilo Cari˜noso Inquieto Agresivo
Indiferente 1 0.8 0 .3 0.4 0.1
Tranquilo 1 0.5 0 0
Cari˜noso 1 0.2 0.1
Inquieto 1 0.5
Agresivo 1
Tabla 4.8: Relaciones de Similitud del Atributo Character
Una vez descritos los valores del esquema de bases de datos difusas que
se desea definir, se procede a la instanciaci´on del mismo. Concretamente
se presentan en este ejemplo las instancias generadas para la definici´on
completa de las tablas Cat y Breed en la tabla 4.9, ya que el resto de
las tablas tienen una definici´on similar, y por motivos de claridad es
preferible su exclusi´on del documento.
Cada una de estas instancias queda definida por los valores que ad-
quieren las propiedades de las clases instanciadas. En la tabla 4.10 se
listan las propiedades de objeto m´as representativas de las instancias de
Cats y Breed descritas anteriormente en la tabla 4.9. En la tabla 4.11 se
describen las propiedades de tipo de datos b´asicos, que definen los valores
finales del esquema.
Por ´ultimo hay que destacar, que todas aquellas instancias de la clase Table
(o como subclase Base Table) se convierten a su vez en clases tambi´en. As´ı pues
tendr´ıamos generadas en el ejemplo descrito una clase: Cats, Visit, Breed,
Medicine, Treatment, Sporadic Treatment, Periodical Treatment y Prescribe.
4.3.4.2. Ejemplo 2: BD Suelos
En este ejemplo se propone la utilizaci´on de una BD Difusa Real, como la
de Suelos descrita en el Anexo C y cuyo esquema se encuentra definido en el
apartado C.1.2. Dicha definici´on supone la instanciaci´on de la Ontolog´ıa del
Cat´alogo, concretamente de todas aquellas clases que permitan la definici´on
106 CAP´ITULO 4. FKRO
Tabla 4.9: Instanciaci´on de la Ontolog´ıa del Cat´alogo del ejemplo de la Cl´ınica
Veterinaria
rdf:ID Instancia de rdfs:comment
Cats BaseTable Representa Informaci´on de los gatos
Breed BaseTable Especies de Gatos
CatID UniqueColumn Identificador de gatos
CatName BaseColumn Nombre de gatos
Age FuzzyColumn Edad de gatos (a˜nos)
Weigh FuzzyColumn Peso de gatos (gramos)
Character FuzzyColumn C´aracter de gatos(cari˜noso,amigable,arisco)
CatBreed BaseColumn Nombre de gatos
BreedName UniqueColumn Nombre de la especie
CharacterB FuzzyColumn Car´acter de la especie
FDom Age FuzzyDomain Dominio para tipo dato difuso Age
FDom Character FuzzyDomain Dominio para Character
FDom Weight FuzzyDomain Dominio difuso relacionado con Weight
DTCatID Integer Tipo de dato de CatID
DTCatName Varying Tipo de dato de CatName
DomAge FDT FType2 Tipo de dato difuso de FDom Age
DomAge DT Float Tipo de dato de FDom Age
DomWeigh FDT FType1 Tipo de dato difuso de FDom Weigh
DomWeigh DT Float Tipo de dato de FDom Weigh
DomCharacter FDT FType3 Tipo de dato difuso de FDom Character
DTBreedName Varying Tipo de dato de BreedName
PrimaryKeyCat PrimaryKey Restricci´on de Clave Primaria para Cat
PrimaryKeyBreed PrimaryKey Restricci´on de Clave Primaria para Breed
FK Cat Breed Referential-
Constraint
Restricci´on de clave ajena para atributo Breed
de la relacion Cats
LD MiddleAgedCat Label Definition Etiqueta del dominio FDom Age
DT LV -
MiddleAgedCat
Approx Valor asignado a la etiqueta
LD MiddleAgedCat
LD PupyCat Label Definition Etiqueta del dominio FDom Age
DT LV PuPyCat Intervalar Valor asignado a la etiqueta LD PupyCat
LD AdultCat3
Label Definition Etiqueta del dominio FDom Age
DT LV AdultCat4
Trapezoid Valor asignado a la etiqueta LD AdultCat
agressiveCat Discrete Definition Valor discreto relacionada con el dominio
FDom CatCharacter
calmCat5
Discrete Definition Valor discreto relacionado con el dominio
FDom CatCharacter
discreterelations 186
Discrete Relation Relaci´on entre calmCat e indiferentCat
NullabilityConst 15 NullabilityConst Restricci´on de Valor atrib. Character
UnknownConst 18 UnknownConst Restr. valor Desconocido en atrib. Age
4.3. ONTOLOG´IA DEL CAT ´ALOGO 107
Tabla 4.10: Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del ejemplo
de la Cl´ınica Veterinaria
De Atributo rdf:resource
Cats tableColumns CatName, CatID, Age, Weigh, Char-
acter,BreedName
Breed tableColumns BreedName, CharacterB
CatID hasDataType DTCatID
CatID hasUniqueConst PrimaryKeyCats
CatName hasDataType DTCatName
CatBreed hasDataType DTBreedName
BreedName hasDataType DTBreedName
FDom CatAge FDomTypeOf FDTCatAgeDom
FDom CatAge FDefines Age
FDom CatAge FConstraints2 UnknownConst 18
FDTCatAgeDom hasNumericType DTCatAgeDom
FDom CatWeigh FDomTypeOf FDTCatWeighDom
FDom CatWeigh FDefines Weigh
FDTCatWeighDom hasNumericType DTCatWeightDom
FDom CatCharacter FDomTypeOf FDTCatCharacterDom
FDom CatCharacter FDefines Character, CharacterB
FDom CatCharacter FConstraints2 NullabilityConst 15
PrimaryKeyCats isConstrainedBy Cats
PrimaryKeyCats hasUniqueCol CatID
PrimaryKeyBreed isConstrainedBy Breed
PrimaryKeyBreed hasUniqueCol BreedName
FK Cats Breed referencedCol CatBreed
FK Cats Breed references PrimaryKeyBreed
LD adultCat labelVal DT LV AdultCat
LD adultCat referencedType FDom CatAge
LD adultCat labelVal Approx 10
LD adultCat7
referencedType FDom CatAge
agressiveCat8
referencedType3 FDom CatCharacter
Discrete Relations 189
relates CalmCat, IndiferentCat
108 CAP´ITULO 4. FKRO
Tabla 4.11: Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo del
ejemplo de la Cl´ınica Veterinaria
De Atributo rdf:datatype value
Cats ObjectName xsd:String Cats
Cats isReferenceable xsd:bool true
Breed ObjectName xsd:String Breed
CatID 10
nameCol xsd:String ID
FDomCatAge11
ObjectName xsd:String FDom CatAge
FDTCatName lenghStr xsd:int 20
FDTAgeDom margen xsd:float 1
FDTAgeDom much xsd:int 2
DTAgeDom precision xsd:int 1
FDTWeighDom margen xsd:float 0.4
FDTWeighDom much xsd:int 2
DTWeighDom precision xsd:int 2
DTCharacterDom len xsd:int 3
DTBreedName lenghStr xsd:int 100
DT LV AdultCat alfa xsd:float 2
DT LV AdultCat beta xsd:float 3
DT LV AdultCat delta xsd:float 6
DT LV AdultCat gamma xsd:float 10
Approx 1012
v xsd:float 5
Discrete Relations 1813
similarity xsd:float 0.8
4.3. ONTOLOG´IA DEL CAT ´ALOGO 109
del esquema que describe dicha BDD de Suelos. A continuaci´on se refleja
qu´e clases han de ser instanciadas, de forma breve, y se ejemplifica dicha des-
cripci´on mediante la exposici´on de parte de las instancias que se han generado
(dado que es inviable mostrar todas las instancias debido a su gran n´umero).
La definici´on completa de la BDD de Suelos en la Ontolog´ıa del Cat´alogo se
adjunta en un CD a este trabajo de tesis.
Se instanciar´an las clases relativas a la definici´on de relaciones (Base-
Table) y atributos (BaseColumn, FuzzyColumn, UniqueColumn). En
este ejemplo se expone la instanciaci´on de la relaci´on Localizaci´on y los
atributos: Latitud, Longitud, fisiografia, tmedia, codigo es. Tambi´en se
definir´a la relaci´on Estructura y los atributos: codigo es y grado es.
Clases relativas a las restricciones de Clave primaria (PrimaryKey). Al
definir las tablas se definen sus claves primarias, en el ejemplo que es-
tamos poniendo, Latitud y Longitud en Localizaci´on y codigo es en Es-
tructura.
Clases relativas a las restricciones de clave ajena (instancias de Refe-
rential Constraint). En el ejemplo que nos ocupa, se asociar´ıa codigo es
de Localizaci´on con la clave primaria de la tabla estructura, esto es,
codigo es de Estructura.
Clases relativas a la definici´on de etiquetas ling¨u´ısticas relacionadas con
los Tipos Difusos 2.
Clases relativas a la definici´on de los valores discretos relacionados con
los Tipos Difusos 3, y las relaciones de similitud que definen a cada uno
de estos valores discretos.
Clases relativas a los dominios difusos.
Clases relativas a la definici´on de restricciones difusas.
110 CAP´ITULO 4. FKRO
Tabla 4.12: Instancias de la Ontolog´ıa del Cat´alogo del ejem-
plo de la BDD Suelos
rdf:ID Instancia de rdfs:comment
Localizacion BaseTable Definici´on de la relaci´on Localizaci´on
Estructura BaseTable Definici´on de la relaci´on Estructura
Latitud Unique-
Column
Identificador de Localizaci´on, coorde-
nadas de latitud
Longitud Unique-
Column
Identificador de Localizaci´on, coorde-
nadas de longitud
fisiongrafia FuzzyColumn Fisiograf´ıa del suelo en esta local-
izaci´on
tmedia FuzzyColumn Media de la temperatura
codigo es loc BaseColumn C´odigo de la estructura de suelos que
hay en esta localizaci´on
codigo es Unique-
Column
Identificador num´erico de la estructura
grado es FuzzyColumn Tipo de estructura
FDom tmedia FuzzyDomain Dominio para tipo dato difuso tmedia
FDom fisiografia FuzzyDomain Dominio para fisiograf´ıa
FDom grado es FuzzyDomain Dominio difuso relacionado con gra-
do es
DTLatitud Numeric Tipo de dato de Latitud
DTLongitud Numeric Tipo de dato de Longitud
FDT2 dom-
tmedia
FType2 Tipo de dato difuso de tmedia
DT dom FDT2 Float Tipo de dato asociado a los FDT2
puesto que la mayor´ıa son Float(2)
FDT3 dom-
fisiografia
FType3 Tipo de dato difuso de fisiograf´ıa
DTcodigo es Numeric Tipo de dato de codigo es
FDT3 dom-
grado es
FType3 Tipo de dato difuso de grado es
PKLocalizacion PrimaryKey Restricci´on de Clave Primaria para Lo-
calizaci´on
PKEstructura PrimaryKey Restricci´on de Clave Primaria para Es-
tructura
FK codigo es-
localizacion
Referential-
Constraint
Restricci´on de clave ajena para atri-
buto codigo es loc de la relacion Local-
izaci´on hacia la relacion Estructura
LD baja tmedia Label Defini-
tion
Etiqueta relacionada con el dominio
FDom tmedia. Significa temperatura
media baja.
T baja tmedia Trapezoid Valor asignado a la etiqueta
LD baja tmedia
LD media tmedia Label Defini-
tion
Etiqueta relacionada con el dominio
FDom tmedia. Significa temperatura
media media.
4.3. ONTOLOG´IA DEL CAT ´ALOGO 111
Tabla 4.12: Instancias de la Ontolog´ıa del Cat´alogo del ejem-
plo de la BDD Suelos
rdf:ID Instancia de rdfs:comment
T media tmedia Trapezoid Valor asignado a la etiqueta
LD media tmedia
LD alta tmedia Label Defini-
tion
Etiqueta relacionada con el dominio
FDom tmedia. Significa temperatura
media alta.
T alta tmedia Trapezoid Valor asignado a la etiqueta
LD alta tmedia
DD llano-
fisiograf
Discrete-
Definition
Discreto del dominio FDom fisiografia
con valor Llano
DD fladera-
fisiograf
Discrete-
Definition
Discreto del dominio FDom fisiografia
con valor FondoLadera
DD ladera-
fisiograf
Discrete-
Definition
Discreto del dominio FDom fisiografia
con valor Ladera
DD cima-
fisiograf
Discrete-
Definition
Discreto del dominio FDom fisiografia
con valor Cima
DD meseta-
fisiograf
Discrete-
Definition
Discreto del dominio FDom fisiografia
con valor Meseta
DD VWeak-
fisiograf
Discrete-
Definition
Discreto del dominio FDom grado es
con valor VeryWeak
DD Weak-
fisiograf
Discrete-
Definition
Discreto del dominio FDom grado es
con valor Weak
DD Moderate-
fisiograf
Discrete-
Definition
Discreto del dominio FDom grado es
con valor Moderate
DD Strong-
fisiograf
Discrete-
Definition
Discreto del dominio FDom grado es
con valor Strong
discrete-
relations 35
Discrete-
Relation
Relaci´on entre Llano y FondoLadera
discrete-
relations 36
Discrete-
Relation
Relaci´on entre Llano y Ladera
discrete-
relations 37
Discrete-
Relation
Relaci´on entre Llano y Cima
discrete-
relations 38
Discrete-
Relation
Relaci´on entre Llano y Meseta
discrete-
relations 39
Discrete-
Relation
Relaci´on entre FLad y Ladera
discrete-
relations 40
Discrete-
Relation
Relaci´on entre FLad y Cima
discrete-
relations 41
Discrete-
Relation
Relaci´on entre FLad y Meseta
discrete-
relations 42
Discrete-
Relation
Relaci´on entre Ladera y Cima
discrete-
relations 43
Discrete-
Relation
Relaci´on entre Ladera y Meseta
discrete-
relations 44
Discrete-
Relation
Relaci´on entre Cima y Meseta
112 CAP´ITULO 4. FKRO
Tabla 4.12: Instancias de la Ontolog´ıa del Cat´alogo del ejem-
plo de la BDD Suelos
rdf:ID Instancia de rdfs:comment
discrete-
relations 76
Discrete-
Relation
Relaci´on entre Very Weak y Weak
discrete-
relations 77
Discrete-
Relation
Relaci´on entre Very Weak y Moderate
discrete-
relations 78
Discrete-
Relation
Relaci´on entre Very Weak y Strong
discrete-
relations 79
Discrete-
Relation
Relaci´on entre Weak y Moderate
discrete-
relations 80
Discrete-
Relation
Relaci´on entre Weak y Strong
discrete-
relations 81
Discrete-
Relation
Relaci´on entre Moderate y Strong
UndefinedConst-
138
Undefined-
Const
Restr. de valor indefinido para
FDom tmedia
UnknownConst-
137
Unknown-
Const
Restr. valor desconocido para
FDom tmedia
UnknownConst-
52
Unknown-
Const
Restr. valor desconocido para
FDom fisiograf
UndefinedConst-
51
Undefined-
Const
Restr. de valor indefinido para
FDom fisiograf
NullabilityConst-
49
Nullabi-
lityConst
Restr. de valor nulo para
FDom fisiograf
TrapezoidConst-
50
Trapezoid-
Const
Restr. de valor trapezoidal para
FDom fisiograf
IntervalConst-
48
IntervalConst Restr. de valor intervalar para
FDom fisiograf
CrispConst 47 CrispConst Restr. de valor crisp para
FDom fisiograf
ApproxConst 46 ApproxConst Restr. de valor approximado para
FDom fisiograf
Tabla 4.13: Propiedades de Objeto en la Ontolog´ıa del
Cat´alogo del ejemplo de la BDD de Suelos
De Atributo rdf:resource
Localizacion tableColumns Latitud, Longitud, fisiografia,
tmedia, codigo es
Latitud hasUniqueConst PKLocalizacion
Latitud hasDataType DTLatitud
Longitud hasUniqueConst PKLocalizacion
Longitud hasDataType DTLatitud
Codigo es loc hasDataType DTCodigo es
FDom fisiograf FDomTypeOf PKEstructura
FDom fisiograf FDefines FDT3 Dom Fisiografia
4.3. ONTOLOG´IA DEL CAT ´ALOGO 113
Tabla 4.13: Propiedades de Objeto en la Ontolog´ıa del
Cat´alogo del ejemplo de la BDD de Suelos
De Atributo rdf:resource
FDom fisiograf FConstraints2 ApproxConst 46, CrispConst 47,
IntervalConst 48, Trapezoid-
Const 50, NullabilityConst 49,
UndefindedConst 51, Unknown-
Const 52
ApproxConst 46 FConstraints FDom fisiograf
CrispConst 47 FConstraints FDom fisiograf
IntervalConst 48 FConstraints FDom fisiograf
NullabilityConst 49 FConstraints FDom fisiograf
TrapezoidConst 50 FConstraints FDom fisiograf
UnknownConst 51 FConstraints FDom fisiograf
UndefinedConst 52 FConstraints FDom fisiograf
FDom tmedia FDomTypeOf
FDom tmedia FDefines tmedia
FDom tmedia FConstraints2 UndefindedConst 138, Unknown-
Const 139
FDT2 Dom tmedia hasNumericType DT Dom FDT2
PKLocalizacion isConstrainedBy Localizacion
PKLocalizacion ishasUniqueCol Latitud,Longitud
FK codigo e-
localizacion
referencedCol codigo es loc
FK codigo e-
localizacion
references PKEstructura
FK codigo e-
localizacion
isConstrainedBy Localizacion
Estructura tableColumns codigo es, grado es
Codigo es hasUniqueConst PKEstructura
FDom grado es FDomTypeOf FDT3 grado es
FDom grado es FDefines grado es
PKEstructura isConstrainedBy Estructura
PKEstructura ishasUniqueCol codigo es
LD baja tmedia labelVal T Baja tmedia
LD baja tmedia referencedType FDom tmedia
LD media tmedia labelVal T media tmedia
LD media tmedia referencedType FDom tmedia
LD alta tmedia labelVal T alta tmedia
LD alta tmedia referencedType FDom tmedia
DD llano fisiograf referencedType FDom fisiograf
DD FLad fisiograf referencedType FDom fisiograf
DD ladera fisiograf referencedType FDom fisiograf
DD cima fisiograf referencedType FDom fisiograf
DD meseta fisiograf referencedType FDom fisiograf
DD VWeak fisiograf referencedType FDom grado es
DD Weak fisiograf referencedType FDom grado es
114 CAP´ITULO 4. FKRO
Tabla 4.13: Propiedades de Objeto en la Ontolog´ıa del
Cat´alogo del ejemplo de la BDD de Suelos
De Atributo rdf:resource
DD Mederate-
fisiograf
referencedType FDom grado es
DD Strong fisiograf referencedType FDom grado es
Discrete Relations 35 relates1 DD llano fisiograf
Discrete Relations 35 relates2 DD FLad fisiograf
Discrete Relations 36 relates1 DD llano fisiograf
Discrete Relations 36 relates2 DD ladera fisiograf
Discrete Relations 37 relates1 DD llano fisiograf
Discrete Relations 37 relates2 DD cima fisiograf
Discrete Relations 38 relates1 DD llano fisiograf
Discrete Relations 38 relates2 DD meseta fisiograf
Discrete Relations .. relates1 ...
Discrete Relations .. relates2 ...
Tabla 4.14: Propiedades de Tipo de datos en la Ontolog´ıa
del Cat´alogo del ejemplo de la BDD de Suelos
De Atributo rdf:datatype value
Localizacion ObjectName xsd:String Localizacion
Estructura ObjectName xsd:String Estructura
latitud NameCol xsd:String latitud
longitud NameCol xsd:String longitud
tmedia NameCol xsd:String tmedia
fisiografia NameCol xsd:String fisiografia
codigo es loc NameCol xsd:String codigoEs
codigo es NameCol xsd:String codigoEsLoc
grado es NameCol xsd:String gradoEs
FDT2 dom tmedia margin xsd:float 4.0
FDT2 dom tmedia much xsd:float 10.0
DT dom FDT2 precision xsd:float 2.0
FDT3 dom-
fisiografia
len xsd:int 1
FDT3 dom-
grado es
len xsd:int 1
PKLocalizacion ObjectName xsd:String PKLocalizacion
PKEstructura ObjectName xsd:String PKEstructura
FK codigo es-
localizacion
ObjectName xsd:String FK codigo es-
localizacion
LD baja tmedia lname xsd:String baja
T baja tmedia alfa xsd:float 0
T baja tmedia beta xsd:float 0
T baja tmedia delta xsd:float 6.5
T baja tmedia gamma xsd:float 8.5
4.3. ONTOLOG´IA DEL CAT ´ALOGO 115
Tabla 4.14: Propiedades de Tipo de datos en la Ontolog´ıa
del Cat´alogo del ejemplo de la BDD de Suelos
De Atributo rdf:datatype value
LD media tmedia lname xsd:String media
T media tmedia alfa xsd:float 8.5
T media tmedia beta xsd:float 10.5
T media tmedia delta xsd:float 12.5
T media tmedia gamma xsd:float 14.5
LD alta tmedia lname xsd:String baja
T alta tmedia alfa xsd:float 14.5
T alta tmedia beta xsd:float 16.5
T alta tmedia delta xsd:float 21
T alta tmedia gamma xsd:float 21
DD llano fisiograf dname xsd:String llano
DD fladera-
fisiograf
dname xsd:String FondoLadera
DD ladera-
fisiograf
dname xsd:String Ladera
DD cima fisiograf dname xsd:String Cima
DD meseta-
fisiograf
dname xsd:String Meseta
DD VWeak-
fisiograf
dname xsd:String VeryWeak
DD Weak fisiograf dname xsd:String Weak
DD Moderate-
fisiograf
dname xsd:String Moderate
DD Strong-
fisiograf
dname xsd:String Strong
discrete-
relations 35
similarity xsd:float 0.5
discrete-
relations 36
similarity xsd:float 0.2
discrete-
relations 37
similarity xsd:float 0.2
discrete-
relations 38
similarity xsd:float 0.2
discrete-
relations 39
similarity xsd:float 0.2
discrete-
relations 40
similarity xsd:float 0.2
discrete-
relations 41
similarity xsd:float 0.2
discrete-
relations 42
similarity xsd:float 0.2
discrete-
relations 43
similarity xsd:float 0.2
116 CAP´ITULO 4. FKRO
Tabla 4.14: Propiedades de Tipo de datos en la Ontolog´ıa
del Cat´alogo del ejemplo de la BDD de Suelos
De Atributo rdf:datatype value
discrete-
relations 44
similarity xsd:float 0.5
discrete-
relations 76
similarity xsd:float 0.3
discrete-
relations 77
similarity xsd:float 0.3
discrete-
relations 78
similarity xsd:float 0.3
discrete-
relations 79
similarity xsd:float 0.3
discrete-
relations 80
similarity xsd:float 0.3
discrete-
relations 81
similarity xsd:float 0.3
UndefinedConst-
138
value xsd:bool true
UnknownConst-
137
value xsd:bool true
UnknownConst 52 value xsd:bool true
UndefinedConst 51 value xsd:bool true
NullabilityConst-
49
value xsd:bool true
TrapezoidConst 50 value xsd:bool true
IntervalConst 48 value xsd:bool true
CrispConst 47 value xsd:bool true
ApproxConst 46 value xsd:bool true
Como vemos, este ejemplo permite representar un caso real de BDD que
se utiliza en la actualidad. En este ejemplo predominan los Tipos Difusos 2,
con etiquetas ling¨u´ısticas asociadas a su dominio y definidas mediante repre-
sentaciones trapezoidales y los Tipos Difusos 3, con valores que utilizan una
´unica etiqueta para describir su valor (len=1). Este tipo de representaci´on es
el m´as utilizado dado que es el que los usuarios encuentran m´as sencillo para
describir la realidad.
4.4. Sub-Ontolog´ıa del Esquema de Datos Difusos
4.4.1. Justificaci´on de la Sub-Ontolog´ıa
Tal y como se describi´o anteriormente, la Ontolog´ıa del Cat´alogo lo ´unico
que permite es describir los esquemas completamente a modo de instancias,
al igual que act´ua el diccionario de datos en los SGBDs. Sin embargo, no
4.4. ONTOLOG´IA DEL ESQUEMA 117
disponemos de dichos esquemas definidos en forma de clases, como una on-
tolog´ıa ´unica que representa la realidad.
Al definir metaclases en la Ontolog´ıa del Cat´alogo estamos esbozando una
segunda ontolog´ıa, que pretende representar dicho esquema descrito. Sin em-
bargo el generar estas clases simplemente no implica obtener la ontolog´ıa nece-
saria que permite describir la realidad que el esquema est´a representando seg´un
el Modelo Relacional. Y por tanto, tampoco permite que dicha ontolog´ıa sea
instanciada para poder definir la informaci´on que exista acerca de los datos
representados por ese esquema (en el entorno de las BDD, se corresponder´ıa
con las tuplas).
Nos vemos en la necesidad, por tanto, de definir una nueva ontolog´ıa a par-
tir del esquema descrito mediante la instanciaci´on de la Ontolog´ıa del Cat´alogo.
A esta ontolog´ıa la denominaremos a partir de ahora, Ontolog´ıa del Esquema
en lugar de Sub-Ontolog´ıa del Esquema de Datos Difusos, por razones de clar-
idad.
Sin embargo, cabe plantearse la funcionalidad de esta Ontolog´ıa del Esque-
ma que por un lado, representa la realidad de un dominio particular siguiendo
los criterios de representaci´on del Modelo Relacional y por otro, permite inser-
tar valores en la misma a modo de instancias, tal y como ocurre en el Modelo
Relacional con las tuplas.
En cuanto a la representaci´on del esquema como ontolog´ıa aporta utilidad
en tanto que su publicaci´on en Web, permitir´a el acceso a la estructura de in-
formaci´on por parte de usuarios autorizados, o bien ayudar´a a la compartici´on
de esquemas de muy diversa ´ındole (como se plante´o en el apartado 2.2.1).
La incorporaci´on de datos en la ontolog´ıa como instancias (al igual que
tuplas en el Modelo Relacional) proporciona una gran utilidad en tanto que
facilita al usuario la definici´on de la informaci´on, puesto que lo aisla de las
particularidades del sistema de almacenamiento o del lenguaje utilizado para
su definici´on. En cuanto al hecho de usar una ontolog´ıa como medio de gesti´on
de grandes cantidades de informaci´on no se considera el medio m´as adecuado
para hacerlo al contrario de lo que ocurre con un SGBD, puesto que ´este ´ultimo
hace una gesti´on mas eficiente de la informaci´on que alberga.
Otra aportaci´on de esta propuesta es la generaci´on de consultas (formu-
laci´on de las mismas) a trav´es del entorno intuitivo que la Ontolog´ıa del Es-
quema facilita.
De cualquier modo, la Ontolog´ıa del Esquema representa el conocimiento
que hay en una BDD de forma accesible a los usuarios y la generaci´on de la
misma es, como se expondr´a a continuaci´on, autom´atica gracias a la definici´on
previa realizada sobre la Ontolog´ıa del Cat´alogo.
118 CAP´ITULO 4. FKRO
4.4.2. Generaci´on o Conversiones
La Ontolog´ıa del Esquema puede ser generada a partir de la definici´on del
mismo en forma de instancia de la Ontolog´ıa del Cat´alogo. De esta forma, se
comienza dicha ontolog´ıa a partir de las clases generadas por las metaclases
(concretamente la metaclase Tables) y se realizan las siguientes acciones para
obtener la Ontolog´ıa del Esquema completa.
Se genera para cada tabla una propiedad por cada uno de los atributos
definidos en ella (atributo tableColumn). El nombre de la propiedad se corre-
sponde con el nombre de la columna asociada a la tabla. Adem´as, cada una
de estas propiedades tendr´a cardinalidad con valor de 1, un valor at´omico
indivisible, para cumplir con la normalizaci´on (Forma Normal 1) que define
el Modelo Relacional. Como rango estas propiedades tienen la estructura de
datos correspondiente al tipo de datos para el que ha sido definido en la On-
tolog´ıa del Cat´alogo, de tal forma que:
Si se trata de una columna difusa: Se genera una propiedad de objeto
donde el rango se fija dependiendo del tipo de dato que tenga el dominio
al que este ligado el atributo. As´ı pues este rango se fija siguiendo la tabla
de correspondencias 4.15. Sin embargo, esta definici´on de rangos tiene
una excepci´on consistente determinada por la existencia de restricciones
difusas sobre el dominio. As´ı pues si sobre el dominio difuso correspon-
diente existe alguna restricci´on difusa, entonces el rango esta limitado
´unicamente a aquellas clases en las que se cumpla dicha restricci´on, y
no a su superclase (v´ease la figura 4.11 y la secci´on 4.3.3.3 para conocer
con m´as detalle dichas restricciones).
Tipo de Dato Difuso Estructura de Dato Difusa
FType1 FType1 Struct
FType2 FType2 Struct
FType3 FType3 Struct
Tabla 4.15: Correspondencia de los tipos de datos difusos con las estructuras
de datos difusas en la ontolog´ıa
Si se trata de una Columna Cl´asica: Se genera una propiedad de tipo de
datos, donde se asocia a cada tipo de dato definido en la Ontolog´ıa del
Cat´alogo un tipo de dato definido en la ontolog´ıa representacional. Los
tipos de datos definidos en la ontolog´ıa representacional son los definidos
por el est´andar XML en el caso de usar lenguajes de representaci´on de
ontolog´ıas basados en Web, como OWL o RDF, en otro caso, se vincula
4.4. ONTOLOG´IA DEL ESQUEMA 119
el rango al tipo de datos base que tenga definido el propio lenguaje
escogido.
T.D. Predefinido Correspondencia con XML
Boolean http://www.w3.org/2001/XMLSchema#Boolean
Varying http://www.w3.org/2001/XMLSchema#string
Float http://www.w3.org/2001/XMLSchema#float
Integer http://www.w3.org/2001/XMLSchema#int
Date http://www.w3.org/2001/XMLSchema#date
TStamp http://www.w3.org/2001/XMLSchema#datetime
Time http://www.w3.org/2001/XMLSchema#time
. . . . . .
Tabla 4.16: Correspondencia de algunos de los tipos de datos predefinidos en
la Ontolog´ıa del Cat´alogo con los tipos de datos base definidos en XML
El uso de las estructuras de datos difusos que se plantean (v´ease tabla
4.15) requiere la utilizaci´on de la Ontolog´ıa del Cat´alogo, dado que estos datos
est´an definidos en la misma. Esta ontolog´ıa es recomendable que sea importa-
da, y usada de esta forma que no pueda ser modificada (dada su naturaleza
como ontolog´ıa representacional). Estas estructuras se encuentran definidas en
esta ontolog´ıa dado que se utilizan para representar la informaci´on imprecisa
necesaria para definir los dominios de los atributos difusos (como las etiquetas
ling¨u´ısticas).
Otro v´ınculo que existe entre la Ontolog´ıa de Cat´alogo y la del Esquema
reside en la definici´on de los dominios difusos del esquema a representar. Una
vez definido el esquema como instancia de la Ontolog´ıa del Cat´alogo, existen
valores definidos a priori asociados con los dominios difusos, como etique-
tas ling¨u´ısticas y relaciones de similitud entre valores discretos, que a pesar
de estar definidos como instancias en esta Ontolog´ıa del Cat´alogo deben es-
tar disponibles para poder ser utilizados en la Ontolog´ıa del Esquema reci´en
definida.
Existen dos alternativas para resolver esta situaci´on y as´ı permitir el uso
de los datos del dominio. Ambas alternativas contemplan el hecho de que las
instancias de la Ontolog´ıa del Cat´alogo se encuentran definidas en un nuevo
archivo que tiene importada esta ontolog´ıa. Y que la Ontolog´ıa del Esquema
se puede generar autom´aticamente a partir de dichas instancias.
La primera consiste en definir en el mismo archivo donde estaban las
instancias de Cat´alogo, la nueva Ontolog´ıa del Esquema. Este es el caso
120 CAP´ITULO 4. FKRO
m´as habitual y tiene como ventaja que no ser´ıa necesario hacer ning´un
cambio sobre los dominios puesto que ya se encontrar´ıan disponibles.
La segunda consiste en utilizar un nuevo archivo para definir la Ontolog´ıa
del Esquema, eliminando as´ı el archivo de instancias generado a partir de
la Ontolog´ıa del Cat´alogo. En dicho caso habr´ıa que importar los valores
definidos en los diferentes dominios difusos.
La generaci´on de la Ontolog´ıa del Esquema tambi´en conlleva algunas desven-
tajas. Existen restricciones del esquema, que se encuentran definidas (como
instancias de la Ontolog´ıa del Cat´alogo) que no pueden tenerse en cuenta en
la Ontolog´ıa del Esquema. Estas restricciones vienen dadas por la naturaleza
propia de la ontolog´ıa que estamos representando, tanto por los conceptos
representados, como por el lenguaje de ontolog´ıas utilizado, OWL-Full (des-
crito en la secci´on A.2.3) que confiere una flexibilidad total para representar
cualquier tipo de informaci´on. Esta flexibilidad que es necesaria para la rep-
resentaci´on de Metadatos, implica la misma flexibilidad a la hora de definir
cualquier informaci´on sobre la Ontolog´ıa del Cat´alogo est´e permitido o no,
como vemos a continuaci´on:
Es imposible comprobar si existe una coincidencia en la definici´on de una
restricci´on de clave ajena, entre los atributos referenciados y los atributos
que referencian (este inconveniente no es especialmente relevante dada la
imposibilidad de definir claves ajenas, impedimento descrito en el punto
siguiente).
No es posible restringir los valores que pueden tomar los atributos que
son claves ajenas. Es decir, se permitir´a la inserci´on de cualquier valor
en el campo a pesar de que se trate por definici´on de una clave ajena
que hace referencia a otro atributo de otra relaci´on.
No se puede controlar que la definici´on de valores discretos en un atri-
buto Distr.poss, coincida con el par´ametro m´aximo len que determina el
n´umero m´aximo de valores que permite definir el dominio.
Tampoco es posible que restricciones simples sobre los tipos de datos
predefinidos (como definir una cadena de 20 caracteres, o un flotante
con 3 decimales) se lleven a cabo. Esto se debe a que se utilizan tipos de
datos gen´ericos de OWL sobre los que no existe ninguna limitaci´on.
La soluci´on a estas posibles violaciones de restricciones de integridad o de
negocio ser´an tratadas en una fase posterior en la que ya intervenga el SGBD.
4.4. ONTOLOG´IA DEL ESQUEMA 121
4.4.3. Ejemplos
4.4.3.1. Ejemplo 1: Cl´ınica Veterinaria
Este ejemplo trata de mostrar el proceso de generaci´on de una Ontolog´ıa del
Esquema a partir de las instancias de la Ontolog´ıa del Cat´alogo y c´omo dicha
Ontolog´ıa del Esquema permitir´ıa definir informaci´on de tuplas, mediante su
instanciaci´on. Para ello se propone la utilizaci´on de la ontolog´ıa descrita en el
ejemplo por la figura 4.14 de la secci´on anterior 4.3.4.
Siguiendo el proceso de conversi´on descrito anteriormente, la Ontolog´ıa
del Esquema de la BDD de la Cl´ınica Veterinaria que parte con las clases
generadas por la metaclase Tabla, tendr´ıa la descripci´on en UML mostrada en
la figura 4.15. Como puede observarse dependiendo del tipo de datos de los
atributos, se establecen nuevas relaciones en la descripci´on del Esquema. As´ı,
las clases van definiendo los atributos en forma de propiedades de objeto o de
tipo de datos como se detalla a continuaci´on:
Todos los atributos cl´asicos se quedan como propiedades de tipo de dato
en el diagrama UML aparecen como atributos de clase normales.
Todos los atributos difusos sin ninguna restricci´on definida sobre ellos,
se vinculan directamente a la estructura correspondiente tal y como se
establece en la tabla 4.15. Por ejemplo la relaci´on Weight.
Todos los atributos difusos que contengan alguna restricci´on sobre el
dominio difuso, restringen el ´ambito de las estructuras difusas con las
que est´an relacionados para cumplir dicha restricci´on. Este es el caso del
atributo Character y CharacterB de la Tabla Cats y Breed respectiva-
mente, y Age de la Tabla Cats. Character y CharacterB, al compartir
dominio comparten la misma propiedad en la que s´olo permitir´an los va-
lores de FType3 Struct a excepci´on de Null. En cambio Age no permite
valores Unknown, por tanto todas las estructuras de FType2 Struct son
permitidas a excepci´on de Unknown.
La instanciaci´on de la ontolog´ıa a partir de aqu´ı es inmediata. Se podr´an
definir nuevas tuplas sobre el esquema de la BDD como las expresadas a con-
tinuaci´on en lenguaje FSQL obteniendo los siguientes resultados:
INSERT INTO CATS VALUES( 1, "Kitty", $young, 2.3, $eager,
"siames")
INSERT INTO CATS VALUES( 2, "Garfield", $3, 1.9,
{$indiferent(0.9), $calmado(0.6)}, angora)
122 CAP´ITULO 4. FKRO
CATS
CatID : Integer
CatName: String (20)
BREED
BreedName :
String (100)
TREATMENT
illness: String (200)
VISIT
Date : Date
Price: Float
MEDICINE
MedicineName :
String (100)
PERIODICAL
period: Integer
duration: Integer
SPORADIC
rule: String (200)
hasBreed >
Fuzzy_Values
FType1_Struct
FType2_Struct
FType3_Struct
Unknown
Undefined
Null
Label
Crisp
x:numeric
Interval
a:numeric
b:numeric
Approx
v:numeric
Trapezoid
alfa:numeric
beta:numeric
delta:numeric
gamma:numeric
NumericT
val:numeric
Simple
degree:float
Distr.Poss .
weigh
character
Age
characterB
Kind
dose
prescribe
Figura 4.15: Ejemplo de una Cl´ınica Veterinaria generada como una On-
tolog´ıa del Esquema
4.4. ONTOLOG´IA DEL ESQUEMA 123
INSERT INTO BREED VALUES( siames, {$inquieto (0.9), $jugeton
(0.8), $agresivo (0.5)})
INSERT INTO BREED VALUES(angora, $calmado)
Como podemos ver, con estas muestras, la inserci´on de datos implica la
instanciaci´on de las clases: Cats y Breed y de todas las clases relacionadas con
ellas, tal y como se muestra en la figura 4.15. En la tabla 4.17 se listan todas
las instancias generadas para definir estas tuplas, y en las tablas 4.18 y 4.19
se listan los valores y referencias de los atributos que componen los valores de
dichas tuplas. Concretamente en la tabla 4.18 se describen los atributos que
son de objeto, es decir, que hacen referencia a instancias de otras clases, de esta
manera sabremos con qu´e instancia estar´an vinculadas los valores Age, Weight,
o Character. En cuanto a la tabla 4.19, se describen los valores concretos, como
los referentes a CatName o BreedName.
Tabla 4.17: Instanciaci´on de la Cl´ınica Gatos definida en como Ontolog´ıa de
Esquema
rdf:ID Instancia de rdfs:comment
Cats1 Cats 1o
tupla del ejemplo: instancia de Cats
Cats2 Cats 2o
tupla del ejemplo: instancia de Cats
Breed3 Breed 3o
tupla del ejemplo: instancia de Breed
Breed4 Breed 4o
tupla del ejemplo: instancia de Breed
Label5 Label define la referencia al valor young
NumericT6 NumericT define el valor FTD1: 2.3
Simple7 Simple define valor Simple eager
Approx8 Approx define el valor Approximadamente 3
NumericT9 NumericT define valor 1.9
DistrPoss10 DistrPoss define valor indiferent(0.9),calmado(0.6)
Simple11 Simple define el valor Simple indiferente
Simple12 Simple define el valor Simple calmado
DistrPoss13 DistrPoss define valor inquieto(0.9),jugueton(0.8)
Simple14 Simple define el valor Simple inquieto
Simple15 Simple define el valor Simple jugueton
Simple16 Simple define el valor Simple calmado
4.4.3.2. Ejemplo 2: BDD Suelos
Siguiendo con el ejemplo de la BDD real de Suelos, la generaci´on de la
Ontolog´ıa del Esquema de esta BDD a partir de las instancias definidas an-
teriormente sobre la Ontolog´ıa del Cat´alogo ha generado una ontolog´ıa que
124 CAP´ITULO 4. FKRO
Tabla 4.18: Propiedades de Objeto en la Ontolog´ıa del Esquema del la Clinica
Veterinaria
De Atributo rdf:resource
Cats1 Age Label5
Cats1 Weigh NumericT6
Cats1 Character Simple7
Cats2 Age Approx8
Cats2 Weigh NumericT9
Cats2 Character DistrPoss10
DistrPoss10 discreteVal Simple11
DistrPoss10 discreteVal Simple12
Breed3 CharacterB DistrPoss13
Breed4 CharacterB Simple16
DistrPoss13 discreteVal Simple14
DistrPoss13 discreteVal Simple15
Label5 labelID LD YoungCat
Tabla 4.19: Propiedades de tipos de dato en la Ontolog´ıa del Esquema de la
Clinica Veterinaria
De Atributo rdf:datatype value
Cats1 CatID xsd:String 1
Cats1 CatName xsd:String Kitty
Cats2 CatId xsd:String 2
Cats2 CatName xsd:String Garlfield
Breed3 BreedName xsd:String angora
Breed4 BreedName xsd:String siames
NumericT6 val xsd:Float 2.3
NumericT9 val xsd:Float 1.9
Approx v xsd:Float 3
Simple7 degree xsd:Float -
Simple11 degree xsd:Float 0.9
Simple12 degree xsd:Float 0.6
Simple15 degree xsd:Float 0.8
Simple16 degree xsd:Float 0.5
Simple17 degree xsd:Float -
4.4. ONTOLOG´IA DEL ESQUEMA 125
puede ser instanciada para almacenar/gestionar las tuplas de dicha BDD. Al-
gunas de estas tuplas se encuentran definidas en el Anexo C, concretamente
en la secci´on C.2.
La Ontolog´ıa del Esquema de la BD de Suelos ha generado una clase por
cada una de las relaciones definidas. Las propiedades de las mismas se han
creado en funci´on del tipo de dato que se trate, esto es, propiedades de tipo de
datos, en el caso de que el tipo de dato sea predefinido y propiedades de objeto
en el caso de que el tipo de datos se defina utilizando un dominio, como en el
caso de los difusos. El resto de caracter´ısticas, como restricciones tambi´en se
han tenido en cuenta en la definici´on de la misma, siempre y cuando puedan
ser aplicables, como por ejemplo, las restricciones difusas y las restricciones
de cardinalidad.
En la tabla 4.20 se muestran todas las instancias generadas junto con una
descripci´on de qu´e representan. Los valores concretos de las tuplas ser´an repre-
sentados en las tablas de propiedades, que se dividen en dos: las propiedades
de objeto, que hacen referencia a instancias que ya han sido definidas y que
pueden verse en la tabla 4.21. Y las propiedades de tipo de dato, que represen-
tan valores concretos y que pueden verse en la tabla 4.22. Los valores repre-
sentados en estas tablas se corresponden con las 2 primeras tuplas descritas en
el apartado C.2 del Anexo C. Adem´as, para seguir con la definici´on del esque-
ma de la BDD de Suelos descrito en el apartado 4.3.4.2, s´olo se visualizar´an
en estas tablas los valores correspondientes a los atributos definidos, esto es,
para la tabla Localizaci´on: latitud, longitud, tmedia, fisiograf´ıa, codigo es loc
y para la tabla Estructura: codigo es y grado es.
Tabla 4.20: Instanciaci´on de la BDD Suelos definida en como Ontolog´ıa de
Esquema
rdf:ID Instancia de rdfs:comment
Localizacion1 Localizacion 1o
tupla del ejemplo: instancia de Localizacion
Localizacion2 Localizacion 2o
tupla del ejemplo: instancia de Localizacion
Estructura3 Estructura 3o
tupla del ejemplo: instancia de Estructura
Estructura4 Estructura 4o
tupla del ejemplo: instancia de Estructura
Este ejemplo es similar al anterior (BDD Cl´ınica Veterinaria), pero menos
rico en variedad de datos a definir. Los valores utilizados en una BD real
consisten mayoritariamente en etiquetas ling¨u´ısticas descritas dado que son
m´as f´aciles de utilizar para el usuario final. El resto de datos son en datos
num´ericos de tipo flotante o entero.
126 CAP´ITULO 4. FKRO
Tabla 4.21: Propiedades de Objeto en la Ontolog´ıa del Esquema de la BDD
Suelos
De Atributo rdf:resource
Localizacion1 fisiografia DD ladera fisiograf
Localizacion1 tmedia DD baja tmedia
Localizacion2 fisiografia DD ladera fisiograf
Localizacion2 tmedia DD baja tmedia
Estructura3 grado es DD Weak grado es
Estructura4 grado es DD Weak grado es
Tabla 4.22: Propiedades de tipos de dato en la Ontolog´ıa del Esquema de la
BDD Suelos
De Atributo rdf:datatype value
Estructura3 codigo es xsd:float 1
Estructura4 codigo es xsd:float 2
Localizacion1 latitud xsd:float 41045
Localizacion1 longitud xsd:float 5478
Localizacion1 codigo es loc xsd:float 1
Localizacion2 lontitud xsd:float 41135
Localizacion2 longitud xsd:float 5598
Localizacion2 codigo es loc xsd:float 2
4.5. CONCLUSIONES 127
4.5. Conclusiones
Se ha conseguido en este cap´ıtulo describir la Ontolog´ıa para la Repre-
sentaci´on del Conocimiento Difuso. Dicha ontolog´ıa, cuyo objetivo es repre-
sentar la informaci´on de una Base de Datos Relacional Difusa, est´a compuesta
por dos sub-ontolog´ıas de diferente tipo que representan la misma informaci´on.
Una primera, se basa en la instanciaci´on de la Ontolog´ıa del Cat´alogo, ontolog´ıa
representacional que describe con exactitud la estructura del cat´alogo del Mo-
delo Relacional. Una segunda, denominada de manera gen´erica Ontolog´ıa del
Esquema, representa en forma de ontolog´ıa (no de instancias) la BDD que se
pretende definir. Dicha ontolog´ıa podr´a ser instanciada y por lo tanto definir
tuplas sobre ella.
Gracias a esta definici´on podremos aislar la representaci´on de una BDD del
modelo de representaci´on d´onde se almacene, a la vez que se le proporcionan
como valor a˜nadido todas las caracter´ısticas que la representaci´on ontol´ogica
aporta, como puede ser su presencia en la Web Sem´antica. A continuaci´on
se describen con detalle las ventajas e inconvenientes que presenta dicha pro-
puesta.
4.5.1. Ventajas e Inconvenientes
Ventajas
La Ontolog´ıa de Representaci´on del Conocimiento Difuso plantea las sigu-
ientes ventajas, que se agruparan atendiendo a dos criterios:
Con respecto a la naturaleza de la informaci´on:
Claridad en la Informaci´on. La informaci´on imprecisa y el Modelo Re-
lacional quedan representadas a trav´es de los conceptos fundamentales,
atendiendo en particular a la generalidad de dichos conceptos y a la
simplicidad de los mismos. Se trata de evitar que la definici´on de la
informaci´on sea dependiente de una representaci´on en particular que
complica la comprensi´on de los datos.
Independencia del SGBD. La representaci´on de la ontolog´ıa evita la
relaci´on directa con el SGBD con el que se est´e trabajando. Este he-
cho, permite que las particularidades de cada SGBD se obvien en la
representaci´on de una BDD, y se dejen para las tareas de traducci´on o
comunicaci´on. De esta forma la definici´on de una BDD en la ontolog´ıa
siempre se realizar´a de la misma manera sea cual sea el recipiente de
dicha informaci´on.
128 CAP´ITULO 4. FKRO
Extensibilidad. Una representaci´on gen´erica del modelo relacional difuso
permite que la extensi´on del mismo, para representar otros tipos de
datos m´as complejos o operaciones, sea m´as sencilla. La extensi´on ser´ıa
realizada sobre la ontolog´ıa (la capa abstracta) dejando los complejos
detalles de la extensi´on sobre los SGBD ocultos para los usuarios finales.
Normalizaci´on. Los datos definidos sobre la ontolog´ıa siempre son defini-
dos siguiendo el patr´on definido en la Ontolog´ıa del Cat´alogo. Por tanto
la definici´on del esquema de BDD siempre tiene la misma representaci´on.
De esta forma ayudar´a a que cualquier aplicaci´on que requiera el uso de
esta informaci´on s´olo necesite conocer los detalles de dicha Ontolog´ıa del
Cat´alogo.
Automatizaci´on de la Conversi´on. Al dise˜nar el modelo relacional di-
fuso utilizando una ontolog´ıa con metadatos definidos en la misma, se
establece el vinculo entre el esquema y la informaci´on del diccionario
de datos. El esquema de BDD definido sobre la Ontolog´ıa del Cat´alogo
permite una conversi´on directa a la generaci´on de una Ontolog´ıa propia
del Esquema. Dada la naturaleza de la informaci´on que se encuentra nor-
malizada y la relaci´on que existe entre ambas definiciones (ontolog´ıas)
el proceso exacto para poder realizar dicha traducci´on esta claramente
determinado y puede ser f´acilmente automatizado.
Con respecto a la interacci´on con el entorno:
Estandarizaci´on. Con la Ontolog´ıa del Cat´alogo se obtiene una planti-
lla accesible y p´ublica sobre la que se definen los datos de un esquema
difuso. Cualquier esquema difuso definido utiliz´andola ser´ıa accesible por
cualquier usuario/programa y compartir´ıa la misma representaci´on que
otro esquema de las mismas caracter´ısticas (sea cual sea el lugar donde
est´e almacenado).
Automatizaci´on. Se puede automatizar la interacci´on con el SGBD, es
decir, establecer una v´ıa de comunicaci´on entre la ontolog´ıa y cualquier
SGBD y as´ı poder intercambiar informaci´on.
Publicaci´on de Datos Difusos. La ontolog´ıa de un Esquema de BDD
relacionales en Web, permite que los usuarios tengan informaci´on difusa
accesible desde cualquier mecanismo de consulta que lo permita.
Publicaci´on de Esquemas de BDD en Web. La publicaci´on de la ontolog´ıa
de cualquier Esquema basado en BDD confiere sem´antica a la informa-
ci´on que no puede ser anotada sem´anticamente por cualquier otro medio,
4.5. CONCLUSIONES 129
dado que la informaci´on que una BD contiene no se encuentra incluida
en los archivos web.
BD Heterog´eneas. La disponibilidad de una Ontolog´ıa del Cat´alogo gen´eri-
ca sobre el Modelo Relacional (con datos difusos) permite la comparti-
ci´on de informaci´on entre BBDD de muy diversa´ındole, puesto que todos
los SGBDs comparten la misma definici´on del Cat´alogo descrito en dicha
ontolog´ıa.
Compartici´on y otras Operaciones con el Entorno. Se presenta otra nue-
va forma de representar informaci´on utilizando esquemas de BDD me-
diante una ontolog´ıa. Este esquema puede ser compartido y usado por
otras representaciones que definan la misma realidad o complementaria.
Existen (tal y como se describi´o en el cap´ıtulo anterior) otros tipos de
representaci´on de esquemas como ontolog´ıas que no est´an basadas en
modelos relacionales, Esquemas de BD, Esquemas XMLs, Esquemas en
RDF, folksonom´ıas, jerarqu´ıas de conceptos, etc. Toda esta informaci´on
necesita mecanismos para permitir su interacci´on, pero la publicaci´on de
c´omo la informaci´on esta estructurada en dichos esquemas, permite que
estos mecanismos sean f´acilmente definibles.
Inconvenientes
Esta propuesta tambi´en presenta algunas desventajas, tal y como se ve a
continuaci´on:
Lenguaje inteligible: Por un lado, la representaci´on de la ontolog´ıa en un
entorno de frames, permite la interpretaci´on de la misma de forma intui-
tiva en la que los conceptos son claramente distinguibles. Sin embargo,
tal y como ocurre en este caso, si se utiliza un lenguaje de representaci´on
web, la interpretaci´on de la misma se hace tediosa e incluso imposible
dada la ingente cantidad de etiquetas que hacen falta para representar
todos los conceptos.
Necesidad de una aplicaci´on para interaccionar con la ontolog´ıa: Dada
la naturaleza del lenguaje de representaci´on OWL, ininteligible para el
usuario, se hace necesaria una herramienta que permita visualizar y/o
editar dicha ontolog´ıa de forma intuitiva para el usuario.
Aplicaci´on para definir /consultar. El proceso de consulta o definici´on de
esquemas requiere de alguna aplicaci´on espec´ıfica que permita realizar
dicho proceso de manera guiada al usuario. La gesti´on o definici´on de
130 CAP´ITULO 4. FKRO
los datos del esquema en una ontolog´ıa requieren una aplicaci´on para
permitir tratar la informaci´on difusa de forma correcta.
Necesidad de una aplicaci´on para la conversi´on autom´atica. Si se desea
realizar la automatizaci´on para la generaci´on de la Ontolog´ıa del Es-
quema a partir del esquema definido como instancias de la Ontolog´ıa
del Cat´alogo, es necesaria la elaboraci´on expl´ıcita de los procesos que
permitan generarla.
Comunicaci´on con los SGBD compleja. La ontolog´ıa no almacena los
datos como finalidad, se tratar´ıa de un interfaz que comunica con el
SGBD donde los datos estar´ıan almacenados. La comunicaci´on deber´a con-
templar las particularidades de cada SGBDs. As´ı cualquier interacci´on
con el SGBD tendr´a que tener un m´odulo que interprete las caracter´ısti-
cas del mismo para poder interaccionar con ´el. Estas particularidades
ser´an ampliamente detalladas en el cap´ıtulo siguiente.
Dependencia del programa de definici´on de ontolog´ıas. Dado que es com-
plicado definir de manera manual la ontolog´ıa, por lo tedioso del lengua-
je, la generaci´on de la Ontolog´ıa del Esquema requiere el uso de libre-
r´ıas y convenciones (JENA [Pro07]) para generar el c´odigo en OWL
autom´aticamente. Esta caracter´ıstica vuelve dependiente a la ontolog´ıa
de las particularidades de la librer´ıa escogida o lenguaje utilizado.
Cap´ıtulo 5
Arquitectura del Sistema y
Aplicaciones
5.1. Introducci´on
En este cap´ıtulo se realizar´a una descripci´on de la arquitectura necesaria
para desarrollar y explotar la Ontolog´ıa de Representaci´on del Conocimiento
Difuso descrita en el cap´ıtulo anterior.
Tal y como se defini´o anteriormente la Ontolog´ıa de Representaci´on del
Conocimiento Difuso esta dividida en dos sub-ontolog´ıas: la Ontolog´ıa del
Cat´alogo y la Ontolog´ıa del Esquema que permiten representar la informaci´on
difusa almacenada en una BDD Relacional, a la vez que tenerla disponible en
forma de ontolog´ıa. Para que dicha representaci´on de informaci´on se lleve a
cabo se requiere la ejecuci´on de dos procesos bien diferenciados: por un lado, se
necesita establecer un sistema que permita la representaci´on de la Ontolog´ıa
del Esquema, y de alguna manera facilitar al usuario la definici´on/manipu-
laci´on de los datos difusos de manera amigable e intuitiva. Por otro lado,
dicha Ontolog´ıa del Esquema una vez que se ha desarrollado, se comunica
con el SGBDD correspondiente. Dicha comunicaci´on no es trivial, dado que
los SGBDDR no comparten la misma forma de representaci´on de datos, ni
soportan el mismo tipo de lenguaje (cada uno realiza una representaci´on del
SQL distinta) ni tienen las mismas capacidades funcionales.
Para llevar a cabo estos procesos de representaci´on y manipulaci´on de in-
formaci´on difusa a trav´es del uso de una ontolog´ıa y su posterior comunicaci´on
con un SGBD real se describe la Arquitectura del Sistema. En ella se presenta
el flujo de informaci´on de la Ontolog´ıa al SGBD especificando los m´odulos m´as
representativos que constituyen el sistema y todos los casos que pueden darse
en dicha comunicaci´on.
131
132 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Se presentar´an tambi´en, de manera razonada, las diferentes decisiones que
se han tomado para llevar a cabo la implementaci´on de dicha arquitectura,
desde herramientas que permitan generar una ontolog´ıa, hasta las particulari-
dades de los diferentes SGBD que permiten representar informaci´on imprecisa.
Adem´as se muestra la aplicaci´on desarrollada, describiendo qu´e funcional-
idad aporta y qu´e herramientas y tecnolog´ıas han sido utilizadas en la imple-
mentaci´on de la misma.
Por ´ultimo, en este cap´ıtulo se realizar´a un repaso por las diferentes casos
de uso que la arquitectura presenta a la hora de manipular la informaci´on
imprecisa representada en una BDR destacando, cu´ales se han llevado a cabo
y cu´ales ser´an fruto de trabajos posteriores a ´este.
5.2. Arquitectura del Sistema
La arquitectura que se propone permite trabajar con informaci´on imprecisa
desde el momento en que un usuario desea representar/manipular informaci´on
hasta la representaci´on de estos mismos datos en un SGBD Relacional Difuso
cualquiera, sean cuales sean sus caracter´ısticas. En la figura 5.1, se muestra
un esquema gen´erico de la Arquitectura del Sistema.
Esta arquitectura puede dividirse en dos fases dados los diferentes pro-
blemas a resolver: la primera fase conduce a la obtenci´on de la Ontolog´ıa del
Esquema, y se describir´a en el siguiente apartado como Arquitectura de Comu-
nicaci´on con la Ontolog´ıa. La segunda fase describir´a los diferentes mecanismos
de conexi´on con los SGBDs, y se describir´a como Arquitectura de Comuni-
caci´on con la BD.
5.2.1. Arquitectura de Comunicaci´on con la Ontolog´ıa
Tal y como se muestra en la figura 5.1, esta arquitectura permite generar
la Ontolog´ıa del Esquema. Para ello, se requiere la utilizaci´on de los siguientes
m´odulos:
Interfaz de Usuario Este m´odulo consiste en un entorno amigable que per-
mite a un usuario novel la generaci´on una BD Difusa y la manipulaci´on
de los datos almacenados en la misma (esto incluye las BD cl´asicas tam-
bi´en). Adem´as dicha interfaz debe gestionar tanto la informaci´on relativa
a los metadatos que describen una BDD como los contenidos en ella.
Generador de OWL Este m´odulo est´a destinado a generar el c´odigo en
OWL necesario para la definici´on y manipulaci´on de esquemas difu-
sos utilizando la Ontolog´ıa de Representaci´on del Conocimiento Difuso.
5.2. ARQUITECTURA DEL SISTEMA 133
INTERFAZ USUARIO
INTERPRETE /
GENERADOR
DE OWL
ONTOLOGIA
DEL
CATALOGO
ONTOLOGIA
DEL ESQUEMA
INTERPRETE /ADAPTADOR BD
SGBDRs
SGBD
SGBD SGBD
ARQUITECTURA
PARA LA
GENERACION
DE LA
ONTOLOGÍA
ARQUITECTURA
DE
COMUNICACION
CON LA BD
(descripción detallada en
la figura 5.5 "Arquitectura
Unificada ")
INTERFAZ
ESQUEMA
INTERFAZ
CATALOGO
Figura 5.1: Arquitectura del Sistema General
134 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Para ello debe proporcionar los procedimientos para leer la Ontolog´ıa del
Cat´alogo y permitir su instanciaci´on y generar la Ontolog´ıa del Esquema
derivada de la misma.
Ontolog´ıa del Cat´alogo Este m´odulo representa a la Ontolog´ıa del Cat´alo-
go (descrita en el cap´ıtulo anterior) cuyo uso es imprescindible para
la generaci´on de la Ontolog´ıa del Esquema en c´odigo OWL. Todas las
representaciones de BDRD en forma de ontolog´ıa requieren la incorpo-
raci´on/importaci´on de esta (meta)ontolog´ıa para poder definir y mani-
pular las estructuras de una BDRD.
Ontolog´ıa del Esquema Ontolog´ıa en OWL que describe un esquema de
BD Difusas.
Los dos primeros m´odulos requieren de la utilizaci´on de herramientas soft-
ware, que permitan llevar a cabo la funcionalidad que describen. A continua-
ci´on se detallan cada uno de estos m´odulos.
5.2.1.1. Interfaz de Usuario
Uno de los principales motivos que llevan al desarrollo de la Ontolog´ıa
para la Representaci´on del Conocimiento Difuso se basa en la dificultad para
definir informaci´on imprecisa en un SGBD Extendido. Esta dificultad, que
se incrementa conforme las extensiones al modelo se van incorporando, ha
inducido a la generaci´on de una ontolog´ıa que mantenga la definici´on de dicha
informaci´on al margen de cualquier representaci´on concreta de un SGBD.
De esta forma, la generaci´on de una interfaz de usuario es un elemento
fundamental en la arquitectura. Las tareas m´as b´asicas que dicha interfaz
debe aportar son:
Permitir la definici´on de un Esquema de BDD a partir de la instanciaci´on
de la Ontolog´ıa del Cat´alogo descrita en esta tesis.
Conectar con un SGBDRD cualquiera para incorporar la informaci´on
descrita en forma de ontolog´ıa. La conexi´on podr´ıa realizarse con varios
SGBDRs simult´aneamente.
Mantener al usuario al margen de los detalles propios de la definici´on de
datos difusos, para lo que se requiere que la interfaz sea lo m´as intuitiva
posible.
Contemplar la opci´on de manipular las estructuras del cat´alogo para los
casos de SGBD que carezcan de las estructuras para la representaci´on
5.2. ARQUITECTURA DEL SISTEMA 135
de datos difusos. Esta opci´on debe incluir la posibilidad de extender el
sistema en caso necesario.
Como en todos los sistemas software, las decisiones de desarrollo se toman
en funci´on de la disponibilidad y m´etodos de acceso que se desea que la he-
rramienta proporcione, las dos principales alternativas son:
Utilizar una herramienta local de desarrollo propio, basada en tecnolog´ıa
Web o cualquier otra plataforma (dependiendo del lenguaje usado para
su desarrollo) que permita la consulta y manipulaci´on de la ontolog´ıa.
Usar Herramientas de Gesti´on de Ontolog´ıas que permitan la edici´on
de la ontolog´ıa y su instanciaci´on. Esta opci´on se contempla dado que
existen herramientas que permiten su extensi´on para incorporar nuevas
funcionalidades.
Dicha interfaz de usuario se divide en dos, dependiendo del tipo de usuario
que va a tener acceso a la misma, y de la informaci´on que dichas interfaces
est´an encargadas de gestionar y que a continuaci´on se detalla.
Interfaz de Cat´alogo
La Interfaz del Cat´alogo esta destinada a ser utilizada por los administra-
dores del SGBD que se deben de encargar de definir las estructuras necesarias
en el cat´alogo del sistema para que la definici´on de datos difusos sobre la BD
sea posible. De esta forma, dicha interfaz debe permitir las funciones de:
Generar tablas del cat´alogo que permitan la definici´on de datos difusos.
Identificar las particularidades de cada SGBD para incorporar dichas
tablas del cat´alogo en el espacio m´as adecuado, dependiendo del sistema
que se trate.
Establecer permisos sobre dichas tablas para que los usuarios puedan
acceder a ellas.
Dependiendo de las particularidades del SGBD en cuesti´on, incorporar
la funciones de gesti´on de datos difusos necesarias para el manejo de los
mismos (operaciones de comparaci´on, interpretaci´on de consultas, etc.).
Estas funciones pueden estar incrustadas en el sistema, o bien ser ajenas
al mismo, como veremos m´as adelante.
136 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Para llevar a cabo estas funciones es requisito, en la mayor´ıa de los SGBDs,
tener privilegios de administrador, dado que se trata de tablas a incorporar al
cat´alogo del sistema, y que interaccionan con el resto del mismo. No obstante
esto depende del SGBDs en el que se est´e trabajando.
Esta interfaz s´olo se utiliza en el proceso de definici´on o extensi´on de un
SGBDR com´un, para incluirle la funcionalidad de gestionar informaci´on im-
precisa. Por lo tanto, ser´a utilizado en una sola ocasi´on para cada sistema que
se instale.
Interfaz de Esquema
La interfaz del esquema, ser´a la mas utilizada, pues es la encargada de
permitir al usuario realizar las siguientes funciones:
Permitir definir el Esquema de BD Difusa o Cl´asica de manera intuitiva
para el usuario final. Esto puede llevarse a cabo a trav´es de asistentes o
formularios sencillos.
Permitir la visualizaci´on del Esquema de BD Difusas de manera intuitiva,
sin necesidad de que el usuario final tenga que acceder a la BDD para
hacerlo, ni de conocer la sintaxis del c´odigo OWL.
Permitir la generaci´on de la Ontolog´ıa del Esquema de manera autom´atica,
es decir, que la misma herramienta una vez que tiene definido el esquema
en forma de instancias de la Ontolog´ıa del Cat´alogo autogenera las clases
y relaciones necesarias para que dicho esquema sea a su vez instanciable.
Permitir la conexi´on con SGBD heterog´eneas, de las que conoce sus
particularidades, para as´ı poder realizar la definici´on de las estructuras
definidas en OWL.
Permitir la definici´on de datos sobre la Ontolog´ıa del Esquema generada,
es decir, la definici´on de las tuplas.
Permitir la generaci´on de consultas de datos difusos en FSQL a partir
de la ontolog´ıa.
Permitir la comunicaci´on simult´anea con SGBDRDs para realizar cual-
quier tarea de definici´on o manipulaci´on a la vez, sin tener en cuenta las
particularidades de cada sistema.
La implementaci´on final de estas funciones se describe en los apartados
5.3.3 y 5.3.4 de este cap´ıtulo.
5.2. ARQUITECTURA DEL SISTEMA 137
5.2.1.2. Generador de OWL
Tal y como se viene expresando en los cap´ıtulos anteriores, el uso del
lenguaje de representaci´on de ontolog´ıas de OWL( v´ease secci´on A.2.3 del A)
conlleva tantas ventajas como inconvenientes. Entre los inconvenientes m´as
destacables se encuentra el gran coste de desarrollar una ontolog´ıa en OWL
de forma manual, dada la naturaleza misma del lenguaje que siendo simple, es
muy tedioso a su vez en la representaci´on de cualquier concepto debido al gran
n´umero de etiquetas que necesita para ello. De esta forma, una representaci´on
manual de una ontolog´ıa en OWL ser´ıa un error no s´olo por el esfuerzo en
realizar esta tarea, sino por la alta probabilidad de cometer un error en la
misma, hecho que impedir´ıa cualquier manejo autom´atico de la ontolog´ıa por
cualquier aplicaci´on a posteriori.
De esta forma, se estima necesaria la utilizaci´on de herramientas que inter-
preten ontolog´ıas representadas en OWL y que a su vez permitan la definici´on
de nuevos conceptos en dicho lenguaje. Existen dos alternativas para trabajar
con OWL:
Utilizar librer´ıas como JENA, Sesame u OWLAPI (opciones descritas
en el Anexo A). Esta opci´on permite incorporar a cualquier programa
de gesti´on de datos propio, operaciones de manipulaci´on de c´odigo OWL
mediante la utilizaci´on de los m´etodos incluidos en dichas librer´ıas.
Utilizar programas de gesti´on de ontolog´ıas per se. Estos programas pro-
porcionan toda la funcionalidad necesaria para definir ontolog´ıas de for-
ma gr´afica (en su mayor´ıa) o cuanto menos intuitiva. Adem´as la mayor´ıa
permiten una gesti´on integral de las mismas, opci´on m´as que deseable.
Una de las aplicaciones m´as populares que ofrecen dicha funcionalidad es
Prot´eg´e, tambi´en existen otras como OntoEdit, OntoStudio, etc. (v´ease
secci´on A.2.3.3 para conocer las caracter´ısticas principales y referencias
a estas herramientas).
5.2.2. Arquitectura de Comunicaci´on con la BD
Los SGBD Relacionales actuales a pesar de representar el mismo mode-
lo de datos, realizan dicha representaci´on de modos muy diferentes. Existen
diferencias tanto en la definici´on del est´andar de SQL que implementa cada
sistema (v´ease [Gen06]), hasta en la forma para gestionar y representar la
informaci´on en el mismo, hecho m´as que l´ogico dado que cada sistema tiene
definido su propio formato de cat´alogo para almacenar los metadatos. Adem´as,
dependiendo del SGBD de que se trate, incorpora mecanismos de comunicaci´on
y explotaci´on del sistema con diferente grado de eficiencia, por ejemplo algunos
138 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
incorporan un lenguaje de programaci´on incrustado, opci´on muy deseable en
t´erminos de eficiencia y rapidez, mientras que otros simplemente permiten la
comunicaci´on con lenguajes o programas ajenos al sistema, opci´on mucho m´as
lenta e ineficiente.
De esta forma, dependiendo del tipo de SGBD Relacional (SGBDR) en
el que se quiera implantar la base de datos representada por la ontolog´ıa, es
necesario interponer una serie de fases que traduzcan las acciones recogidas de
forma impl´ıcita en la ontolog´ıa a las sentencias propias de un SGBDR. Dichas
fases se encuentran descritas en [Bla08a] y a continuaci´on:
5.2.2.1. Extensi´on del SGBDR para Incorporar el FSQL
La extensi´on difusa FSQL [Bla03b] del lenguaje relacional SQL permite la
creaci´on y manejo de estructuras relacionales capaces de contener atributos
con dominios difusos.
Un sistema con estas caracter´ısticas incorpora sus propias estructuras de
cat´alogo para la representaci´on de los dominios difusos y para la creaci´on de
relaciones con datos difusos. Adem´as, incorpora el conjunto de funciones nece-
sarias para gestionar dichas sentencias FSQL. Por ello, parece que carece de
sentido la implantaci´on de la Ontolog´ıa para la Representaci´on del Conoci-
miento Difuso dado que la definici´on de datos difusos en este caso se podr´ıa
realizar utilizando directamente las sentencias FSQL, sin entrar en detalles de
representaci´on.
Sin embargo, para implantar las estructuras relacionales contenidas en la
Ontolog´ıa del Esquema de datos difusos es necesario generar las sentencias
FSQL que creen dichas estructuras en la base de datos, empleando un m´odu-
lo de traducci´on como el observado en la figura 5.2. Con esta arquitectura,
traducimos la ontolog´ıa al lenguaje FSQL y la sentencia traducida se env´ıa
a la base de datos para su procesamiento (que incluye traducci´on a SQL con
capacidades funcionales) y ejecuci´on.
Existen por tanto dos alternativas diferentes en la extensi´on de los SGBDR
necesaria para representar dicha informaci´on imprecisa y que determinar´an el
modo de interpretaci´on del FSQL. Estas configuraciones son directamente de-
pendientes de la capacidad del SGBD para incorporar capacidades funcionales
(es decir, que carece de un lenguaje de programaci´on que le permite la creaci´on
de bloques de sentencias para la operaci´on con datos) como se describe a con-
tinuaci´on.
5.2. ARQUITECTURA DEL SISTEMA 139
Ontologia
del esquema
FSQL
Adaptador
FSQL Ex.
SQL Ex.
SGDBR
Figura 5.2: Arquitectura de integraci´on con un SGBDR con capacidades
FSQL
5.2.2.2. SGBDR con Capacidades Funcionales
La implantaci´on de un esquema de BDD en un SGBDR que carezca de
la implementaci´on FSQL pasa por la creaci´on de las estructuras de cat´alogo
relacional extendido de forma difusa, que permitir´an almacenar la informaci´on
referente a la ontolog´ıa para la representaci´on de datos difusos. Incorporando
las relaciones de dicho cat´alogo, almacenamos la informaci´on referente a los
dominios y datos difusos contenidos en la base de datos, haciendo posible el
acceso a la informaci´on desde las funciones y procedimientos que se creen a
tal efecto pero sin depender de la ontolog´ıa.
Sin embargo, toda la funcionalidad que incorpora la implementaci´on del
lenguaje FSQL, vista en el apartado 5.2.2.1, tendr´a que ser proporcionada en
este caso por una serie de bloques funcionales implementados en el lengua-
je procedimental que proporcione la implementaci´on relacional dada. SGB-
DR como Oracle c o PostgreSQL c incorporan estas capacidades mediante la
definici´on de sus lenguajes procedimentales Oracle R PL/SQL y PG/PLSQL,
respectivos.
Si bien proponemos un paso intermedio para la representaci´on en FSQL
de toda operaci´on realizada a trav´es de la ontolog´ıa, en el caso de este tipo
de sistemas, ser´a necesaria la traducci´on de la sentencia al lenguaje SQL (el
cual incluir´a llamadas a funciones que resuelvan los problemas difusos) puesto
140 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Func. Ex.
SQL Ex.
SGDBR
SQL con funciones
Adaptador
FSQL
Adaptador
Ontología
del esquema
Ontología
del catálogo
Figura 5.3: Arquitectura de integraci´on con un SGBDR con capacidades fun-
cionales
que el sistema carece de la capacidad de compilar y ejecutar sentencias FSQL.
El procesamiento de la sentencia FSQL tiene que ser realizado a nivel del
Adaptador a SQL con funciones, mostrado en la figura 5.3, el cual traduce
la sentencia FSQL a una sentencia SQL con llamadas a funciones que ten-
dr´an que estar almacenadas en la base de datos para su llamada cuando se
ejecute la sentencia SQL traducida. Estas funciones insertadas en el SGBD
son las encargadas de realizar operaciones con los datos difusos que en ellas se
encuentran representados.
5.2.2.3. SGBDR sin Capacidades Funcionales
En este caso, se implanta el esquema de base de datos contenido en un
SGBDR que no incorpora capacidades funcionales, por lo tanto, la base de
datos act´ua como mero recipiente de datos. De este modo, todas las fases del
tratamiento de la sentencia FSQL (traducci´on y procesamiento) tendr´an que
ser implementadas en un lenguaje de programaci´on externo al propio SGBDR.
Este es el caso de SGBDR como MySQL R , en el que se puede proveer el
tratamiento de la sentencia FSQL mediante una serie de elementos funcionales
programados en Java. Lo cual ralentizar´ıa la ejecuci´on de cualquier operaci´on
que requiriera de esta funcionalidad.
En un sistema de este tipo, el elemento denominado M´odulo funcional,
que se muestra en la figura 5.4, tendr´a que realizar la interpretaci´on de la
consulta FSQL y, mediante diversas consultas SQL a la base de datos, obtener
conjuntos de datos relacionales (no difusos) a los que aplicar´a funciones para
5.2. ARQUITECTURA DEL SISTEMA 141
FSQL
Adaptador
SQL Ex.
SGDBR
Funcional
Módulo
Ontología
del esquema
Ontología
del catálogo
Figura 5.4: Arquitectura de integraci´on con un SGBDR sin capacidades fun-
cionales
proporcionar la sem´antica difusa a estos datos y poder operar con ellos.
5.2.2.4. Arquitectura Unificada
Reuniendo todas las posibilidades de SGBDR vistas en los apartados an-
teriores, la arquitectura unificada quedar´ıa como se muestra en la figura 5.5.
En dicha arquitectura, la ontolog´ıa actuar´ıa como interfaz abstracta para
la definici´on de datos difusos o cl´asicos, independiente de cualquier SGBD que
act´ue como recipiente de la informaci´on. Dicha ontolog´ıa proporcionar´ıa tanto
la definici´on de los datos de la BDD, como cualquier petici´on de manipulaci´on
sobre los mismos, sin tener en cuenta las particularidades que cada SGBDD
tiene en su representaci´on.
Adem´as, en la arquitectura separamos por niveles todos los aspectos rela-
tivos al lenguaje de consulta de datos difusos en el que nos basamos (como
primer paso para la operaci´on sobre la base de datos) de los aspectos espec´ıfi-
cos relacionados con la implementaci´on concreta. As´ı pues nos encontramos
con:
Primera Fase de Adaptaci´on al Lenguaje Se utiliza el Adaptador FSQL,
142 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
FSQL Ex.
SQL Ex.
SGDBR
SQL Ex.
SGDBR
Funcional
Módulo
Ontología
del esquema
FSQL
Adaptador
SQL con funciones
Adaptador
Func. Ex.
SQL Ex.
SGDBR
Ontología
del catálogo
Adaptación al lenguaje
Adaptación a la
implementación
Figura 5.5: Arquitectura Integrada
que como se ha especificado anteriormente, permite generar la sentencia
de definici´on o manipulaci´on de datos en este lenguaje.
Segunda Fase de Adaptaci´on a la Implementaci´on Entra a formar par-
te las particularidades del SGBD con el que se est´e trabajando. Por tanto
la sentencia lanzada contra la BDD (en FSQL) ser´a resuelta en funci´on
de la decisi´on tomada para extender el SGBDR con capacidad de trata-
miento de datos difusos sobre el que ha sido lanzada.
En la actualidad, la primera fase de adaptaci´on al lenguaje se ha desarro-
llado tanto a trav´es de las herramientas generadas en esta tesis para la gesti´on
de la ontolog´ıa, como a trav´es de la utilizaci´on de otras herramientas como el
FuzzyQuery2+ [Bla02b]. La segunda fase de adaptaci´on a la implementaci´on
se encuentra ´ıntegramente desarrollada y en perfecto funcionamiento para el
SGBDR Oracle c . Esta funci´on permite generar cualquier sentencia correcta
en FSQL y posteriormente procesarla autom´aticamente sobre dicho sistema.
Esto es posible gracias a que Oracle tiene capacidades funcionales (PL/SQL) y
una implementaci´on completa, usando dichas capacidades, de las operaciones
para analizar y ejecutar una sentencia FSQL.
Como trabajos futuros se propondr´a la implementaci´on de las operacio-
nes para analizar y ejecutar una sentencia en FSQL utilizando un lenguaje
5.2. ARQUITECTURA DEL SISTEMA 143
INTERFAZ USUARIO
GENERADOR
DE
CONSULTA
ONTOLOGIA
DELCATALOGO
INTERPRETE /ADAPTADOR BD
SGBD
SGBD SGBD
ARQUITECTURA
PARA LA
GENERACION
DE LA
ONTOLOGÍA
DE
CONSULTA
ARQUITECTURA
DE
COMUNICACION
CON LA BD
(extensión en la
figura 5.5 " Arquitectura
Unificada ")
ONTOLOGIA
DELESQUEMA
Figura 5.6: Arquitectura de Consulta
de programaci´on gen´erico, que est´e aceptado por la mayor´ıa de SGBDR, y
fundamentalmente por aquellos que no dispongan de capacidades funcionales.
5.2.3. Arquitectura de Consulta
La arquitectura del sistema planteada en el apartado anterior, est´a dise-
˜nada para la definici´on de la Ontolog´ıa del Esquema y su posterior comuni-
caci´on con el SGBDRD correspondiente para su correcta generaci´on. Incluso
tambi´en es v´alida en la definici´on de datos (tuplas) sobre dicha Ontolog´ıa del
Esquema, a trav´es de la instanciaci´on del mismo.
Sin embargo, el flujo de informaci´on que hay en la misma es unidireccional,
es decir, no permite comunicaci´on con el usuario final una vez definido el
mismo.
La Arquitectura de Consulta debe establecer las bases para permitir al
usuario definir una consulta relacionada con el Esquema sobre el que quiere
consultar, de forma transparente al SGBDRD consultado, y devolver al mismo
144 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
los resultados. Es por este motivo que se hace necesaria una modificaci´on
a la Arquitectura del Sistema previamente propuesta, en el que el flujo de
informaci´on sea bidireccional.
La parte de la Arquitectura de Comunicaci´on con la BD es id´entica a la
descrita en el apartado 5.2.2 anterior, a excepci´on de que las comunicaciones
en esta arquitectura, son tambi´en bidireccionales.
Por otro lado, con respecto a la Arquitectura de Consulta se hace necesario
la definici´on de un nuevo elemento en la misma, el Generador de Consulta.
Este Generador conduce a la generaci´on del c´odigo en FSQL requerido para
poder formar la consulta a partir de los datos descritos en las Ontolog´ıas del
Esquema y el Cat´alogo.
La Ontolog´ıa del Esquema es necesaria en tanto que proporciona la estruc-
tura de informaci´on que puede ser consultada. Adem´as, se encuentra definida
en la misma el dominio de cada uno de los atributos que comprenden el esque-
ma. El conocimiento de dichos dominios por parte del usuario para realizar
la consulta es imprescindible cuando se trata de atributos difusos, dado que
muchos de los valores permitidos se deben hallar previamente definidos en la
ontolog´ıa. Este ser´ıa el caso de los atributos de Tipo Difuso 3, cuyos valores
´unicamente ser´an aquellos definidos y relacionados entre ellos expl´ıcitamente.
Un ejemplo de este uso ser´ıa el de acceder a etiquetas previamente definidas
sobre un atributo en la BDD como Alto, Bajo, Rubio o Moreno para poder
realizar una operaci´on de comparaci´on.
Por otro lado, la Ontolog´ıa del Cat´alogo nos permite acceder a las estruc-
turas de datos, concretamente las estructuras difusas, necesarias para poder
definir los valores sobre los que se van a realizar las comparaciones en dichas
consultas. Por ejemplo, nos va a permitir definir un valor Trapezoidal o Aprox-
imado para ser comparado con los que se hallan almacenados en la BDD.
La interfaz de usuario debe proporcionar un entorno intuitivo en el que el
usuario sea capaz de definir una consulta en t´erminos difusos sin necesidad de
conocer el lenguaje FSQL. La implementaci´on de dicha interfaz ser´a planteada
de igual manera que se ha descrito para la interfaz de usuario del apartado
anterior 5.2.1.1. La funcionalidad cubierta por la herramienta de consulta y
la puesta en marcha mediante el desarrollo de una aplicaci´on se describe con
detalle en el apartado 5.3.4.3.
5.3. descripci´on del Sistema Implementado
5.3.1. Propuestas
La utilizaci´on de la ontolog´ıa propuesta en este trabajo de tesis se llevar´a a
cabo a trav´es del desarrollo de un entorno que permita la definici´on y mani-
5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 145
pulaci´on de esquemas de BDRD y su explotaci´on mediante consultas. Dichas
implementaciones se describen a continuaci´on:
Un Entorno Web que permite la gesti´on de la Ontolog´ıa del Cat´alogo
y su comunicaci´on con diversos SGBDD. A su vez, este mismo entorno
implementa las funciones de gesti´on de esquemas de BDD (generaci´on
y consulta), a trav´es del uso de ontolog´ıas. Esta propuesta est´a descrita
en la secci´on 5.3.3.
La Extensi´on de una Herramienta Integrada de Gesti´on de Ontolog´ıas:
Prot´eg´e, para la generaci´on de Esquemas de BDD basados en la Ontolog´ıa
del Cat´alogo, definici´on de datos sobre la Ontolog´ıa del Esquema y para
la generaci´on de consultas sobre la BDD. Esta funcionalidad est´a descrita
en el apartado 5.3.4.1 para esquemas, 5.3.4.2 para inserciones y 5.3.4.3
para consultas.
5.3.2. Bases de Datos Utilizadas
Las bases de datos son un elemento imprescindible en este trabajo de tesis
dado que el motivo principal para el desarrollo de la ontolog´ıa es permitir
la definici´on de Esquemas de Bases de Datos Difusas en cualquier SGBDR
Difuso, con independencia de su implementaci´on f´ısica y particularidades de
uso.
Por tanto, en la arquitectura del sistema (secci´on 5.2.2) cuando se hace
referencia a las bases de datos difusas, se ha de tener en cuenta las particulari-
dades del SGBD para que pueda ser extendido y as´ı manejar datos difusos. La
arquitectura se divide en tres casu´ısticas de conexi´on con el SGBD, que son
directamente dependientes de la funcionalidad aportada por dichos sistemas.
En la implementaci´on de este trabajo, se propone la utilizaci´on de un
SGBD que sea representativo para cada una las diferentes arquitecturas de
extensi´on presentadas. As´ı pues, los SGBDR utilizados son:
Oracle c Este sistema representa a un SGBDR con capacidades funcionales
pero que puede tener implantado o no el FSQL en su totalidad (refe-
rente a la figura 5.2 y 5.3). De esta manera dispone entre su conjunto
de funciones de todas aquellas necesarias para procesar una sentencia
en dicho lenguaje y devolver los resultados al usuario de forma legible.
Evidentemente tambi´en su cat´alogo del sistema se encuentra extendido
para poder llevar a cabo toda esta funcionalidad.
PostgreSQL c Este sistema representa a un SGBDR con capacidades fun-
cionales igual que ocurre con Oracle c . Su lenguaje de programaci´on
146 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
incrustado PL/pgSQL permite la inclusi´on de funciones dentro de su sis-
tema. Sin embargo, no se encuentra implementada ninguna funcionalidad
de gesti´on de datos difusos en este lenguaje en la actualidad. As´ı pues,
sobre PG se puede desarrollar tanto una implementaci´on especial para
FSQL incrustada en el mismo, o bien una aplicaci´on gen´erica a trav´es
de un m´dulo ajeno a dicho sistema, tal y como se describe en la secci´on
5.2.2.3.
MySQL c Este sistema representa a un SGBD sin ninguna capacidad fun-
cional. Por tanto, este sistema ´unicamente puede incorporar las estruc-
turas del cat´alogo, pero la ejecuci´on de sentencias, tanto de definici´on
como de manejo de datos difusos, debe llevarse a cabo en un modulo
externo. Este ser´a el que se ocupe de lanzar las consultas a la base de
datos en un lenguaje comprensible para la misma, o sea, en SQL, de ob-
tener los resultados, realizar las comparaciones difusas si es pertinente
y formatear los datos de salida para mostrarlos al usuario (arquitec-
tura correspondiente con la figura 5.4 y secci´on 5.2.2.3). Dicho sistema
requiere la implementaci´on de su funcionalidad utilizando lenguajes de
programaci´on externos que sean capaces de comunicarse con la misma,
como es el JAVA, que es el lenguaje utilizado en este trabajo.
Es obvio que un SGBD con capacidades funcionales, proporciona un mayor
rendimiento en la gesti´on de informaci´on imprecisa puesto que todas las fun-
ciones u operaciones son ejecutadas en el mismo entorno y por tanto con mayor
rapidez. Sin embargo estos sistemas con capacidades funcionales requieren una
implementaci´on propia para la gesti´on del FSQL, y por tanto un esfuerzo muy
significativo para poder ponerlo en marcha.
Por otro lado la utilizaci´on de un lenguaje de programaci´on gen´erico como
el Java para crear un entorno en el que las funciones sean independientes
del SGBD evita la necesidad de adaptar las funciones de gesti´on del lenguaje
FSQL a cada sistema particular, pero provoca una gran ca´ıda del rendimiento,
dado que los datos deben portarse de un lugar a otro continuamente para ser
procesados.
5.3.3. Entorno Web
A trav´es de un entorno web (v´ease figura 5.7) se ha pretendido que el
usuario sea capaz de realizar las funciones b´asicas que proponemos en este
trabajo de tesis, esto es, la definici´on y manipulaci´on de esquemas difusos
sobre un SGBD Extendido. Esta herramienta se desarrolla con el objetivo
de permitir comunicar al usuario con los diferentes SGBD sin necesidad de
instalar en su computadora m´as que un simple navegador web.
5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 147
Figura 5.7: Imagen de la aplicaci´on web para gestionar esquemas.
A continuaci´on se describe brevemente la funcionalidad propuesta en el
entorno:
Generaci´on de un esquema de BDD sobre un SGBD con capacidad de
almacenamiento de difusos (es necesario tener definida la FMB en el
SGBDR correspondiente). Ser´a requisito que dicho esquema se encuen-
tre previamente descrito como instancias de la Ontolog´ıa del Cat´alogo en
OWL. Los pasos para realizar esta operaci´on pueden verse en la figura
5.8 y consisten en proporcionar al sistema el archivo en OWL y a con-
tinuaci´on rellenar los campos de un formulario para conectar con la BD
deseada (en este caso MySQL c ). A continuaci´on se obtendr´ıa un in-
forme del estado en el que se ha realizado la operaci´on. En la imagen 5.9
puede observarse el resultado de realizar la operaci´on sobre un SGBDR
Oracle c y el resultado de la operaci´on sobre el SGBDR a trav´es de la
herramienta sqlplus.
Generaci´on del script o conjunto de sentencias de definici´on del esquema
de BDD deseado en lenguaje FSQL o SQL para su almacenamiento en
forma de archivo. Esta opci´on se corresponde al bot´on Ver C´odigo de la
figura 5.8. El resultado de dicha ejecuci´on tendr´a el resultado mostrado
en la figura 5.10 si la opci´on seleccionada es mostrar el c´odigo FSQL.
Generaci´on de la FMB sobre un SGBDs que no tengan esta extensi´on ya
incorporada. Esta opci´on consiste en la generaci´on autom´atica de las es-
148 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Figura 5.8: Imagen de la aplicaci´on web para gestionar esquemas. Formulario
de conexi´on para generar un esquema dado en OWL en una BD MySQL
5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 149
Figura 5.9: Imagen de la aplicaci´on web para gestionar esquemas. Formulario
de resultado tras ejecutar la generaci´on de un Esquema de BD en MySQL c
150 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Figura 5.10: Imagen de la aplicaci´on web para gestionar esquemas. Script de
generaci´on de esquemas en FSQL.
5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 151
Figura 5.11: Selecci´on del archivo de la ontolog´ıa a generar
tructuras del cat´alogo para permitir almacenar datos difusos. El proceso
de definici´on de esta estructura es similar al descrito anteriormente para
definir un esquema, dado que habr´a que insertar los datos en un for-
mulario para establecer la conexi´on con el SGBDR correspondiente. En
este caso, sin embargo, habr´a que introducir las claves de administrador,
puesto que se van a utilizar elementos del cat´alogo. Esta opci´on permite
adem´as la generaci´on del script que genera dicha FMB en SQL.
Generaci´on de la Ontolog´ıa del Esquema final, a partir de la definici´on
inicial del esquema de BDD a trav´es de la instanciaci´on de la Ontolog´ıa
del Cat´alogo. Este proceso devolver´a como resultado una nueva ontolog´ıa
que puede ser instanciada para insertar la informaci´on relativa a las tu-
plas. El proceso consistir´a en la selecci´on en primer lugar de la ontolog´ıa
que se desea generar, como se puede ver en la figura 5.11 y a continua-
ci´on se obtiene la ontolog´ıa resultante y un resumen de la conversi´on,
como se puede ver en la figura 5.12.
152 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Figura 5.12: Resultado de la ontolog´ıa generada
5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 153
Visualizaci´on de la Ontolog´ıa del Esquema de forma intuitiva para el
usuario, que no debe de necesitar entender ni SQL, ni OWL para conocer
el conjunto de elementos que se encuentran definidos en la ontolog´ıa.
Esta opci´on permite ver de manera conjunta todos los elementos m´as
representativos del esquema, dada la Ontolog´ıa del Cat´alogo en la que
est´a basada.
Visualizaci´on del contenido de las tablas de la FMB.
Visualizaci´on de las tablas de la BDD incluyendo la descripci´on de los
elementos que componen a las mismas.
Cabe destacar que este entorno Web permite la conexi´on con los SGBDs
descritos en la secci´on 5.3.2, definidos por su representatividad (Oracle c ,
PostgreSQL c y MySQL c ). La extensi´on a otros sistemas de gesti´on, como
puedan ser MS Access c , MS SQLServer c , SyBase c , Paradox c , etc. es
inmediata dado que se han desarrollado las interfaces necesarias para facilitar
la misma.
Por otro lado, esta herramienta no aporta ning´un mecanismo para definir
la ontolog´ıa. No obstante, esto no supone ninguna desventaja en tanto que se
podr´a utilizar cualquier entorno de definici´on o manipulaci´on de ontolog´ıas en
OWL, que como se describe en el Anexo A, secci´on A.2.3.3 existen en gran
n´umero y aportan muy diversa funcionalidad.
Todos los m´odulos/procedimientos que gestionan la generaci´on de on-
tolog´ıas y la traducci´on de los elementos de la ontolog´ıa a la BD se han
desarrollado utilizando el lenguaje de programaci´on JAVA. Concretamente,
la gesti´on de las ontolog´ıas se ha llevado a cabo a gracias al uso de las librer´ıas
para la gesti´on de OWL de JENA. A su vez, la herramienta web ha utilizado la
tecnolog´ıa JSP para poder llamar a los procedimientos que realizan las tareas
anteriormente descritas.
5.3.4. Extensi´on de la Herramienta de Desarrollo de Ontolog´ıas:
Prot´eg´e
Anteriormente se ha visto como podemos establecer la comunicaci´on en-
tre la Ontolog´ıa de Representaci´on de Conocimiento Difuso y diferentes SGB-
DRDs a trav´es de un entorno Web. Sin embargo esta opci´on presenta la desven-
taja de que no aporta ning´un mecanismo para definir la ontolog´ıa. Adem´as,
sigue existiendo el problema de la complejidad en la definici´on de esquemas
difusos, aunque en menor medida ya que ahora dichos esquemas son definidos
a trav´es de una ontolog´ıa y no directamente sobre un SGBDRD concreto. Por
ello se hace necesario el desarrollo de una herramienta que permita al usuario
154 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
definir y manipular de forma intuitiva la informaci´on difusa, adem´as de poder
tener acceso a ella del mismo modo.
Se propone as´ı la extensi´on de una herramienta de gesti´on integral de
ontolog´ıas como Prot´eg´e. La elecci´on de esta herramienta concreta viene dada
por los siguientes criterios:
Permite utilizar dicho entorno para definir una ontolog´ıa completamente
sin necesidad de incluir ninguna extensi´on.
Permite utilizar metadatos.
Permite la definici´on y utilizaci´on de ontolog´ıas importadas y hace una
gesti´on eficiente de las mismas.
Tiene una interfaz visual c´omoda e intuitiva.
Est´a ´ampliamente extendida, probada y aceptada entre la comunidad
cient´ıfica.
Hace una representaci´on del OWL gen´erica, comprensible y portable a
otros entornos de gesti´on.
Permite extender su entorno con otras implementaciones que hacen uso
de la representaci´on de ontolog´ıas que proponen. La extensi´on del en-
torno puede realizarse de muy diversas formas, todas bien documentadas,
entre la que destacamos la utilizaci´on de extensiones (plug-ins) que es la
utilizada en este trabajo.
Por todas estas razones se ha propuesto la triple extensi´on de la herra-
mienta dado que ha de realizar tres tareas bien diferenciadas:
La de definici´on y manipulaci´on de la informaci´on de esquemas de bases
de datos difusas y su correspondiente conexi´on y exportaci´on a los SGB-
DRDs seleccionados.
La de inserci´on de datos difusos (o cl´asicos) sobre la ontolog´ıa y su
posterior definici´on sobre los SGBDRDs seleccionados.
La de ayuda a la generaci´on de consultas difusas en FSQL a trav´es del
uso de la ontolog´ıa.
La extensi´on de este entorno se ha realizado utilizando el lenguaje de pro-
gramaci´on JAVA, que es en el que est´a desarrollada la herramienta de Prot´eg´e.
5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 155
Figura 5.13: Imagen de la aplicaci´on para gestionar esquemas a˜nadida a la
herramienta Prot´eg´e
5.3.4.1. Gesti´on de Esquemas de Datos Difusos en Prot´eg´e
Esta aplicaci´on incluida en la herramienta Prot´eg´e tiene el aspecto visual
de una pesta˜na m´as en la misma, tal y como podemos ver en la figura 5.13, y
aporta la siguiente funcionalidad:
Gestionar y visualizar los elementos m´as representativos de un Esquema
de Base de Datos difusas: Tablas, Atributos, Tipos de Datos, Dominios
Difusos, Restricciones, Etiquetas Ling¨u´ısticas (bajo un referencial or-
denado o no ordenado). Estos elementos son visualizados a trav´es de
cuadros de texto cuyo contenido var´ıa din´amicamente dependiendo de la
selecci´on de la estructura de datos que se realice. Estos cuadros, adem´as
de permitirnos visualizar las caracter´ısticas de cada uno de los elementos
seleccionados, nos permiten a˜nadir nuevos elementos o eliminarlos. Esta
opci´on es la correspondiente parte central de la figura 5.13.
Gestionar la conexi´on con los SGBDRD y permitir el mantenimiento de
156 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Figura 5.14: Imagen de la aplicaci´on para gestionar las conexiones con el
esquema en Prot´eg´e
dichas conexiones de forma simult´anea para poder realizar operaciones
en paralelo (opci´on correspondiente a la zona superior izquierda de la
figura 5.14).
Exportar la Ontolog´ıa del Esquema a los SGBDRDs cuyas conexiones
se encuentren establecidas. Este proceso ser´a realizado de manera si-
mult´anea con todos los SGBDRDs que se encuentren abiertas. Esta op-
ci´on se encuentra localizada en la zona inferior izquierda de la figura
5.13.
Exportar el c´odigo fuente o script correspondiente a la creaci´on del es-
quema definido a trav´es de la ontolog´ıa a un archivo. Dicho script puede
obtenerse en FSQL o SQL dependiendo de la preferencia del usuario.
Adem´as dicho script contendr´a las particularidades del SGBDR selec-
cionado. Esta opci´on se encuentra localizada en la zona inferior izquierda
de la figura 5.13.
5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 157
Generar la Ontolog´ıa del Esquema a partir de su definici´on previa sobre
la Ontolog´ıa del Cat´alogo (esta funci´on tambi´en se aportaba de igual
modo en el entorno web). Esta opci´on ser´ıa llamada a partir del bot´on
situado en la zona inferior izquierda de la figura 5.13.
Asistir al usuario en la generaci´on de los elementos m´as representativos
de un Esquema de BDD, mediante la utilizaci´on de asistentes guiados. Se
encontraran asistentes para generar: tablas, atributos, etiquetas ling¨u´ısti-
cas y relaciones de similitud, restricciones y dominios. Las llamadas a los
asistentes se har´ıan a trav´es de los botones situados en la zona central
izquierda de la figura 5.15.
5.3.4.2. Definici´on de Datos Difusos en Prot´eg´e
En la herramienta Prot´eg´e se ha incorporado una nueva pesta˜na, tal y como
podemos ver en la figura 5.16, que permite la definici´on de datos imprecisos
a trav´es del uso de una Ontolog´ıa del Esquema concreta. Dicha extensi´on a la
herramienta dispone de las siguientes opciones:
Visualizar el contenido de cada una de las relaciones o tablas de la On-
tolog´ıa del Esquema en forma de tabla din´amica.
Cargar todas las instancias definidas en la Ontolog´ıa del Esquema, a la
tabla din´amica para facilitar su visualizaci´on.
Permitir la inserci´on de nuevas tuplas a la ontolog´ıa a trav´es de un
entorno tabular donde la informaci´on pueda ser definida de forma r´apida.
Para facilitar dicha tarea se describen, a trav´es de una leyenda las ca-
racter´ısticas de definici´on de cada tipo de dato debajo de la tabla de
inserci´on.
Facilitar al usuario el acceso a los datos del dominio difuso. Dicha fun-
cionalidad consiste b´asicamente en proporcionar de manera din´amica las
etiquetas ling¨u´ısticas asociadas a los atributos difusos de tipo 2 o 3, en
caso que las requieran, para definir los valores que componen la tupla.
Gestionar la conexi´on los SGBDRD y permitir el mantenimiento de
dichas conexiones de forma simult´anea para poder realizar operaciones
en paralelo. Dicha interfaz se encuentra localizada en la zona izquierda
de la pantalla y es similar a la presentada en la figura 5.14).
Exportar los datos definidos en Ontolog´ıa del Esquema a los SGBDRDs
cuyas conexiones se encuentren establecidas. Este proceso ser´a realizado
158 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Figura 5.15: Imagen de la aplicaci´on para abrir el asistente para la generaci´on
de un atributo en Prot´eg´e
5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 159
Figura 5.16: Imagen de la aplicaci´on para gestionar esquemas a˜nadida a la
herramienta Prot´eg´e
160 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
de manera simult´anea con todos los SGBDRDs que se encuentren abier-
tas.
Exportar el c´odigo fuente o script correspondiente a la creaci´on de las
tuplas definidas a trav´es de la ontolog´ıa. Dicho script puede obtenerse en
FSQL o SQL dependiendo de la preferencia del usuario. Adem´as dicho
script contendr´a las particularidades del SGBDR seleccionado.
5.3.4.3. Generaci´on de Consultas en FSQL en Prot´eg´e
La interfaz de consulta de Bases de Datos Difusas desarrollada a trav´es
del entorno de Prot´eg´e permite desarrollar una consulta sobre datos difusos en
lenguaje FSQL a trav´es de un entorno guiado e intuitivo. Para ello proporciona
al usuario la informaci´on necesaria para realizar la consulta en funci´on de los
datos que dispone gracias la ontolog´ıa que describe el esquema de BDD sobre
el que se desea consultar.
Esta extensi´on de Prot´eg´e tiene un desarrollo similar a las anteriores, tal
y como podemos ver en la figura 5.17, y aporta la funcionalidad descrita a
continuaci´on:
Realiza consultas cl´asicas o difusas.
Consulta sobre un n´umero cualquiera de relaciones.
Incluye un n´umero indeterminado de condiciones.
Permite la posibilidad de negar una condici´on.
Identifica qu´e tipo de comparadores existen en funci´on del atributo que
se trate (sea cl´asico o difuso).
Permite realizar comparaci´on de atributos o valores.
Permite realizar comparaciones con valores difusos incluidos en los do-
minios difusos.
Permite la definici´on de nuevos valores difusos con los que realizar una
comparaci´on.
Permite asignar un grado de certeza a la condici´on que utilice atributos
difusos.
Permite negar una condici´on.
5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 161
Figura 5.17: Interfaz de generaci´on de consultas difusas en FSQL sobre la
herramienta Prot´eg´e. Establece una comparaci´on entre atributos
162 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Figura 5.18: Interfaz de generaci´on de consultas difusas en FSQL sobre la
herramienta Prot´eg´e. Establece una comparaci´on con Valor Difuso.
La consulta generada ser´a traducida al lenguaje FSQL y posteriormente a
trav´es del bot´on Ejecutar podr´a ser lanzada al SGBDRD que interprete dicho
lenguaje a trav´es de la utilizaci´on de la herramienta FuzzyQuery [Bla02b].
En la figura 5.17 se visualiza c´omo puede establecerse una condici´on entre
atributos, y en la figura 5.18 se muestra una comparaci´on difusa entre un
atributo y un valor del dominio del atributo.
5.4. Casos de Uso de la Arquitectura
La definici´on de esta arquitectura para realizar la conexi´on sem´antica entre
la definici´on de una Base de Datos Relacional Difusa y una ontolog´ıa permite
llevar a cabo la realizaci´on de m´ultiples operaciones que sin su combinaci´on
5.4. CASOS DE USO DE LA ARQUITECTURA 163
no hubiesen sido posibles.
A continuaci´on se van a detallar todas las aplicaciones o casos de uso que
dicho modelo de representaci´on de datos presenta, diferenciando el tipo de
datos que se representa y la operaci´on que realizan.
Adem´as se detallar´a qu´e casos de uso est´an implementados y cuales de
ellos no, especificando el proceso que se requiere llevar a cabo para dicha
implementaci´on. Los casos de uso que no se encuentran implementados en
este trabajo de tesis, se establecen como trabajos futuros, tal y como puede
verse en el cap´ıtulo siguiente.
5.4.1. Definici´on de Datos. Creaci´on de Esquemas
5.4.1.1. Interacci´on con otros Esquemas de BD
El trabajo de definici´on de un Esquema de BD Difusas, es el m´as im-
portante en el proceso de definici´on de un sistema de informaci´on de estas
caracter´ısticas y se obtiene siguiendo los pasos descritos en la arquitectura.
Dicho Esquema, una vez seguidos estos pasos, se obtendr´a en dos formatos
diferentes, uno como esquema SQL o FSQL dependiendo de la vista en que lo
queramos obtener, y otro como ontolog´ıa definida en el lenguaje OWL (com-
prensible para la Web).
Gracias a este doble formato las posibilidades de definici´on e interacci´on
de un esquema de bases de datos con el entorno se multiplican de forma expo-
nencial, ya que la representaci´on del esquema en forma de ontolog´ıa se ve libre
de dependencias con los SGBDR en donde se pudieran hallar almacenados. A
continuaci´on se detallan los diferentes casos que se pueden presentar entre los
diferentes SGBDRD gracias a esta propuesta.
Definir un Esquema de BDD en SGBDR Heterog´eneos Es posi-
ble, una vez definida la Ontolog´ıa del Esquema de BD, que dicho esquema
sea definido en cualquier SGBDR con capacidades Difusas, siendo indiferente
el SGBDR comercial de que se trate, ya que las particularidades del mismo
son transparentes al usuario. La figura 5.19 ilustra dicha aplicaci´on. Para lle-
var ´esto a cabo es necesaria la definici´on de la ontolog´ıa y posteriormente su
declaraci´on en el SGBDR tal y como se describe en este cap´ıtulo.
Esta operaci´on es la m´as sencilla y habitual para definir cualquier BDD y
uno de los principales objetivos alcanzados en este trabajo.
Exportar un Esquema de BDD a cualquier SGBDR Es posible, gra-
cias a la utilizaci´on de la Ontolog´ıa del Esquema el portar esquemas de BD
entre diferentes SGBDR. Dicho proceso implica la exportaci´on del esquema
164 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
SQL Server
SGBDRs
ONTOLOGÍA
DELESQUEMA
DB2
PostgreSQL SyBase
Oracle MySQL
...
Figura 5.19: Definici´on de Esquemas de BDD en SGBDR Heterog´eneos
definido en un SGBDR concreto al formato de instancias de la Ontolog´ıa del
Cat´alogo descrito en la arquitectura y a continuaci´on el proceso de definici´on
del mismo en cualquier otro SGBDRD distinto. Ni siquiera har´ıa falta su tra-
ducci´on a forma de Ontolog´ıa del Esquema. La figura 5.20 muestra el proceso
de forma gr´afica.
Este proceso es habitual en las migraciones de BD, a otros sistemas m´as
actuales o simplemente a otros SGBDS comerciales. Esta operaci´on requiere
implementar el proceso de convertir una BDD a Ontolog´ıa del Cat´alogo (fun-
cionalidad que actualmente habr´ıa que hacer de forma manual y que se deja
planteada como un trabajo futuro).
Unificar Esquemas Complementarios Esta aplicaci´on consiste en la posi-
bilidad de Unificar Esquemas definidos o distribuidos en diferentes SGBDs y
cuya informaci´on representada no coincide en contenido sem´antico puesto que
representan realidades diferentes. En la figura 5.21 puede observarse c´omo el
esquema final ser´a una uni´on de los esquemas iniciales.
Este proceso suele ser utilizado para aunar BDD diferentes en un mismo
entorno. Se lleva a cabo a trav´es del uso de una ontolog´ıa que contiene definidos
todos los conceptos de las BDDs de origen. Dicha ontolog´ıa unir´a las repre-
sentaciones de las BDDs en forma de instancias de la Ontolog´ıa del Cat´alogo.
A partir de la ontolog´ıa que une los esquemas, se genera bien otro SGBDRD
con la estructura final o bien, se trabaja directamente con la misma.
Unificar Esquemas Compatibles Esta ´ultima opci´on es la m´as compleja
de las anteriores y la ´unica cuya puesta en marcha no ser´ıa inmediata. Se trata
de combinar dos SGBDRD que contiene conceptos sem´anticamente similares.
5.4. CASOS DE USO DE LA ARQUITECTURA 165
INSTANCIAS
DE LA
ONTOLOGÍA
DEL CATÁLOGO
SQL Server
SGBDRs
DB2
PostgreSQL SyBase
Oracle MySQL
...
SGBDR
CUALQUIERA
Figura 5.20: Exportaci´on de un Esquema de BDD a cualquier SGBDR
INSTANCIAS DE LA
ONTOLOGÍA
DELCATÁLOGO
A
SGBDR Cualesquiera
SGBDR Cualquiera
INSTANCIAS DE LA
ONTOLOGÍA
DELCATÁLOGO
B
ESQUEMAA ESQUEMAB
ESQUEMA A+B
Figura 5.21: Unificar Esquemas Complementarios
166 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Para llevar a cabo esta unificaci´on se requiere de la utilizaci´on de operaciones
sobre ontolog´ıas que permitan la identificaci´on de correspondencias entre con-
ceptos, tal como se ve en la figura 5.22. Este tipo de operaciones denominados
gen´ericamente de mezcla, b´usqueda de correspondencias o alineaci´on, se han
descrito en el apartado A.2.4 y son complejas y costosas, debido a los m´ulti-
ples par´ametros que han de ser tenidos en cuenta para identificar y relacionar
conceptos representados en esquemas diferentes que var´ıan desde conflictos de
tipos de datos, de nombres, de sem´antica, etc. (v´ease [Ma06] para conocer m´as
detalles sobre la problem´atica del unificado de esquemas).
Este proceso suele usarse para compartir informaci´on entre SGBDRD que
se encuentren distribuidas y compartan informaci´on o bien entre SGBDRD
diferentes que contengan informaci´on en com´un. Un ejemplo de uso podr´ıa
consistir en disponer de una BDD Universitaria con informaci´on acad´emica
de sus alumnos, y otra BDD de Jugadores de F´utbol, con informaci´on acerca
de las caracter´ısticas y resultados de cada uno los jugadores. Una combinaci´on
de ambas bases de datos permitir´ıa extraer informaci´on acerca, por ejemplo,
del rendimiento acad´emico del jugador en funci´on de su val´ıa como deportista,
o sacar cualquier otra conclusi´on a trav´es del uso de t´ecnicas de miner´ıa de
datos.
Para realizar esta operaci´on se necesita obtener la Ontolog´ıa del Esquema
de cada BDD y aplicar las operaciones anteriormente mencionadas sobre los
conceptos representados en las mismas. Este caso de uso implica el desarrollo
de un gran n´umero de aspectos te´oricos y se incluye como uno de los trabajos
futuros de esta tesis.
5.4.1.2. Interacci´on con Esquemas del Entorno
La informaci´on contenida en un esquema de BD incorpora todo el cono-
cimiento necesario para describir una parte de la realidad. Es por esto que
se considera comparable un esquema de BD, a cualquier ontolog´ıa de repre-
sentaci´on de un dominio, a cualquier modelos de datos orientados a objetos,
esquema en XML, folksonom´ıa, u otro modo de representaci´on de la realidad
que sea computacionalmente comprensible (l´ease apartado 2.3).
De esta forma, un Esquema de BDD no solamente interacciona con otros
Esquemas de BDDs a trav´es de los SGBDRD, sino que tambi´en puede hacerlo
con otras representaciones encontradas en otros entornos, compartiendo la
riqueza sem´antica de los conceptos que representa. Para ello la representaci´on
del Esquema de BDD en forma de ontolog´ıa (en OWL) es un arma excelente, ya
que es formato aceptado por la amplia mayor´ıa de la comunidad que representa
conocimiento en la Web (lugar d´onde se puede encontrar la mayor´ıa de las
representaciones de datos anteriormente expuestas).
5.4. CASOS DE USO DE LA ARQUITECTURA 167
ONTOLOGÍA
DELESQUEMA
A
SGBDRs Cualquiera
SGBDR Cualquiera
ONTOLOGÍA
DELESQUEMA
B
ONTOLOGÍA
DELESQUEMA
A+B
OPERACIONES SOBRE
ONTOLOGÍAS:
matching, alignment, merging, etc.
INSTANCIAS DE
LA O. CATÁLOGO
A
INSTANCIAS DE
LA O. CATÁLOGO
B
ESQUEMA A ESQUEMA B
ESQUEMA A+B
Figura 5.22: Unificar Esquemas Compatibles
168 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
Sin embargo, dada la naturaleza heterog´enea de las estructuras de infor-
maci´on que existen y con las que se puede interaccionar, las operaciones que
pueden realizarse con nuestra propuesta de representaci´on est´an supeditadas a
la incorporaci´on de herramientas que permitan la traducci´on de los diferentes
formatos a uno com´un comprensible por todas para que puedan interaccionar.
Una soluci´on puede consistir en el uso de OWL dada la amplia aceptaci´on
que tiene este lenguaje de representaci´on. As´ı, las operaciones que pueden rea-
lizarse con la Ontolog´ıa del Esquema de un BDD y el resto del entorno son
muy similares a las descritas anteriormente para los SGBDRDs, como vemos
a continuaci´on:
Publicaci´on de un Esquema de BDD Esta operaci´on consiste en aportar
al entorno, fundamentalmente Web, un nuevo tipo de informaci´on que pueda
enriquecer a la comunidad: un esquema de BDD. Dichos esquemas propor-
cionan una representaci´on de la realidad que puede ser procesable computa-
cionalmente y por consiguiente usada por agentes, usuarios u otros sistemas de
gesti´on del conocimiento para, por ejemplo, acceder a trav´es de herramientas
de consulta a la informaci´on deseada gracias a que la estructura de la informa-
ci´on est´a disponible. La figura 5.23 trata de ilustrar el proceso que lleva esta
publicaci´on del esquema de BDD.
Definir y publicar una BDD utilizando la Ontolog´ıa del Esquema es un
proceso inmediato (operaci´on descrita en [Bla07]). Sin embargo, traducir a
otros formatos requerir´ıa la elaboraci´on de los traductores pertinentes (´ambito
que no compete a este trabajo de tesis).
Definici´on de Esquemas de BDD a partir de un Esquema Cualquiera
Esta operaci´on trata de incorporar a un modelo de BD Relacional Difuso un
esquema no relacional. Para realizar este proceso, ser´ıa necesario la generaci´on
de la Ontolog´ıa del Esquema a partir de los conceptos obtenidos de cualquier
otro tipo de representaci´on. En la figura 5.24 se muestra el sentido del flujo
de informaci´on. Una vez obtenida la Ontolog´ıa del Esquema ser´ıa traducida a
instancias de la Ontolog´ıa del Cat´alogo y a continuaci´on al SGBDRD corres-
pondiente.
Esta herramienta puede ser muy ´util en aquellos casos en los que la cantidad
de informaci´on a representar sea demasiado grande, y se determine que un
SGBDR har´ıa una gesti´on mas eficiente de la misma.
Esta operaci´on requiere la implementaci´on de traductores que representen
la estructura de datos pertinente en una Ontolog´ıa del Esquema adecuada. Su
desarrollo se pospondr´a para trabajos futuros.
5.4. CASOS DE USO DE LA ARQUITECTURA 169
ONTOLOGÍA
DELESQUEMA
Ontologias
Semantic Web
O
SGBDR
Figura 5.23: Incorporar a la Web un Esquema de BDD
ONTOLOGÍA
DELESQUEMA
HERAMIENTA
DE
CONVERSION
Ontologias
Semantic Web
XMLSchemas
Web 2.0
Folksonomias
INSTANCIAS
DE LA
ONTOLOGÍA
DEL CATÁLOGO
SGBDR
SGBDR
Figura 5.24: Definici´on de un Esquema de BDD a partir de cualquier tipo
de Esquema
170 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
ONTOLOGÍA
DELESQUEMA
HERAMIENTA
DE
UNIFICACION Ontologias
Semantic Web
XMLSchemas
Web 2.0
Folksonomias
INSTANCIAS
DE LA
ONTOLOGÍA
DEL CATÁLOGO
SGBDR
SGBDRs
Figura 5.25: Combinaci´on de Fuentes Heterog´eneas
Combinaci´on de Esquemas a partir de Fuentes Heterog´eneos Se
plantea la posibilidad de generar un Esquema a partir de esquemas prove-
nientes de fuentes heterog´eneas, tal y como puede verse en la figura 5.25. Para
realizar esta operaci´on es necesario adem´as de la traducci´on de los diferen-
tes esquemas a un lenguaje com´un, como podr´ıa ser el OWL, un mecanismo
de interpretaci´on de conceptos, tal y como ocurr´ıa en el proceso de Unificar
Esquemas Compatibles descrito en el subapartado anterior. Dicho mecanismo
debe identificar los conceptos representados en los diferentes esquemas, re-
solviendo los posibles conflictos que puedan darse. Este proceso es costoso y
complejo, pero en la actualidad es un problema muy estudiado en el ´ambito
de la combinaci´on de ontolog´ıas.
La utilidad de esta operaci´on reside en la posibilidad de obtener una on-
tolog´ıa nueva a partir de diversas fuentes de informaci´on con independencia
de la estructura que las describa. Esta nueva representaci´on en forma de On-
tolog´ıa del Esquema de una BDRD permite adem´as de la gesti´on eficiente de
los datos que forman parte de los mismos en un SGBDR, compartir informa-
ci´on entre fuentes de datos heterog´eneas a trav´es de una ´unica representaci´on
de datos.
La posibilidad de representar informaci´on imprecisa aporta flexibilidad a
la hora de resolver conflictos en el proceso de unificaci´on de conceptos. Sin
embargo, dada la complejidad de esta tarea se plantea su desarrollo como un
trabajo futuro.
5.4. CASOS DE USO DE LA ARQUITECTURA 171
5.4.2. manipulaci´on de Datos
En las BBDD, tanto la estructura de la informaci´on como la informaci´on
en s´ı cobran la misma importancia. A pesar de que el valor de la informaci´on
se obtiene a trav´es de los datos almacenados, la obtenci´on del conocimiento
posterior depender´a de la correcta organizaci´on de los mismos. De este modo,
la representaci´on de los datos en la BDD juega un papel fundamental.
A pesar de que una ontolog´ıa no es el mecanismo m´as adecuado para mani-
pular la informaci´on, dado que los SGBDs hacen una gesti´on m´as eficiente de
la misma, las ontolog´ıas permiten la definici´on de dicha informaci´on en forma
de instancias. Si se pretende realizar las mismas operaciones de manipulaci´on
de datos sobre las ontolog´ıas que sobre un SGBDR entonces se requiere una
descripci´on del esquema de datos f´acilmente legible para el usuario, aislando
al mismo de cualquier detalle de implementaci´on donde dicha informaci´on este
almacenada, para permitirle realizar las tareas de inserci´on y consulta. Es por
esto que una Ontolog´ıa del Esquema que represente la informaci´on descrita en
un SGBDRD aporta una gran utilidad para desarrollar esta tarea.
5.4.2.1. Inserci´on de Datos
A continuaci´on se analizan las operaciones que aporta la Ontolog´ıa del
Esquema aporta a la hora de manipular la informaci´on imprecisa almacenada
en un SGBDRD. Estas operaciones son las referentes al proceso de inserci´on
de datos (INSERT en SQL) en los SGBDRDs .
Definici´on de Datos Esta operaci´on consiste en utilizar la ontolog´ıa co-
mo plataforma para definir una nueva tupla de datos. Dicha tupla de datos
ser´a definida mediante la instanciaci´on de la Ontolog´ıa del Esquema corres-
pondiente. Una vez definida dicha informaci´on, se har´a el traspaso de la misma
al SGBDRD deseado utilizando las herramientas que proporciona la arquitec-
tura.
Esta operaci´on suele utilizarse cuando el n´umero de datos a insertar no es
muy elevado (para lo cual se utilizar´ıan scripts). Tambi´en puede resultar intere-
sante si se mantienen copias simult´aneas de la BDD en diferentes plataformas
SGBDs, tal y como se mostraba en la figura 5.19.
Esta operaci´on si ha sido implementada en este trabajo.
Exportaci´on de Datos a otros SGBDS Al igual que ocurr´ıa con los
esquemas, v´ease la figura 5.20, los datos tambi´en pueden ser portados de un
SGBDRD a otro diferente. La migraci´on de la informaci´on contenida en la mis-
ma a trav´es del uso de la ontolog´ıa puede ahorrar mucho esfuerzo en el proceso
172 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
puesto que evita la elaboraci´on de ficheros que busquen las incompatibilidades
entre los sistemas origen y destino. Para llevarse a cabo es requisito que el
sistema pueda generar una ontolog´ıa a partir de un SGBDRD (competencia
no incluida en este trabajo).
Inserci´on de datos a partir de fuentes heterog´eneas Esta operaci´on
consiste en incluir datos a un SGBD a partir de otras fuentes, posiblemente en-
contradas en la Web. Esta operaci´on consistir´ıa en primer lugar en la adaptaci´on
del esquema donde est´an los datos en origen al modelo de Ontolog´ıa del Es-
quema de la arquitectura. A continuaci´on la inserci´on de datos en el mismo
ser´ıa perfectamente compatible.
Los inconvenientes que se pueden encontrar a la hora de realizar esta opera-
ci´on residen en la adaptaci´on de un Esquema cualquiera al modelo de Ontolog´ıa
del Esquema adoptado en nuestro sistema. Dicha operaci´on puede tener dos
casu´ısticas:
Que la BDD u Ontolog´ıa del Esquema correspondiente no exista previa-
mente. Para lo cual no existir´ıa ning´un problema, puesto que el proceso
consistir´ıa simplemente en crear el Esquema en primer lugar, a partir de
dicha fuente, tal y como se describe en el subapartado anterior Defini-
ci´on de Esquemas de BDD a partir de un Esquema Cualquiera (figura
5.24), y a continuaci´on transportar los datos entre plataformas.
Que la BDD u Ontolog´ıa del Esquema correspondiente exista previ-
amente. Este proceso requiere la operaci´on de unificaci´on de esque-
mas, descrita en el subapartado, Combinaci´on de Esquemas a partir de
Fuentes Heterog´eneos (figura 5.25).
Ninguna de estas dos alternativas se ha desarrollado en este trabajo de
tesis, y queda planteada como trabajo futuro.
5.4.2.2. Consulta
Consulta a un ´unico SGBDRD Es la operaci´on de consulta com´un, que
en lugar de realizarse directamente a trav´es del SGBDR utilizando el lenguaje
FSQL, se realiza a trav´es de la ontolog´ıa (v´ease figura 5.26). Ser´a esta ´ultima la
que proporcione el c´odigo en OWL necesario para que la fase correspondiente
de la Arquitectura de Consulta lo traduzca en dicho lenguaje FSQL y lo lance
al SGBDRD correspondiente.
Esta operaci´on realizada a trav´es de la ontolog´ıa es independiente de las
restricciones que imponga el SGBDRD a la hora de realizar la consulta, ya que
dicha consulta se genera utilizando el c´odigo OWL de la Ontolog´ıa del Esquema
5.4. CASOS DE USO DE LA ARQUITECTURA 173
GENERADOR
DECONSULTA
ONTOLOGIA
DEL ESQUEMA
SGBDRs
Figura 5.26: Consulta a un SBDRD ´unico
GENERADOR
DECONSULTA
ONTOLOGIA
DELESQUEMAA
SGBDR 2
BDDB
SGBDR 1
BDD A
SGBDR 3
BDD C
Figura 5.27: Consulta a SGBDRD con el mismo Esquema
y a trav´es de una aplicaci´on de traducci´on ser´a el Interprete o Adaptador del
SGBD el encargado de resolver estas cuestiones.
Esta tarea se resuelve en este trabajo de tesis.
Consulta entre SGBDRD con el mismo Esquema Esta operaci´on se
dar´ıa en entornos cuyos datos est´an repartidos en diferentes plataformas SGB-
DRD pero que comparten el mismo Esquema de Informaci´on, tal como se ve
en la figura 5.27. La consulta a trav´es de la Ontolog´ıa del Esquema permitir´ıa
conectar con todos los sistemas cuya informaci´on se desea obtener y devolver
a usuario de forma transparente el resultado en un ´unico formato.
Este caso ser´ıa muy f´acilmente tratable puesto que su desarrollo no tiene
ning´un coste computacional a excepci´on de la uni´on del resultado dado por la
consulta en los sistemas particulares donde ha sido lanzada.
174 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
GENERADOR
DECONSULTA
ONTOLOGIA
DEL ESQUEMA
A+B+ C
SGBDR 2
BDDB
SGBDR 1
BDD A
SGBDR 3
BDD C
Figura 5.28: Consulta a SGBDRD con Esquemas Complementarios
Consulta entre SGBDRD con Esquemas Complementarios Esta ca-
su´ıstica se dar´ıa en consultas que desean buscar informaci´on sobre sistemas
que contienen informaci´on complementaria. Este es el mismo caso expuesto
en el subapartado anterior Unificar Esquemas Complementarios ilustrado en
la figura 5.21. En dicho caso, ´unicamente ser´ıa necesario la generaci´on de la
consulta utilizando la Ontolog´ıa del Esquema que engloba cada uno de los
esquemas involucrados. En la figura 5.28 se ilustra dicha operaci´on.
Consulta entre SGBDRD con Esquemas Compatibles En esta ocasi´on
se desea consultar informaci´on sobre varios esquemas que contienen informa-
ci´on com´un o similar. Este hecho obliga a desarrollar una ontolog´ıa unificada
donde existan conceptos que comparten el mismo significado (tal y como se
vio en el apartado Unificar Esquemas Compatibles ilustrado en la figura 5.22
y en este caso en la figura 5.29. Una vez los esquemas han sido adaptados y
generada una ´unica Ontolog´ıa del Esquema que aune a las participantes en
la consulta, la consulta podr´a ser realizada y el resultado devuelto al usuario
final.
Dicha operatividad supone un gran costo dada la complejidad y naturaleza
del problema, tal y como especificamos en el anterior apartado y se plantea
como un trabajo a realizar en un futuro.
Consulta al Entorno de Esquemas Heterog´eneos Esta operaci´on pro-
pone la consulta de informaci´on a cualquier esquema fuente de datos, sin im-
portar que sea relacional o contenga datos difusos. En este caso, y tal y como se
describi´o para la Combinaci´on de Esquemas a partir de Fuentes Heterog´eneas
descrita en la figura 5.25 se considera necesaria, una primera adaptaci´on a
5.4. CASOS DE USO DE LA ARQUITECTURA 175
GENERADOR
DECONSULTA
ONTOLOGIA
DELESQUEMA
UNIFICADA
SGBDR 2
BDDB
SGBDR 1
BDDA
SGBDR 3
BDD C
Figura 5.29: Consulta a SGBDRD con Esquemas Compatibles
ontolog´ıa en OWL de las distintas fuentes y una posterior generaci´on de una
Ontolog´ıa del Esquema com´un en las que se hallen identificados todos los ele-
mentos comunes encontrados en las mismas y las correspondencias entre los
diferentes elementos comunes. V´ease la figura 5.30 para ilustrar dicha opera-
ci´on.
Esta propuesta es la m´as completa de todas pero la puesta en marcha de
este problema ser´ıa comparable a la construcci´on de un buscador Web, y ser´ıa
un problema inabordable para ser resuelto en el ´ambito de este trabajo de
tesis.
176 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES
SGBDRs
INSTANCIA
ONTOLOGIA DE
CONSULTA
ONTOLOGIA
DELESQUEMA
Ontologias
Semantic Web
XMLSchemas
Web 2.0
Folksonomias
SGBDOOs
Figura 5.30: Consulta a SGBDRD con Esquemas Heterog´eneos
Cap´ıtulo 6
Conclusiones y Trabajos
Futuros
6.1. Conclusiones
Extensi´on de los Sistemas de Gesti´on de Bases de Datos Rela-
cionales
Los Sistemas de Gesti´on de Bases de Datos en la actualidad est´an siendo
extendidos continuamente. El a˜nadir la gesti´on de informaci´on imprecisa a los
mismos no supone un gran coste, tal y como se ha probado en numerosos
modelos. Sin embargo, extender el SGBDR para incrementar el n´umero de
operaciones con dicha informaci´on imprecisa no es un proceso tan com´un.
En este trabajo se ha propuesto de manera te´orica una Arquitectura Mul-
tiprop´osito para la unificaci´on de extensiones realizadas a SGBDR Difusas.
Dicha arquitectura se ha basado concretamente en dos extensiones: la que
permite deducir sobre informaci´on difusa, y la que a˜nade t´ecnicas de mi-
ner´ıa de datos sobre un SGBD difuso. Las extensiones planteadas con este
prop´osito hab´ıan sido implementados ad hoc, teniendo en cuenta, ´unicamente,
los par´ametros planteados a priori, y obviando el hecho de que ambas propues-
tas se basaban en el mismo modelo te´orico GEFRED y arquitectura FIRST,
provocando as´ı una incompatibilidad entre sistemas innecesaria.
La Arquitectura Multiprop´osito propuesta permite aumentar en gran parte
la operatividad de la Base de Datos Difusa, en el sentido de que hace posible
la combinaci´on de operaciones deductivas y de miner´ıa de datos mediante el
uso de cualquiera de las estructuras definidas en las mismas. As´ı, es posible la
ejecuci´on de operaciones de diversa ´ındole como el uso de reglas l´ogicas para
almacenar resultados de miner´ıa de datos (DM), o el uso de tablas intensivas
177
178 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS
para hacer c´alculos de DM, etc. que aumentan en gran medida la capacidad
de consulta del sistema.
Pero la unificaci´on de dichas extensiones devuelve como resultado una ar-
quitectura de SGBD sumamente compleja, dado que adem´as de las relaciones
del cat´alogo necesarias para la representaci´on de cada arquitectura, la comu-
nicaci´on entre ellas requiere de la inclusi´on de otras nuevas. Lo que provoca a
priori un alto coste de recursos en la tarea de comprensi´on del sistema.
Adem´as, sobre cada implementaci´on de la arquitectura se establecen res-
tricciones propias del SGBD sobre el que ha llevado a cabo, ya que cada SGBD
tiene su propia estructura del cat´alogo, restricciones de acceso, particularida-
des de lenguaje que implementa, etc. Dichas restricciones establecen un vinculo
nada deseable con el sistema concreto. Este es el caso de las implementaciones
que ya se encuentran desarrolladas, que utilizan Oracle c como SGBDR y
PL/SQL para la implementaci´on de su funcionalidad. Dicho sistema no es
portable y ´unicamente puede ser usado para esta plataforma.
Todos estos problemas han desembocado en un proceso de ingenier´ıa in-
versa consistente en buscar soluciones que faciliten la compresi´on del sistema,
para hacer menos dificultosa la tarea de definici´on de informaci´on sobre el
mismo. La soluci´on encontrada se basa en el uso de Ontolog´ıas.
Uso de una Ontolog´ıa para Representar BD Difusas
La utilizaci´on de ontolog´ıas es una pr´actica que actualmente esta dando
resultado en el campo de la inteligencia artificial a la hora de representar el
conocimiento de forma sencilla y portable. Dicha metodolog´ıa consiste en una
representaci´on jer´arquica de un Universo del Dominio concreto que permite al
usuario utilizar, compartir y representar el conocimiento de forma comprensi-
ble. Dicho conocimiento puede consistir tanto en un campo espec´ıfico, como en
la representaci´on de metaconocimiento que define las estructuras que permiten
establecer las caracter´ısticas de la informaci´on que va a ser almacenada.
Por otro lado, hoy d´ıa gran parte de la informaci´on disponible, y la gran
mayor´ıa de las aplicaciones se utilizan a trav´es de la Web, estando as´ı dispo-
nibles en cualquier lugar y momento sin necesidad de instalar nada m´as que
un simple navegador. La Web Sem´antica, un nuevo entramado de servicios de
Internet, consiste en dotar de sem´antica a cada contenido encontrado en la
misma y utiliza principalmente ontolog´ıas para acometer dicho prop´osito.
De esta forma las ontolog´ıas han cobrado la suficiente relevancia para
generar un gran n´umero de lenguajes (casi estandarizados), herramientas de
desarrollo y servicios asociados a las mismas, convirti´endose as´ı, en el principal
mecanismo de representaci´on del conocimiento utilizado en la actualidad.
En este trabajo se ha propuesto una Ontolog´ıa Representacional como
6.1. CONCLUSIONES 179
soluci´on a los problemas surgidos en la Arquitectura Multiprop´osito. De esta
forma, la representaci´on de la arquitectura en forma de ontolog´ıa permite ais-
lar de una representaci´on de informaci´on vinculada a un SGBDR concreto y
adem´as, generaliza los conceptos modelados en arquitectura, simplificando su
representaci´on y posibilitando a su vez que cualquier usuario sea capaz de in-
terpretar la informaci´on sin necesidad de ser un experto del modelo relacional.
Evidentemente, el proceso de representaci´on del Servidor de BDD Multi-
prop´osito Unificado debe pasar por una serie de fases. En concreto, se han
diferenciado tres: una primera para la representaci´on de la informaci´on difusa,
la segunda para la representaci´on de la informaci´on l´ogica-deductiva, y por
´ultimo la representaci´on de las diferentes estructuras de datos y t´ecnicas que
permiten realizar tareas de miner´ıa de datos sobre un SGBD.
El trabajo que se ha presentado en esta tesis aborda la primera fase. Dicha
fase, que consiste en el modelado de la informaci´on imprecisa, ha permiti-
do comprobar la viabilidad de esta propuesta, identificando las dificultades
encontradas y las herramientas o metodolog´ıas de representaci´on m´as id´oneas.
Ontolog´ıa para la Representaci´on del Conocimiento Difuso
La Ontolog´ıa para la Representaci´on del Conocimiento Difuso, como se
ha denominado, ha simplificado el proceso de representaci´on de informaci´on
difusa haci´endolo m´as sencillo e intuitivo. La jerarqu´ıa de clases que forma
la ontolog´ıa, ha permitido la diferenciaci´on clara de cada elemento de infor-
maci´on: atributos, relaciones, dominios de atributos, etiquetas ling¨u´ısticas,
valores discretos, y sobre todo, los tipos de datos b´asicos o cl´asicos han podi-
do ser definidos de forma gen´erica e independiente del entorno en el que son
representados.
El inconveniente encontrado en la ontolog´ıa se halla en la gran disociaci´on
que existe entre el proceso de definici´on de estructuras, y el proceso de defini-
ci´on o inserci´on de informaci´on. Dicha disociaci´on, que en sistemas de bases
de datos es apenas perceptible, en la ontolog´ıa se manifiesta de forma que es
necesario definir por un lado la estructura de la informaci´on, tablas, atribu-
tos, dominios, restricciones de datos, restricciones de tipos de datos, etc. en
forma de instancias. Y, por otro lado, un conjunto de nuevas clases genera-
das a partir de las definiciones anteriores, que permitan la inserci´on de las
tuplas de informaci´on a trav´es de su instanciaci´on. La representaci´on de la
estructura de la informaci´on se ha denominado Ontolog´ıa del Cat´alogo. Esta
metaontolog´ıa representa toda la estructura del modelo relacional extendida
para la representaci´on de datos difusos. Por otro lado, la representaci´on de una
BD concreta, descrita en forma de instancias de dicha Ontolog´ıa del Cat´alogo
se denomina Ontolog´ıa del Esquema en el momento en que dichas instancias
180 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS
se convierten en clases y atributos y permiten ser instanciables para as´ı poder
contener la misma informaci´on contenida en las tuplas de una BDD.
El problema reside en que la definici´on de dichas clases (a pesar de utilizar
una metaontolog´ıa) tiene que ser expl´ıcita y realizarse de manera manual en
gran parte del proceso. Otro problema encontrado consiste en que dicha diso-
ciaci´on provoca que la definici´on de un gran n´umero de restricciones sobre las
estructuras no sea aplicable en las clases generadas para el almacenamiento
de la informaci´on en la ontolog´ıa. Dichas restricciones (como las que permiten
la inserci´on de valores ´unicos, nulos, de clave primaria, de clave ajena, o de
tipos de datos) no se pueden mantener o establecer en la ontolog´ıa (dada la
naturaleza de la misma), y pueden provocar un gran problema en la integridad
de la informaci´on. Este problema puede ser resuelto de forma parcial mediante
el uso de razonadores para encontrar incompatibilidades en la definici´on de la
informaci´on.
Otra soluci´on para reducir el n´umero de restricciones consiste en el desa-
rrollo de un m´etodo que permite la generaci´on autom´atica de la Ontolog´ıa del
Esquema a partir de su definici´on sobre la Ontolog´ıa del Cat´alogo. Este proceso
intenta incluir en la Ontolog´ıa del Esquema basada en OWL el mayor n´umero
de restricciones, como: restricci´on sobre el tipo de dato que puede contener un
atributo, restricci´on sobre el n´umero de valores asociado a un atributo a uno
solo, restricci´on sobre los valores que un tipo difuso 3 puede contener, etc. Sin
embargo, la mejor soluci´on est´a a posteriori, cuando la estructura generada es
trasladada a un SGBD real, siendo los mecanismos de integridad implementa-
dos por el propio SGBD los encargados de velar por el cumplimiento de dichas
restricciones.
De cualquier forma, y a pesar de esta desventaja, la representaci´on de la
arquitectura unificada a trav´es de una ´unica ontolog´ıa permite demostrar la
viabilidad de una representaci´on de nuevos tipos de informaci´on de una forma
m´as simple que la que proporcionan los SGBD y c´omo, a trav´es de un interfaz
adecuado, la definici´on de la misma puede llevarse a cabo de forma efectiva y
sencilla para el usuario.
Herramientas para la explotaci´on de la Ontolog´ıa
Se debe tener en cuenta que la creaci´on de la Ontolog´ıa para la Repre-
sentaci´on del Conocimiento Difuso consiste b´asicamente en una ayuda en el
proceso de definici´on de la informaci´on, considerado como el m´as costoso. A
este proceso habr´a que a˜nadir el de ayuda a la elaboraci´on de consultas sobre
datos difusos en un SGBD Extendido. Para ello se han desarrollado una serie
de aplicaciones:
6.1. CONCLUSIONES 181
Herramienta para definir estructuras del Cat´alogo: esta herramienta basa-
da en tecnolog´ıa web, permite la definici´on de las estructuras necesarias
para permitir el almacenamiento de BDD en cualquier SGBD. En la mis-
ma interfaz se permite hacer una consulta del contenido del cat´alogo.
Herramienta para definir esquemas de BDRD: esta herramienta permite
definir esquemas de BDRD de manera guiada al usuario que no tiene
por qu´e conocer las particularidades del sistema donde dicha informa-
ci´on vaya a ser almacenada. Incluso el usuario puede ser ajeno a las par-
ticularidades del lenguaje de ontolog´ıas, gracias al uso de asistentes que
permitan realizar las correspondientes definiciones bas´andose en la on-
tolog´ıa. Esta herramienta est´a implementada mediante tecnolog´ıas web,
y tambi´en como extensi´on a la herramienta de gesti´on integral de on-
tolog´ıas Prot´eg´e. Adem´as permite la gesti´on de los esquemas a trav´es de
la ontolog´ıa de manera simult´anea con varios SGBDR.
Herramienta de consulta sobre esquemas de BDRD: esta herramienta
permite guiar la consulta sobre un esquema de BDD que se encuentra
representado en forma de ontolog´ıa. Dicha interfaz de consulta propor-
ciona independencia del lenguaje de consulta necesario para manipular
datos difusos (y por consiguiente a las estructuras especiales que este
tipo de informaci´on requiere). El resultado ser´a una sentencia en FSQL
que podr´a ser lanzada sobre un SGBD que soporte dicha funcionali-
dad a trav´es del uso de herramientas como el FuzzyQuery2+ [Bla02b].
Est´a desarrollada como extensi´on de la plataforma Prot´eg´e.
Herramienta de definici´on de datos: esta herramienta ayuda al usuario
a definir tuplas de una BDD a trav´es del uso de su correspondiente On-
tolog´ıa del Esquema. Dicha herramienta permite visualizar de manera
intuitiva las instancias de la Ontolog´ıa del Esquema y volcarlas al SGB-
DRD correspondiente de manera directa. A su vez tambi´en permitir´a co-
municarse con diversos SGBDRD heterog´eneos de manera simult´anea.
Est´a desarrollada como extensi´on de la plataforma Prot´eg´e.
La utilizaci´on de herramientas a trav´es de Web evita al usuario la necesi-
dad de instalar otro tipo de aplicaciones para definir la informaci´on sobre un
SGBDR concreto, adem´as de incorporar la posibilidad de usarlas en remoto.
Sobre la utilizaci´on de la herramienta Prot´eg´e para desarrollar las aplica-
ciones se ha argumentado mucho a lo largo de este trabajo. Resumiendo, se
trata de un entorno que facilita la incorporaci´on de nuevas operaciones a su
entorno, a su vez aporta un gran n´umero de bibliotecas de funciones y m´eto-
dos para gestionar las ontolog´ıas representadas sobre dicha herramienta. Por
182 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS
otro lado, presenta una interfaz intuitiva, una representaci´on eficiente de las
ontolog´ıas en diversos lenguajes que, junto con otras caracter´ısticas hacen que
la herramienta sea una de las m´as conocidas y extendidas de la comunidad.
En cuanto a la elecci´on del lenguaje para la representaci´on de la ontolog´ıa,
se ha seleccionado OWL-Full debido a que permite definir metadatos. A su
vez, es el m´as extendido gracias a sus otras dos representaciones de naturaleza
m´as restrictiva (OWL-DL y OWL-Lite) y a que est´a orientado a la web. Gra-
cias a estas cualidades dicho lenguaje es implementado por un gran n´umero de
herramientas que bien trabajan con el, bien son capaces de importarlo o expor-
tarlo. Todas estas ventajas lo convierten en la opci´on m´as atractiva para llevar
a cabo la representaci´on de la Ontolog´ıa de Representaci´on del Conocimiento
Difuso.
6.2. Beneficios de la Propuesta
Gracias a las propuestas planteadas en este trabajo, el Servidor Multi-
prop´osito y la Ontolog´ıa para la Representaci´on del Conocimiento Difuso, se
han obtenido una serie de ventajas. Dichas ventajas, resumidas a continuaci´on,
se encuentran clasificadas en funci´on de los beneficios proporcionados por la
propuesta te´orica o por la implementaci´on realizada de la misma.
Ventajas Provenientes de la Propuesta Te´orica
La extensi´on de un SGBDR para manipular datos imprecisos y otro tipo
de operaciones de forma conjunta, tal y como se ha propuesto con la
Arquitectura Multiprop´osito, permite multiplicar las posibilidades de ex-
plotaci´on de la informaci´on difusa sobre un SGBDR a la vez que confiere
al sistema una mayor escalabilidad.
La definici´on de la Ontolog´ıa de Representaci´on del Conocimiento Di-
fuso ha permitido definir una interfaz entre el SGBDRD y el usuario
de tal forma que, aisla al esquema de BDD y al mismo usuario de las
representaciones particulares que hacen los diferentes SGBDR en los que
la informaci´on es representada.
El uso de la Ontolog´ıa de Representaci´on del Conocimiento Difuso sim-
plifica al usuario el proceso de definici´on de datos difusos, puesto que
lo aisla de las particularidades de representaci´on que tienen los datos
difusos.
El uso de la Ontolog´ıa de Representaci´on del Conocimiento Difuso para
representar un esquema de BD permite portar dicha representaci´on a
6.2. BENEFICIOS DE LA PROPUESTA 183
cualquier SGBD Relacional.
Se puede publicar la estructura de un esquema de BD en Internet sim-
plemente con su representaci´on en forma de ontolog´ıa, y acceder a la
informaci´on de dicha base de datos utilizando interfaces gen´ericos de
consulta como el ISQLPlus c .
Una ontolog´ıa que representa a una BD Relacional permite representar
sem´anticamente una interfaz web que carezca de dicha sem´antica asoci-
ada, debido a que sus datos se obtienen gracias a una consulta realizada
a trav´es de un formulario Web. La ontolog´ıa estar´a incluida en el sitio
web d´onde se encuentre dicho formulario.
El uso de Ontolog´ıas del Esquema permite, mediante mecanismos de
unificaci´on y b´usqueda de correspondencias, intercambiar informaci´on
entre fuentes de datos heterog´eneas (desde diferentes esquemas almace-
nados en SGBDs hasta esquemas con diferente tipo de representaci´on al
margen del modelo relacional).
La ontolog´ıa propuesta permite extender la representaci´on de los SGB-
DD con otras operaciones o estructuras, de forma sencilla e intuitiva,
dada la generalidad con la que representa la informaci´on en este medio.
Ventajas Provenientes de la Implementaci´on de la Ontolog´ıa
La propuesta de la Arquitectura de Comunicaci´on Unificada, que es-
tablece la comunicaci´on entre el usuario con la ontolog´ıa y los SGBDRD,
contempla todas las alternativas en el proceso de definici´on de informa-
ci´on de una BDD sean cuales sean las caracter´ısticas del SGBDR sobre
el que dicha BDD vaya a ser definida.
La utilizaci´on de una interfaz web para manipular la ontolog´ıa del Cat´alo-
go/Esquema permite al usuario utilizar un simple navegador para operar
sobre las mismas adem´as de ejecutar los procesos de definici´on en remoto.
La elecci´on de Prot´eg´e como entorno para desarrollar la herramienta de
definici´on de Bases de Datos Difusos, aporta los beneficios propios que
tiene dicho entorno (interfaz colaborativa, intuitiva, extensible, etc.) a
las utilidades implementadas a˜nadidas a dicha herramienta.
La herramienta de consulta facilita al usuario la definici´on de una con-
sulta en FSQL. As´ı el usuario no tiene la necesidad de conocer las par-
ticularidades de este lenguaje. Esta consulta s´olo podr´a ser utilizada
184 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS
sobre SGBDRD que dispongan de la implementaci´on que interprete este
lenguaje de consulta extendido.
La interfaz de definici´on de esquemas proporciona asistentes que gu´ıan al
usuario a la hora de definir un esquema de bases de datos, simplificando
as´ı el proceso adem´as de aislar a dicho usuario de los detalles espec´ıficos
de representaci´on de datos difusos.
La interfaz web de definici´on de estructuras del cat´alogo permite re-
presentar las estructuras de datos que necesita un SGBDR cualquiera
para almacenar datos difusos. Dicha interfaz permite esta definici´on de
manera inmediata y remota.
La interfaz de inserci´on de datos facilita el proceso de inserci´on de las
instancias definidas en la Ontolog´ıa del Esquema a la BDD, en caso
de ser necesario. Adem´as facilita la definici´on de las tuplas, aislando al
usuario de las particularidades de representaci´on de los datos difusos o
del lenguaje FSQL.
La herramienta de definici´on de esquemas o inserci´on de datos permite
conectar simult´aneamente a varios SGBDR, y por tanto realizar dichas
operaciones de forma paralela.
La interfaz web permite visualizar el esquema definido sobre la Ontolog´ıa
del Cat´alogo en OWL de forma estructurada y comprensible al usuario
(ignorando detalles de sintaxis que complican su interpretaci´on).
La generaci´on autom´atica de la Ontolog´ıa del Esquema a partir de las
instancias de la Ontolog´ıa del Cat´alogo facilita al usuario el trabajo de
definici´on de la misma adem´as de incluir de manera autom´atica un gran
n´umero de restricciones en dicha ontolog´ıa que facilitan la tarea de man-
tener la integridad de la informaci´on.
6.3. Trabajos Futuros
A continuaci´on se exponen algunas propuestas de trabajos futuros que sur-
gen a ra´ız de este trabajo de tesis, que dada su naturaleza y car´acter novedoso,
se encuentran en gran n´umero. Dichas propuestas se basan en extensiones a
este trabajo con el objetivo de ampliar los mecanismos de representaci´on y
gesti´on de informaci´on imprecisa, o en introducir mejoras a alguno de los ob-
jetivos alcanzados en la misma evaluadas a partir de los resultados obtenidos.
Las propuestas se clasificar´an en funci´on del objeto u operaci´on a extender:
6.3. TRABAJOS FUTUROS 185
Con Respecto a la Ontolog´ıa
La Extensi´on de la Ontolog´ıa de Representaci´on del Conocimiento di-
fuso para permitir representar informaci´on l´ogica para deducci´on sobre
los SGBDD. Para ello, deber´a establecerse una aproximaci´on a la repre-
sentaci´on de reglas l´ogicas con grado de acoplamiento difuso y los con-
ceptos de tablas intensivas y su interrelaci´on con las estructuras que
permiten representar el resto de informaci´on del modelo relacional y di-
fuso.
La Extensi´on de la Ontolog´ıa de Representaci´on del Conocimiento Difuso
para permitir representar datos con un dominio complejo. La definici´on
de dicho tipo de datos, permitir´a la posterior definici´on de las estruc-
turas necesarias para integrar operaciones de miner´ıa de datos sobre un
sistema de informaci´on. Para llevar ´esto a cabo ser´a necesario ampliar el
tipo de informaci´on que puede representarse en la ontolog´ıa y el l´ımite
de dominios que puede definir un atributo. Adem´as, las operaciones de
miner´ıa de datos que se pueden realizar sobre el sistema deber´an ser
definidas sobre la ontolog´ıas junto con sus par´ametros y restricciones,
al igual que se hace a trav´es del concepto de proyecto propuesto en la
extensi´on del SGBD, DmFirst.
Desarrollo de una Ontolog´ıa de Consulta que represente la informaci´on
implicada en dicha consulta, proveniente de la Ontolog´ıa del Esquema,
y las operaciones que intervienen en la misma. Esta ontolog´ıa se for-
mar´a a partir de una operaci´on de proyecci´on sobre la Ontolog´ıa del
Esquema, de esta forma se obtiene una sub-ontolog´ıa de la Ontolog´ıa
del Esquema origen donde las instancias de la misma pueden ser los
resultados de la ejecuci´on de la consulta. Dicha Ontolog´ıa de Consulta
permitir´a independizar la consulta de la herramienta donde se est´e eje-
cutando, convirti´endola as´ı en portable a cualquier entorno donde pueda
ser realizada y evitando vincular la misma ´unicamente a sistemas de
modelado relacional.
Con Respecto a la Implementaci´on
Desarrollo de una herramienta que implemente los asistentes para la
generaci´on de esquemas de BDD a trav´es de la Web como alternativa
a la utilizaci´on de la herramienta Prot´eg´e. De esta manera se indepen-
diza esta funci´on de la representaci´on particular que hace Prot´eg´e de las
ontolog´ıas, y del requerimiento de su instalaci´on para poder acceder a
dicha funcionalidad.
186 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS
Desarrollo de una herramienta de Consulta utilizando un entorno Web
como alternativa a la herramienta desarrollada en Prot´eg´e.
Desarrollo de una herramienta de Inserci´on de datos sobre la Ontolog´ıa
del Esquema utilizando un entorno Web como alternativa a la herra-
mienta desarrollada en Prot´eg´e.
Con Respecto a su Relaci´on con el Entorno. Casos de Uso.
Desarrollo de un mecanismo que permita establecer las correspondencias
entre una Ontolog´ıa del Esquema cualquiera en forma de instancias de
la Ontolog´ıa del Cat´alogo. Este proceso ser´a el inverso al visto en esta
tesis y conducir´a a una inmediata traducci´on de una Ontolog´ıa del Es-
quema proveniente de cualquier fuente a un SGBDRD. Por ejemplo, este
proceso sirve para que cualquier ontolog´ıa de la Web pueda ser definida
de manera inmediata en un SGBDRD siempre y cuando se establezca la
correspondencia entre dicha ontolog´ıa y la Ontolog´ıa del Cat´alogo. Una
vez definida la ontolog´ıa original como instancias de la Ontolog´ıa del
Cat´alogo, el proceso de comunicaci´on con el SGBDRD es inmediato.
Estudiar y desarrollar una herramienta para realizar el proceso de im-
portaci´on de un esquema establecido en un SGBDRD concreto en forma
de instancias de la Ontolog´ıa del Cat´alogo. Esta herramienta permitir´ıa
Exportar un Esquema de BDD a cualquier SGBDR.
Implementaci´on de operaciones que permitan la Unificaci´on de Ontolog´ıas
del Esquema. Se trata de estudiar y desarrollar alg´un mecanismo de
identificaci´on de elementos de Ontolog´ıas del Esquema diferentes que
representen conceptos similares. Si dicha identificaci´on es positiva, se
deben establecer reglas para definir las correspondencias ente conceptos
similares (por ejemplo: cambios de formato, rango, escala, etc.).
Desarrollar la operaci´on de unificaci´on de esquemas compatibles de SGB-
DR heterog´eneas. Esta operaci´on, descrita en el apartado 5.4, consiste en
combinar dos SBDRD que representen conceptos similares. Para ello se
utilizar´an procesos de identificaci´on de correspondencias entre conceptos
representados a trav´es de las Ontolog´ıas del Esquema correspondientes.
Una vez identificadas, realizar el proceso de mezcla de las mismas.
Definici´on de Esquemas de BDD a partir de un esquema cualquiera.
Consiste en desarrollar una herramienta capaz de realizar el proceso de
definici´on de un esquema cualquiera (un esquema XML, una folksonom´ıa
o una Ontolog´ıa cualquiera) en forma de instancias de Ontolog´ıa del
6.3. TRABAJOS FUTUROS 187
Cat´alogo. Para ello primero deber´an convertirse en una Ontolog´ıa del
Esquema y a partir de este momento hacer la identificaci´on de elemen-
tos (proceso descrito en el objetivo anterior). Una vez en este estado, se
proceder´a a la implantaci´on de dicho esquema en el SGBDRD corres-
pondiente.
Combinaci´on de Esquemas a partir de Fuentes de Datos Heterog´eneas. Se
trata de un caso de uso descrito el apartado 5.4, que pretende realizar una
representaci´on com´un para cualquier esquema incorporado en la Web y
de esta forma hacer toda la informaci´on compatible entre s´ı. Para llevar
a cabo esta operaci´on se requieren por un lado traductores de esquemas
cualesquiera a Ontolog´ıas del Esquema y por otro, la implementaci´on de
herramientas para la unificaci´on de Ontolog´ıas que representen conceptos
similares.
El resto de los casos de uso descritos en la secci´on 5.4, que no han sido
implementados en este trabajo de tesis, son combinaciones de las operaciones
que acaban de ser descritas como trabajos futuros en este apartado. Por tanto,
el desarrollo de cada uno de los casos de uso descritos en dicha secci´on 5.4, se
consideran trabajos futuros.
Con respecto al Servidor Multiprop´osito
Desarrollo de una biblioteca de funciones y m´etodos en un lenguaje de
programaci´on ampliamente aceptado (como Java o C) implementando
las capacidades funcionales para la gesti´on de datos difusos necesarias
para que cualquier SGBDR que no disponga de esta funcionalidad de
manera interna, pueda utilizar datos difusos y el lenguaje FSQL. De esta
manera se le conferir´a al sistema propuesto independencia del SGBDR
sobre el que se desee implantar. En el caso en que se desee ganar en
eficiencia lo conveniente ser´ıa realizar una implementaci´on concreta para
cada SGBDR que incluya un lenguaje incrustado propio para la gesti´on
de sus datos.
Extensi´on de la librer´ıa anterior para gestionar el Servidor SGBDRD
Multiprop´osito.
Otras Propuestas
Extensi´on del concepto de ontolog´ıa para a˜nadir imprecisi´on en la defini-
ci´on de algunos t´erminos, esto es, una Ontolog´ıa Difusa. Este concepto
188 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS
puede ser ´util sobre todo en ontolog´ıas generadas por procesos de unifi-
caci´on (merging) en los cuales los conceptos alineados puede que no
coincidan sem´anticamente al ciento por ciento.
Desarrollo de un modelo de representaci´on para almacenar eficiente-
mente la informaci´on que se encuentra definida sobre Ontolog´ıas de
Dominio OWL cualquiera en un SGBDR Difuso. Dichas representacio-
nes, denominadas OBDB, son las utilizadas en la actualidad por las
herramientas de representaci´on de Ontolog´ıas (Prot´eg´e, JENA, Sesame,
etc.) para almacenar las ontolog´ıas y sus instancias de las mismas en
forma de BD, pero sin tener en cuenta las particularidades de la infor-
maci´on representada. Un almacenamiento eficiente de dicha informaci´on
aportar´ıa una mayor eficiencia a la hora de trabajar con esos datos.
Ap´endice A
Conceptos B´asicos de
Ontolog´ıas
A.1. Introducci´on
Han surgido muchas definiciones del concepto de Ontolog´ıa, a partir de su
aparici´on como nueva t´ecnica de representaci´on del conocimiento en el campo
de la tecnolog´ıa de la informaci´on. Algunas de ellas las podemos encontrar
recopiladas en trabajos como el de G´omez-P´erez et al. [GP03a] donde se en-
cuentra un estudio muy detallado de los diferentes tipos de ontolog´ıas que
existen, y propone una metodolog´ıa para el desarrollo de las mismas, Agarwal
[Aga05] hace un repaso por la aparici´on del concepto de ontolog´ıa desde su sig-
nificado filos´ofico hasta el actual en el campo de la Ingenier´ıa del Conocimiento
o Sharman et al. [Sha06b] que revisa el concepto de ontolog´ıa desde su apari-
ci´on, hasta las diferentes aplicaciones que tienen en la actualidad, planteando
una visi´on actual de las mismas.
En este anexo se hace un repaso del concepto de ontolog´ıa, desde sus
definiciones m´as conocidas, las diferentes metodolog´ıas que existen para su
desarrollo, los formalismos y lenguajes m´as utilizados para representarlas, o
incluso las herramientas m´as comunes que permiten su definici´on. Adem´as se
repasan conceptos b´asicos acerca de las operaciones que se pueden realizar con
las ontolog´ıas que permitir´an aclarar al lector acerca de las posibilidades de
manipulaci´on de las mismas.
A.1.1. Concepto de Ontolog´ıa
El concepto de ontolog´ıas no es nuevo, proviene del campo de la filosof´ıa y
es una disciplina que se suele identificar con la Metaf´ısica general e indica que
189
190 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
la ontolog´ıa estudia lo que es en tanto que es y existe [Wik07, Aga05, Sha06b,
Cor06].
En las ´areas de la Inteligencia Artificial, la Ingenier´ıa del Software y las
Bases de Datos, de manera independiente concluyeron que la representaci´on
del conocimiento era importante para la evoluci´on de las mismas. As´ı, aunque
cada una de estas disciplinas de la Ciencia de la Computaci´on (CC) repre-
sentaba el problema de la representaci´on del conocimiento de diferente mane-
ra, puesto que cada una de estas, est´a interesada en un problema espec´ıfico, los
investigadores elaboraron una representaci´on v´alida para una parte espec´ıfica
de la realidad. De esta forma aparece el concepto de ontolog´ıa en el campo
de la CC adquirido como una nueva forma de representar los elementos del
mundo real, y tomando este nombre como analog´ıa a su significado filos´ofico.
Ya en los ”80, John McCarthy propuso, en el campo de la Inteligencia
Artificial, el concepto de una ontolog´ıa de entorno como aquella compuesta
no s´olo por una lista de conceptos de un problema, sino tambi´en de sus sig-
nificados en el contexto. Desde entonces, las ontolog´ıas se han asociado con
la representaci´on de conceptos. A continuaci´on, muchas otras definiciones de
Ontolog´ıas surgieron en este campo de la Inteligencia Artificial y la Ciencia de
la Computaci´on como la que dio Neches et al. [Nec91] defini´endola como los
t´erminos y relaciones b´asicas que componen el vocabulario de cualquier ´area
tanto como las reglas para combinar los t´erminos y relaciones que definir´an
las extensiones de este vocabulario. A partir de esta definici´on Guarino y Gi-
aretta [Gua95] clarifican el uso de la palabra ontolog´ıa que es definida como:
un sistema conceptual informal, un informe sem´antico conceptual, una especi-
ficaci´on de una conceptualizaci´on, una representaci´on de un sistema concep-
tual mediante la teor´ıa l´ogica, el vocabulario usado por una teor´ıa l´ogica y
una especificaci´on de una teor´ıa l´ogica. Gruber [Gru93] define una ontolog´ıa
como una especificaci´on formal de una conceptualizaci´on, y Borst [Bor97] ex-
tiende esta definici´on estableciendo ontolog´ıa como una especificaci´on formal
de una conceptualizaci´on compartida. Posterior a esto, Swartout et al. [Swa96]
volver´a a extender esta definici´on de ontolog´ıa como una estructura jerarquiza-
da de un conjunto de t´erminos para describir un dominio que puede usarse
como el esqueleto de una base de conocimiento. Studer et al. [Stu98] no crea
una nueva definici´on, sino que toma la definici´on de Borst et al. y explica los
conceptos relevantes de la misma:
1. Formal se refiere a que es entendida computacionalmente.
2. Especificaci´on expl´ıcita quiere decir que se definen expl´ıcitamente los
conceptos, propiedades, relaciones, funciones, restricciones y axiomas.
3. Compartida significa que el conocimiento representado ser´a consensuado.
A.1. INTRODUCCI ´ON 191
4. Conceptualizaci´on significa el hecho de que una ontolog´ıa debe ser un
modelo abstracto y a la vez representar una visi´on simplificada de alg´un
fen´omeno del mundo real el cual queremos definir o representar.
Esta definici´on de Studer et al. [Stu98] es quiz´a la m´as clara de todas las
expuestas y una de las m´as referenciadas en la literatura actual, pero exis-
ten otras muchas, tambi´en muy referenciadas como la propuesta por Gruber
[Gru93] o la de Guarino [Gua95] que, obviamente, son muy similares a la
expuesta anteriormente.
En resumen y tal y como establece Agarwal [Aga05], una ontolog´ıa no es
m´as que una manifestaci´on de un conocimiento compartido de un dominio,
que es aceptado por un grupo de agentes, y tal acuerdo facilita una correcta y
efectiva comunicaci´on del significado, que conduce a otros beneficios como la
interoperatividad, reutilizaci´on y compartici´on.
A.1.2. Clasificaciones de Ontolog´ıas
Las ontolog´ıas pueden representar el conocimiento acerca de realidades de
muy diversa ´ındole. Es por este motivo que no existe un consenso en cuanto
a la clasificaci´on de las mismas dependiendo del contenido de la materia que
representen. As´ı, encontramos clasificaciones atendiendo al modo en que estas
est´en representadas o la naturaleza de la realidad que representan como pode-
mos ver en res´umenes hechos por G´omez-P´erez et al. [GP03a], Dang Bui Bach
[Bac07] y Agarwal [Aga05] donde encontramos resumidas algunas de estas
clasificaciones A continuaci´on, se expone un resumen de las m´as significativas,
organizadas seg´un los autores, y el criterio de clasificaci´on.
Atendiendo al lenguaje usado para implementar las ontolog´ıas, o la riqueza
sem´antica de las mismas, se encuentran tres clasificaciones en la literatura
(resumidas en la figura A.2):
Uschold y Gruninger [Usc96] distinguen cuatro tipos de ontolog´ıas depen-
diendo del lenguaje usado para implementarlas. Estas son: Ontolog´ıas
muy informales, si est´an escritas en lenguaje natural, Ontolog´ıas semi-
formales, si est´an expresadas en una forma restringida y estructurada del
lenguaje natural, Ontolog´ıas formales, si est´an definidas en un lengua-
je definido formalmente, y Ontolog´ıas rigurosamente formales, si est´an
definidas en un lenguaje con una sem´antica, una teor´ıa y unas compro-
baciones formales con propiedades como la completitud.
Lassila y McGuiness [Las02] consideran las ontolog´ıas como de mayor o
menor ”peso”(light-heavy weight) de acuerdo con la riqueza sem´antica
con la que representan la realidad. Esto vendr´a dado por la cantidad
192 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
de estructuras utilizadas para representar el conocimiento expresado en
ellas. Por tanto, ser´an consideradas ontolog´ıas de peso ”ligero” (inclu-
so algunos autores no las considerar´ıan como ontolog´ıas propiamente
dichas) aquellas que consistan simplemente de un vocabulario o inclu-
so que lleguen ´unicamente a la representaci´on de la realidad utilizando
la estructura es-un de manera informal. A partir de la representaci´on
formal de una jerarqu´ıa es-un, hasta llegar a representar restricciones
de todo tipo (inverso de, es parte de o no se encuentra en el conjunto,
etc.) se tratar´a entonces de ontolog´ıas con un cierto peso, hasta llegar
al m´aximo nivel correspondiente a la categor´ıa de ontolog´ıas ”pesadas”.
En la figura A.1 se presenta dicha clasificaci´on con mayor detalle.
Zhang [Zha07] no llega a clasificar las ontolog´ıas realmente hace un repaso ex-
haustivo por las diferencias entre las ontolog´ıas y el resto de sistemas de
representaci´on t´ıpicos. La clasificaci´on queda establecida en: las listas de
t´erminos, compuestas por diccionarios y vocabularios controlados, las lis-
tas jer´arquicas, compuestas por esquemas de clasificaci´on y taxonom´ıas,
y las listas de relaciones, compuestas por tesauros, y ontolog´ıas.
Resumiendo, seg´un Ruiz e Hilera [Rui06], cualquier ontolog´ıa pertenecer´a a
una de las siguientes categor´ıas seg´un la riqueza de estructura interna:
Vocabulario controlado: Formado por una lista finita de t´erminos
Glosarios: Listas de t´erminos con sus definiciones en lenguaje natural
Tesauros: Se diferencian de las anteriores en que ofrecen sem´antica adi-
cional a los t´erminos, incluyendo sin´onimos.
Jerarqu´ıas Informales: Son jerarqu´ıas de t´erminos que no se corresponden
a subclases estrictas.
Jerarqu´ıas Formales: En este caso existe la relaci´on es-un entre las ins-
tancias de una clase y su correspondiente superclase (para explotar el
concepto de herencia).
Marcos (Frames): Son ontolog´ıas que incluyen clases y propiedades que
pueden heredarse por otra clases en niveles inferiores de una taxonom´ıa
formal “es-un”.
Ontolog´ıas con restricciones de valor: Incluyen restricciones de valor.
Ontolog´ıas con restricciones l´ogicas gen´ericas: Son las mas expresivas
permiten especificar restricciones entre los t´erminos de la ontolog´ıa us-
ando l´ogica de primer orden.
A.1. INTRODUCCI ´ON 193
Vocabularios/Controlados
Terminos/Glosarios
Thesauros
Relaciones "es-un" informales
Relaciones "es-un" formales
Instancias Formales
Frames(propiedades )
Restricciones de Valores
Restriccines lógicas generales
Relaciones Disjuntas, Inversas ,Es parte de ....
LIGHTWEIGHT ONTOLOGIES
HEAVYWEIGHT ONTOLOGIES
Vocabularios Controlados
Glosarios
Tesauros
Jerarquías Informales
Jeraquías Formales
Marcos
Ontologías con restricciones de Valor
Ontologías con restricciones genéricas lógicas
Clasificación de Lassilaand McGuinness [Las02] Clasificación de RuizeHilera[Rui06]
Figura A.1: Clasificaciones de Lassila y McGuinness [Las02] y de Ruiz e
Hilera [Rui06]
194 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
Atendiendo a la naturaleza de la conceptualizaci´on, podemos encontrar los
siguientes tipos de ontolog´ıa (en la figura A.2 se presenta una clasificaci´on muy
simplificada de las propuestas siguientes):
Steve et al. [Ste98] existen tres tipos fundamentales de ontolog´ıas, las de
dominio, en las que se representa el conocimiento especializado perti-
nente de un dominio o sub-dominio, como la medicina, las aplicaciones
militares, la cardiolog´ıa, etc. Las ontolog´ıas gen´ericas, en las que se re-
presentan conceptos generales y fundacionales del conocimiento como las
estructuras parte/todo, la cuantificaci´on, los procesos o los tipos de obje-
tos. Por ultimo las ontolog´ıas representacionales, en las que se especifican
las conceptualizaciones que subyacen a los formalismos de representaci´on
del conocimiento, por lo que tambi´en se denominan meta-ontolog´ıas o
ontolog´ıas de alto nivel.
Guarino [Gua98] Es la m´as concreta y clara propuesta de clasificaci´on de
ontolog´ıas, ya que diferencia ´unicamente cuatro tipos de ontolog´ıas: las
Ontolog´ıas de Alto Nivel, las de Dominio, las de Tareas y por ´ultimo las
Ontolog´ıas de Aplicaci´on. Esta ´ultimas son aquellas que se crean para
describir una actividad o tarea espec´ıfica, como por ejemplo la venta
de un producto, o el diagn´ostico de una enfermedad y las ontolog´ıas
creadas para una aplicaci´on espec´ıfica. Adem´as Guarino, describe las
dependencias que existen entre estas categor´ıas.
Mizoguchi et al. [Miz95] Propone cuatro tipos de Ontolog´ıas: Las ontolog´ıas
de Contenidos, entre las que se encontrar´ıan las ontolog´ıas que represen-
tan los dominios, las tareas, o bien conocimiento en general. Las on-
tolog´ıas de Comunicaci´on (Tell&Ask) que permiten compartir conoci-
miento, las de Indexado, que permite recuperar informaci´on y las Meta-
Ontolog´ıas u Ontolog´ıas de representaci´on del Conocimiento, que son las
que describe la estructura de la ontolog´ıa en si.
van Heisjt et al. [vH97] Estos autores son los primeros en establecer los
dos niveles para la clasificaci´on de ontolog´ıas que se han especificado
previamente(dependiendo del contenido o de la riqueza sem´antica de
la informaci´on que representan). Atendiendo a la categorizaci´on que se
est´a tratando, dividen las ontolog´ıas en dos grandes grupos: aquellas que
representan la cantidad y el tipo de estructura (Son las Ontolog´ıas de
Representaci´on del Conocimiento, las Ontolog´ıas de Informaci´on (BD)
y los Lexicons), y por otro lado, aquellas que representan el objetivo de
la conceptualizaci´on, es decir, la Ontolog´ıas de Dominio, de Aplicaci´on,
de Representaci´on o Gen´ericas.
A.1. INTRODUCCI ´ON 195
Fensel [Fen04] Establece la clasificaci´on en: Ontolog´ıas de Sentido Com´un
(ofrecen un conocimiento general del mundo), Ontolog´ıas Representa-
cionales (representan conceptos que expresan conocimiento en un en-
foque orientado a objetos o marcos). No pertenecen a ning´un dominio
en particular. Las Ontolog´ıas de Dominio, las Ontolog´ıas de M´etodos y
Tareas (estas ´ultimas ofrecen una terminolog´ıa especifica para de m´eto-
dos resolutivos o para tareas espec´ıficas).
Jurisica et al. [Jur99] establece la clasificaci´on de ontolog´ıas como: On-
tolog´ıas Est´aticas, que son aquellas que describen cosas que existen y
sus relaciones. Ontolog´ıas Din´amicas: que son aquellas que describen
aspectos del mundo que pueden cambiar con el tiempo. Ontolog´ıas In-
tensionales: Describen motivaciones, intenciones, objetivos, creencias,
elecciones, etc. relacionadas con agentes. Ontolog´ıas Sociales: Describen
estructuras organizativas, redes, interdependencias, etc.
Gomez-Perez et al. [GP03a] realiza una clasificaci´on de las ontolog´ıas ba-
s´andose en las clasificaciones expuestas por los anteriores autores. Esta
propuesta establece taxonom´ıa muy rica en matices, que incluso permite
establecer unos niveles de “usabilidad/reusabilidad” de las ontolog´ıas de-
pendiendo del nivel donde se encuentren clasificadas las mismas. As´ı pode-
mos encontrar una clasificaci´on en la que las ontolog´ıas de alto nivel que
describ´ıa Guarino ahora se desglosan en tres tipos: Ontolog´ıas de Rep-
resentaci´on, Ontolog´ıas Generales y Ontolog´ıas de Alto Nivel. A contin-
uaci´on y aumentando el nivel de usabilidad, podr´ıamos hallar las On-
tolog´ıas de Dominio y Tareas al mismo nivel, pero desglosando ambas
a la vez dada la generalidad de las mismas: las Gen´ericas estar´ıan en
primer lugar, a continuaci´on las de Dominio, y las ´ultimas y menos re-
utilizables, ser´ıan las de Aplicaci´on.
Sharmen et al. [Sha06b] se centra en la web sem´antica para clasificar las
ontolog´ıas, en 4 categor´ıas: las Meta-ontolog´ıas (las que describen los
lenguajes), las Ontolog´ıas de Alto Nivel exhaustivas (expresan el cono-
cimiento global, como WordNet, Cyc, ...), las Ontolog´ıas de Dominio
Espec´ıfico Sistem´atico (describen un dominio espec´ıfico pero de manera
general), y las Ontolog´ıas Especializadas Simples.
Al igual que en el caso anterior Ruiz e Hilera [Rui06] hacen un resumen de
todas estas propuestas, afirmando que cualquier ontolog´ıa estar´a incluida en
una de las siguientes categor´ıas:
Ontolog´ıa de Representaci´on del Conocimiento: Es aquella que repre-
senta las primitivas para formalizar el conocimiento bajo un paradigma
196 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
METAONTOLOGIAS
ONTOLOGIAS DE
ALTO NIVELo
GENERICAS
ONTOLOGIAS de
REPRESENTACION
Ontologías de Dominio,
Tareas, de Aplicación,
deContenidos, de Métodos...
Figura A.2: Clasificaci´on gen´erica de Ontolog´ıas basada en la naturaleza de
la conceptualizaci´on
concreto de representaci´on del conocimiento.
Ontolog´ıa Gen´erica o Com´un: Es aquella que representa el conocimiento
de sentido com´un reutilizable en diferentes dominio. Por ejemplo: even-
tos, espacio, tiempo, etc.
Ontolog´ıas de Alto Nivel: Describen conceptos muy generales que se
pueden relacionar con las bases de cualquier ontolog´ıa.
Ontolog´ıas de Dominio: Son ontolog´ıas reutilizables de un dominio par-
ticular.
Ontolog´ıas de tareas: Describen un vocabulario relacionado con algunas
actividades gen´ericas. Proporcionan un un vocabulario sistem´atico de
t´erminos usados para resolver problemas que pueden o no pertenecer al
mismo dominio.
Ontolog´ıas de Tareas de un Dominio: Igual que la anterior, pero s´olo
usable en un dominio.
Ontolog´ıas de M´etodos: Son definiciones de conceptos relevantes y sus
relaciones, aplicables a procesos de razonamiento dise˜nados espec´ıfica-
mente para llevar a cabo una tarea particular.
Ontolog´ıas de Aplicaci´on: Dependen de las aplicaciones. Suelen extender
y especializar el vocabulario de una ontolog´ıa de dominio o tareas para
una aplicaci´on particular.
A.2. INGENIER´IA DE ONTOLOG´IAS 197
A.2. Ingenier´ıa de Ontolog´ıas
Desde su aparici´on las ontolog´ıas han sido una de las ramas m´as impor-
tantes en el ´area de las Ciencias de la Computaci´on. Se ha desarrollado toda
una plataforma alrededor de las mismas, desde t´ecnicas, metodolog´ıas y aplica-
ciones que han formado lo que hoy en d´ıa se conoce como Ingenier´ıa Ontol´ogica
(Ontological Engineering). Tal como G´omez-P´erez et al. describi´o en [GP03b]
o Sharman et al. en [Sha06b], la Ingenier´ıa Ontol´ogica se refiere al conjunto
de actividades que concierne al proceso de desarrollo de ontolog´ıas, el ciclo
de vida de las ontolog´ıas y las metodolog´ıas, herramientas y lenguajes que
permiten construir las mismas.
A continuaci´on resumiremos brevemente algunas t´ecnicas, metodolog´ıas y
aplicaciones relacionadas con las ontolog´ıas para ofrecer una imagen resumida
de este campo de estudio. En el trabajo de Cardoso [Car07] se puede encontrar
un an´alisis detallado de cada uno de los elementos que forman parte de la
ingenier´ıa ontolog´ıa m´as populares en la actualidad.
A.2.1. T´ecnicas de Representaci´on de Ontolog´ıas
Cualquier formalismo que permita representar ontolog´ıas deber´a permitir
representar los conceptos y las relaciones que existen entre estos. Para ello
existen diversas propuestas que clasificaremos seg´un el modo de representar la
informaci´on y que podemos encontrar resumido en [Sha06b]:
Marcos y l´ogica de Primer orden Gruber [Gru93] propone utilizar mar-
cos (frames) y l´ogica de primer orden. Su propuesta utiliza clases, rela-
ciones, funciones, axiomas formales e instancias. Las clases son los con-
ceptos relevantes y se organizan en taxonom´ıas, las relaciones, represen-
tan diferentes tipos de asociaciones entre los conceptos en un dominio.
Las funciones son un caso especial de relaciones. Los axiomas formales
son sentencias que son siempre ciertas, y se usan para generar conoci-
miento y verificar la consistencia de la ontolog´ıa, y por ´ultimo las ins-
tancias se utilizan para representar los elementos o individuos de las
ontolog´ıas.
L´ogica Descriptiva Baader et al. [Baa04] proponen utilizar L´ogica Descrip-
tiva para representar las ontolog´ıas. La l´ogica descriptiva es un forma-
lismo de la l´ogica que se divide en dos ramas: los TBox y los ABox. Los
primeros contienen las definiciones de conceptos y roles, tambi´en llama-
dos conocimiento intensional. Los ABox contienen las definiciones de los
individuos, y se denominan conocimiento extensional. Se usan tres ele-
mentos para representar estas ontolog´ıas, los conceptos, que representan
198 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
las clase de objetos, los roles, que describen las relaciones entre los con-
ceptos y los individuos, que representan las instancias de las clases. Los
conceptos y los roles se especifican bas´andose en un conjunto de t´erminos
pre-existentes y constructores cuyos elementos se mezclan para obtener
cualquier tipo de lenguaje DL. Los conceptos primitivos son aquellos
cuya especificaci´on no necesita basarse en otros conceptos, pero si sobre
condiciones que los individuos deben satisfacer. Los conceptos derivados,
son aquellos cuya especificaci´on esta basada en otro concepto, del cual
hereda alguna propiedad. Los individuos representan una instancia de
los conceptos y sus valores.
T´ecnicas de Ingenier´ıa del Software T´ecnicas como el Lenguaje de Mo-
delado Unificado (UML) permiten representar ontolog´ıas, aunque existan
varios autores que defienden que dicho lenguaje es demasiado pobre para
ello (v´ease secci´on 2.3). De esta manera dichas ontolog´ıas ser´ıan clasifi-
cadas como de “peso ligero” seg´un la taxonom´ıa de Lassila y McGuiness
[Las02]. Si a este lenguaje se le a˜nade el lenguaje de restricci´on de obje-
tos (OCL), dichas ontolog´ıas se convertir´ıan mas ricas sem´anticamente
hablando y por tanto mas “pesadas” seg´un la anterior clasificaci´on. Los
diagramas UML se usan para representar los conceptos donde cada clase
representa un concepto. Las taxonom´ıas ser´ıa las relaciones de generali-
zaci´on y la relaciones binario ser´ıan las relaciones de asociaci´on.
Modelado Conceptual Alternativa para representar ontolog´ıas basada en el
modelado conceptual [GP03b], usualmente se relacionada con la repre-
sentaci´on de bases de datos usando, por ejemplo, diagramas Entidad-
Relaci´on. En estos diagramas, los conceptos se representan mediante
entidades, que tienen atributos, que son a su vez propiedades del con-
cepto. Estos atributos tienen un nombre y un tipo. Las relaciones entre
los conceptos se representan mediante las relaciones del E/R, que tienen
cardinalidad y permiten expresi´on, no s´olo para relaciones de asociaci´on,
sino tambi´en de generalizaci´on, que crea las taxonom´ıas de los concep-
tos. Los axiomas formales, pueden representarse usando restricciones de
integridad. El UML tambi´en entrar´ıa dentro de esta clasificaci´on dada
la gran capacidad expresiva que tiene. Sin embargo, un gran n´umero de
autores no consideran estas t´ecnicas las m´as apropiadas para represen-
tar una ontolog´ıa, como describe Ruiz e Hilera en [Rui06] o podemos
analizar con m´as detalle en la secci´on 2.3.
A.2. INGENIER´IA DE ONTOLOG´IAS 199
A.2.2. Metodolog´ıas de Representaci´on
Al igual que ocurre con cualquier elemento software, o base de datos, una
ontolog´ıa, debe ser construida atendiendo a alg´un tipo de metodolog´ıa que
permita establecer los criterios a seguir hasta su definici´on completa.
Las metodolog´ıas de la ingenier´ıa ontol´ogica necesitan seguir tres activi-
dades fundamentales [GP03a, GP03b]:
Actividades de gesti´on de Ontolog´ıas. Esta actividades incluyen la or-
ganizaci´on en la tarea de ingenier´ıa de la ontolog´ıas. Necesita definir
mecanismo de control y pasos para asegurar la calidad.
Actividades para el proceso de desarrollo de ontolog´ıas. Entre estas ac-
tividades est´an la elecci´on del entorno de desarrollo, el estudio de via-
bilidad. Adem´as, en ella se desarrollan los procesos de conceptualizar,
formalizar e implementar la ontolog´ıa, y finalmente, la generaci´on de
unas gu´ıas para el mantenimiento, generaci´on de instancias, uso y evolu-
ci´on de la misma.
Actividades de Soporte. Entre ellas est´an las de adquisici´on, evaluaci´on,
integraci´on, uni´on, compatibilizaci´on, y configuraci´on. Estas actividades
se llevan a cabo durante las actividades de desarrollo y gesti´on de las
ontolog´ıas.
A continuaci´on se presentaran las metodolog´ıas de dise˜no de ontolog´ıas
m´as significativas de los ´ultimos tiempos. Existen comparativas de dichas
metodolog´ıas en las siguientes referencias bibliogr´aficas [Sha06b, Sur04, Sur06,
GP03b, hom06].
Cyc, esta metodolog´ıa se extrajo gracias a la existencia de un proyecto
que consiste en la creaci´on de una la ontolog´ıaCyc [Len95] que trata
de representar toda la realidad del universo (Ontolog´ıa de Alto Nivel).
M´as all´a de ´exito o fracaso de la misma, se han extra´ıdo las tareas m´as
significativas a trav´es dicho proceso de generaci´on: en primer lugar, la
extracci´on manual del conocimiento general o de sentido com´un, en se-
gundo lugar, la codificaci´on manual guiada por herramientas que utilizan
el conocimiento almacenado en la base de conocimiento Cyc. En tercer
lugar, la extracci´on del conocimiento.
Proyecto Enterprise Ontology. Uschold and King [Usc95] establecen las
siguientes gu´ıas a la hora de crear una ontolog´ıa: identificar el prop´osito
de la ontolog´ıa, construir la ontolog´ıa mediante la captura de los con-
ceptos y la relaciones de la ontolog´ıa, la codificaci´on de la misma usando
200 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
un lenguaje formal, y la integraci´on de la misma con otras ontolog´ıas
preexistentes. Por ultimo habr´a que evaluar la ontolog´ıa.
TOVE. Gruninger and Fox [Gr¨u95] desarrollaron una metodolog´ıa para
implementar la ontolog´ıa basada en preguntas de competencia. Consiste
en seis pasos: 1o Identificar los escenarios, 2o elaborar preguntas infor-
males sobre el tema, en lenguaje natural (servir´a para establecer las res-
tricciones), 3o especificar la terminolog´ıa usando l´ogica de primer orden.
4o Escribir las preguntas formalmente, usando la terminolog´ıa formal. 5o
especificar axiomas utilizando l´ogica de primer orden. 6o especificar los
teoremas de completitud.
DOGMA [Jar02]. Este m´etodo basado en las bases de datos consiste
en descomponer expl´ıcitamente los recursos ontol´ogicos en bases de on-
tolog´ıas que consisten en hechos simples llamados lexons y acuerdos on-
tol´ogicos del tipo: reglas y restricciones. Meersman et al. [Jar] pretenden
con este modelo demostrar que los modelos conceptuales de la infor-
maci´on son completamente v´alidos para representar ontolog´ıas. Usan
diagramas en ORM para definir la realidad.
Amaya [KAC05]. Establece la posibilidad de reutilizar el conocimien-
to. Tiene tres etapas: la primera es la de especificar la aplicaci´on para
identificar el contexto y los elementos que queremos representar. La se-
gunda es el dise˜no preliminar bas´andose en las categor´ıas de alto nivel
relevantes. Los elementos identificados en la etapa anterior se usar´an co-
mo entrada a la ontolog´ıa de alto nivel para obtener una visi´on global
del modelo. Durante este proceso es posible establecer la reutilizaci´on
de una ontolog´ıa ya existente. La tercera etapa es refinar y estructura la
ontolog´ıa, mediante la especializaci´on de t´erminos para obtener el dise˜no
definitivo con la m´axima modularizaci´on.
CommonKADS [Sch99]. No es una metodolog´ıa en s´ı misma para el desa-
rrollo de ontolog´ıas. Cubre varios aspectos en el campo de la gesti´on del
conocimiento, desde su definici´on hasta la implementaci´on de sistemas
de informaci´on.
Methontology [GP03a, GP03b]. Esta metodolog´ıa se plantea como una
de las m´as completas, formulada para el desarrollo de ontolog´ıas hasta
la fecha. Esta inspirada en las metodolog´ıas de desarrollo del software,
no obstante, contempla todas las casu´ısticas que puedan darse en el
proceso de desarrollo de una ontolog´ıa. Esta metodolog´ıa sigue las tres
actividades fundamentales para la representaci´on de ontolog´ıas anterior-
A.2. INGENIER´IA DE ONTOLOG´IAS 201
mente descritas y divide el proceso de modelado de conocimiento en las
ocho fases siguientes:
1. Construir el glosario de t´erminos.
2. Construir la taxonom´ıa de conceptos.
3. Construir los diagramas de relaciones ad hoc para identificar las
relaciones ad hoc entre los conceptos de la ontolog´ıa y los conceptos
de otras ontolog´ıas.
4. Construir un diccionario de conceptos, que contendr´a los conceptos
de dominio, sus relaciones, sus instancias y sus clases, y los atributos
de instancia.
5. Describir con detalle cada relaci´on binaria ad hoc que aparece en el
diagrama.
6. Describir en detalle cada atributo de instancia que aparece en el
diccionario de conceptos.
7. Describir en detalle cada atributo de clase que aparece en el dic-
cionario de conceptos.
8. Describir cada constante, que especifica la informaci´on relativa al
conocimiento del dominio.
M´etodo SENSUS [Kni94]. Este m´etodo consiste en construir el esquele-
to del dominio de una ontolog´ıa comenzando a partir de una ontolog´ıa
muy grande, e ir recortando aquellos t´erminos irrelevantes para la on-
tolog´ıa que se propone. Los procesos principales en esta metodolog´ıa son:
1o identificar las semillas, 2o unir manualmente los t´erminos semilla a
SENSUS, 3o a˜nadir las rutas obtenidas, 4o a˜nadir nuevos t´erminos de
dominio, 5o a˜nadir sub´arboles completos, que dependen de las semillas
encontradas.
On-To-Knowledge (OTK) [Sur04]. Esta metodolog´ıa tiene en cuenta si
la ontolog´ıa ser´a utilizada para futuras aplicaciones. Esta metodolog´ıa
al igual que muchas otras, se divide en dos grandes fases: el proceso de
definici´on de la estructura (Knowledge Meta Process), y el proceso de
gesti´on o manejo de la misma (Knowledge Process). La primera fase es la
que permite definir la ontolog´ıa consiste en los siguientes pasos: 1. Estu-
dio de viabilidad, consiste en identificar los problemas y oportunidades,
las aplicaciones, herramientas y las personas, 2. El arranque, que con-
siste en capturar los requerimientos en un documento de especificaci´on de
documentos (ORSD) y crear una descripci´on de la ontolog´ıa semiformal,
3. El refinamiento, se realiza cuando se refina la descripci´on semiformal
202 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
de la ontolog´ıa, se formaliza y se crea un prototipo, 4. Evaluaci´on, en
este paso se eval´ua la tecnolog´ıa, los usuarios y la ontolog´ıa), 5. La apli-
caci´on y Evoluci´on. La segunda fase comprende los pasos de creaci´on de
conocimiento e importaci´on de documentos y metadatos, extracci´on y
acceso al conocimiento, etc.
IDEF5 [KBS]. Construyen una ontolog´ıa tratando de catalogar los de-
scriptores (como un diccionario de datos) y creando un modelo del do-
minio (construido por estos descriptores). Consiste en tres tareas b´asicas:
1) catalogar los t´erminos, 2. capturar las restricciones que existen sobre
estos t´erminos y el dominio y 3. construir un modelo que puede generar
las sentencias descriptivas apropiadas. As´ı una ontolog´ıa ser´a similar a
un diccionario de datos que incluyen tanto la gram´atica como el modelo
de comportamiento del dominio.
HCOME [Kot06]. Esta metodolog´ıa esta centrada en el papel que tienen
los desarrolladores de ontolog´ıas en el proceso de creaci´on. Aparece de-
bido a las carencias que tienen en este aspecto el resto de ellas. Identifica
tres fases principales: 1. Especificaci´on, define objetivo, ´ambito, requeri-
mientos y equipo, 2. Conceptualizaci´on, etapa de adquisici´on de conoci-
miento (importar, consultar ontolog´ıas de alto nivel, consulta a expertos)
y Desarrollo y Mantenimiento de la misma (improvisar, unir, gestionar,
comparar versiones,a˜nadir documentaci´on, etc.), 3. Explotaci´on, usa y
evalua la ontolog´ıa. Esta metodolog´ıa soporta el desarrollo de ontolog´ıas
de forma descentralizada. Por un lado se permite desarrollar una on-
tolog´ıa de forma personal, utilizando versiones, ontolog´ıas de alto nivel,
uniendo ontolog´ıas o mapeando t´erminos. En segundo lugar permite me-
diante un espacio compartido discutir acerca de las decisiones tomadas
[Kot04]. .
HOLSAPPLE [Nic05]. Metodolog´ıa propuesta para el trabajo colabo-
rativo. Soporta la creaci´on de una ontolog´ıa est´atica, que es propuesta
inicialmente y extendida mediante la retroalimentaci´on (feedback) de un
grupo de expertos. Utiliza cuestionarios para llevar a cabo esta retroali-
mentaci´on.
UPON (Unified Process for ONtology building) [Hol02]. Basado en el
desarrollo de ontolog´ıas utilizando UML. Las fases c´ıclicas que propone
son: 1. identificaci´on de requerimientos, 2. an´alisis, 3. dise˜no y concep-
tualizaci´on, 4. implementaci´on, 5. testeo la cobertura del dominio de
aplicaci´on.
A.2. INGENIER´IA DE ONTOLOG´IAS 203
DILIGENT [Cas07, Sur06]. Esta metodolog´ıa de generaci´on de ontolog´ıa
trata de suplir la carencia de otras en el proceso de compartir o discutir
durante el proceso y ser adaptable a cualquier cambio. Existen las sigu-
ientes fases: 1. construcci´on, 2. adaptaci´on local, 3. an´alisis, 4. revisi´on
y 5. adaptaci´on local.
H¨usemann y Vossen en [H¨u05] proponen una metodolog´ıa para repre-
sentar ontolog´ıas bas´andose en la fase de dise˜no de bases de datos tradi-
cionales. Esta metodolog´ıa trata de suplir la carencia de un est´andar en
este aspecto. El proceso de dise˜no consiste en una fase de an´alisis de
requisitos, un dise˜no conceptual, l´ogico y por ´ultimo f´ısico.
En el caso de las ontolog´ıas, el proceso para construir una metodolog´ıa ha
ido surgiendo a ra´ız de la construcci´on de las mismas. Se han observado tres
diferentes generaciones de metodolog´ıas para ontolog´ıas [Rib06], a partir de su
aparici´on sobre el a˜no 1995. La primera generaci´on intenta comprender como
las ontolog´ıas son construidas, entre ellas podemos encontrar la metodolog´ıa
TOVE, SENSUS, Cyc y la ENTERPRISE. La segunda generaci´on considera
que la especificaci´on, conceptualizaci´on, integraci´on e implementaci´on ya es un
requisito durante todo el ciclo de vida, y en ella est´an METHONTOLOGY,
Amaya, DILIGENT, HOLSAPPLE. OTK y HCOME. Esta ´ultima tambi´en
puede estar incluida en la ´ultima generaci´on que es la que incorpora conceptos
como reusabilidad y gesti´on de la configuraci´on. Tambi´en en los ´ultimos a˜nos
METHONTOLOGY, podr´ıa considerarse de esta ultima generaci´on, ya que
ha incluido estos aspectos en su definici´on [Cor06].
A pesar de todas estas metodolog´ıas propuestas, a´un sigue existiendo el
profundo convencimiento de que no hay ninguna metodolog´ıa est´andar o am-
pliamente aceptada para los constructores del conocimiento [Rib06, H¨u05].
Esto se hace m´as evidente en el campo de la Web Sem´antica donde los de-
tractores de estas metodolog´ıas son m´as numerosos. De hecho, existe un alto
porcentaje de desarrolladores de ontolog´ıas que no siguen ninguna metodolog´ıa
[Car07]
A.2.3. Formalismos y Lenguajes en la Representaci´on del Co-
nocimiento
Existen numerosos formalismos y lenguajes que permiten representar el
conocimiento (v´ease [Gae06, GP03b, Sha06b, Par04]) que puede estar definido
utilizando diversas t´ecnicas de representaci´on, como por ejemplo: Tripletas
objeto-atributo-valor, hechos inciertos, marcos (frames), hechos difusos, reglas,
redes sem´anticas, etc.. Cada uno de estos formalismos utilizan unos recursos
diferentes para representar la informaci´on. Este hecho hace que no todos los
204 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
lenguajes puedan representar la misma informaci´on, ni el mismo grado de
sem´antica de dicha informaci´on. Elegir el lenguaje de representaci´on id´oneo
es crucial, por lo tanto, para representar la realidad de la manera que m´as se
adapte a nuestro problema.
Los lenguajes o formalismos que nos permiten representar el conocimiento
pueden clasificarse en tres grupos [Gae06, Ech07b]:
Lenguajes Basados en L´ogica Los lenguajes basados en l´ogica parten de
una sintaxis y sem´antica bien definida que detallan perfectamente la for-
ma de construir sentencias y razonamientos sobre ellas. Entre los lengua-
jes basados en l´ogica podemos encontrar:
L´ogica Proposicional, que consiste en la definici´on de proposiciones
y los valores de verdad que cada una tiene asociados. Se infiere in-
formaci´on a trav´es de la generaci´on de proposiciones m´as complejas
y los operadores de AND, OR, IMPLIES, EQUIVALENCE.
L´ogica de Primer Orden, ampl´ıa la anterior, a˜nadiendo dos opera-
dores m´as, el cuantificador Universal ∀ y el Existencial ∃. Adem´as
los s´ımbolos pueden representar constantes, variables, predicados y
funciones.
KIF, lenguaje l´ogico basado en l´ogica de primer orden que fue crea-
do con el objetivo de actuar como interlingua entre diferentes for-
malismos y lenguajes de representaci´on. KIF dispone de su propia
sintaxis y algunos a˜nadidos sem´anticos sobre la l´ogica de primer
orden.
L´ogica Descriptiva. Son las mas relacionadas con el desarrollo de las
ontolog´ıas tal como se usan en la actualidad en la Web Sem´antica.
La l´ogica descriptiva se basa en representar el conocimiento utilizan-
do por una una terminolog´ıa o vocabulario del dominio (TBOX)
y por otra un conjunto de afirmaciones (ABOX). Se pueden con-
struir y existen razonadores que permiten razonar sobre las TBOX
y ABOX, pudiendo determinar por ejemplo si el contenido de la
TBOX es factible, o qu´e relaciones est´an incluidas en otras.
Lenguajes Basados en Marcos (Frames) Estos lenguajes son similares a
los lenguajes de programaci´on orientados a objetos, en el sentido de
que representan el conocimiento utilizando clases (marcos), atributos,
objetos y relaciones, y utilizan relaciones de generalizaci´on y especializa-
ci´on para representar la organizaci´on jer´arquica de los conceptos. Es
importante mencionar que muchos de los lenguajes basados en marcos
se pueden considerar como una sintaxis diferente de la l´ogica de primer
A.2. INGENIER´IA DE ONTOLOG´IAS 205
orden y que por lo tanto no ofrecen m´as expresividad que ella. Esto
implica, por otro lado, que tengan representaciones equivalentes en el
lenguaje KIF visto en un punto anterior. La mayor´ıa de las herramientas
de definici´on de ontolog´ıas utiliza estos lenguajes.
Lenguajes Basados en Reglas Estos lenguajes han sido durante mucho
tiempo posiblemente los m´as usados de todos, principalmente debido a
su estrecha relaci´on con los Sistemas Expertos utilizados en Inteligencia
Artificial. Estos lenguajes son f´aciles de entender debido a su sencillez
conceptual y a su paralelismo con las estructuras de control m´as simples
utilizadas en programaci´on. Una de las tendencias m´as recientes pasa
por mezclar los conceptos de marcos y reglas, como en el caso de Jess,
para disponer de lenguajes que permitan reunir la informaci´on de cada
concepto y asociar a alguno de sus slots conjuntos de reglas. Este tipo de
lenguajes han recibido tambi´en un fuerte impulso a partir de la aparici´on
de la Web Sem´antica, ya que que se piensa en ellos como herramientas
para definir servicios web.
A.2.3.1. Lenguajes de Representaci´on de Ontolog´ıas
Una vez definidos cada uno de los formalismos se har´a un breve repaso por
los lenguajes m´as utilizados para representar ontolog´ıas [GP03a, Dui00, Su02,
Sha06b]. Estos lenguajes aparecen a continuaci´on clasificados atendiendo a la
naturaleza de la informaci´on que representan:
Lenguajes usados tradicionalmente para la especificaci´on de Ontolog´ıas,
entre estos encontramos: CycL, que usa l´ogica de primer orden, Loom,
que usa l´ogica descriptiva, Ontolingua que se basa en marcos y en Kif,
F-Logic, CML, OKBC, OCML, est´an basados en Marcos tambi´en.
Lenguajes de Web est´andar para representar ontolog´ıas en la Web Se-
m´antica. Estos lenguajes son RDF, RDFS, DAML+OIL y OWL. En
general, todos est´an basados en l´ogica descriptiva y en los lenguajes
basados en marcos. Existe un lenguaje muy reciente, el WSML (Web
Service Modeling Language) que describe los servicios de la Web Sem´an-
tica usando formalismos l´ogicos, y que est´a ganando en popularidad.
Otros lenguajes Web, creados para la especificaci´on de ontolog´ıas como
XOL (utiliza sintaxis XML y OKBC), SHOE (basado en macos y reglas),
y OIL ( basado en marcos)
Las ontolog´ıas pueden representarse utilizando cualquiera de estos forma-
lismos, incluso podr´ıamos a˜nadir dos m´as como:
206 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
Modelos conceptuales para representar Bases de Datos. En estos forma-
lismos, podr´ıamos incluir las bases de datos relacionales y las bases de
datos orientadas a objetos (SQL, Modelos E-R, ..)
Modelos de representaci´on del Software. En este formalismo incluiremos
el UML como m´aximo exponente.
Sin embargo, no todos los lenguajes conducen a la generaci´on de ontolog´ıas
pesadas y los dos ´ultimos formalismos, concretamente, son m´as “pobres” seg´un
algunos autores (ver apartado 2.3) a la hora de representar sem´antica en la
informaci´on dada la naturaleza de la informaci´on que est´an destinadas a re-
presentar. Las restricciones en este tipo de formalismos vendr´an ligadas al
uso de alguno de los lenguajes anteriores, como el uso de reglas o l´ogica para
completar la sem´antica de los mismos.
Adem´as de todos estos lenguajes, otros mecanismos de representaci´on de
ontolog´ıas han surgido al margen de estos. Son las herramientas de repre-
sentaci´on de ontolog´ıas descritas en el apartado A.2.3.3. Estas herramientas,
adem´as de ayudar a la hora de representar una ontolog´ıa, definen su propio
modelo de datos cuando definen la informaci´on que dicha ontolog´ıa describe.
De esta forma, la representaci´on de la ontolog´ıa est´a sujeta a la modelizaci´on
que estas herramientas hacen. Sin embargo la gran mayor´ıa introducen la
opci´on de exportar o traducir la realidad que representan en alguno de los
lenguajes m´as populares, como OWL, KIF, RDF, etc.
A.2.3.2. Lenguajes Est´andar de Web para Representar Ontolog´ıas
La incorporaci´on, y en algunos casos aparici´on de estos lenguajes en la
web surgi´o como necesidad de incluir significado a los documentos web estruc-
turados que, representados en HTML o XML, carec´ıan del mismo para ser
procesados computacionalmente.
A continuaci´on expondremos brevemente las caracter´ısticas de los lengua-
jes m´as com´unmente utilizados para la representaci´on de ontolog´ıas, sobre
todo en la Web [Cha99, GP03b, Ech07a]. Dichos lenguajes se han conver-
tido en est´andares, gracias a la propuesta y aceptaci´on por parte de la W3C1
[w3c06].
RDF - Resource Description Framework
RDF [Cha01, W3C99] es un marco de trabajo o framework para describir e
intercambiar metadatos, por tanto, no es un lenguaje ´unicamente, sino que es
en s´ı mismo un modelo de datos. Est´a construido en base a las reglas siguientes:
1
Sitio web: www.w3c.com
A.2. INGENIER´IA DE ONTOLOG´IAS 207
Recursos: Cualquier cosa que puede tener un URI, esto incluye a todas
las p´aginas web, los elementos individuales de un documento XML, etc.
Propiedades: Es un recurso que tiene un nombre y que puede usarse
como una propiedad, por ejemplo el autor o el t´ıtulo.
Sentencias: Consisten en la combinaci´on de un recurso, una propiedad y
un valor. Estas tres partes se conocen como sujeto, predicado y el objeto
de la sentencia.
Otros elementos de la definici´on de una p´agina RDF estan brevemente
descritos en la tabla A.1.
Tabla A.1: Elementos de una p´agina RDF
Elemento Descripci´on
rdf:Statement Reificaci´on: Cuando se construyen sen-
tencias utilizando otras sentencias
rdf:RDF Cada documento RDF al estar basa-
do en XML debe estar bien formado
(Well-Formed RDF) y tener este ele-
mento ra´ız.
Espacio de Nombres http://www.w3.org/1999/02/22-rdf-
syntax-ns#
rdf:Description Declaraci´on de Recursos. Se usa como
valor del atributo una referencia URI
rdf:about Se refiere al recurso que esta fuera del
documento
rdf:ID Se refiere al recurso si esta dentro del
documento
rdf:datatype Usado para Valores de Datos si el valor
no es un literal
rdf:resource Especificaci´on de un Recurso como un
Valor de Propiedad
rdf:type Declara instancias
rdf:Bag, rdf:Seq, y rdf:Alt Elementos contenedores
- Las definiciones se pueden anidar
208 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
RDF Schema
Es una extensi´on sem´antica de RDF [w3c06, Bac07]. La primera versi´on
fue publicada en Abril de 1998 por la W3C, la ´ultima versi´on se publico en
2004. Los archivos RDFS son archivos RDF que tienen la misma estructura y
sintaxis que la que se usa en RDF.
A pesar de que aparece para enriquecer al anterior, ya que el RDF s´olo es
capaz de representar instancias y las relaciones entre las mismas. No puede
representar ni siquiera la estructura m´as fundamental de las ontolog´ıas, como
son las clases, o hacer taxonom´ıas. El RDF(S) incorpora constructores que
permiten especificar los elementos que muestra la tabla A.2.
Tabla A.2: Elementos de una p´agina RDF Schema
Elemento Descripci´on
rdfs:Class Definici´on de clases
rdfs:SubclassOf Definici´on de Jerarqu´ıas
rdfs:subPropertyOf Especificaci´on de jerarqu´ıas de
propiedades
rdfs:domain Especificaci´on de dominio en las
propiedades
rdfs:range Especificaci´on de rangos en las
propiedades
rdfs:seeAlso,
rdfs:isDefinedBy,
rdfs:comment, rdfs:label
Comentarios
Espacio de Nombres http://www.w3.org/1999/02/22-rdf-
syntax-ns.
El RDF(S), no es demasiado expresivo, s´olo permite la representaci´on de
conceptos, taxonom´ıas de conceptos y relaciones binarias. Concretamente, el
RDF(S) no puede expresar [Bac07]:
El ´ambito local de las propiedades. Por ejemplo, podemos decir que un
profesor puede ense˜nar a un estudiante, pero no podemos especificar que
un asistente s´olo puede ense˜nar a un estudiante no graduado.
Clases Disjuntas.
Combinaci´on booleana de clases, por ejemplo, que un HombreBelga en
una intersecci´on de un Belga y un Hombre.
Restricciones de cardinalidad.
A.2. INGENIER´IA DE ONTOLOG´IAS 209
Caracter´ısticas de las propiedades, como la transitividad..
El OWL solventa estos problemas, manteniendo la compatibilidad con el
RDF(S).
OWL o OWL Web Ontology Language
Lenguaje de Ontolog´ıas para la Web(OWL) [Ant03, Bac07, Bec07a] es un
lenguaje de etiquetado sem´antico para publicar y compartir ontolog´ıas en la
web. Se trata de una recomendaci´on del W3C, y puede usarse para representar
ontolog´ıas de forma expl´ıcita, es decir, permite definir el significado de t´erminos
en vocabularios y las relaciones entre aquellos t´erminos. OWL es una extensi´on
del lenguaje RDF y emplea las tripletas de RDF, aunque es un lenguaje con
m´as poder expresivo que ´este [Ech07a].
El OWL est´a dise˜nado para usarse cuando la informaci´on contenida en los
documentos necesita ser procesada por programas o aplicaciones, en oposici´on
a situaciones donde el contenido solamente necesita ser presentado a los seres
humanos. OWL surge como una revisi´on al lenguaje DAML-OIL y es mucho
m´as potente que ´este.
Al igual que OIL, OWL se estructura en capas que difieren en la com-
plejidad y puede ser adaptado a las necesidades de cada usuario, al nivel de
expresividad que se precise y a los distintos tipos de aplicaciones existentes
como motores de b´usqueda, agentes, etc.
OWL propone tres tipos de lenguaje, puesto que identifica tres tipos de
aplicaciones que el usuario puede desarrollar. As´ı aparecen los tres tipos de
OWL, ordenados de mayor a menor complejidad:
1. OWL-Full. Desarrollado para aplicaciones que requieren mucha expre-
sividad y libertad en la sintaxis RDF. As´ı pues es un conjunto que englo-
ba a todos los dem´as lenguajes (RDF, OWL-DL,OWL-LITE). Permite
incluso la re-definici´on del meta esquema del lenguaje mismo. Un doc-
umento en RDF es equivalente a un documento OWL-FULL en cuanto
a validez. Es muy flexible, pero nunca se podr´a razonar utilizando este
lenguaje.
2. OWL-DL. Usado para aplicaciones que requieren expresividad y com-
pletitud, y la habilidad del razonamiento. Comparte parte del lenguaje
de OWL-Full, pero restringe el uso de algunas primitivas. Por ejemplo:
las propiedades de Objetos y de tipos de datos est´an disjuntas, as´ı que
no pueden compartir propiedades. No existen restricciones de cardinali-
dad sobre propiedades transitivas. Adem´as los axiomas deben estar bien
formados.
210 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
3. OWL-LITE. Desarrollado para aplicaciones que requieren simplicidad
y rapidez en la ejecuci´on. Es un subconjunto de OWL-DL y es el m´as
utilizado por las herramientas de construcci´on de ontolog´ıas. OWL-LITE
prohibe el uso de los atributos: owl:oneOf, owl unionOF (excepto en los
constructores de clases y clases que tengan nombre tras la intersecci´on),
owl:complementOf, owl:hasValue, owl:disjointWith, owl:DataRange.
Un documento en OWL contiene los elementos resumidos en la tabla A.3.
A.2.3.3. Herramientas de Ontolog´ıas
El establecer una metodolog´ıa y un lenguaje de representaci´on de on-
tolog´ıas no es suficiente para manipular las mismas. Es necesaria la creaci´on
de herramientas que faciliten al usuario o al desarrollador dicha manipulaci´on.
Es por este motivo que se han desarrollado un gran n´umero de herramien-
tas al respecto. Estas herramientas pueden clasificarse siguiendo dos criterios
diferentes: El mecanismo de representaci´on en el que est´an basadas, o la fi-
nalidad que tengan las mismas. En cuanto al primer criterio nos encontramos
con (para mayor detalle ir a G´omez-P´erez et al. [Cor06]):
Herramientas que se corresponden o representan directamente utilizando
un lenguaje de representaci´on de ontolog´ıas (OilEd, RdfEdit, SWOOP,
etc.)
Herramientas integradas, cuya caracter´ıstica principal es tener una arqui-
tectura extensible y su representaci´on del conocimiento es independiente
de cualquier lenguaje (Protege, WebOde, OntoEdit, etc.).
Dependiendo de la finalidad que tengan estas herramientas, se han clasifi-
cado en (clasificaci´on extendida a la dada por G´omez-P´erez [GP03b]):
Herramientas de desarrollo o representaci´on de ontolog´ıas.
Herramientas de evaluaci´on de ontolog´ıas.
Herramientas de integraci´on y alineamiento de ontolog´ıas.
Herramientas para anotar ontolog´ıas.
Herramientas de consulta e inferencia.
Herramientas de evoluci´on y versionado.
Herramientas de generaci´on de ontolog´ıas (learning tools).
A.2. INGENIER´IA DE ONTOLOG´IAS 211
Herramientas de integraci´on con bases de datos.
Las herramientas de representaci´on de ontolog´ıas, permiten la definici´on
de las mismas siguiendo el ciclo de vida de desarrollo. Estas herramientas, se
caracterizar´an por la capacidad para seguir una metodolog´ıa concreta, o bien
seguir cada una de las opciones del ciclo de vida de una ontolog´ıa, desde la
definici´on de la ontolog´ıa, creaci´on de instancias, traducci´on a un lenguaje de
representaci´on formal y mantenimiento. La mayor´ıa de estas herramientas se
basan el el formalismo de representaci´on de marcos (frames).
A continuaci´on se presentan las herramientas de representaci´on de on-
tolog´ıas m´as conocidas. Entre las herramientas que se exponen, est´an aquellas
que ´unicamente se crean para poder editar o definir ontolog´ıas en un lenguaje
determinado y herramientas que son una herramienta de construcci´on de on-
tolog´ıas en s´ı mismas que guian al usuario en la elaboraci´on de las mismas.
Un resumen m´as detallado de estas herramientas lo podemos encontrar en
cualquiera de estas referencias [Dui00, Su02, GP03a, You06] y en las propias
p´aginas de descarga de cada una de ellas.
Prot´eg´e [atSUSoM06, Knu]. Esta herramienta tiene su propio modelo
de representaci´on de ontolog´ıas, no obstante, proporciona mecanismos
para importar y exportar ontolog´ıas en los lenguajes m´as comunes de
representaci´on. Es una herramienta que trabaja en modo local y la in-
formaci´on se puede guardar en documentos de texto o en una base de
datos. Protege incluso aporta una herramienta especial para trabajar
directamente con ontolog´ıas de tipo OWL. Adem´as, permite que toda
la comunidad incorpore nuevas aplicaciones a la herramienta mediante
la creaci´on de extensiones o plug-ins, para ello pone a disposici´on de los
usuarios una API que gestiona su propio modelo de datos. Esta herra-
mienta, permite manipular cualquier aspecto de la ontolog´ıa, incluyendo
la definici´on de metadatos. Adem´as incluye opciones para permitir el
trabajo colaborativo. Actualmente es la herramienta l´ıder con un 68.2 %
de usuarios [Car07].
WebODE [otTUoMS07, Arp01].Herramienta que permite representar on-
tolog´ıas tambi´en siguiendo su propio modelo de representaci´on de datos.
Dichas ontolog´ıas ser´an almacenadas en una base de datos. Proporciona
herramientas para importar y exportar ontolog´ıas en lenguajes est´andar
como OWL, y RDF. No soporta la gesti´on de metadatos. Se usa a trav´es
de un navegador Web y permite gestionar casi todas las fases del desarro-
llo de una ontolog´ıa, concretamente se basa en la metodolog´ıa methon-
tology.
212 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
OntoEdit [Ont07a]. Herramienta de edici´on de ontolog´ıas que apoya el
desarrollo y mantenimiento de las mismas utilizando medios gr´aficos en
un entorno web. Esta herramienta representa gr´aficamente las ontolog´ıas,
las almacena y posteriormente manipula en una base de datos relacional.
Su interfaz permite incorporar plugins y exporta a la mayor´ıa de lengua-
jes de ontolog´ıas. Est´a basado en la metodolog´ıa On-To-Knowledge.
KAON [Obe04, Obe03]. Editor de ontolog´ıas para su creaci´on y mante-
nimiento, a trav´es de un navegador web. S´olo representa RDF(s). Alma-
cena la informaci´on en una base de datos.
WebOnto [Uni07a]. Representa las ontolog´ıas usando una interfaz gr´afica
a trav´es de la web usando de diagramas. Permite el trabajo colaborativo
pero no permite crear o modificar metadatos. Dispone en abierto de una
base de ontolog´ıas para reutilizar.
OilEd [Bec07b]. Editor de ontolog´ıas que usa el lenguaje OIL (precursor
del OWL). No es una herramienta que permita desarrollar todo el proceso
de vida de desarrollo de una ontolog´ıa, pero permite definir axiomas,
importar y exportar a la mayor´ıa de los lenguajes conocidos.
OntoLingua [Uni07d]. Permite realizar trabajo colaborativo, navegar,
crear, editar, modificar, utilizar y reutilizar ontolog´ıas a trav´es de un
navegador web. Dispone tambi´en de librer´ıas.
Chimaera [Uni07b]. Software que guia al usuario para crear y mantener
ontolog´ıas distribuidas a trav´es de la web. Su objetivo principal es el de
combinar ontolog´ıas y analizar una o varias. Soporta la carga de bases de
conocimiento en diferentes formatos, resolviendo conflictos de nombres,
permite navegar entre ontolog´ıas, editar t´erminos, etc.
DL-Workbench [Org07]. Plataforma de edici´on de ontolog´ıas que consta
de tres m´odulos: una API para definir los metamodelos (que describen
los formalismos ontol´ogicos), una interfaz para definir ontolog´ıas basadas
en los metamodelos (implementado como una extensi´on (plug-in) de la
plataforma Eclipse). El ´ultimo m´odulo personaliza la interfaz de usuario.
Usa el lenguaje DAML+OIL, permite la gesti´on de varias ontolog´ıas, y la
integraci´on de las mismas con otros datos en una aplicaci´on distribuida
o independiente.
OntoStudio [Ont07b]. Herramienta de desarrollo de ontolog´ıas profesion-
al y que da soluciones basadas en la administraci´on de ontolog´ıas. Basado
en un dise˜no modular que soporta la incorporaci´on de extensiones (plug-
ins). Utiliza el Eclipse como entorno. Incorpora herramientas para hacer
A.2. INGENIER´IA DE ONTOLOG´IAS 213
correspondencias con documentos, archivos y aplicaciones. Tiene editor
de reglas. Soporta visualizaci´on, y tiene interfaz Web.
WSMO Studio [wg08] Entorno que permite representar ontolog´ıas para
la Web Sem´antica.Admite extensiones (plug-ins) y esta implementado
para el entorno Eclipse. Adem´as esta orientado a la creaci´on de servicios
en la Web Sem´antica, generar anotaciones, etc.
POWL [Aue07], Plataforma de desarrollo de la Web Sem´antica. Editor
para generar ontolog´ıas en OWL y RDF, permite trabajo colaborativo
y desarrollo distribuido de ontolog´ıas. Es una soluci´on de c´odigo abierto
basada en Web.
Apollo [Uni07c]. Editor de ontolog´ıas que las organiza las ontolog´ıas
jer´arquicamente.Permite incluir plugins. Representa la informaci´on uti-
lizando el lenguaje OCLM, y CLOS ´unicamente. No exporta a ning´un
lenguaje.
Todos las herramientas anteriores son entornos de gesti´on de ontolog´ıas com-
pletos y generalistas, que con mayor o menor funcionalidad permiten realizar
un gran n´umero operaciones b´asicas en el proceso de desarrollo de las mis-
mas. Existen otras herramientas que cubren solamente algunos aspectos de
este proceso de desarrollo (por lo que siguen encajando en la clasificaci´on de
Herramientas para el Desarrollo de Ontolog´ıas). Podemos encontrar en este
nuevo grupo desde simples editores, traductores a otros lenguajes, o clientes
para incluir contenidos en la Web Sem´antica, entre otras. A continuaci´on se
muestran algunas de estas herramientas,
Como editores encontramos:
RDFedt. Permite generar documentos RDFS.
IsaViz. Permite generar ontolog´ıas en RDFS, mediante interfaz visual, y
gr´aficos.
OntoLingua. Permite realizar trabajo colaborativo, herramientas de tu-
tor´ıa, librer´ıas, y ontolog´ıas reutilizables. Se usa a trav´es de un navegador
Web.
ICOM. Herramienta que puede usarse para la representaci´on de conoci-
miento en una base de datos o en una ontolog´ıa. Representa la informa-
ci´on usando XML o UML.
k-Infinity. S´olo representa ontolog´ıas en RDF con un editor gr´afico. Al-
macena la informaci´on en una BD.
214 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
OntoSaurus. Representa la informaci´on en el lenguaje LOMM. Tiene una
interfaz web pero no tiene visualizaci´on gr´afica. No exporta en lenguajes
web.
SWOOP. Herramienta que permite representar-visualizar ontolog´ıas en
OWL. Lleva incluido un programa que valida la especie de OWL con la
que se trabaje.
Amaya. Es un editor web, para crear ontolog´ıas. Proporciona un espacio
para la colaboraci´on y permite representar lenguajes web como RDF, y
otros.
Como traductores:
DOE. Herramienta que permite exportar e importar varios formatos. No
tiene interfaz de usuario.
Medius VOM. La representaci´on de ontolog´ıas se realiza mediante di-
agramas UML, permite importarlas y exportarlas en lenguajes Web
est´andar.
LinkFactory. No tiene interfaz, pero permite soporte multiusuario, expor-
tar e importar en los lenguajes web est´andar. Almacena la informaci´on
en una BD.
Como clientes de la Web Sem´antica:
DBIN. Es un cliente que permite construir y publicar, un espacio sem´anti-
co personal donde hay reglas definidas por el usuario, m´etricas de confi-
anza y filtros. Permite la generaci´on de anotaciones.
Schema Web. Directorio de esquemas en RDF, OWL, etc. para que los
desarrolladores trabajen con RDF.
Proton, plataforma creada para realizar anotaciones sem´anticas, indexa-
do y recuperaci´on de informaci´on. Desarrollo para la ontolog´ıa KIMO,
incluida en el proyecto KIM.
Existen otro tipo de herramientas para la gesti´on/representaci´on de on-
tolog´ıas, como Sesame, Inkling, rdfDB, Redland, JENA y Cerebra, que son
herramientas para almacenar ontolog´ıas y consultarlas. Algunas de estas, in-
cluso proporcionan una API, que permite utilizar sus propios m´etodos para
desarrollar una herramienta propia de gesti´on. La mayor´ıa de estas APIs per-
miten manipular ontolog´ıas definidas en un lenguaje como RDF(S) u OWL.
A.2. INGENIER´IA DE ONTOLOG´IAS 215
Algunas de estas interfaces son Sesame [Kam07], JENA [Pro07] o OWLAPI
[Bec07a].
Sin embargo las herramientas de representaci´on de ontolog´ıas m´as gene-
ralistas, tienen la ventaja con respecto a otros mecanismos de representaci´on,
como los lenguajes, la facilidad de uso, de aprendizaje gracias a la intuitivi-
dad de la herramienta, la posibilidad de visualizaci´on de la informaci´on en
forma de diagramas, o de manera organizada, la posibilidad de la definici´on
de las ontolog´ıas a trav´es de una interfaz visual y de marcos. Estas ventajas,
convierten en favoritos estos mecanismos a la hora de definir ontolog´ıas, con
respecto a aquellos que consisten en la definici´on de las mismas utilizando un
editor de texto para representar la informaci´on en el lenguaje de definici´on
pertinente.
Herramientas como Chimaera, FCA-merge y iPROMPT (Protege), On-
toBuilder, OntoStudio (KAON2) se usan para unificar ontolog´ıas o integrar-
las, entrar´ıan dentro de las consideradas Herramientas de Integraci´on y Alin-
eamiento.
Las Herramientas de Anotaci´on son aquellas que se usan para anotar on-
tolog´ıas, las mas conocidas son AeroDamL, COHSE, MnM y OntoAnnotate,
SMORE, etc.
Adem´as de todas estas herramientas, existen otro conjunto de ellas que per-
miten razonar o deducir informaci´on representada en las mismas, algunas de
estas herramientas son: Racer, FaCT ++, F-OWL, Pellet, Jena, OWLJessKB,
etc.
Con respecto a las Herramientas para la Evaluaci´on, usadas para validar
la consistencia de la ontolog´ıa, existen algunas p´aginas web como la de Won-
derWeb [Bec07c] y otras herramientas como ODEval, u OntoManager [Har05].
Las Herramientas para Generar Ontolog´ıas ser´ıan aquellas que a partir
de una informaci´on ya existe (ya sean textos, esquemas, BD) nos permiten
generar una nueva. Con respecto a textos, podemos encontrar: Asium, LTG,
OntoLearn, SOAT, TextStorm, Text-to-Onto, TERMINAE, Camaleon, etc.
(Un resumen m´as detallado se encuentra en et al. [GP04]). La generaci´on de
ontolog´ıas utilizando una BD estar´ıa detallada en la secci´on 2.3.
Las Herramientas de Evoluci´on y Versionado, sirven para representar aque-
lla parte de la realidad que est´a continuamente cambiando y es necesaria en-
tonces, una buena gesti´on de las versiones que se van obteniendo de la misma.
G´omez-P´erez et al. en [Cor06] hace un repaso por las herramientas m´as popu-
lares en este ´ambito, como el plugin KAON [Obe03] y el algoritmo PromptDiff
implementado en la API con el mismo nombre. Adem´as tambi´en existen en
algunas herramientas de prop´osito general que controlan el versionado de las
detalladas previamente.
216 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
En cuanto a las herramientas que permiten la Interacci´on con BBDD, son
tan numerosas y est´an tan relacionadas con la tem´atica de esta investigaci´on
que se pueden encontrar de forma detallada en la secci´on 2.3.
A.2.4. T´ecnicas de Manipulaci´on de Ontolog´ıas
Alrededor del concepto de ontolog´ıa, existen un gran n´umero de opera-
ciones, que permiten la manipulaci´on de las mismas, de tal forma que puedan
relacionarse entre ellas, definir nuevas, compartir informaci´on, extender su
definici´on, refinarla, etc. Todas estas t´ecnicas, que forman parte de la ingenier´ıa
ontol´ogica, tienden a resultar confusas, y a veces en la literatura se no deja
claro cual es su funci´on. A continuaci´on se har´a un repaso por todas ellas para
clarificar el uso de estos t´erminos en este trabajo [Ehr07]:
Mapeo (Mapping) Trata de relacionar conceptos similares o relaciones de
diferentes fuentes usando relaciones de equivalencia [Car07]. Es la m´as
utilizada, puesto que su uso fundamentalmente es la consulta de diferen-
tes ontolog´ıas. Un mapeo entre ontolog´ıas representa una funci´on entre
las mismas. La ontolog´ıa original no se cambia pero se a˜naden acciones
adicionales de mapeo que expresen los conceptos, relaciones o instancias
en t´erminos de la ontolog´ıa secundaria. Estos mapeos se almacenan en
un lugar diferente y podr´an usarse s´olo en una direcci´on. El uso t´ıpico
de un mapeo es en una consulta sobre una ontolog´ıa que se reescribe
y maneja sobre otra ontolog´ıa. Las respuestas entonces son mapeadas
de nuevo. Mientras que la alineaci´on identifica la relaci´on entre las on-
tolog´ıas, los mapeos se centran en la representaci´on y la ejecuci´on de las
relaciones para una cierta tarea. Tiene ciertas similitudes con el concepto
de correspondencia como veremos a continuaci´on.
Correspondencia (Matching) Proceso de buscar relaciones o correspon-
dencias entre entidades en diferentes ontolog´ıas. Estas correspondencias,
a veces se denominan mapeos en algunos textos [Euz07]. La diferen-
cia m´as significativa con el proceso de Mapeo es que el mapeo es como
una alineaci´on pero que esta orientada y dirigida, o sea que mapea las
entidades de una ontolog´ıa a al menos otra entidad de otra ontolog´ıa,
tambi´en puede verse como una colecci´on de reglas de mapeo todas ori-
entadas en una direcci´on.
Integraci´on (Integrating) Consiste en juntar, extender o especializar una
ontolog´ıa usando otras que hay disponibles. Es decir, para integrar una
o m´as ontolog´ıas tienen que ser utilizadas para formar una nueva. Los
conceptos originales son adoptados, y posiblemente extendidos, pero su
A.2. INGENIER´IA DE ONTOLOG´IAS 217
origen se mantiene (por ejemplo a trav´es del espacio de nombres). Las
ontolog´ıas son integradas, no est´an completamente mezcladas. Este con-
cepto se utiliza fundamentalmente si las ontolog´ıas provienen de diferen-
tes dominios. A trav´es de la integraci´on, la ontolog´ıa final, cubrir´a un
dominio mayor. Las operaciones m´as comunes en esta pr´actica son la
uni´on y la intersecci´on.
Mezcla (Merging) Toma diferentes ontolog´ıas del mismo campo y crea una
nueva unificada. En este caso, la nueva ontolog´ıa reemplazar´a a las ori-
ginales. Esto requiere de una adaptaci´on y extensi´on considerable. Los
elementos individuales de las ontolog´ıas originales se presentan dentro de
la nueva ontolog´ıa, pero no pueden volver a sus fuentes. El alineamiento
es un paso previo a esta t´ecnica, puesto que detecta la coincidencia de
elementos.
Alineaci´on (Alignment) , consiste en traer dos o m´as ontolog´ıas en un
consenso mutuo y hacerlas consistentes y coherentes. Es decir, dadas dos
ontolog´ıas, alinear una ontolog´ıa con otra significa que para cada entidad
(concepto, relaci´on o instancia) en la primera ontolog´ıa, trataremos de
encontrar una entidad correspondiente que tenga el mismo significado
en la segunda ontolog´ıa. Es entonces un Alineamiento una relaci´on de
igualdad uno-a-uno [Ehr07].
Mediaci´on (Mediation) Es el nivel m´as alto para conciliar diferencias en-
tre ontolog´ıas heterog´eneas con el objetivo de conseguir la interoperaci´on
entre las fuentes de datos anotadas con ellas y las aplicaciones que usan
estas ontolog´ıas. La mediaci´on incluye el descubrimiento y la especifi-
caci´on de alineamientos ontolog´ıas, adem´as del uso de estas alineaciones
para ciertas tareas como el mapeado para una reescritura de una consul-
ta y la transformaci´on de la instanciaci´on. Adem´as el termino mediaci´on
incluye la mezcla de ontolog´ıas.
Combinaci´on (Combining) Es cuando dos o m´as ontolog´ıas diferentes se
utilizan para una tarea en la que su relaci´on mutua es relevante. La
relaci´on de combinaci´on puede ser de cualquier tipo, no ´unicamente de
identificaci´on. Adem´as no se da informaci´on acerca de como se establece
la relaci´on.
Transformaci´on (Transformation) Cuando se transforma una ontolog´ıa
su sem´antica cambia para hacerla compatible con los nuevos prop´ositos.
Por ejemplo, las relaciones entre las entidades de la primera ontolog´ıa y
aquellas de la segunda se a˜naden a la primera.
218 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
Traducci´on (Translating) Este es el caso de traducir una ontolog´ıa repre-
sentada en un lenguaje a otro. La sem´antica debe ser preservada, aunque
cambia la sintaxis.
Versionado (Versioning) Es el proceso de ir aplicando modificaciones a una
ontolog´ıa e ir guardando los resultados parciales que se van obteniendo.
Conciliaci´on (Reconciliation) Es el proceso que permite armonizar los
contenidos de dos o m´as ontolog´ıas, t´ıpicamente requiere cambios en
uno de los lados incluso en los dos. En este caso no se combinan las on-
tolog´ıas, sino que co-evolucionan. La conciliaci´on de ontolog´ıas puede ser
llevada a cabo con el prop´osito de mezclar dos ontolog´ıas o bien hacerlas
independientes.
Recortado (Pruning) Es el proceso de recortar partes de una ontolog´ıa
para formar una nueva m´as especializada. A veces, se parte de una on-
tolog´ıa m´as gen´erica o de alto nivel, y a partir de la misma se van re-
alizando operaciones de poda para obtener la ontolog´ıa adecuada a la
realidad que se desea representar.
Aprendizaje(Learning) Es el proceso de obtener una ontolog´ıa, a trav´es
de m´etodos o herramientas, de forma autom´atica o semiautom´atica. Las
fuentes de datos de las cuales se puede extraer una ontolog´ıa aplicando
t´ecnicas de aprendizaje, son textos, esquemas, contenidos web, bases de
datos, etc.
A.2. INGENIER´IA DE ONTOLOG´IAS 219
Tabla A.3: Elementos de una p´agina OWL
Elemento Descripci´on
Prefijo xmlns:owl
Espacio de Nombres http://www.w3.org/2002/07/owl#
owl:class Identificador de clase. En OWL-
FULL es igual que rdfs:class)
owl:oneOf enumeraci´on de individuos
owl:allValuesForm,
owl:someValuesFrom,
Restricci´on de valores en un
propiedad
owl:cardinality,
owl:minCardinality,
owl:maxCardinality
Restricci´on de Cardinalidad en
una propiedad
owl:intersectionOf, owl:unionOf,
owl:complementOf
Descripciones que usan expre-
siones booleanas
owl:subClassOf,
owl:equivalentClass,
owl:disjointWith
Axiomas de Clases
owl:ObjectProperty Propiedades de objeto
owl:DatatypeProperty Propiedades de tipo de datos
owl:equivalentProperty,
owl:inverseOf,
owl:equivalentProperty
Axiomas de propiedades para las
relaciones entre propiedades
owl:FucntionalProperty y
owl:InverseFuctionalProperty
Axiomas de propiedades para la
cardinalidad
owl:SymmetricProperty y
owl:TransitiveProperty
Axiomas de propiedades para car-
acter´ısticas l´ogicas
owl:sameAs, owl:differentFrom Especifican la identidad de los in-
dividuos
rdfs:Literal Tipos de datos:literales
owl:OneOf tipos de datos enumerados
owl:versionInfo, rdfs:label,
rdfs:comment, rdfs:seeAlso,
rdfs:isDefinedBy
Propiedades de anotaci´on
owl:imports, owl:priorVersion,
owl:backwardCompatibleWith,
owl:incompatibleWith
Propiedades de la ontolog´ıa
220 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
Ap´endice B
Extensiones Difusas al
Modelo Relacional de BD
B.1. Modelo Generalizado para Bases de Datos Rela-
cionales Difusas (GEFRED)
A continuaci´on se expone brevemente los fundamentos planteados en GEFRED.
B.1.1. Fundamentos Te´oricos de GEFRED
Representaci´on de Datos Imprecisos
Definici´on B.1. Sea D un dominio de discurso, ˜P(D) el conjunto de dis-
tribuciones de posibilidad definidas sobre D, entre las que se incluyen aquellas
que describen los valores DESCONOCIDO y NO APLICABLE. Considere-
mos tambi´en el valor NULL. El dominio difuso generalizado se define como
DG donde DG ⊆ ˜P(D) ∪ NULL.
Un dominio difuso generalizado es un conjunto formado por elementos que
pueden ser:
1. un escalar (por ejemplo, Comportamiento = bueno, que se representa
mediante la distribuci´on de posibilidad {1/buena}),
2. un n´umero (por ejemplo, Edad = 27, que se representa mediante la dis-
tribuci´on de posibilidad {1/27}),
3. un conjunto de asignaciones escalares posibles (por ejemplo, Compor-
tamiento = {bueno, malo}, que se representa por la distribuci´on de posi-
bilidad {1/good, 1/bad}),
221
222 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
4. un conjunto de asignaciones num´ericas posibles (por ejemplo, Edad =
{20, 21}, que se representa mediante la distribuci´on de posibilidad {1/20,
1/21}),
5. una distribuci´on de posibilidad construida sobre un dominio escalar (por
ejemplo, Aptitud = {0,6/buena, 0,7/mala}),
6. una distribuci´on de posibilidad construida sobre un dominio num´eri-
co (por ejemplo, Edad = {0,3/20, 0,5/21}, n´umeros difusos o etiquetas
ling¨u´ısticas),
7. un n´umero real en en intervalo [0, 1], que se refiere al grado de acopla-
miento (por ejemplo, Calidad = 0,9),
8. un valor DESCONOCIDO con distribuci´on de posibilidad {1/u : ∀u ∈
U},
9. un valor NO APLICABLE con distribuci´on de posibilidad {0/u : ∀u ∈
U},
10. un valor NULL con distribuci´on de posibilidad
NULL = {1/UNDEFINED, 1/NULL}
Definici´on B.2. Una Relaci´on Difusa Generalizada, R, es un par de conjun-
tos (H, B), definidos como sigue:
H es el conjunto llamado “cabecera” y describe la estructura de la relaci´on
mediante un conjunto de ternas atributo-dominio-compatibilidad (donde
el ´ultimo es opcional),
H = {(AG1 : DG1[, CAG1
]), . . . , (AGn : DGn[, CAGn
])}
donde a cada atributo Aj, le subyace un dominio difuso generalizado,
no necesariamente distinto, Dj, j ∈ [1, n]. Cj es el llamado atributo de
compatibilidad y toma valores en [0, 1].
B es el conjunto llamado “cuerpo” y est´a formado por una serie de tuplas
generalizadas difusas distintas, donde cada tupla est´a compuesta por un
conjunto de ternas atributo-valor-grado (donde este ´ultimo es opcional),
B = {{(AG1 : ˜di1[, ci1], . . . , (AGn : ˜din[, cin])}}
con i = 1, . . . , m y donde m es el n´umero de tuplas de la relaci´on, ˜dij
representa el valor del dominio que toma la tupla i sobre el atributo Aj
y cij es el grado de compatibilidad asociado a este valor.
B.1. GEFRED 223
Los operadores de comparaci´on tienen que ser flexibilizados de modo que
sea posible comparar dos valores que no son exactamente iguales.
Definici´on B.3. Sea U el dominio de discurso considerado. Se llama com-
parador extendido θ a cualquier relaci´on difusa definida sobre U y expresada
como sigue:
θ : U × U → [0, 1]
θ(ui, uj) → a
con ui, uj ∈ U y a ∈ [0, 1].
Definici´on B.4. Sea U un dominio de discurso, D un dominio difuso con-
struido sobre el mismo y θ un comparador extendido definido sobre U. Con-
sideremos una funci´on Θθ definida como sigue:
Θθ : D × D → [0, 1]
Θθ( ˜d1, ˜d2) → [0, 1]
Se dice que Θθ es un comparador difuso generalizado sobre D inducido por el
comparador extendido θ, si cumple:
Θθ
( ˜d1, ˜d2) = θ(d1, d2), ∀d1, d2 ∈ U
donde ˜d1 y ˜d2 representan las distribuciones de posibilidad {1/d1} y {1/d2}
inducidas, respectivamente, por los valores d1 y d2.
Manejo de Datos Imprecisos
Definici´on B.5. Sea R una relaci´on difusa generalizada como la de la defini-
ci´on B.2 y X un subconjunto de H definido como sigue:
x ⊆ H, x = {(As : Ds[, Cs ]) : s ∈ S, s ∈ S ; S, S ⊆ {1, . . . , n}}
Entonces, se llama proyecci´on difusa generalizada de R sobre X, y se nota
por PX(R), a una relaci´on difusa generalizada de la forma:
PX(R) =
HP = X
BP = {(As : ˜dis[, cis ])}
(B.1)
donde s ∈ S, s ∈ S y S, S ⊆ {1, . . . , n}.
Definici´on B.6. Sea R una relaci´on difusa generalizada como la de la defini-
ci´on B.2, ˜a ∈ D una constante, Θθ un comparador difuso generalizado y γ
un “umbral de cumplimiento”. Entonces, se llama selecci´on difusa genera-
lizada sobre la relaci´on R inducida por Θθ compuesto con ˜a y el atributo
224 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
Ak, k ∈ {1, . . . , n} y cualificada por γ, y se nota por SΘθ(Ak,˜a)≥γ(R) a la
relaci´on difusa generalizada de la forma:
SΘθ(Ak,˜a)≥γ(R) =



HS = {(A1 : D1[, CA1 ]), . . . , (An : Dn[, CAn ])}
BS = {{(A1 : ˜dr1[, cr1], . . . , (Ak : ˜drk[, crk]),
. . . , (An : ˜drn[, crn])}}
(B.2)
con
crk = Θθ
( ˜drk, ˜a) ≥ γ (B.3)
donde r = 1, . . . , m con m el n´umero de tuplas de la selecci´on.
B.1.2. Representaci´on Relacional de un Dominio Generalizado
Difuso: FIRST
Representaci´on de la Informaci´on Imprecisa
Los elementos que forman parte del tratamiento impreciso pueden ser re-
presentados de diversas maneras. De ese modo, una distribuci´on de posibilidad
normalizada puede representarse mediante par´abolas, hip´erbolas, etc. Sin em-
bargo, la implementaci´on FIRST [Med94a, Gal99] y su servidor de consultas
imprecisas, construidos sobre el modelo GEFRED [Med94b], asume la repre-
sentaci´on trapezoidal descrita por cuatro puntos que se muestra en la figura
B.1. Esta simplificaci´on se explica en funci´on de la contradicci´on que supone
representar datos intr´ınsecamente imprecisos mediante distribuciones de posi-
bilidad definidas de forma altamente precisa, que adem´as a˜naden el factor del
incremento del coste computacional.
Datos difusos o con tratamiento difuso Los valores que pueden formar
parte de un dominio generalizado difuso pueden dividirse en dos grupos:
1. Datos precisos: tambi´en llamados crisp o cl´asicos. Seg´un se muestra en
la figura B.2 y dado que lo que se almacena son datos cl´asicos, el alma-
cenamiento depender´a directamente de la capacidad de representaci´on
del SGRBD sobre el que se aplique la implementaci´on.
2. Datos imprecisos: tambi´en llamados fuzzy o difusos. Se corresponden
con datos de dos subtipos recogidos en las figuras B.3 y B.4:
Datos imprecisos sobre un referencial ordenado: que engloban a to-
dos aquellos datos descritos mediante una distribuci´on de posibili-
dad construida sobre un conjunto referencial discreto o continuo or-
denado (con una relaci´on de orden definida). A este tipo pertenecen
B.1. GEFRED 225
a b dg
1
0
a b dg
1
0
A) Forma Trapezoidal
B) Forma Triangular
ab dg
1
0
C) Forma Intervalar
Figura B.1: Posibles Representaciones trapezoidales de una distribuci´on de
posibilidad
los valores de tipo 6 que aparece en la definici´on de dominio difuso
generalizado B.1 (p´agina 221). Para su representaci´on recurriremos
a:
Distribuci´on de Posibilidad Trapezoidal: cuya funci´on de pertenen-
cia viene descrita por cuatro puntos [α, β, γ, δ] que se muestran
en la figura B.1 apartado A. Aquellos valores que est´en en el
intervalo [β, γ] pertenecen al conjunto difuso descrito por la
distribuci´on trapezoidal con grado de pertenencia 1.
Etiqueta ling¨u´ıstica: estos se refieren a un concepto impreciso intro-
ducido por Zadeh [Zad75] definido mediante una distribuci´on
de posibilidad.
Valores Aproximados: sea n un valor del dominio subyacente, el
concepto impreciso aproximadamente n se construye a par-
tir de un valor llamado margen el cual nos permite constru-
226 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
1
Bajo
Mediano
Alto
Muy Alto
Aprox . 1.65
0
0 165 190150...
Valores
Almacenados
Valores
Consultados
Figura B.2: Tipo difuso 1
0 165 190150...
Valores Consultados
yAlmacenados
Valores Consultados
y Almacenados
Bajo Alto Aprox . 1.65
1
0
Figura B.3: Tipo difuso 2
B.1. GEFRED 227
Simpatico Agradable Reservado Desagradable
0,8 0.7 0.5
0.3 0.1
0
Consultado
yAlmacenado
Figura B.4: Tipo difuso 3. Valores que pueden tomar las relaciones de simil-
itud.
ir una distribuci´on de posibilidad triangular de la forma [n −
margen, n, n, n + margen], como se muestra en la figura B.1.
Intervalos de posibilidad: los ´unicos valores que pertenecen al con-
junto difuso con grado 1 son aquellos del dominio subyacente
que est´an en el intervalo [n, m], por lo que se representa median-
te una distribuci´on con los siguientes par´ametros [n, n, m, m]
que se puede ver en la figura B.1 apartado C. Esta repre-
sentaci´on permite asumir la extensi´on que Grant [Gra80] hace
del modelo relacional para representar valores intervalares co-
mo valor posible de un atributo.
Datos imprecisos con analog´ıa sobre referencial no ordenado: que
engloban a todos aquellos datos difusos cuyo dominio subyacente es
un conjunto discreto no ordenado sobre el que se define una relaci´on
de semejanza o similitud entre cada par de valores del mismo. Los
datos que pueden representarse en este grupo son:
Escalares Simples: este tipo est´a representado por una ´unica pareja
de datos en la que el ´unico valor de posibilidad es {1/d}, lo
que quiere decir que el ´unico valor posible es d con grado de
posibilidad 1 (normalizaci´on).
Distribuci´on de Posibilidad sobre Escalares: este tipo se le asocia
una representaci´on del tipo {(p1, d1), . . . , (pn, dn)} en la que a
cada valor del dominio subyacente se le asigna un grado de
pertenencia al conjunto difuso.
Hay que proporcionar una representaci´on para los tres valores especiales
Null, Unknown y Undefined cuyas distribuciones de posibilidad se ven en la
figura B.5.
228 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
0
1
0
1
UNKNOWN UNDEFINED
Figura B.5: Distribuciones de posibilidad de los valores Unknown y Unde-
fined
Para recoger todos los valores que se pueden formar parte de un do-
minio generalizado difuso Medina [Med94b], y Galindo [Gal99] posteriormente,
plantearon tres tipos de atributos en su implementaci´on FIRST del modelo
GEFRED, sobre el sistema gestor relacional de bases de datos Oracle R . A
grandes rasgos, estos atributos son:
Tipo difuso 1: representa datos precisos que pueden ser consultados de
forma imprecisa.
Tipo difuso 2: representa datos imprecisos pertenecientes a un dominio
difuso construido sobre un referencial ordenado y que pueden ser con-
sultados de forma imprecisa.
Tipo difuso 3: representa datos imprecisos pertenecientes a un dominio
difuso construido sobre un referencial discreto no ordenado, sobre el que
se define una relaci´on de similitud, y que pueden ser consultados de
forma imprecisa.
En el Modelo Relacional los atributos toman valores en dominios de valo-
res at´omicos (enteros, reales, cadenas de caracteres, caracteres, . . . ) que son
las unidades m´ınimas de informaci´on. Dicho modelo no especifica los domin-
ios, pero cualquier Sistema Gestor de Bases de Datos construido sobre este
paradigma (excepci´on hecha de aquellos que poseen caracter´ısticas de ori-
entaci´on a objetos, que no es nuestro caso) usa ´unicamente valores at´omicos.
En el caso de los atributos de tipo difuso 1, no es necesaria ninguna estruc-
tura adicional para la representaci´on de valores, ya que no es la representaci´on
lo que se flexibiliza, sino la consulta.
B.1. GEFRED 229
En el caso de los atributos de tipo 2 y tipo 3, no es s´olo la consulta la que
se flexibiliza, sino tambi´en la representaci´on de valores. Galindo propone en
[Gal99] una estructura para la representaci´on de atributos de los tipos 2 y 3,
que pueden verse en las tablas B.1 y B.2.
Tipos de valor Atributos de tabla para valores de tipo difuso 2
FT F1 F2 F3 F4
DESCONOCIDO 0 NULL NULL NULL NULL
NO DEFINIDO 1 NULL NULL NULL NULL
NULL 2 NULL NULL NULL NULL
CLASICO 3 d NULL NULL NULL
ETIQUETA 4 FUZZY ID NULL NULL NULL
INTERVALO[n, m] 5 n NULL NULL m
APROX(d) 6 d d − margen d + margen margen
TRAPEZOIDE[α, β, γ, δ] 7 α β γ δ
Tabla B.1: Representaci´on para atributos de tipo 2
En la tabla B.1, el atributo FT almacena el tipo de valor y los atributos
F1, F2, F3 y F4 se usan para almacenar los par´ametros de cada valor. Los
valores NULL que aparecen en esta tabla representan valores inaplicables.
Tipos de valor Atributos de tabla para valores de tipo difuso 3
FT FP1 F1 . . . FPn Fn
DESCONOCIDO 0 NULL NULL . . . NULL NULL
NO DEFINIDO 1 NULL NULL . . . NULL NULL
NULL 2 NULL NULL . . . NULL NULL
SIMPLE 3 p d . . . NULL NULL
DISTRIBUCI´ON 4 p1 d1 . . . pn dn
Tabla B.2: Representaci´on para atributos de tipo 3
En la tabla B.2, el atributo FT almacena el tipo de valor y los pares
de atributos (pn, dn) representan que el valor dn del dominio tiene un grado
de posibilidad pn. Los valores NULL que aparecen en esta tabla representan
valores inaplicables.
De este modo, cuando se quiera representar un atributo de tipo 2 en una
relaci´on, ser´an necesarias cinco atributos de tipo b´asico. Para representar un
atributo de tipo 3, ser´an necesarias 2 × n + 1 atributos de tipo b´asico, donde
n es el n´umero de valores que forman el dominio en cuesti´on.
Comparadores difusos generalizados En la literatura pueden encon-
trarse diversos m´etodos de comparaci´on de n´umero difusos, los cuales pueden
230 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
clasificarse en dos categor´ıas: los que usan una funci´on que va del conjunto
del n´umeros difusos a un conjunto ordenado y los que usan relaciones difusas
para el proceso de comparaci´on. Las primer tipo pertenecen a las propues-
tas recogidas en [Ada80, Yag78, Yag81]. Sobre el segundo tipo se encuentran
diferentes aproximaciones en [Bal79, Bas77, Del88, Dub83].
GEFRED permite representar una amplia variedad de comparadores, sin
embargo FIRST se centra en 15 comparadores, mostrados en la figura B.7 y se
aplican a valores de dominios difusos construidos sobre referenciales ordenados.
Un desarrollo de todos ellos y su significado se desarrolla en [Gal99].
Grado de cumplimiento de una condici´on: umbral El grado de cumplim-
iento de una consulta que implique comparadores difusos generalizados pertenece
al intervalo [0, 1]. Sin embargo, el umbralizar una consulta permite hacer poda
de todos aquellas tuplas que no superen dicho grado de cumplimiento.
En el caso de un mecanismo de deducci´on orientado a tuplas, el grado
obtenido desde el comienzo del c´alculo de predicados de una regla sometido a
un umbral puede ayudar a realizar una poda importante durante la exploraci´on
de las posibilidades.
B.1.3. Base de Metaconocimiento Difuso (FMB)
Toda la informaci´on adicional sobre la estructura de los dominios y los
valores que puede tomar cada atributo construido sobre un dominio generali-
zado difuso, as´ı como cualificadores para el acceso a estos atributos constituye
lo que se conoce como Base de Metaconocimiento Difuso. En la figura B.6 se
describen el diagrama de clases de dicha base de metaconocimiento.
Las relaciones que constituyen dicha estructura tienen la siguiente finali-
dad:
FUZZY COL LIST: contiene la lista de aquellos atributos de tabla de la
base de datos que son susceptibles de tratamiento difuso. Cada atributo
queda descrito en esta por una referencia a la tabla a la que pertenecen
(OBJ#) y columna en la que se almacenan (COL#), el tipo difuso de la
columna (F TYPE), el n´umero de valores de la distribuci´on de posibil-
idad si se trata de un atributo de tipo difuso 3 (LEN) y un comentario
acerca del atributo (COM).
FUZZY OBJECT LIST: almacena los objetos difusos que pertenecen al
dominio del atributo en cuesti´on. Cada uno de los objetos est´an repre-
sentados por la tabla y columna a cuyo dominio pertenecen (OBJ# y
COL#), un identificador (FUZZY ID), un nombre (FUZZY NAME) y
un tipo de objeto (FUZZY TYPE).
B.2. EXTENSI ´ON L ´OGICA-DEDUCTIVA AL MODELO DE BDRD 231
FUZZY LABEL DEF: contiene informaci´on sobre las distribuciones de
posibilidad trapezoidales que se asocian a etiquetas ling¨u´ısticas. Ca-
da una de ellas est´a descrita por la tabla y columna a cuyo dominio
pertenece (OBJ# y COL#), la etiqueta a la que se asocia (FUZZY ID)
y los par´ametros que la definen α, β, γ y δ.
FUZZY APPROX MUCH: contiene los par´ametros margen y much para
cada atributo de tipo difuso 1 o 2 los cuales se usan para la comparaci´on
de valores dentro del dominio difuso. Para cada columna (OBJ#,COL#)
se almacenan dos atributos (MARGEN, MUCH).
FUZZY NEARNESS DEF: contiene los valores de similitud entre cada
par de valores posible en el dominio discreto de valores escalares que
se asocia a un atributo de tipo difuso 3. A cada par de valores posi-
ble (FUZZY ID1, FUZZY ID2) del dominio discreto de escalares de un
atributo de tipo difuso 3 (OBJ#, COL#) hay asociado un grado de
compatibilidad (DEGREE).
FUZZY COMPATIBLE COL: contiene informaci´on sobre aquellos atri-
butos de tipo difuso 3 que comparten dominio con otro atributo difuso
del mismo tipo, de modo que no sea necesario volver a definir todos
los valores de dicho dominio y sus grados de compatibilidad. Para cada
atributo difuso de tipo 3 que comparte dominio discreto de escalares con
otro atributo (OBJ#1, COL#1) se almacena la referencia al atributo
con el que comparte dominio (OBJ#2, COL#2).
FUZZY QUALIFIERS DEF: contiene el umbral m´ınimo de satisfacci´on
para cada cualificador (QUALIFIER) definido sobre una etiqueta lin-
g¨u´ıstica (FUZZY ID) que pertenece al dominio de un atributo difuso
(OBJ#, COL#).
B.1.4. Lenguaje SQL Difuso (FSQL): consulta imprecisa
Una vez definido el dominio generalizado difuso es necesario ampliar los
lenguajes relacionales que gestionan estos dominios as´ı como las relaciones
en el seno del modelo relacional. En nuestro caso, nos centraremos en una
ampliaci´on del lenguaje SQL.
La extensi´on del SQL para permitir la representaci´on de datos difusos
comprende tanto el Lenguaje de Definici´on de Datos (DDL) como el Lenguaje
de Manipulaci´on de Datos (DML), dando lugar a la creaci´on y extensi´on de
las sentencias que se exponen en la tabla B.3. Esta sintaxis puede verse con
detalle en [Bla00b, Bla00a, Bla01].
232 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
FUZZY_LABEL_DEF
OBJ#: NUMBER( FK)
COL#: NUMBER( FK)
FUZZY_ID: NUMBER(3)( FK)
ALFA: NUMBER
BETA: NUMBER
GAMMA: NUMBER
DELTA: NUMBER
FUZZY_NEARNESS_DEF
OBJ#: NUMBER
COL#: NUMBER
FUZZY_ID1:NUMBER(3)(FK)
FUZZY_ID2:NUMBER(3)(FK)
DEGREE: NUMBER(2)
FUZZY_OBJECT_LIST
OBJ#: NUMBER( FK)
COL#: NUMBER( FK)
FUZZY_ID: NUMBER(3)
FUZZY_NAME: VARCHAR2(30)
FUZZY_TYPE: NUMBER(1)
FUZZY_COL_LIST
OBJ#: NUMBER
COL#: NUMBER
F_TYPE: NUMBER(1)
LEN: NUMBER
COM: VARCHAR(100)
FUZZY_COMPATIBLE_ COL
OBJ1#: NUMBER(FK)
COL1#: NUMBER(FK)
OBJ2#: NUMBER(FK)
COL2#: NUMBER(FK)
FUZZY_APROX_MUCH
OBJ#: NUMBER( FK)
COL#: NUMBER( FK)
MARGIN:NUMBER
MUCH: NUMBER
FUZZY_QUALIFIERS_DEF
OBJ#: NUMBER( FK)
COL#: NUMBER( FK)
FUZZY_ID: NUMBER(3)(FK)
QUALIFIER: NUMBER(3)
Figura B.6: Estructura relacional de la FMB
B.2. EXTENSI ´ON L ´OGICA-DEDUCTIVA AL MODELO DE BDRD 233
Tabla B.3: Resumen de FSQL
Tipo Sentencia Descripci´on
DDL Create Table Crea una relaci´on difusa
DDL Create Label Crea una etiqueta
DDL Create Nearness Crea los valores de un dominio difuso tipo 3
DDL Alter Table Cambia la definici´on de una relaci´on difusa
DDL Alter Label Cambia la definici´on de una etiqueta
DDL Alter Nearness Cambia la definici´on de un dominio difuso tipo 3
DDL Drop Table Borra de una relaci´on difusa
DDL Drop Label Borra de una etiqueta
DDL Drop Nearness Borra de un dominio difuso de tipo 3
DML Select realiza consultas difusas
DML Insert inserta tuplas en una relaci´on difusa
DML Delete borra tuplas de una relaci´on difusa
B.2. Extensi´on L´ogica-Deductiva al Modelo de BDRD
B.2.1. Fundamentos Te´oricos para la Representaci´on del Mo-
delo L´ogico y L´ogico Difuso para Bases de Datos Rela-
cionales
La teor´ıa de bases de datos esta muy ligada con la L´ogica, especialmente
a la hora de construir consultas, definir vistas o restricciones de integridad
[Gal84].
Sobre las bases de datos deductivas se pueden definir dos tipos de relaciones
b´asicas [Bla01]:
Relaci´on Extensiva en el sentido del Modelo Relacional Cl´asico consisten
en un par de conjuntos (R,r) donde R es un conjunto de atributos que
define la estructura de la relaci´on y r es un conjunto de tuplas que define
el contenido de la relaci´on.
Relaci´on Intensiva se trata de un par de conjuntos (R,I ) donde R es el
conjunto de atributos que definen la estructura de la relaci´on e I es un
conjunto de f´ormulas l´ogicas, denominado Generador de Instancias, que
permite obtener el contenido de la relaci´on.
Las reglas en el Generador de Instancias I tienen una estructura diferente
dependiendo de si se trata del caso cl´asico o difuso. Una propuesta para el
esquema de reglas en el modelo cl´asico deductivo lo introdujo Medina et al.
234 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
[Med97] y Blanco et al. [Bla00a]. Se estableci´o que cada regla en el conjunto I
de la base de datos cl´asica deductiva tuviera la siguiente estructura:
P(X1, X2, . . . , Xn) ←− Q1(Y1,1, Y1,2, . . . , Y1,n1 ) ∧ Q2(Y2,1, Y2,2, . . . , Y2,n2 )∧
∧ . . . ∧ Qm(Ym,1, Ym,2, . . . , Ym,nm ) (B.4)
El predicado P, cuyos hechos son calculados, se denomina cabeza de la
regla y la f´ormula l´ogica a la derecha del :- se denomina cuerpo de la regla (se
trata de reglas tipo Prolog). Adem´as, cada regla tiene impuestas las siguientes
restricciones:
1. Cada variable en la cabecera de la regla aparezca por lo menos una vez
en el cuerpo de la regla, y
2. Cada variable en el cuerpo de la regla aparezca en el predicado de la
cabecera de la regla o en cualquier otro predicado del cuerpo de la regla.
Aplicando estos conceptos al modelo relacional extendido difuso GEFRED
se extienden algunos de los conceptos expuestos [Bla01, Bla02a, Bla03a, Bla03b]:
Definici´on B.7. Una Relaci´on Extensiva Difusa es una Relaci´on Difusa Ge-
neralizada desde el punto de vista del modelo GEFRED [Med94b], definido en
el apartado anterior, es decir, un par (H, B) donde H equivale al esquema o
cabecera de la relaci´on y B es la instancia o cuerpo.
En nuestro caso, nos centraremos en el caso en el que, cuando un valor de
dominio acopla con un atributo dentro de una tupla, lo hace con grado 1, es
decir, la expresi´on para la cabeza y el cuerpo de la relaci´on son:
H = {(AG1 : DG1 [, CAG1
]), . . . , (AGn : DGn [, CAGn
])}
B = {(AG1 : ˜di1 [, 1]), . . . , (AGn : ˜din [, 1])}
(B.5)
Definici´on B.8. Una Relaci´on Intensiva Difusa es un par (H, I) donde:
H es el conjunto llamado cabecera, que describe la estructura de la
relaci´on como un conjunto fijo de ternas atributo-dominio-compatibilidad
(siendo este ´ultimo opcional),
H = {(A1 : D1[, C1]), (A2 : D2[, C2]), . . . , (An : Dn[, Cn])}
donde a cada atributo Aj le subyace un dominio difuso generalizado,
no necesariamente distinto, Dj con j ∈ [1, n]. Cj es un atributo de
compatibilidad que toma valores en el intervalo [0, 1].
B.2. EXTENSI ´ON L ´OGICA-DEDUCTIVA AL MODELO DE BDRD 235
I es el conjunto llamado generador de instancia, que est´a constituido
por una serie de reglas orientadas a datos difusos, las cuales permiten
el c´alculo de la instancia de la relaci´on. Estas reglas se desarrollar´an en
los siguientes apartados del presente cap´ıtulo.
La generalizaci´on de la definici´on de regla en el generador de instancias
I sirve para la representaci´on de reglas cl´asicas y adem´as reglas flexibles. En
[Bla03a, Bla01] se detalla el proceso de generalizaci´on de la regla hasta obtener
la Regla Generalizada con grado de acoplamiento que permite la representaci´on
de dichas reglas para deducir con datos flexibles.
Definici´on B.9. Se llama regla generalizada con grado de acoplamiento a la
regla cuya expresi´on es la siguiente:
˜P(X1, X2, . . . , Xn, γ ˜P ) ← ˜Q1(Y1,1, Y1,2, . . . , Y1,n1 , γ ˜Q1
) ∧ . . . ∧
∧ ˜Qm(Ym,1, Ym,2, . . . , Ym,nm , γ ˜Qm
) ∧ Ψ
(B.6)
con Ψ definida como sigue:
Ψ ≡ ≥ (Θ=
i,j,k(Xi, Yj,k), αi,j,k) ≥ (Θ=
j,k,l,p(Yj,k, Yl,p), βj,k,l,p)
φj,k,l,p(Θθ
j,k,l,p(Yj,k, Yl,p), γj,k,l,p)
(B.7)
donde γ ˜P es una funci´on grado de acoplamiento construida en base a los grados
de acoplamiento de las variables y a los grados de acoplamiento de los hechos
obtenidos.
B.2.2. La Representaci´on Relacional de las Reglas Generali-
zadas Difusas: FREDDI Extendido
La arquitectura FREDDI fue propuesto por Medina et al. en [Med97,
Pon96, Pon97] como un mecanismo para unificar un sistema de consulta de-
ductivo con un sistema de consulta difuso, ambos construidos sobre un sistema
gestor de bases de datos relacional. Este conjunto de relaciones permit´ıa al-
macenar la definici´on de un predicado como una disyunci´on de una o varias
reglas. Cada una de las reglas se defin´ıa como una conjunci´on de predicados
y comparadores.
Representaci´on de Informaci´on Deductiva
Una relaci´on intensiva puede verse como [Bla01, Bla02a, Bla03a, Bla03b]:
Una relaci´on existente con su propio esquema, pero cuya instancia ha de
ser calculada en funci´on de la instancia de los predicados que intervienen
en el cuerpo de sus reglas en el instante de ser consultada, o bien
236 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
Una relaci´on temporal que se construye en el momento de la consulta y
que no posee entidad m´as all´a del alcance de dicha consulta.
Una relaci´on extensiva, por el contrario, no necesita una representaci´on
concreta dado que trata de una relaci´on ordinaria, o relaci´on difusa que ya fue
expuesta en el apartado anterior.
La representaci´on de las reglas l´ogicas vendr´a dada por su estructura, di-
vidi´endose en sus predicados y variables y almacenando el orden en el que se
encuentran y el grado de acoplamiento que se especifique.
Por otro lado el motor de inferencia ha de ser un m´odulo externo o in-
terno SGBDR (dependiendo o no si permite su inclusi´on en el mismo) que
estar´a implementado en un lenguaje de programaci´on l´ogico.
B.2.3. Base de Metaconocimiento Deductivo: Base de Reglas
(RB)
Tal y como se explic´o anteriormente, la base de metaconocimiento permite
la representaci´on de datos de mayor complejidad puedan ser representados en
el modelo relacional. La representaci´on de la informaci´on deductiva est´a for-
mada por dos bases de Metaconocimiento, la FMB descrita en el apartado
B.1.3 y la RB o Base de Reglas que a continuaci´on se describe, y que permite
la representaci´on de las relaciones intensivas y las reglas generalizadas con
grado de acoplamiento difuso.
Las diversas relaciones que forman parte de la RB aparecen en la figura
B.7 en forma de diagrama de clases [Bla01, Bla02a, Bla03a, Bla03b].
Estas tablas tienen el siguiente cometido:
INTENSIONAL TABLE DESCRIPTION: almacena los predicados in-
tensivos (TABLE ID) definidos como la disyunci´on de reglas Pi (RULE-
ID).
RULE DESCRIPTION: describe cada una de las reglas Pi (identificada
mediante TABLE ID y RULE ID) como una secuencia de predicados
extensivos e intensivos y comparaciones concatenados con el operador
de conjunci´on. Cada predicado puede aparecer negado y puede aparecer
varias veces en la misma regla. El par (PRED ID, RULE ID) identifi-
ca a la regla descrita, PRED ID establece qu´e predicado aparece en la
posici´on OCC NUMBER de la regla, si est´a negado o no (NEGATED)
y su tipo (0 para extensivo, 1 para intensivo y 2 para comparaci´on).
PREDICATE DESCRIPTION: describe el orden de las variables en cada
uno de los predicados Ki. La misma variable puede aparecer m´as de
B.2. EXTENSI ´ON L ´OGICA-DEDUCTIVA AL MODELO DE BDRD 237
DED_INT_TABLE_DESCRIPTION
TABLE_ID : NUMBER
RULE_ID: NUMBER
DED_RULE_DESCRIPTION
TABLE_ID : NUMBER (FK)
RULE_ID: NUMBER (FK)
PRED _ID: NUMBER
OCC_NUMBER: NUMBER
NEGATED NUMBER(1)
TYPE: NUMBER(1)
DED_PREDICATE_DESCRIPTION
TABLE_ID : NUMBER (FK)
RULE_ID: NUMBER (FK)
PRED _ID: NUMBER (FK)
OCC_NUMBER: NUMBER (FK)
VAR_ID: NUMBER
COL_ID: NUMBER
SOURCE_COL: NUMBER(FK)
DED_COMPARISION _DESCRIPTION
TABLE_ID: NUMBER (FK)
RULE_ID: NUMBER (FK)
PRED_ID: NUMBER (FK)
OCC_NUMBER: NUMBER (FK)
VAR_ID1: NUMBER
VAR_ID2: NUMBER
COMP_OP: NUMBER
THOLD: NUMBER
0 ® Extensive
1 ® Intensional
2 ® Comparision
0 ® =
1 ® <>
2 ® <
3 ® >
4 ® <=
5 ® >=
6 ® FEQ
7 ® FGT
8 ® FGEQ
9 ® FLT
domain
DED_COMPARISION _DESCRIPTION
TABLE_ID : NUMBER (FK)
RULE_ID: NUMBER (FK)
PRED _ID: NUMBER (FK)
OCC_NUMBER: NUMBER (FK)
VAR_ID1: NUMBER
VAR_ID2: NUMBER
COMP_OP: NUMBER
THOLD: NUMBER
10 ® FLEQ
11 ® MGT
12 ® MLT
13 ® NFEQ
14 ® NFGT
15 ® NFGT
16 ® NFGET
17 ® NFLT
18 ® NFLEQ
19 ® NMGT
20 ® NMLT
Figura B.7: Cat´alogo de datos deductivos
238 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
una vez en cada predicado pero varias apariciones se distinguen por su
posici´on dentro del predicado. Una variable VAR ID ocupa una posici´on
COL ID dentro de un predicado PRED ID que aparece en una posici´on
dada OCC NUMBER de una regla RULE ID que define a un predicado
intensivo TABLE ID.
COMPARISON DESCRIPTION: describe las condiciones, tipo especial
de predicados, que s´olo poseen dos variables y su tipo es uno de los
siguientes: =, =, ≤, <, ≥, >, FEQ, FGT, FGEQ, FLT, FLEQ, MGT,
MLT, NFEQ, NFGT, NFGEQ, NFLT, NFLEQ, NMGT y NMLT. Una
condici´on compara dos variables (VAR ID1 y VAR ID2), aparece en una
posici´on dada (OCC NUMBER) de una regla (RULE ID) que define a
un predicado (TABLE ID). En nuestro caso, la columna PRED ID no
es de utilidad (ya que la condici´on queda totalmente identificada por
la posici´on que ocupa en la regla) pero se ha mantenido por cuestiones
de uniformidad. La arquitectura FREDDI extendida es la que permite
flexibilizar la representaci´on de las reglas difusas y aumentar el n´umero
de comparadores difusos tal y como se ve en la figura B.7.
B.2.4. Sintaxis Extendida Deductiva de FSQL
Al igual que ocurr´ıa con el FSQL, es decir, al lenguaje de manejo flexible
para consultar valores precisos e imprecisos, el DSQL: Deductive SQL (o SQL
Deductivo), es el lenguaje de consulta que permite realizar deducciones [Bla01,
Bla00b].
Este lenguaje permite crear y manipular nuevas estructuras (DDL). En
la tabla B.4 se encuentran las cabeceras de estas sentencias. En cuanto a la
manipulaci´on de datos, o DML, se extiende ´unicamente la funcionalidad de la
sentencia SELECT pero a nivel interno no en la sintaxis (m´as detalle en la
sintaxis en [Bla01, Bla02a, Bla03a]).
Tabla B.4: Resumen de DFSQL
Tipo Sentencia Descripci´on
DDL Create Intensional Table crea tablas intensivas
DDL Create Rule define y almacena una regla en la BD
DDL Delete Rule elimina una regla previamente creada
DDL Drop Intensional Table borra una tabla intensiva
B.3. MINER´IA DE DATOS EN EL MODELO RELACIONAL 239
B.3. Miner´ıa de Datos en el Modelo Relacional
B.3.1. Ampliaci´on Te´orica de GEFRED para el Manejo de
M´ultiples Tipos de Datos (GEFRED*)
Se va a proceder a la definici´on de GEFRED* que est´a basado en GEFRED
(definido en B.1.1) de tal manera que la definici´on del dominio difuso genera-
lizado va a tener un sentido m´as universal [Car03a]. Con ello se pretende:
No restringir la definici´on a ning´un dominio en concreto,
Formalizar la representaci´on de tipos de datos complejos en el sentido
de requerir mas de un atributo cl´asico.
Definici´on B.10. Sean una serie de dominios D1, D2, ..., Dn, tal que cada Di
(con i= 1,2,...,n) es un dominio at´omico en el sentido cl´asico de las Bases
de Datos Relacionales y adem´as esa serie de atributos conjuntamente implica
una caracter´ıstica importante y variable que tiene una entidad.
Se define entonces dominio complejo y se nota como D al dominio descrito
por D1 ×D2 ×...×Dn siempre y cuando esos dominios D1, D2, ..., Dn modelen
conjuntamente una caracter´ıstica importante y variable que tiene una entidad
Definici´on B.11. Sea D un dominio complejo, Π(D ) el conjunto de dis-
tribuciones de posibilidad definidas sobre D, entre las que se incluyen aquellas
que describen los valores Unknown y Undefined. Se considera tambi´en el val-
or Null. el dominio Difuso Generalizado Complejo se define como DG donde
DG ⊆ Π(D ) ∪ Null
Los atributos que se definan sobre el dominio difuso generalizado complejo
podr´an tomar cualquier valor simple, excluyente o distribuci´on de posibilidad.
Dicho dominio puede implicar tanto dominios precisos, como difusos de cual-
quier naturaleza, siendo un caso particular los tipos de datos reflejados en
la definici´on B.1. La gesti´on de los tipos de datos va a ser posible mediante
la definici´on de una serie de operaciones especiales a realizar sobre los ele-
mentos del dominio, que permitir´an incorporar significado a la representaci´on
de los datos, en definitiva, para que se consiga el objetivo de modelar m´as
certeramente la realidad. En cualquier caso, todas estas capacidades de repre-
sentaci´on encontrar´an en el comparador difuso generalizado complejo (que se
definir´a m´as adelante), el mecanismo mediante el que modelar su actuaci´on.
Definici´on B.12. Una relaci´on difusa generalizada compleja R es un par de
conjuntos (H, B), definidos como sigue:
240 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
H es el conjunto llamado cabecera y describe la estructura de la relaci´on
mediante un conjunto de ternas atributo complejo-dominio complejo-
compatibilidad (donde el ´ultimo es opcional),
H = {(AG1 : DG1[, CAG1
]), . . . , (AGn : DGn[, CAGn
])}
donde a cada atributo Aj, le subyace un dominio difuso generalizado
cinokehi, no necesariamente distinto, Dj, j ∈ [1, n]. Cj es el llamado
atributo de compatibilidad y toma valores en [0, 1].
B es el conjunto llamado cuerpo y est´a formado por una serie de tuplas
generalizadas difusas distintas, donde cada tupla est´a compuesta por un
conjunto de ternas atributo-valor-grado (donde este ´ultimo es opcional),
B = {{(AG1 : ˜d i1[, ci1], . . . , (AGn : ˜d in[, cin])}}
con i = 1, . . . , m y donde m es el n´umero de tuplas de la relaci´on, ˜dij
representa el valor del dominio que toma la tupla i sobre el atributo Aj
y cij es el grado de compatibilidad asociado a este valor.
Definici´on B.13. Sea U el dominio complejo de discurso considerado. Se
llama comparador extendido θ a cualquier relaci´on difusa definida sobre U y
expresada como sigue:
θ : U × U → [0, 1]
θ (ui, uj) → a
con ui, uj ∈ U y a ∈ [0, 1].
Definici´on B.14. Sea U un dominio complejo de discurso, D un dominio di-
fuso complejo construido sobre el mismo y θ un comparador extendido definido
sobre U . Consideremos una funci´on Θ θ definida como sigue:
θ θ : D × D → [0, 1]
Θ θ ( ˜d1, ˜d2) → [0, 1]
Se dice que Θ θ es un comparador difuso generalizado complejo sobre D in-
ducido por el comparador extendido complejo θ , si cumple:
Θ θ
( ˜d1, ˜d2) = θ(d1, d2), ∀d1, d2 ∈ U
donde ˜d1 y ˜d2 representan las distribuciones de posibilidad {1/d1} y {1/d2}
inducidas, respectivamente, por los valores complejos d1 y d2.
B.3. MINER´IA DE DATOS EN EL MODELO DE BDRD 241
Definici´on B.15. Se llama proyecci´on difusa generalizada compleja de R
sobre X , y se nota por P X(R ), a una relaci´on difusa generalizada compleja
de la forma:
P X(R ) =
H P = X
B P = {(As : ˜d is[, cis ])}
(B.8)
donde s ∈ S, s ∈ S y S, S ⊆ {1, . . . , n}.
Definici´on B.16. Sea R una relaci´on difusa generalizada compleja como
la de la definici´on B.12, ˜a ∈ D una constante, Θ θ un comparador difuso
generalizado y γ un umbral de cumplimiento. Entonces, se llama selecci´on
difusa generalizada compleja sobre la relaci´on R inducida por Θ θ compuesto
con ˜a y el atributo Ak, k ∈ {1, . . . , n} y cualificada por γ, y se nota por
S Θ θ (Ak, ˜a )≥γ(R ) a la relaci´on difusa generalizada de la forma:
S Θ θ (Ak, ˜a )≥γ(R ) =



H S = {(A1 : D1[, CA1
]), . . . , (An : Dn[, CAn
])}
B S = {{(A1 : ˜d r 1[, cr 1], . . . , (Ak : ˜d rk[, crk]),
. . . , (An : ˜d rn[, crn])}}
(B.9)
con
crk = θ θ
(˜d rk, ˜a ) ≥ γ (B.10)
donde r = 1, . . . , m con m el n´umero de tuplas de la selecci´on.
B.3.2. Representaci´on de M´ultiples Tipos de Datos en el Mo-
delo Relacional(FIRST*)
Estructura de los Tipos de Datos
FIRST* [Car03a] es la interfaz que proporciona acceso a m´ultiples tipos
de datos, definidos en el modelo GEFRED*, con objeto de realizar tareas de
miner´ıa de datos sobre un SGBDR. FIRST* est´a basado en la arquitectura
FIRST que permite la manipulaci´on de datos difusos, lo que proporciona al
sistema dicha caracter´ıstica tambi´en.
Dentro de un SGBDR cl´asico, una serie de atributos del mismo implicar´an
un dominio difuso generalizado complejo si modelan conjuntamente una carac-
ter´ıstica importante y variable que tiene una entidad y adem´as permiten alg´un
tipo de tratamiento difuso. FIRST* a˜nade un nuevo tipo de datos a los tres
que ya se hab´ıan definido en FIRST, el tipo difuso 4, que representa a la serie
de atributos cl´asicos que determinan un dominio difuso generalizado complejo
y que, por tanto, pueden ser consultados de forma imprecisa. Se trata de un
supertipo puesto que contiene la definici´on de los otros 3, y esta formado por:
242 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
Atributos de datos que contienen la informaci´on en s´ı. Por ejemplo si
se trata de representar una distribuci´on trapezoidal [α, β, γ, δ] con las
mismas caracter´ısticas que un tipo difuso 2 estos atributos se correspon-
der´ıan con los F1, F2, F3, F4 (v´ease tabla B.1) de la representaci´on de
dicho atributo.
Atributos de metadatos, contienen informaci´on que permiten entender
los atributos de datos. Este tipo de atributos no siempre son necesarios.
Siguiendo con el ejemplo anterior, este atributo se corresponder´ıa con la
columna FT de la tabla B.1 que indica si los atributos de datos contienen
un valor Null, Unknown, Undefined, un trapecio, etc.
Comparadores Difusos Generalizados Complejos
Para representar un dominio difuso generalizado complejo debe ser posible
que los atributos permitan alg´un tipo de tratamiento difuso. Esto se lleva a
cabo sobre los atributos difusos de tipos 4 mediante la definici´on de al menos
uno de los comparadores difusos usados en FIRST. Por tanto el usuario debe
definir los comparadores difusos que crea necesarios para cada atributo de tipo
4 del que se vaya a hacer un tratamiento difuso.
La sem´antica del comparador puede ser completamente subjetiva a quien
lo defina o al problema a resolver. Para los comparadores que no tienen un
referencial ordenado, los comparadores pueden tener un significado cualitativo
m´as que cuantitativo.
Lo ´unico que es necesario establecer es las restricciones de los comparador
difusos para que tengan un significado coherente para un mismo tipo de datos
difuso 4 [Car03a].
B.3.3. Base de Metaconocimiento Difuso*(FMB*)
Toda la informaci´on adicional sobre la estructura de los dominios y valo-
res que puede tomar cada atributo construido sobre un dominio generalizado
difuso complejo constituye lo que se conoce como Base de Metaconocimiento
Difuso* (FMB*) [Car03a]. Este toma m´as importancia si cabe, en FIRST*
que en el anterior modelo, debido a que va a hacer posible tanto la definici´on,
como el tratamiento de los tipos difuso 4.
Adem´as de las estructuras que ya formaban parte de FIRST para el tra-
tamiento de los tipos de datos difusos 1, 2 y 3, a las cuales se le realizan
algunas modificaciones para adaptarlas al modelo. Se a˜naden nuevas estruc-
turas relacionales que posibilitan la definici´on y tratamiento del tipo difuso
4.
B.3. MINER´IA DE DATOS EN EL MODELO DE BDRD 243
Las funciones de los comparadores difusos que definen el comportamiento
para los distintos tipos de datos difuso 4 son a˜nadidas a la base de FMB*. La
representaci´on de estas funciones es:
CDEG (A fcomp B, {constanteA1 , constanteA2 , . . . , constanteAn fcomp
},
{constanteB1 , constanteB2 , . . . , constanteBn fcomp
}) → [0, 1]
Las funciones de representaci´on definen la visualizaci´on para los distintos
tipos de datos difuso 4. Su estructura es muy parecida a la de los comparadores,
y es la siguiente:
FSHOW (A, {constanteA1 , constanteA2 , . . . , constanteAn fcomp
})
A continuaci´on se exponen cada una de las tablas de la FMB que han sido
ampliadas para utilizar el tipo difuso 4:
FUZZY COL LIST: contiene la lista de aquellos atributos de tabla de
la base de datos que son susceptibles de tratamiento difuso. A˜nade en el
atributo F TYPE un 4 para los tipos difuso 4.
FUZZY OBJECT LIST: almacenan los objetos difusos que pertenecen
al dominio de atributo en cuesti´on. A˜naden en el atributo FUZZY TYPE
un 5 para las etiquetas ling¨u´ısticas definidas para un tipo de dato difuso
4 en la tabla DMFSQL LABEL DEFINITION
El resto de tablas que forman parte ´unica y exclusivamente de la FMB* y
por tanto solo se utilizan para atributos difusos de tipo 4 son (ver figura B.8):
DMFSQL COL COL: contiene la lista de aquellos atributos de la tabla
de la base de datos que forman parte de, lo que se ha llamado, un do-
minio difuso generalizado complejo. Este dominio se ha implementado,
tanto con atributos de datos, como de metadatos, aunque ambos son
definidos de igual forma en esta tabla. Cada uno de estos dominios ven-
dr´a cualificado por un ´unico atributo existente en la tabla y definido por
el par: referencia a la tabla a la que pertenecen (OBJ#) y columna en la
que se almacenan (COL#). En el resto de tablas de la FMB cada uno de
los tipos difusos 4 vendr´an caracterizados por este ´unico atributo. Los
atributos integrantes del dominio complejo vendr´an definidos por el par:
referencia a la tabla a la que pertenecen (OBJ#) y columna en la que se
almacenan (COL2#). Mediante un atributo adicional, y por cuestiones
de implementaci´on, se establece un orden en cada uno de estos atribu-
tos integrantes del dominio complejo (ORDER#). En definitiva, en esta
tabla se especifica la representaci´on interna del atributo difuso tipo 4.
DMFSQL LABEL DEFINITION : contiene informaci´on sobre las eti-
quetas ling¨u´ısticas definidas para los tipos difusos 4. Cada una de ellas
244 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
DMFSQL _LABEL_DEFINITION
OBJ #: NUMBER( FK)
COL #: NUMBER( FK)
FUZZY_ID : NUMBER(3)( FK)
ORDER# : NUMBER(2) ( FK)
LABEL_VALUE: VARCHAR2 (2000)
DMFSQL _COL _COL
OBJ #: NUMBER( FK)
COL #: NUMBER( FK)
ORDER# : NUMBER(2)
COL2 #: NUMBER
DMFSQL _FUNCTIONS
FUN# :VARCHAR2 (100)
PKG #: NUMBER
DMFSQL _COL _PAR
OBJ #: NUMBER( FK)
COL #: NUMBER( FK)
FUZZY_COMP : VARCHAR2 (5)( FK)
PAR# : NUMBER(2)
PAR_VALUE: VARCHAR2 (2000)
PAR_TYPE: VARCHAR2 (1)
DMFSQL _FUNCTIONS_ COL
OBJ #: NUMBER( FK)
COL #: NUMBER( FK)
FUZZY_COMP :VARCHAR2 (5)
PKG #: NUMBER( FK)
FUN#: VARCHAR2 (100)( FK)
DMFSQL _LOG
SESSIONID : NUMBER
INDICE : NUMBER(10)
LINEA : VARCHAR2 (2000)
Figura B.8: Estructura relacional de la extensi´on de la FMB para manejo de
m´ultiples datos
B.3. MINER´IA DE DATOS EN EL MODELO DE BDRD 245
est´a descrita por la tabla y columna a cuyo dominio pertenece (OBJ#
y COL#), la etiqueta a la que se asocia (FUZZY ID) y los par´ametros
que la definen (LABEL VALUE) siguiendo un cierto orden (ORDER#).
DMFSQL FUNCTIONS: en esta tabla se define la referencia de las fun-
ciones tanto que implementan a los distintos comparadores difusos de los
atributos difusos de tipo 4, como las funciones de representaci´on de los
mismos. Dichas funciones vienen referenciados por el identificador del
paquete (PKG#) y de la funci´on dentro del mismo (FUN#).
DMFSQL FUNCTIONS COL: contiene la definici´on para cada atributo
difuso tipo 4, prototipado, por la tabla a la que pertenece (OBJ#) y
la columna (COL#), y para cada comparador difuso (FUZZY COMP)
la funci´on que se le asocia, encontr´andose ´esta en el paquete (PKG#)
e identific´andose de forma univoca (FUN#) dentro del citado paquete.
Los comparadores difusos posibles son los de la figura B.7. Tambi´en es
posible especificar, mediante esta tabla, la funci´on de representaci´on que
se quiere usar para el atributo difuso de tipo 4, es decir, como se quiere
visualizar el mismo en las sentencias SELECT. Para ello, el campo con
el comparador difuso (FUZZY COMP) debe tener el valor ’FSHOW’.
DMFSQL COL PAR: contiene la informaci´on de los par´ametros adi-
cionales para construir las llamadas a funciones que implica cada tipo
difuso 4 respecto a cada comparador. Como se ha comentado, es tremen-
damente ´util para la reusabilidad de la codificaci´on de las funciones
ya implementadas en la FMB. As´ı, para un atributo difuso tipo 4 de-
terminado (OBJ#, COL#) y para un comparador difuso que impli-
ca (PAR VALUE) y en el orden establecido (PAR#), el valor de los
par´ametros de PAR TYPE tendr´a valor C para un dominio de tipo
car´acter, N para num´erico y D para fechas.
B.3.4. Ampliaci´on de FIRST* para el Data Mining
T´ecnicas de Miner´ıa de Datos Definidas
Una vez implementado el Interfaz Difuso para Sistemas Relacionales para
el manejo de m´ultiples tipos de datos (FIRST*), se ha obtenido la imple-
mentaci´on de un modelo de BDRD sobre un SGBDR en el que el tratamiento
difuso de la diversidad de dominios susceptibles de ser tratados por un sistema
de Miner´ıa de Datos est´a resuelto.
Una vez solucionado el problema de gestionar la informaci´on, cualquiera
que sea un forma, se va proceder a implementar una interfaz que permite
utilizar FIRST* como base a la aplicaci´on de distintas t´ecnicas de Miner´ıa de
246 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
Datos en el marco del modelo de BDRD ya implementado. Dicha interfaz se
denominar´a DmFIRST y permite realizar las operaciones de [Car00, Car03b,
Car98, Car99]:
Clustering: donde se propone una forma de obtenci´on de la matriz de
distancias de la poblaci´on.
Caracterizaci´on: incluye una t´ecnica que permite especificar el nivel de
abstracci´on al que se quiere describir los datos tal y como se consideraba
deseable en los sistemas de DM.
Clasificaci´on difusa: donde se propone dos formas de obtener la clasi-
ficaci´on difusa, bas´andose en los centroides obtenidos tras la caracteri-
zaci´on o usando los vecinos m´as cercanos.
Dependencias difusas entre atributos: donde se propone un concepto
de dependencias, llamadas dependencias globales difusas que constituye
el marco com´un que integra tanto las dependencias difusas como las
dependencias graduales difusas.
B.3.5. Base de Metaconocimiento Difuso para Miner´ıa de Datos
(DMFMB)
Los problemas que producidos al utilizar estos los servidores de FSQL
cuando se realizan tareas de DM no se pueden resolver con el uso de sentencias
simples en mayor´ıa de los casos (y en ´ultima instancia de SQL). Es por esto
que se introduce un nuevo esquema, dmFIRST que va ha definir un nuevo tipo
de objeto que no existe ni en FSQL ni en SQL que se denomina “proyecto” y
que tiene como misi´on:
Servir de soporte para guardar las condiciones iniciales, resultados inter-
medios y finales del proceso de DM a realizar.
Englobar l´ogicamente una serie de resultados intermedios, en forma de
tablas, en dicho proceso de DM. Estos resultados intermedios estar´an
encaminados a agilizar el proceso de DM iterativo ya que el tener estos
datos precalculados har´a que ante determinados refinamientos de los
requerimientos del proceso de DM, la respuesta del sistema sea m´as o
menos inmediata.
La base de Metaconocimiento dmMB queda formada ahora por la FMB
completa de FIRST y unas nuevas estructuras relacionales que posibilitan el
tratamiento del objeto proyecto comentado (ver figura B.9):
B.3. MINER´IA DE DATOS EN EL MODELO DE BDRD 247
DMFSQ L_PROYECT
PROYECT _NAME : VARCHAR2 (50)
OWNER#: VARCHAR2 (30)
OBJ#: NUMBER
STATUS_ CLUS : VARCHAR2 (1)
NUM _CLUS : NUMBER(4)
NUM _REG_TAB: NUMBER(8)
NUM _REG_LEVEL: NUMBER(4)
NUM _LEVEL_ OPT1 _VILA _H3: NUMBER(4)
NUM _LEVEL_OPT_ VILA _ABS: NUMBER(4)
NUM _LEVEL_ OPT3 _MED : NUMBER(4)
OBJ#_TAB_ CLUS : NUMBER
OBJ#_TAB_ CEN : NUMBER
STATUS_ FGD: VARCHAR2 (1)
THOLD _ANT_ FDG: NUMBER(3,2)
THOLD _CON_ FGD: NUMBER(3,2)
CONFIDENCE_ FGD: NUMBER(3,2)
SUPORT _FGD: NUMBER(3,2)
DEF _TABLE_SPACE: VARCHAR2 (500)
TRACE_LEVEL: NUM ER(1)
PATH_TRACE_FILE: VARCHAR2 (150)
NAME_TRACE_FILE: VARCHAR2 (50)
DMFSQL _COL _LIST
PROYECT _NAME : VARCHAR2 (50)( FK)
COL _TYPE : VARCHAR2 (1)
COL #: NUMBER
WEIGHT_ CLU : NUMBER(10,9)
FUZZY_COMP_ CLU : VARCHAR2 (5)
LOG_ OPER _CLU : VARCHAR2 (3)
ABSTRACTION_LEVEL_ CEN : VARCHAR2 (1)
FUZZY_COMP_ CEN : VARCHAR2 (5)
LOG_ OPER _CEN : VARCHAR2 (5)
FUZZY_COMP_ CLA : VARCHAR2 (5)
LOG_ OPER _CLA : VARCHAR2 (5)
WEIGHT_ CLA : NUMBER(10,9)
FUZZY_COMP_ FGK: VARCHAR2 (5)
THOLD _FGD: NUMBER(3,2)
Figura B.9: Estructura relacional de la DmFMB
DMFSQL PROJECT: contiene la informaci´on general sobre los proyec-
tos de DM. Se identifica de forma un´ıvoca el proyecto y se da un identi-
ficativo al propietario. Se establece la tabla de origen de datos (OBJ#) y
el estado actual del proceso de clustering especificado en la tabla 9, si el
estado es C, entonces se especifican el n´umero de clusters obtenidos tras
el proceso (NUM CLUS). STATUS CLUS contendr´a valor es C se trata
de un tipo car´acter, si es N de tipo num´erico y si es D de tipo fecha.
NUM REG TAB, indica el n´umero de filas en la tabla id tabla orig pro-
yecto, NUM REG LEVEL indica el numero de posibles alfa-cortes que
se pueden hacer dentro del dendograma. Los atributos (NUM LEVEL-
opt1 vila h3), (NUM LEVEL opt2 vila abs), (NUM LEVEL opt3 med)
almacenan el nivel del dendograma al que se obtiene una partici´on ´opti-
ma basado en H3, absoluta y media. Se almacenar´a un identificativo de
la ´ultima tabla generada con una partici´on en concreto de la poblaci´on
dentro del proceso de clustering en el atributo OBJ# TAB CLUS, y un
identificativo de la ultima tabla de centroides generada, que caracterizan
a los distintos grupos existentes en la tabla anterior en OBJ# TAB CEN.
STATUS FGD es el estado del proceso de obtenci´on de DGDs, si su val-
or es C se trata de un tipo car´acter, si es N de tipo num´erico y si
es D de tipo fecha. THOLD ANT FGD y THOLD CON FGD son los
umbrales alfa y beta. CONFIDENCE FGD la confianza obtenida de la
248 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
DGD y el soporte estar´a en SUPPORT FGD. En DEF TABLE SPACE
est´an las especificaciones f´ısicas para el almacenamiento de las distin-
tas tablas que se generen como resultado de la ejecuci´on del proyecto.
TRACE LEVEL, PATH TRACE FILE, NAME TRACE FILE: son de
uso interno del servidor para gestionar trazas de ejecuci´on que tienen co-
mo objeto devolver resultados intermedios a aplicaciones cliente, depu-
raci´on de errores, etc.
DMFSQL COL LIST: contiene la informaci´on sobre las distintas colum-
nas trascendentes para el proceso de DM de la tabla con el origen de
datos del proyecto (ID TABLA ORIG PROYECTO). Se identifica de
manera ´unica el proyecto de DM con (PROYECT NAME). El atributo
(COL TYPE) indica el tipo de procesamiento de DM para la columna
(COL#), si su valor es C se trata de Clasificaci´on, clustering o carac-
terizaci´on, si es A su dominio es el antecedente dentro del ´ambito de las
DGDs y si es Q se trata del consecuente dentro del ´ambito de las DGDs.
En (WEIGHT CLU) se almacena el peso por el que se pondera la colum-
na para clustering. FUZZY COM CLU es el comparador difuso de igual-
dad (FEQ o NFEQ) que se le va a aplicar a la columna para la obtenci´on
de la matriz de distancias en el proceso de clustering. En el caso de que
el comparador difuso no sea sim´etrico, se indica en LOG OPER CLU el
operador l´ogico que se va a usar para obtener una comparaci´on sim´etrica
dentro del proceso de clustering. (puede ser AND si se quiere usar una
T-norma u OR si se quiere usar una t-conorma). FUZZY COM CEN y
LOG OPER CEN se usan igual que en el caso anterior, para el c´alculo de
centroides. FUZZY COM CLA y LOG OPER CLA se utilizan para el
proceso de clasificaci´on y WEIGHT CLA almacena el peso por el que se
pondera la columna para clasificaci´on. FUZZY COMP FGD es el com-
parador difuso de la Tabla 7 que se le va a aplicar a la columna para la
obtenci´on de la DGD donde los umbrales alfa y beta se almacenar´an en
THOLD FGD para cada columna del antecedente y consecuente.
Toda la Base de metaconocimiento que permite la utilizaci´on de t´ecnicas
de DM, se encuentra representada en la figura B.10.
B.3.6. Sintaxis Extendida para Operaciones de DM: DMFSQL
FSQL como se ha mencionado con anterioridad no cumple los requisitos
m´ınimos para ser considerado un lenguaje propiamente de DM. Con objeto
de solucionar este hecho, se ha extendido FSQL, cre´andose el dmFSQL que
resuelve las tareas de DM.
B.3. MINER´IA DE DATOS EN EL MODELO DE BDRD 249
FUZZY_OBJECT_LIST
OBJ #: NUMBER( FK)
COL #: NUMBER( FK)
FUZZY_ID : NUMBER(3)
FUZZY_NAME: VARCHAR2 (30)
FUZZY_TYPE: NUMBER(1)
FUZZY_ COL _LIST
OBJ #: NUMBER
COL #: NUMBER
F_TYPE: NUMBER(1)
LEN: NUMBER
COM : VARCHAR (100)
DMFSQL _LABEL_DEFINITION
OBJ #: NUMBER( FK)
COL #: NUMBER( FK)
FUZZY_ID : NUMBER(3)( FK)
ORDER# : NUMBER(2) ( FK)
LABEL_VALUE: VARCHAR2 (2000)
DMFSQL _COL _COL
OBJ #: NUMBER( FK)
COL #: NUMBER( FK)
ORDER# : NUMBER(2)
COL2 #: NUMBER
DMFSQL _FUNCTIONS
FUN# :VARCHAR2 (100)
PKG #: NUMBER
DMFSQL _COL _PAR
OBJ #: NUMBER( FK)
COL #: NUMBER( FK)
FUZZY_COMP : VARCHAR2 (5)( FK)
PAR# : NUMBER(2)
PAR_VALUE: VARCHAR2 (2000)
PAR_TYPE: VARCHAR2 (1)
DMFSQL _FUNCTIONS_ COL
OBJ #: NUMBER( FK)
COL #: NUMBER( FK)
FUZZY_COMP :VARCHAR2 (5)
PKG #: NUMBER( FK)
FUN#: VARCHAR2 (100)( FK)
DMFSQ L_PROYECT
PROYECT _NAME : VARCHAR2 (50)
OWNER#: VARCHAR2 (30)
OBJ#: NUMBER
STATUS_ CLUS : VARCHAR2 (1)
NUM _CLUS : NUMBER(4)
NUM _REG_TAB: NUMBER(8)
NUM _REG_LEVEL: NUMBER(4)
NUM _LEVEL_ OPT1 _VILA _H3: NUMBER(4)
NUM _LEVEL_OPT_ VILA _ABS: NUMBER(4)
NUM _LEVEL_ OPT3 _MED : NUMBER(4)
OBJ#_TAB_ CLUS : NUMBER
OBJ#_TAB_ CEN : NUMBER
STATUS_ FGD: VARCHAR2 (1)
THOLD _ANT_ FDG: NUMBER(3,2)
THOLD _CON_ FGD: NUMBER(3,2)
CONFIDENCE_ FGD: NUMBER(3,2)
SUPORT _FGD: NUMBER(3,2)
DEF _TABLE_SPACE: VARCHAR2 (500)
TRACE_LEVEL: NUM ER(1)
PATH_TRACE_FILE: VARCHAR2 (150)
NAME_TRACE_FILE: VARCHAR2 (50)
DMFSQL _COL _LIST
PROYECT _NAME : VARCHAR2 (50)( FK)
COL _TYPE : VARCHAR2 (1)
COL #: NUMBER
WEIGHT_ CLU : NUMBER(10,9)
FUZZY_COMP_ CLU : VARCHAR2 (5)
LOG_ OPER _CLU : VARCHAR2 (3)
ABSTRACTION_LEVEL_ CEN : VARCHAR2 (1)
FUZZY_COMP_ CEN : VARCHAR2 (5)
LOG_ OPER _CEN : VARCHAR2 (5)
FUZZY_COMP_ CLA : VARCHAR2 (5)
LOG_ OPER _CLA : VARCHAR2 (5)
WEIGHT_ CLA : NUMBER(10,9)
FUZZY_COMP_ FGK: VARCHAR2 (5)
THOLD _FGD: NUMBER(3,2)
DMFSQL _LOG
SESSIONID : NUMBER
INDICE : NUMBER(10)
LINEA : VARCHAR2 (2000)
Figura B.10: Estructura relacional de la Base de Metaconocimiento para el
DM
Este lenguaje consta de las siguientes partes: El DDL de DmFSQL permi-
tir´a la consulta y la modificaci´on de las estructuras en las que se almacenan
los datos, y va a consiste en las operaciones sobre el proyecto que se muestran
en la tabla B.5. El DML de DmFSQL permite la consulta y la modificaci´on de
los datos almacenados en la base de datos. B´asicamente consiste en extender
el comando SELECT MINING para que pueda utilizar las distintas t´ecnicas
de DM, que se ven en la tabla B.5. La descripci´on completa de la sintaxis
´ıntegra de estas sentencias puede verse en [Car03a, Car03b].
250 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR
Tabla B.5: Resumen de DMFSQL
Tipo Sentencia Descripci´on
DDL CREATE MINING Crea un nuevo proyecto
DDL ALTER MINING Modifica un proyecto
DDL DROP MINING Borra un proyecto
DDL GRANT MINING Da permiso para la gesti´on de
un proyecto a un usuario
DDL REVOKE MINING Elimina los permisos previ-
amente concedidos para la
gesti´on de un proyecto a un
usuario
DML CLUSTERING Para el proceso de clustering
y caracterizaci´on
DML CLASIFICATION Para el proceso de clasifi-
caci´on
DML FGLOBAL DEPENDENCIES Para la obtenci´on de depen-
dencias globales difusas entre
atributos
Ap´endice C
Base de Datos de Suelos
C.1. Descripci´on del Esquema de la Base de Datos
La base de datos de suelos describe la informaci´on acerca de las carac-
ter´ısticas que tienen los suelos recopilada a trav´es de encuestas realizadas
a agricultores. Esta Base de Datos ha sido desarrollada gracias al proyecto
”Fuzzy-KIM, un Sistema de Miner´ıa de Datos con Ayuda Inteligente basa-
do en T´ecnicas de Soft-Computing (Plan Nacional I+D)”, cuya referencia es
CICYT TIC2002-04021-C02-02, llevado a cabo en entre los a˜nos 2002-2005 y
financiado por el Ministerio de Ciencia y Tecnolog´ıa.
La base de datos de suelos, tiene como particularidad que la mayor´ıa de
los datos que la componen son de car´acter difuso, es decir, los valores de los
diferentes campos, son descritos dependiendo de su contenido, con etiquetas
ling¨u´ısticas o valores discretos sobre un referencial no ordenado. Al realizar
la base de datos con este tipo de datos se ha facilitado la tarea de realizar la
encuesta al encuestado, dado que este tipo de informaci´on confiere flexibilidad
a la hora rellenar datos en el formulario.
C.1.1. Descripci´on de Clases
A continuaci´on se describe el dise˜no conceptual de la BD de suelos. Para
realizar este dise˜no se ha utilizado un diagrama de clases de UML, mostrado
en la figura es C.1. Las clases principales de que est´a compuesta esta BD y
la informaci´on que representa est´a descrita a continuaci´on y en la tabla C.1
donde se especifica con m´as detalle el contenido sem´antico de algunos de los
atributos de esta BD:
Localizaci´on: Describe el lugar exacto del suelo del que se trate y las
caracter´ısticas propias del suelo en esta localizaci´on. Los atributos se
251
252 AP´ENDICE C. BASE DE DATOS DE SUELOS
Color
Codigo_color:
Autonumérico
Estructura
Codigo_es: numeric
Tipo_es:TD3
Clase_es:TD3
Grado_es:TD3
Vegetacion:TD3
Material: TD3
Grado_De: TD3
Humedad
Hue_hume:TD3
value_hu:TD3
croma_hu:TD3
Seco
value_SE:TD3
croma_SE:TD3
hue_SE:TD3
Localización
latitud: numeric
longitud : numeric
orientacion :TD3
fisiografia :TD3
pendiente:TD3
altitud:TD2
altitud_gr: numeric
profundidad:TD2
profundidad_gr:numeric
Tmedia:TD2
Tmedia_gr: numeric
Pmedia:TD2
Pmedia_gr: numeric
Fao:TD3
Fao_Reduc:TD3
Analiticos
codigo_a:numeric
Arena: TD2
Arena_gr: numeric
Arcilla:TD2
Arcilla_gr: numeric
Co:TD2
Co_gr: numeric
PH:TD2
PH_gr: numeric
Fe:TD2
Fe_gr: numeric
Agua_UTI:TD2
Agua_gr: numeric
CEC:TD2
CEC_gr: numeric
Identificacion
Cod_Perf: numeric
Cod_ecol:numéric
Cod_hori: numeric
Bibliografía
biblio:CadenadeTexto
autores:cadenadeTexto
Figura C.1: Diagrama de Clases de la BD de Suelos
encuentran descritos en la tabla C.2.
Estructura: Describe las caracter´ısticas generales de la estructura del
suelo. La descripci´on de las caracter´ıstica est´a en la tabla C.3.
Anal´ıticos: Describen las caracter´ısticas anal´ıticas o composici´on del sue-
lo. La descripci´on de los atributos de esta clase se encuentra en la tabla
C.4.
Identificaci´on: Describe los c´odigos de identificaci´on ecol´ogicos, de perfil
y horizonte relacionados con los suelos. Las propiedades se describen en
la tabla C.5.
Bibliograf´ıa: Describe las fuentes que realizaron las encuestas. La com-
posici´on de esta clase se describe en la tabla C.6.
Color: Describe el color que tiene el suelo. Las propiedades de esta clase
y de sus subclase est´an descritas en la tabla C.7.
C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 253
Humedad: Describe el color que tiene el suelo cu´ando est´a h´umedo.
Seco: Describe el color que tiene el suelo cu´ando est´a seco.
C.1.2. Paso a Tablas: Modelo Relacional
A partir del diagrama en UML de la figura C.1 obtenemos la siguiente
descripci´on de tablas del modelo relacional extendido que soporta datos difu-
sos. Esta descripci´on se representa utilizando los tipos de datos y estructuras
del lenguaje SQL para especificar los tipos de datos y restricciones que hay
definidos sobre los datos cl´asicos, y FSQL para los difusos.
Estructura (
Codigo_es NUMERIC PRIMARY KEY,
Tipo_es FTYPE3(1),
Clase_es FTYPE3(1),
Grado_es FTYPE3(1),
Vegetacion FTYPE3(1),
Material FTYPE3(1),
Grado_de FTYPE3(1),
)
Anal´ıticos (
Codigo_a NUMERIC PRIMARY KEY,
Arena FYTPE2 (10,40) FLOAT (2),
Arena_gr NUMERIC(4,2),
Arcilla FYTPE2 (5,50) FLOAT (2),
Arcilla_gr NUMERIC(4,2),
Co FYTPE2 (5,20) FLOAT (2),
Co_gr NUMERIC(4,2),
PH FYTPE2 (1,10) FLOAT (2),
PH_gr NUMERIC(4,2),
Fe FYTPE2 (0.5, 2) FLOAT (2),
Fe_gr NUMERIC(4,2),
Agua FYTPE2 (0.5, 2) FLOAT (2),
Agua_gr NUMERIC(4,2),
CEC FYTPE2 (5, 20) FLOAT (2),
CEC_gr NUMERIC(4,2),
)
Identificaci´on (
254 AP´ENDICE C. BASE DE DATOS DE SUELOS
cod_perf NUMERIC,
cod_ecol VARCHAR(2),
cod_hori NUMERIC,
PRIMARY KEY (cod_perf,col_ecol,cod_hori))
Bibliograf´ıa (
biblio VARCHAR(14),
autor VARCHAR(8),
PRIMARY KEY (biblio, autor)
)
Color (
Codigo_c NUMERIC PRIMARY KEY,
hue_hume FTYPE3(1),
value_hu FTYPE3(1),
croma_hu FTYPE3(1),
hue_se FTYPE3(1),
value_se FTYPE3(1),
croma_se FTYPE3(1))
Localizaci´on (
latitud NUMERIC NOT NULL,
longitud NUMERIC NOT NULL,
orientaci´on FTYPE3(1) ,
fisiograf´ıa FTYPE3(1) ONLY LABEL,
pendiente FTYPE2(5,20) FLOAT (2) ONLY LABEL,
altitud FYTPE2 (0.5, 2) FLOAT (2) ,
altitud_gr NUMERIC(4,2),
profundidad FYTPE2 (0.5, 2) FLOAT (2),
profundidad_gr NUMERIC(4,2),
Tmedia FYTPE2 (4, 10) FLOAT (2) NOT UNKNOWN NOT UNDEFINED,
Tmedia_gr NUMERIC(4,2),
Pmedia FYTPE2 (0.5, 2) FLOAT (2),
Pmedia_gr NUMERIC(4,2),
Fao FTYPE3(1),
tipo_hori FTYPE(3),
Fao_reduc FTYPE3(1),
codigo_es REFERENCES estructura(codigo_es),
codigo_a REFERENCES analiticos(codigo_a),
codigo_c REFERENCES color(codigo_color),
C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 255
biblio VARCHAR(14),
autor VARCHAR(8),
cod_perf NUMERIC,
cod_ecol VARCHAR(2),
cod_hori NUMERIC,
PRIMARY KEY (latitud,longitud)
FOREIGN KEY (bib lio,autor) REFERENCES
Bibliograf´ıa(biblio,autor),
FOREIGN KEY (cod_perf,cod_ecol,cod_hori)
REFERENCES Identificacion(cod_perf,cod_ecol,cod_hori))
Dado que se tratan como claves ajenas en la tabla Localizaci´on todos los
atributos de las tablas Bibliograf´ıa e Identificaci´on, estas tablas se suprimi-
r´an de la definici´on de la BD. De esta manera tambi´en se eliminar´an de la
definici´on de la estructura Localizaci´on todas las referencias a dichas tablas,
es decir las claves ajenas a Bibliograf´ıa y a Identificaci´on.
C.1.3. Etiquetas Ling¨u´ısticas para los TD2
En esta base de datos se han transformado los atributos num´ericos, nor-
malmente identificados en la BD por el nombre del atributo seguido de ¨ gr¨,
por otros atributos de car´acter difuso con el mismo nombre pero sin dicha
extensi´on. Estos atributos est´an definidos bajo un referencial ordenado pero
los valores que van a contener estar´an formados fundamentalmente por eti-
quetas ling¨u´ısticas cuyos valores se muestran en las tablas que se describen a
continuaci´on.
Los atributos de la tabla Analiticos, definen sus etiquetas ling¨u´ısticas de-
pendiendo del atributo en las siguientes tablas: Arena est´a descrita en la tabla
C.13, Arcilla en la C.14, Co en la C.15, Carbonat en la C.16, Ph en la C.17,
Agua Uti en la C.18, Fe en la C.19, CEC en la C.20. Con respecto a la tabla
Localizaci´on encontramos los atributos: PMedia descrita en la C.8, Tmedia
en la C.9, Altitud en la C.10, Profundi en la C.11, pendiente en la C.12. Por
´ultimo el atributo Clase es en la C.21 en Estructura.
256 AP´ENDICE C. BASE DE DATOS DE SUELOS
Tabla C.1: Atributos de la base de datos de color de suelos, agrupados de
acuerdo a su sem´antica
Grupo sem´antico Atributo Comentarios
Estaciones ambientales Mesoambiente Son combinaciones multidimensionales de fac-
tores ambientales que definen espacios m´as o
menos homog´eneos de influencia en el desarro-
llo posterior del suelo. A los factores ambien-
tales se les ha denominado factores formadores
del suelo.
Factores formadores Altitud Los factores formadores no forman parte del
individuo suelo y no son partes o componentes
de su estructura. Son factores ambientales gen-
erales, susceptibles de ser medidos, que act´uan
como agentes causales de los procesos edafo-
gen´eticos que conducen al desarrollo del suelo.
Precipitaci´on media
anual
Temperatura media
anual
Material original
Horizontes Tipo de horizonte Expresan las caracter´ısticas de zonas ho-
mog´eneas dentro del suelo y son resultado final
de una serie de procesos edafogen´eticos y de la
actuaci´on de los agentes (factores) formadores.
Componentes
% Arena
Los componentes y propiedades son carac-
ter´ısticas, morfol´ogicas o anal´ıticas, suscep-
tibles de ser medidas o descritas en cada
horizonte; pueden actuar como diagn´osticos
del mismo. En el aspecto de la g´enesis, las
propiedades son consecuencia de los compo-
nentes.
% Arcilla
% Carbono org´anico
% Hierro libre
Propiedades Value
Chroma
Hue
C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 257
Tabla C.2: Descripci´on de las propiedades la clase Localizaci´on
Atributo Tipo Descripci´on
latitud Num´erico(11) Posici´on geogr´afica
longitud Num´erico(11) Posici´on geogr´afica
orientaci´on Categ´orico Orientaci´on del lugar (NSEO)
fisiograf´ıa Categ´orico Fisiograf´ıa del lugar (ladera, llano, etc.)
pendiente Num´erico(FDT2) Tipo de pendiente (llano, de escal´on, en cues-
ta,etc.)
altitud Num´erico
(FDT21)
Altitud del terreno en valor difuso
altitud gr Num´erico(4,2) Altitud del terreno en valor preciso medio
profundidad Num´erico (FDT2) Profundidad media efectiva del terreno en valor
difuso
profundidad gr Num´erico(4,2) Profundidad media efectiva del terreno en valor
precio
Tmedia Num´erico (FDT2) Temperatura media anual del lugar en valor difuso
Tmedia gr Num´erico(4,2) Temperatura media anual del lugar en valor pre-
ciso
Pmedia Num´erico (FDT2) Precipitaci´on media anual del lugar en valor difuso
Pmedia gr Num´erico(4,2) Precipitaci´on media anual del lugar en valor pre-
ciso
Tipo hori Categ´orico Tipo de horizonte
FAO Red Categ´orico Descriptores del suelo de la FAO pero reducido el
no de variables tras la aplicaci´on de un proceso
Tabla C.3: Descripci´on de las propiedades de la clase Estructura
Atributo Tipo Descripci´on
Codigo es Num´erico C´odigo autonum´erico de la tabla
Tipo es Categ´orico Tipo de estructura de suelo(granular, migajosa, etc.)
Clase es Num´erico (FDT2) Clase de estructura de suelo (fina, media, com-
pacta,etc.)
Grado es Categ´orico Grado de la estructura (fr´agil, fuerte, etc.)
Vegetaci´on Categ´orico Tipo de Vegetaci´on del suelo (bosque, cultivo, re-
gad´ıo,etc.)
Material Categ´orico Tipo de material Original del suelo (´acido , calc´areo,
roca, etc.)
Grado de Categ´orico Grado de Erosi´on del suelo
258 AP´ENDICE C. BASE DE DATOS DE SUELOS
Tabla C.4: Descripci´on de las propiedades de la clase Anal´ıticos
Atributo Tipo Descripci´on
Codigo a Num´erico C´odigo autonum´erico de la tabla
Arena Num´erico (FDT2) Cantidad de Arena del suelo en valor difuso
Arena gr Num´erico(4,2) Porcentaje de Arcilla del suelo en valor preciso
Arcilla Num´erico (FDT2) Cantidad de Arcilla del suelo en valor difuso
Arcilla gr Num´erico(4,2) Porcentaje de Arena del suelo en valor preciso
Co Num´erico (FDT2) Cantidad de Carbono Org´anico del suelo en valor di-
fuso
Co gr Num´erico(4,2) Porcentaje de Carbono Org´anico del suelo en valor
preciso
PH Num´erico (FDT2) Cantidad de PH del suelo en valor difuso
PH gr Num´erico(4,2) Porcentaje de PH del suelo en valor preciso
Fe Num´erico (FDT2) Cantidad de Hierro Total del suelo en valor difuso
Fe gr Num´erico(4,2) Porcentaje de Hierro Total del suelo en valor preciso
Agua Num´erico (FDT2) Cantidad de Agua ´Util del suelo en valor difuso
Agua gr Num´erico(4,2) Porcentaje de Agua ´Util del suelo en valor preciso
CEC Num´erico (FDT2) Cantidad de CEC del suelo en valor difuso
CEC gr Num´erico(4,2) Porcentaje de CEC del suelo en valor preciso
Tabla C.5: Descripci´on de las propiedades de la clase Identificaci´on
Atributo Tipo Descripci´on
Cod ecol Num´erico C´odigo ecol´ogico
Cod per Num´erico C´odigo de Perfil
Cod hori Num´erico C´odigo de horizonte
Tabla C.6: Descripci´on de las propiedades de la clase Bibliograf´ıa
Atributo Tipo Descripci´on
biblio Cadena(14) Identificador del lugar donde se encuentra el lugar
de la encuesta
autores Cadena(8) Identificador del encuestador
Tabla C.7: Descripci´on de las propiedades de la clase Color y sus subclases
Atributo Clase Tipo Descripci´on
Codigo Color Color Num´erico Identificador del Registro
hue hume H´umedo Categ´orico Valor del Hue del Color en entorno h´umedo
value hu H´umedo Categ´orico Valor del color de suelo en entorno h´umedo
croma hu H´umedo Categ´orico Valor del cromado del suelo en entorno h´ume-
do
value se Seco Categ´orico Valor del color de suelo en entorno seco
croma se Seco Categ´orico Valor del cromado del suelo en entorno seco
hue se Seco Categ´orico Valor del Hue del Color en entorno seco
C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 259
Tabla C.8: Etiquetas ling¨u´ısticas (Atributo PMEDIA)
Etiqueta α β γ δ
Baja 183 183 315 490
Media 490 664 731 818
Alta 818 905 1287 1287
Tabla C.9: Etiquetas ling¨u´ısticas (Atributo TMEDIA)
Etiqueta α β γ δ
Baja 0 0 6.5 8.5
Media 8.5 10.5 12.5 14.7
Alta 14.7 16.9 21.0 21.0
Tabla C.10: Etiquetas ling¨u´ısticas (Atributo ALTITUD)
Etiqueta α β γ δ
Baja 65 65 380 860
Media 860 1341 1460 1700
Alta 1700 1940 3020 3020
Tabla C.11: Etiquetas ling¨u´ısticas (Atributo PROFUNDI)
Etiqueta α β γ δ
Baja 2 2 12 17
Media 17 22 28 37
Alta 37 45 66 66
Tabla C.12: Etiquetas ling¨u´ısticas (Atributo PENDIENT)
Etiqueta α β γ δ
Flat 0 0 1 2
Gently sloping 2 3 4 5
Sloping 5 6 9 10
Strongly sloping 10 11 14 15
Moderately steep 15 16 29 30
Steep 30 31 59 60
Very steep 60 61 100 100
Tabla C.13: Etiquetas ling¨u´ısticas (Atributo ARENA)
Etiqueta α β γ δ
Baja 0.4 0.4 21.2 30.6
Media 30.6 40.0 48.9 56.4
Alta 56.4 63.9 91 91
260 AP´ENDICE C. BASE DE DATOS DE SUELOS
Tabla C.14: Etiquetas ling¨u´ısticas (Atributo ARCILLA)
Etiqueta α β γ δ
Baja 1.31 1.31 10.0 15.0
Media 15.0 20.0 26.0 33.1
Alta 33.1 40.1 69.5 69.5
Tabla C.15: Etiquetas ling¨u´ısticas (Atributo CO)
Etiqueta α β γ δ
Baja 0 0 0.37 0.57
Media 0.57 0.77 1.40 1.94
Alta 1.94 2.48 19.5 19.5
Tabla C.16: Etiquetas ling¨u´ısticas (Atributo CARBONAT)
Etiqueta α β γ δ
Baja 0.00 0.00 8.2 15.75
Media 15.75 23.3 31.0 46.4
Alta 46.4 61.8 85.60 85.60
C.1.4. Relaciones de Similitud de los TD3
En cuanto a las variables de Tipo Difuso 3, se han de definir las etiquetas
que forman cada una de ellas y la relaci´on que existe entre dichas etiquetas
mediante tablas de similitud. A continuaci´on se describe dicha informaci´on.
As´ı tendremos en la tabla Estructura: Tipo Es descrita en las tablas en la
C.38 y C.39, Grado es en la C.40, Vegetacion en la y C.28, Material en la
C.29 y C.30, y Grado de en la C.31. En la tabla Color encontramos: hue hume
descrito en la tabla C.32, value hu en la C.33, croma hu en la C.34, hue se
en la C.35, value se en la C.36 y croma se en la C.37. Por ´ultimo en la tabla
Localizaci´on: Orientaci´on esta descrita en la tabla C.25, fisiograf´ıa en la C.26,
tipo hori en la C.24 y fao reduc en las tablas C.22 y C.23
C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 261
Tabla C.17: Etiquetas ling¨u´ısticas (Atributo PH)
Etiqueta α β γ δ
Baja 0.37 0.37 5.60 6.35
Media 6.35 7.10 7.50 7.85
Alta 7.85 8.20 8.90 8.90
Tabla C.18: Etiquetas ling¨u´ısticas (Atributo AGUA)
Etiqueta α β γ δ
Baja 0.06 0.06 0.8 1.1
Media 1.1 1.40 1.70 2.0
Alta 2.0 2.30 8.6 8.6
Tabla C.19: Etiquetas ling¨u´ısticas (Atributo FE)
Etiqueta α β γ δ
Baja 0.0 0.0 0.9 1.25
Media 1.25 1.60 2.1 2.9
Alta 2.9 3.7 5.70 5.70
Tabla C.20: Etiquetas ling¨u´ısticas (Atributo CEC)
Etiqueta α β γ δ
Baja 0.26 0.26 6.54 9.01
Media 9.01 11.48 17.21 25.11
Alta 25.11 33.0 53.20 53.20
Tabla C.21: Etiquetas ling¨u´ısticas (Atributo CLASE ES)
Etiqueta α β γ δ
Very fine 0 0 0.75 1.0
Fine 1.0 1.25 1.75 2.0
Medium 2.0 2.25 4.75 5.0
Coarse 5.0 5.25 9.75 10.0
Very coarse 10.0 10.25 20.0 20.0
262 AP´ENDICE C. BASE DE DATOS DE SUELOS
Tabla C.22: Relaciones de similitud (Atributo FAOREDUC)
FAOREDUC 2 3 4 5 6 7 8 9 10 11 12 13
1 0.3 0.3 0.5 0.3 0.3 0.3 0.3 0.5 0.3 0.5 0.3 0.5
2 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.5 0.3
3 0.3 0.5 0.3 0.3 0.5 0.3 0.3 0.3 0.3 0.3
4 0.3 0.3 0.3 0.3 0.5 0.3 0.5 0.3 0.5
5 0.3 0.3 0.5 0.3 0.3 0.3 0.3 0.3
6 0.3 0.3 0.3 0.3 0.3 0.3 0.3
7 0.3 0.3 0.3 0.3 0.3 0.3
8 0.3 0.3 0.3 0.3 0.3
9 0.3 0.5 0.3 0.5
10 0.3 0.3 0.3
11 0.3 0.5
12 0.3
Tabla C.23: C´odigos para el atributo FAOREDUC
Valor clave
Arenosol 1
Cambisol 2
Chernozems 3
Fluvisol 4
Kastanozems 5
Litosol 6
Luvisol 7
Phaeozems 8
Regosol 9
Rendzina 10
Solonchack 11
Xerosol 12
Yermosol 13
Tabla C.24: Relaciones de similitud (Atributo TIPO HOR)
TIPO HOR Ah Ap Bk Bt Btk Bw Bwk C Ck
A 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3
Ah 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3
Ap 0.3 0.3 0.3 0.3 0.3 0.3 0.3
Bk 0.3 0.3 0.3 0.3 0.3 0.3
Bt 0.3 0.3 0.3 0.3 0.3
Btk 0.3 0.3 0.3 0.3
Bw 0.3 0.3 0.3
Bwk 0.3 0.3
C 0.3
C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 263
Tabla C.25: Relaciones de similitud (Atributo ORIENTAC)
ORIENTAC NE E SE S SW W NW
N 0.4 0.4 0.4 0.4 0.4 0.4 0.4
NE 0.4 0.4 0.4 0.4 0.4 0.4
E 0.4 0.4 0.4 0.4 0.4
SE 0.4 0.4 0.4 0.4
S 0.4 0.4 0.4
SW 0.4 0.4
W 0.4
Tabla C.26: Relaciones de similitud (Atributo FISIOGRA)
FISIOGRA Fondo ladera Ladera Cima Meseta
Llano 0.5 0.2 0.2 0.2
F. lad. 0.2 0.2 0.2
Ladera 0.2 0.2
Cima 0.5
Tabla C.27: Relaciones de similitud (Atributo VEGETACI)
V EGETACI 2 3 4 5 6 7 8
1 0.5 0.5 0.2 0.2 0.2 0.2 0.2
2 0.5 0.2 0.2 0.2 0.2 0.2
3 0.2 0.2 0.2 0.2 0.2
4 0.5 0.5 0.5 0.5
5 0.5 0.5 0.5
6 0.5 0.5
7 0.5
Tabla C.28: C´odigos para el atributo VEGETACI
Valor clave
Bosque natural 1
Bosque de repoblaci´on 2
Matorral alto 3
Herb´acea 4
Matorral bajo degradado 5
Cultivo arbolado 6
Cultivo herb´aceo 7
Regad´ıo 8
264 AP´ENDICE C. BASE DE DATOS DE SUELOS
Tabla C.29: Relaciones de similitud (Atributo MATERIAL)
MATERIAL 2 3 4 5 6 7 8 9
1 0.2 0.2 0.2 0.5 0.2 0.2 0.2 0.0
2 0.2 0.2 0.2 0.5 0.2 0.2 0.0
3 0.2 0.2 0.2 0.2 0.2 0.0
4 0.2 0.2 0.2 0.2 0.0
5 0.2 0.2 0.2 0.0
6 0.2 0.2 0.0
7 0.2 0.0
8 0.0
C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 265
Tabla C.30: C´odigos para el atributo MATERIAL
Valor clave
´Acido coluvial 1
´Acido aluvial 2
´Acido sobre mat. compacto 3
´Acido sobre mat. no compacto 4
Calc´areo coluvial 5
Calc´areo aluvial 6
Calc´areo sobre mat. compacto 7
Calc´areo sobre mat. no compacto 8
Roca volc´anica 9
Tabla C.31: Relaciones de similitud (Atributo GRADO)
GRADO Moderate Severe
Slight 0.5 0.5
Moderate 0.5
266 AP´ENDICE C. BASE DE DATOS DE SUELOS
Tabla C.32: Relaciones de similitud (Atributo HUE HUME)
HUE HUME 1.25YR 2.5YR 3.75YR 6.75YR 7.5YR 8.75YR 10YR 1.25Y 2.5Y 5Y 10Y
10R 0.3 0.3 0.3 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0
1.25YR 0.3 0.3 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0
2.5YR 0.3 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0
3.75YR 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0
6.75YR 0.5 0.3 0.3 0.3 0.3 0.1 0.0
7.5YR 0.3 0.3 0.3 0.3 0.1 0.0
8.75YR 0.3 0.3 0.3 0.1 0.0
10YR 0.3 0.3 0.1 0.0
1.25Y 0.3 0.1 0.0
2.5Y 0.1 0.0
5Y 0.0
Tabla C.33: Relaciones de similitud (Atributo VALUE HU)
V ALUE HU 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 8
2 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2
2.5 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2
3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2
3.5 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2
4 0.3 0.3 0.3 0.3 0.3 0.3 0.2
4.5 0.3 0.3 0.3 0.3 0.3 0.2
5 0.3 0.3 0.3 0.3 0.2
5.5 0.3 0.3 0.3 0.2
6 0.3 0.3 0.2
6.5 0.3 0.2
7 0.2
C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 267
Tabla C.34: Relaciones de similitud (Atributo CROMA HU)
CROMA HU 0.5 1 1.5 2 2.5 3 3.5 4 5 6 7 8
0 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2 0.2 0.2 0.2
0.5 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2 0.2 0.2 0.2
1 0.3 0.3 0.3 0.3 0.3 0.3 0.2 0.2 0.2 0.2
1.5 0.3 0.3 0.3 0.3 0.3 0.2 0.2 0.2 0.2
2 0.3 0.3 0.3 0.3 0.2 0.2 0.2 0.2
2.5 0.3 0.3 0.3 0.2 0.2 0.2 0.2
3 0.3 0.3 0.2 0.2 0.2 0.2
3.5 0.3 0.2 0.2 0.2 0.2
4 0.2 0.2 0.2 0.2
5 0.2 0.2 0.2
6 0.2 0.2
7 0.2
Tabla C.35: Relaciones de similitud (Atributo HUE SECO)
HUE SECO 2.5YR 3.75YR 5YR 6.75YR 7.5YR 8.75YR 10YR 1.25Y 2.5Y 5Y
10R 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
2.5YR 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.1
3.75YR 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.1
5YR 0.3 0.3 0.3 0.3 0.3 0.3 0.1
6.75YR 0.5 0.3 0.3 0.3 0.3 0.1
7.5YR 0.3 0.3 0.3 0.3 0.1
8.75YR 0.3 0.3 0.3 0.1
10YR 0.3 0.3 0.1
1.25Y 0.3 0.1
2.5Y 0.1
268 AP´ENDICE C. BASE DE DATOS DE SUELOS
Tabla C.36: Relaciones de similitud (Atributo VALUE SE)
V ALUE SE 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5
3 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2
4 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3
4.5 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3
5 0.3 0.3 0.3 0.3 0.3 0.3 0.3
5.5 0.3 0.3 0.3 0.3 0.3 0.3
6 0.3 0.3 0.3 0.3 0.3
6.5 0.3 0.3 0.3 0.3
7 0.3 0.3 0.3
7.5 0.3 0.3
8 0.3
Tabla C.37: Relaciones de similitud (Atributo CROMA SE)
CROMA SE 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 7.5 8
0 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3
1 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3
1.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3
2 0.5 0.5 0.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3
2.5 0.5 0.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3
3 0.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3
3.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3
4 0.5 0.5 0.3 0.3 0.3 0.3
4.5 0.5 0.3 0.3 0.3 0.3
5 0.3 0.3 0.3 0.3
6 0.3 0.3 0.3
7 0.5 0.5
7.5 0.5
Tabla C.38: Relaciones de similitud (Atributo TIPO ES)
TIPO ES 2 3 4 5 6 7 8 9
1 0.4 0.4 0.4 0.4 0.2 0.2 0.2 0.2
2 0.4 0.4 0.4 0.2 0.2 0.2 0.2
3 0.4 0.4 0.2 0.2 0.2 0.2
4 0.4 0.2 0.2 0.2 0.2
5 0.2 0.2 0.2 0.2
6 0.2 0.2 0.2
7 0.2 0.2
8 0.2
C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 269
Tabla C.39: C´odigos para el atributo TIPO ES
Valor clave
Granular 1
Migajosa 2
Subangular blocky 3
Angular blocky 4
Prismatic 5
Platy 6
Rock structure 7
Massive 8
Single grain 9
Tabla C.40: Relaciones de similitud (Atributo GRADO ES)
GRADO ES Weak Moderate Strong
Very Weak 0.3 0.3 0.3
Weak 0.3 0.3
Moderate 0.3
270 AP´ENDICE C. BASE DE DATOS DE SUELOS
C.2. Cuerpo de la Base de Datos
En esta secci´on se visualizan algunos de los datos que hay contenidos en la
BD Difusa de Suelos, que pueden ser ´utiles a la hora de ejemplificar cualquier
implementaci´on desarrollada en esta tesis. A continuaci´on se muestra el con-
tenido de algunas de estas tablas. El contenido completo de la BD se adjunta
en el archivo denominado bdfuzzy que se proporciona con la tesis en formado
CD-ROM.
Tabla C.41: Tabla Color, parte de su contenido
Codigo c hue hume value hu croma hu hue se value se croma se
1 10YR 3.0 1 10YR 5 1
2 10YR 3.0 1 10YR 5 1
5 2,5YR 8 0 2,5YR 7 2
16 7,5YR 4 0 7,5YR 6 4
26 10YR 2 0 10YR 3 3
28 10YR 2 0 10YR 4 1
. . . . . . . . . . . . . . . . . . . . .
Tabla C.42: Tabla Estructura, parte de su contenido
codigo es tipo es clas es grado es vegetacion material grado de
1 PLATY FINE WEAK 5 3
2 MIGAJOSA VERY FINE WEAK 5 3
5 MASSIVE 5 7
16 MASSIVE 5 7 SLIGHT
26 MIGAJOSA MEDIUM MODERATE 3 3 SEVERE
28 SINGLE GRAIN 5 1 MODERATE
. . . . . . . . . . . . . . . . . . . . .
C.2. CUERPO DE LA BASE DE DATOS 271
Tabla C.43: Tabla Anal´ıticos, parte de su contenido
codigo a arena arcilla Co PH Fe Agua CEC
1 alta baja baja baja alta media baja
2 alta baja media baja media media baja
5 baja media baja alta alta alta baja
16 alta baja baja baja alta media baja
26 alta baja alta baja media baja media
28 alta baja baja baja alta baja baja
. . . . . . . . . . . . . . . . . . . . . . . .
Tabla C.44: Tabla Localizaci´on, parte de su contenido
latitud longitud orientaci´on fisiograf´ıa pendiente altitud . . .
41045 5478 SW LADERA STEEP baja . . .
41135 5598 NW LADERA STEEP baja . . .
4103 5705 NW LADERA GENTLY SLOPING baja . . .
41082 5675 LLANO FLAT baja media . . .
40963 5636 N LADERA STEEP media . . .
41049 5578 LLANO FLAT baja . . .
. . . . . . . . . . . . . . . . . . . . .
. . . profundidad Tmedia Pmedia Fao Reduc biblio autor . . .
. . . media baja alta REGOSOL TABERNAS PEREZ . . .
. . . baja baja alta REGOSOL TABERNAS PEREZ . . .
. . . media baja alta XEROSOL TABERNAS PEREZ . . .
. . . baja baja alta XEROSOL TABERNAS PEREZ . . .
. . . media baja media REGOSOL TABERNAS PEREZ . . .
. . . media baja alta FLUVISOL TABERNAS PEREZ . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . codecol codhori codperf codigo es codigo a codigo c
. . . SE 1 1 1 1 1
. . . SE 2 2 2 2 2
. . . SE 5 3 5 5 5
. . . SE 16 7 16 16 16
. . . SE 26 10 26 26 26
. . . SE 28 11 28 28 28
272 AP´ENDICE C. BASE DE DATOS DE SUELOS
Bibliograf´ıa
[Ada80] J. M. Adamo. Fuzzy decision trees. Fuzzy Sets and Systems,
4:207–219, 1980.
[Aga05] P. Agarwal. Ontological considerations in giscience. Interna-
tional Journal of Geographical Information Science, 19(5):501–
536(36), May 2005.
[An04] Y. An, A. Borgida y John Mylopoulos. Refining semantic
mappings from relational tables to ontologies. En Val Tannen
Christoph Bussler y Irini Fundulaki, editores, Semantic Web
and Databases, Second International Workshop, SWDB 2004,
tomo 3372, p´aginas 84–90. Springer, 2004.
[Ank07] A. Ankolekar, M. Kr¨otzsch, T. Tran y D. Vrandecic. The two
cultures: mashing up web 2.0 and the semantic web. En WWW
’07: Proceedings of the 16th international conference on World
Wide Web, p´aginas 825–834. ACM, New York, NY, USA, 2007.
ISBN 978-1-59593-654-7.
[Ant03] G. Antoniou y F. van Harmelen. Handbook on Ontologies in
Information Systems, cap´ıtulo Web Ontology Language: OWL,
p´aginas 67–92. Springer-Verlag, 2003.
[Apa05] A. S. Aparcio, O. L. M. Farias y N. dos Santos. Applying on-
tologies in the integration of heterogeneous relational databas-
es. En AOW ’05: Proceedings of the 2005 Australasian Ontology
Workshop, p´aginas 11–16. Australian Computer Society, Inc.,
Darlinghurst, Australia, Australia, 2005. ISBN 1-920-68240-6.
[Arp01] J. C. Arperez, O. Corcho, M. Fernandez-L´opez y A. G´omez-
P´erez. Webode: a scalable workbench for ontological engineer-
ing. En K-CAP ’01: Proceedings of the 1st international con-
ference on Knowledge capture, p´aginas 6–13. ACM Press, New
York, NY, USA, 2001. ISBN 1-58113-380-4.
273
274 BIBLIOGRAF´IA
[Ast04] I. Astrova. Reverse engineering of relational databases to on-
tologies. En Proceedings of the 1st Europan Semantic Web Sym-
posium (ESWS), LNCS, tomo 3053, p´aginas 327–341. 2004.
[Ast05] I. Astrova. Towards the semantic web - an approach to reverse
engineering of relational databases to ontologies. En Advances
in Databases and Information Systems: 9th East-European Con-
ference, ADBIS 2005, p´aginas 111–122. September 2005.
[atSUSoM06] Stanford Medical Informatics at the Stanford University
School of Medicine. Protege. http://protege.stanford.edu/,
January 2006.
[Aue07] S. Auer. powl. a web based platform for collaborative semantic
web development. http://powl.sourceforge.net/overview.php,
2007.
[Aum05] D. Aumueller, H. Do, S. Massmann y E. Rahm. Schema and
ontology matching with coma++. En SIGMOD ’05: Proceed-
ings of the 2005 ACM SIGMOD international conference on
Management of data, p´aginas 906–908. ACM Press, New York,
NY, USA, 2005. ISBN 1-59593-060-4.
[Baa04] F. Baader, I. Horrocks y U. Sattler. Handbook on Ontologies,
cap´ıtulo Description Logics, p´aginas 1–28. Springer, 2004.
[Bac07] D. Bui Bach. Import/Export of OWL Ontologies into/from
DOGMA. Master of computer science, Vjire Universiteit Brus-
sel. Faculty of Science. Departament of Computer Science. Se-
mantic Technology and Applications Lab, 2006-2007.
[Bal79] J. F. Baldwin y N. C. F. Guild. Comparison of fuzzy sets on
the same decision space. Fuzzy Sets and Systems, 2:213–233,
1979.
[Bal84] J. F. Baldwin y S. Q. Zhou. A fuzzy relational inference lan-
guage. Fuzzy Sets and Systems, (14):155–174, 1984.
[Bar03] J. Barrasa, O. Corcho y A. G. . Perez. Fund finder: A case
study of database to ontology mapping. En In International
Semantic Web Conference, number 2870 in Lecture Notes in
Computer science,, p´aginas 17–22. Springer-Verlag., 2003.
BIBLIOGRAF´IA 275
[Bas77] S. M. Bass y H. Kwakernaak. Rating and ranking of multiple-
aspect alternatives using fuzzy sets. Automatica, 13:47–58,
1977.
[Bec] S. Bechhofer, F. van Harmelen, J. Hendler, I. Horrocks, D. L.
Mcguinness, P. F. Patel-Schneider y L. A. Stein. Owl web on-
tology language reference. Informe t´ecnico, W3C.
[Bec07a] S. Bechhofer. Api for owl ontologies.
http://owl.man.ac.uk/api/readme.html, 2007.
[Bec07b] S. Bechhofer y G.˜Ng. Oiled. http://oiled.man.ac.uk/, April
2007.
[Bec07c] S. Bechhofer y R. Volz. Wonderweb owl ontology validator.
http://www.mygrid.org/OWL/Validator, 2007.
[Ben06] S. M. Benslimane, D. Benslimane, M. Malki, Y. Amghar y
H. Saliah. Acquiring OWL ontologies from data-intensive web
sites. En ACM, editor, The Sixth International Conference on
Web Engineering (ICWE’06), p´aginas 361–368. julio 2006.
[Biz03] C. Bizer. D2r map - a database to rdf mapping language. En
In 12th Intl World Wide Web Conf , p´aginas 17–22. 2003.
[BL01] T. Berners-Lee, J. Hendler y O. Lassila. The semantic web.
Scientific American, 284(5):28–37, May 2001.
[BL06] T. Berners-Lee, W. Hall, J. A. Hendler, K. O’Hara, N. Shadbolt
y D. J. Weitzner. A framework for web science. Foundations
and Trends R in Web Science, 1(1), 2006.
[Bla00a] I. Blanco, J. C. Cubero, O. Pons y M. A. Vila. An implementa-
tion for fuzzy relational databases. En G. Bordogna y G. Passi,
editores, Recent Research Issues on the Management of Fuzzi-
ness in Databases, Studies in Fuzziness and Soft Computing,
p´aginas 183–207. Physica-Verlag, 2000.
[Bla00b] I. Blanco, N. Mar´ın, O. Pons y M. A. Vila. An extension of data
description language (ddl) for fuzzy data handling. En Larsen,
Kacprzyk, Zadrozny, Andreasen y Christiansen, editores, Flex-
ible Query Answering Systems, Recent Advances, Advances in
Soft Computing, p´aginas 54–64. Physica-Verlag, 2000.
276 BIBLIOGRAF´IA
[Bla01] I. Blanco. Deducci´on en Bases de Datos Relationales Difusas.
Tesis Doctoral, E. T. S. I. Inform´atica, Universidad de Granada,
Spain, 2001.
[Bla02a] I. Blanco, M. J. Mart´ın-Bautista, O. Pons y M. A. Vila. A
mechanism for deduction in a fuzzy relational database. En
Proceedings of the 9th Information Processing and Management
of Uncertainty in Knowledge-based Systems IPMU 2002 Con-
ference, p´aginas 291–298. Annecy, France, July 2002.
[Bla02b] I. Blanco, D. S´anchez, J.M. Serrano, M.A. Vila y J. Fuzzy-
queries 2+, una herramienta para la integraci´on de consultas
flexibles, c´alculo de agregaciones y res´umenes, y extracci´on de
conocimiento. En Actas del XI Congreso Espa˜nol sobre tec-
nolog´ıas y L´ogica Fuzzy (ESTYLF02), p´aginas 337–342. 2002.
[Bla03a] I. Blanco, M. J. Martin-Bautista, O. Pons y M. A. Vila. A
mechanism for deduction in a fuzzy relational database. In-
ternational Journal of Uncertainty, Fuzziness and Knowledge-
Based Systems, 11:47–66, September 2003.
[Bla03b] I. Blanco, O. Pons, J. M. Serrano y M. A. Vila. Deduction in a
gefred database using datalog. En International Conference in
Fuzzy Logic and Technology EUSFLAT 2003, p´aginas 550–553.
September 2003.
[Bla04] I. Blanco, C. Martinez-Cruz, J.M. Serrano y M. A. Vila. Servi-
dor de bases de datos relacionales difusas para deducci´on y
miner´ıa de datos. En Actas del XII Congreso Espa˜nol Sobre
Teconolog´ıas y L´ogica Fuzzy, p´aginas 135–141. 2004.
[Bla05a] I. Blanco, C. Martinez-Cruz, J.M. Serrano y M.A. Vila. A first
approach to multipurpose relational database server. Mathware
and Soft Computing, 12(2-3):129–153, 2005.
[Bla05b] I. Blanco, C. Mart´ınez-Cruz, N. Mar´ın y M. A. Vila. About the
use of ontologies for fuzzy knowledge representation. En Inter-
national Conference in Fuzzy Logic and Technology EUSFLAT
2005, p´aginas 106–111. September 2005.
[Bla07] I. Blanco, C. Mart´ınez-Cruz y M. A. Vila. Handbook of Re-
search on Web Information Systems Quality, cap´ıtulo Looking
for Information in Fuzzy Relational Databases accessible via the
BIBLIOGRAF´IA 277
Web, p´aginas Chapter XVIII,300–324. Idea Group Reference,
2007.
[Bla08a] I. Blanco, C. Martinez-Cruz y M. A. Vila. Arquitectura para
la integraci´on de esquemas relacionales difusos basada en on-
tolog´ıas: una aplicaci´on para la web. En Actas del XIV Congreso
Espa˜nol sobre tecnolog´ıas y L´ogica Fuzzy (ESTYLF08), p´aginas
651–656. 2008.
[Bla08b] I. J. Blanco, M. A. Vila y Carmen Martinez-Cruz. The use of
ontologies for representing database schemas of fuzzy informa-
tion. International Journal of Intelligent Systems, 23(4):419–
445, February 2008.
[Bor97] P. Borst, H. Akkermans y J. Top. Engineering ontologies. Int. J.
Hum.-Comput. Stud., 46(2-3):365–406, 1997. ISSN 1071-5819.
[Bos88] P. Bosc, M. Galibourg y G. Hamon. Fuzzy querying with sql:
Extensions and implementation aspects. Fuzzy Sets and Sys-
tems, 28:333–349, 1988.
[Bre04] M. Breu y Y. Ding. Modelling the world: Databases and on-
tologies. Whitepaper by IFI, Institute of Computer Science,
University of Innsbruck, 2004.
[Bre07] C. Brewster y K. O’Hara. Knowledge representation with on-
tologies: Present challenges–future possibilities. International
Journal of Human-Computer Studies, 65(7):563–568, July 2007.
[Bro02] J. Broekstra, A. Kampman y F. van Harmelen. Sesame: A
Generic Architecture for Storing and Querying RDF and RDF
Schema. En I. Horrocks y J. Hendler, editores, The Semantic
Web - ISWC 2002. First International Semantic Web Confer-
ence, Sardinia, Italy, June 9-12, 2002, Proceedings, tomo 2342
de LNCS, p´aginas 54–68. Springer, 2002.
[Bro06] S. Brockmans, P. Haase y P. Hitzler. A metamodel and uml
profile for rule-extended owl dl ontologies. En J. Domingue
Y. Sure, editor, The Semantic Web: Research and Applications:
3rd European Semantic Web Conference, ESWC 2006, tomo
4011, p´aginas 303–316. 2006.
[Buc82a] B. P. Buckles y F. E. Petry. Fuzzy Information and Decision
Processes, tomo 2, cap´ıtulo Fuzzy Databases and their Appli-
cations, p´aginas 361–371. North-Holland, Amsterdam, 1982.
278 BIBLIOGRAF´IA
[Buc82b] B. P. Buckles y F. E. Petry. A fuzzy representation of data
for relational databases. Fuzzy Sets and Systems, (7):213–226,
1982.
[Buc84] B. P. Buckles y F. E. Petry. Extending the fuzzy database
model with fuzzy numbers. Information Sciences, 34:145–155,
1984.
[Buc89] B. P. Buckles, F. E. Petry y H. S. Sachar. A domain calculus for
fuzzy relational databases. Fuzzy Sets and Systems, 29:327–340,
1989.
[Cal05] C. Calero, F. Ruiz, A. Baroni, F. Brito e Abreu y M. Piatti-
ni. An ontological approach to describe the sql:2003 object-
relational features. Computer Standards and Interfaces Jour-
nal, p´aginas 1–28, 2005.
[Cal06] C. Calero y M. Piattini. An Ontological Approach to SQL:2003,
cap´ıtulo Ontological Engineering: Principles, Methods, Tools
and Languages, p´aginas 49–102. Springer-Verlag, 2006.
[Car98] R. A. Carrasco, J. Galindo, M.C. Aranda, J.M. Medina y M.A.
Vila. Classification in databases using a fuzzy query language.
En 9th International Conference on Management of Data, CO-
MAD’98. 1998.
[Car99] R. A. Carrasco, J. Galindo, M.A. Vila y J.M. Medina. Cluster-
ing and fuzzy classification in a financial data mining environ-
ment. En 3rd International ICSC Symposium on Soft Comput-
ing, SOCO’99, p´aginas 713–720. 1999.
[Car00] R. A. Carrasco, J. Galindo, M.A. Vila y J.C. Cubero. Fsql:
a tool for obtaining fuzzy dependencies. En 8th Internation-
al Conference on Information Processing and Management of
Uncertainty in Knowledge-Based Systems, IPMU’2000, p´aginas
1916–1919. 2000.
[Car03a] R. A. Carrasco. Lenguajes e Interfaces de Alto Nivel para Data
Mining con Aplicaci´on Pr´actica a Entornos Financieros. Tesis
Doctoral, E. T. S. I. Inform´atica, Universidad de Granada,
Spain, 2003.
[Car03b] R. A. Carrasco, M. A. Vila y J. Galindo. Fsql: a flexible query
language for data mining. Enterprise information systems IV ,
p´aginas 68–74, 2003.
BIBLIOGRAF´IA 279
[Car07] J. Cardoso. The semantic web vision: Where are we? IEEE
Intelligent Systems, 22(5):84–88, 2007. ISSN 1541-1672.
[Cas07] P Casanovas, N. Casellas, C. Tempich, D. Vrandecic y R. Ben-
jamins. Opjk and diligent: ontology modeling in a distributed
environment. Artificial Intelligence and Law, 15(2):171–186,
June 2007. ISSN 0924-8463.
[Cha99] B. Chandrasekaran, J.R. Josephson y V.R. Benjamins. What
are ontologies, and why do we need them? IEEE Intelligent
Systems, p´aginas 20–26, January/February 1999.
[Cha01] P. A. Champin. RDF Tutorial. http://www710.univ-
lyon1.fr/ champin/rdf-tutorial/, April 2001.
[Cha07] P. A. Champin, G.J. Houben y Ph. Thiran. Cross: An owl
wrapper for reasoning on relational databases. En C. Parent,
K.D. Schewe, Veda C. Storey y Bernhard Thalheim, editores,
ER, tomo 4801 de Lecture Notes in Computer Science, p´aginas
502–517. Springer, 2007. ISBN 978-3-540-75562-3.
[Che92] G. Q. Chen, j. Vandenbulcke y E. E. Kerre. A general treatment
of data redundancy in a fuzzy relational data model. Journal
American Society of Information Sciences, 43(3):304–311, 1992.
[Che99] G. Q. Chen. Fuzzy Logic in Data Modeling; Semantics, Con-
straints and Database Desing. kluwer Academic Publisher,
1999.
[Cho06] N. Choi, I.Y. Song y H. Han. A survey on ontology mapping.
SIGMOD Rec., 35(3):34–41, 2006. ISSN 0163-5808.
[Cod70] E. F. Codd. A relational model of data for large shared data
banks. Communications of the ACM , 13(6):377–387, 1970.
[Cod79] E. F. Codd. Extending the database relational model to capture
more meaning. ACM Transactions on Database Systems, 4:262–
296, 1979.
[Cod86] E. F. Codd. Missing information (applicable and inapplicable)
in relational databases. ACM SIGMOD Record, 15(4), 1986.
[Cod87] E. F. Codd. More commentary on missing information in rela-
tional databases. ACM SIGMOD Record, 16(1), 1987.
280 BIBLIOGRAF´IA
[Cod90] E. F. Codd. The Relational Model for Database Management,
Version 2. Reading Mass. Addison-Wesley, 1990.
[Cod07] E. F. Codd. Relational database: A practical foundation for
productivity. ACM Turing award lectures, p´agina 1981, 2007.
[Cor06] O. Corcho, M. Fern´andezL´opez y A. G´omezP´erez. Ontologies
for Software Engineering and Software Technology, cap´ıtulo
Ontological Engineering: Principles, Methods, Tools and Lan-
guages, p´aginas 49–102. Springer-Verlag, 2006.
[Cul03] N. Cullot, C. Parent, S. Spaccapietra y Christelle Vangenot.
Ontologies: A contribution to the dl/db debate. En Isabel Cruz
y Vipul Kashyap, editores, First International Workshop on
Semantic Web and Databases (VLDB workshop). September
2003.
[Del88] M. Delgado, J. L. Verdegay y M. A. Vila. A procedure for
ranking fuzzy numbers using fuzzy relations. Fuzzy Sets and
Systems, 26:49–62, 1988.
[Doa02] A. Doan, J. Madhavan, P. Domingos y A. Halevy. Learning to
map between ontologies on the semantic web. En The Eleventh
International WWW Conference. Hawaii,, 2002.
[Dou06] D. Dou y P. LePendu. Ontology-based integration for relational
databases. En SAC ’06: Proceedings of the 2006 ACM sympo-
sium on Applied computing, p´aginas 461–466. ACM Press, New
York, NY, USA, 2006. ISBN 1-59593-108-2.
[Dub83] H. Dubois y H. Prade. Ranking fuzzy numbers in the setting
of possibility theory. Information Sciences, 30:183–224, 1983.
[Dui00] A. J. Duineveld, R. Stoter, M. R. Weiden, B. Kenepa y V. R.
Benjamins. Wondertools? a compartive study of ontological
engineering tools. International Journal of Human-Cumputer
Studies, 52(6):1111–1133, Jun 2000.
[Ech07a] P. Echarte. La web sem´antica.
http://www.lawebsemantica.com/contents/webSemantica/
ontologias4.html, 2007.
[Ech07b] P. Echarte. T´ecnicas y lenguajes
para la representaci´on del conocimiento.
BIBLIOGRAF´IA 281
http://www.eslomas.com/index.php/archives/2006/12/14/
tecnicas-y-lenguajes-para-la-representacion-del-conocimiento/,
2007.
[EG06] H. El-Ghalayini, M. Odeh y R. McClatchey. Engineering con-
ceptual data models from domain ontologies: A critical evalua-
tion. CoRR, abs/cs/0601119, 2006. Informal publication.
[Ehr07] M. Ehrig. Ontology Alignment. Bringing the Semantic Gap..
Springer, 2007.
[Eis04] A. Eisenberg, J. Melton, K. G. Kulkarni, J-E Michels y Fred
Zemke. Sql: 2003 has been published. SIGMOD Record, 33:119–
126, 2004.
[Eri07] Ulric Eriksson. Libsbd: Database library for supporting mul-
tiple database management. http://siag.nu/libsdb/, January
2007.
[Euz07] J. Euzenat y P. Shvaiko. Ontology Matching. Springer, 2007.
[Fen04] D. Fensel. Ontologies: Silver Bullet for Knowledge Management
and Electronic Commerce. Springer-Verlag, Berlin, 2nd edici´on,
2004.
[Fin05] T. Finin, J. Mayfield, A. Joshi, R. S. Cost y C. Fink. Informa-
tion retrieval and the semantic web. En HICSS ’05: Proceed-
ings of the Proceedings of the 38th Annual Hawaii International
Conference on System Sciences (HICSS’05) - Track 4, p´agina
113.1. IEEE Computer Society, Washington, DC, USA, 2005.
ISBN 0-7695-2268-8-4.
[fSIIT03] International Organization for Standardization (ISO). Informa-
tion Technology. Database language sql. parts 1 to 4 and 9
to 14. 9075-1:2003 to 9075-14:2003 International Standards,
(Standard No. ISO/IEC 9075:2003), September,2003.
[fSIIT99] International Organization for Standardization (ISO). Infor-
mation Technology. Ansi/iso/iec international standard (is)
database language sql part 2: Foundation (sql/foundation).
ISO/IEC 9075-2:1999 (E), September, 99.
[Fuk79] S. Fukami, M. Umano, M. Muzimoto y H. Tanaka. Fuzzy
databases retrieval and manipulation language. IEICE Tech-
nical Reports, 78(233):65–72, 1979.
282 BIBLIOGRAF´IA
[Gae06] D. Gaevic, D. Djuric, V. Devedic y B. Selic. Model driven
architecture and ontology development. Springer, 2006.
[Gal84] H. Gallaire, J. Minker y J. M. Nicholas. Logic and databases: A
deductive approach. Computing Surveys, 16(2):153–185, June
1984.
[Gal99] J. Galindo. Tratamiento de la Imprecisi´on en Bases de Datos
Relacionales: Extensi´on del modelo y adaptaci´on de los SGBD
actuales. Tesis Doctoral, Department of Computer Science and
Artificial Intelligence, University of Granada, Espa˜na, 1999.
[Gal05a] A. Gal, G. Modica, H. Jamil y A. Eyal. Automatic ontology
matching using application semantics. AI Mag., 26(1):21–31,
2005. ISSN 0738-4602.
[Gal05b] A. Gali, C.X. Chen, K.T. Claypool y R. Uceda-Sosa. From
ontology to relational databases. Shan Wang et all(Eds.): Con-
ceptual Modeling for Advanced Application Domains, LNCS,
3289:278–289, 2005.
[Gal06] J. Galindo, A. Urrutia y M. Piattini. Fuzzy Databases Modeling,
Design and Implementation. Idea Group Publishing, 2006.
[Gen06] J. Gennick. SQL Pocket Guide. O’Reilly, 2006.
[Gen07] J. Gennari, M.˜Nguyen y A. Silberfein. Datagenie.
http://protege.cim3.net/cgi-bin/wiki.pl?DataGenie, March
2007.
[Geo05] D. George. Understanding structural and semantic heterogene-
ity in the context of database schema integration. En Journal
of the Dept. of Computing, 4, p´aginas 29–44. IEEE Computer
Society, UCLan, May 2005. ISBN 1476-9069.
[Gob03] C. Goble. Guest editorial: the semantic web: an evolution for
a revolution. Comput. Networks, 42(5):551–556, 2003. ISSN
1389-1286.
[Gog05] J. A. Goguen. Data, schema, ontology and logic integration.
Logic Journal of the IGPL, 13(6):685–715, November 2005.
ISSN 1367-0751.
[GP03a] A. G´omez-P´erez, M. F´ernandez-L´opez y O. Corcho-Garc´ıa.
Metodologies, tools and languages for building ontologies. where
BIBLIOGRAF´IA 283
is their meeting point? Data and Knowledge Engineering,
(46):41–64, 2003.
[GP03b] A. G´omez-P´erez, M. F´ernandez-L´opez y O. Corcho-Garc´ıa. On-
tological Engineering. Springer-Verlag New York, Inc., 2003.
[GP04] A. G´omez-P´erez y D. Manzano-Macho. An overview of methods
and tools for ontology learning from texts. Knowl. Eng. Rev.,
19(3):187–212, 2004. ISSN 0269-8889.
[Gra80] J. Grant. Incomplete information in a relational database. Fun-
damenta Informaticae, 3:363–378, 1980.
[Gru93] T. R. Gruber. Toward principles for the design of ontolo-
gies used for knowledge sharing. Technical Report KSL 93-04,
Knowledge Systems Laboratory, Standford University, 1993.
[Gr¨u95] M. Gr¨uninger y M. Fox. Methodology for the design and evalua-
tion of ontologies. En IJCAI’95, Workshop on Basic Ontological
Issues in Knowledge Sharing, April 13, 1995. 1995.
[Gua95] N. Guarino. Formal ontology, concept analysis and knowledge
representation. International Journal of Human and Computer
Studies, 43(5/6):625–640, 1995.
[Gua98] N. Guarino. Formal ontologies and information systems. En
Proc. of FOIS98, p´aginas 3–15. 1998.
[H¨u05] B. H¨usemann y G. Vossen. Ontology engineering form a
database perspective. En S. Grumbach, L. Sui y V. Vianu,
editores, ASIAN 2005, LNCS 3818, p´aginas 49–63. Springer-
Verlag, 2005.
[Hai05] D. Hong Hai. Schema Matching ans Mapping-Based Data In-
tegration. Tesis Doctoral, Interdisciplinary Center for Bioin-
formatics and Department of Computer Science. University of
Leipzig. Germany, 2005.
[Ham04] A. Hameed, A. Preece y D. Sleeman. Handbook on Ontologies,
cap´ıtulo Ontology Reconciliation, p´aginas 231–250. Springer,
2004.
[Har05] J. Hartmann, P. Spyns, A. Giboin, D. Maynard, R. Cuel, M. C.
Su´arezFigueroa y Y. Sure. Deliverable d1.2.3 methods for ontol-
ogy evaluation. document identifier: Kweb/2004/d1.2.3/v1.3.
Informe t´ecnico, Knowledge Web Consortium, 2005.
284 BIBLIOGRAF´IA
[Hen02] J. Hendler, T. Berners-Lee y E. Miller. Integrating applica-
tions on the semantic web. Journal of the Institute of Electrical
Engineers of Japan, 122(10):676–680, October 2002.
[Her02] M. C. P´erez Hern´andez. Explotaci´on de los c´orpora textuales
informatizados para la creaci´on de bases de datos terminol´ogicas
basadas en el conocimiento. Estudios de Ling¨u´ıstica Espa˜nola
(ELiEs), http://elies.rediris.es/elies18/, 2002.
[Hol02] C.W. Holsapple y K. D. Joshi. A collaborative approach to
ontology design. Commun. ACM , 45(2):42–47, 2002. ISSN
0001-0782.
[hom06] Ontology Engineering homepage. http://www.aifb.uni-
karlsruhe.de/WBS/cte/ontologyengineering/, 2006.
[Hu96] J. Hu, D.˜Nicholson, C. Mungall, A. L. Hillyard y A. L.
Archibald. Webintool: a generic web to database interface build-
ing tool. En DEXA ’96: Proceedings of the 7th International
Workshop on Database and Expert Systems Applications, p´agi-
na 285. IEEE Computer Society, Washington, DC, USA, 1996.
ISBN 0-8186-7662-0.
[Imi96] T. Imielinski y Heikki Mannila. A database perspective on
knowledge discovery. Communications of the ACM , 39(11):58–
64, 1996.
[Jar] M. Jarrar y R. Meersman. Scalability and knowl-
edge reusability in ontology modeling. cite-
seer.ist.psu.edu/jarrar02scalability.html.
[Jar02] M. Jarrar y R. Meersman. Formal ontology engineering in the
dogma approach. En Robert Meersman y Zahir Tari, editores,
CoopIS/DOA/ODBASE, tomo 2519 de Lecture Notes in Com-
puter Science, p´aginas 1238–1254. Springer, 2002. ISBN 3-540-
00106-9.
[Jea06] S. Jean, G. Pierra y Y. AitAmeur. Domain ontologies: A
database-oriented analisys. En Proceedings of the Web Infor-
mation Systems and Technologies (WEBIST’2006). April 2006.
[Jur99] I. Jurisica, J. Mylopoulos y E. Yu. Using ontologies for knowl-
edge management: An information systems perspective. En
Proceedings of 62nd Annual Meeting of the American Society
for Information Science (ASISI99), p´aginas 482–496. 1999.
BIBLIOGRAF´IA 285
[Jur07] D. Juric y Z. Skocir. Building owl ontologies by analyzing re-
lational database schema concepts and wordnet semantic rela-
tions. En The 9th International Conference on Telecommuni-
cations. ConTEL 2007. June 13-15 2007.
[KAC05] Espirit Proyect 8145 KACTUS. The kactus.
http://www.swi.psy.uva.nl/projects/NewKACTUS/ Re-
ports.html, April 2005.
[Kal03] Y. Kalfoglou y M. Schorlemmer. Ontology mapping: the state of
the art. The Knowledge Engineering Review, 18(1):1–31, 2003.
[Kam07] Arjohn Kampman y Jeen Broekstra. Sesame.
http://www.openrdf.org/, 2007.
[Kas99] V. Kashyap. Design and creation of ontologies for environmen-
tal information retrieval, 1999.
[KBS] Inc. Knowledge Based System. Idef. integrated definition meth-
ods. http://www.idef.com/IDEF5.html.
[Kni94] K. Knight y S. K. Luk. Building a large-scale knowledge base
for machine translation. En Proceedings of the Twelfth Nation-
al Conference on Artificial Intelligence.Seattle.Washington..
AAAI Press, 1994.
[Knu] H. Knublauch. An ai tool for the real world.
knowledge modeling with prot`eg`e. Informe t´ecnico,
http://www.javaworld.com/javaworld/jw-06-2003/jw-0620-
protege.html.
[Kot04] K. Kotis, G. A. Vouros y J. Padilla Alonso. Hcome: tool-
supported methodology for collaboratively devising living on-
tologies. En Christoph Bussler, Val Tannen y Irini Fundulaki,
editores, Semantic Web and Databases, Second International
Workshop, SWDB 2004,Toronto, Canada, tomo 3372, p´aginas
29–30. Springer-Verlag, 2004.
[Kot06] K. Kotis y A. Vouros. Human-centered ontology engineering:
The hcome methodology. Knowl. Inf. Syst., 10(1):109–131,
2006. ISSN 0219-1377.
[Kup06] A. Kupfer, S. Eckstein, K.˜Neumann y B. Mathiak. Handling
changes of database schemas and corresponding ontologies. En
286 BIBLIOGRAF´IA
J. F. Roddick, V. R. Benjamins, S. S. Cherfi, R. H. L. Chiang,
C. Claramunt, R. Elmasri, F. Grandi, H. Han, M. Hepp, M. D.
Lytras, V. B. Misic, G. Poels, I. Song, J. Trujillo y C. Vangenot,
editores, ER (Workshops), tomo 4231 de Lecture Notes in Com-
puter Science, p´aginas 227–236. Springer, 2006. ISBN 3-540-
47703-9.
[Las02] O. Lassila y D. McGuinness. The role of frame-based rep-
resentation on the semantic web. dsl-01-02. Informe t´ecnico,
Knowledge Systems Laboratory. Stanford University. Stanford.
California, 2002.
[Lau04] H. Lausen y M. Stolberg. Semantic web portals - state of the
art survey. Informe t´ecnico, DERI, digital Enterprise Research
Institute. Technical Report 2004-04-03, April 2004.
[Len95] D.B. Lennat. Cyc: a large-scale investment in knowledge infras-
tructure. Communications of the ACM , 33(8):33–38, 1995.
[Lub07] L. Lubyte y S. Tessaris. Extracting ontologies from relational
databases.krdb research centre technical report krdb07-4. In-
forme t´ecnico, Faculty of Computer Science, Free University of
Bozen-Bolzano, Italy, 2007.
[Ma00] Z. Ma, W. J. M., Zhang y W. Y. Ma. Semantic measure of fuzzy
data in extended possibility-based fuzzy relational databas-
es. International Journal of Intelligent System, 15(8):705–716,
2000.
[Ma05] Z. Ma. Fuzzy Database Modeling with XML. Springer, 2005.
[Ma06] Z. Ma. Fuzzy Database Modeling of Imprecise and Uncertain
Engineering Information. Springer, 2006.
[McC05] R. McCool. Rethinking the semantic web, part i. IEEE Internet
Computing, p´aginas 86–88, Nov-Dec 2005.
[McC06] R. McCool. Rethinking the semantic web, part ii. IEEE Inter-
net Computing, p´aginas 93–96, Jan-Feb 2006.
[Med94a] J. M. Medina. Bases de Datos Relacionales Difusas: Modelo
Te´orico y Aspectos de su Implementaci´on. Tesis Doctoral, De-
partamento de Ciencias de la Computaci´on e Inteligencia Artifi-
cial, E.T.S. de Ingenier´ıa Inform´atica, Universidad de Granada,
Espa˜na, 1994.
BIBLIOGRAF´IA 287
[Med94b] J. M. Medina, O. Pons y M. A. Vila. Gefred. a generalized mod-
el of fuzzy relational databases. Information Sciences, 76(1-
2):87–109, 1994.
[Med95] J. M. Medina, M. A. Vila, J. C. Cubero y O. Pons. Towards
the implementation of a generalized fuzzy relational database
model. Fuzzy Sets and Systems, 75:273–289, 1995.
[Med97] J. M. Medina, O. Pons, J. C. Cubero y M. A. Vila. Freddi:
A fuzzy relational deductive database interface. International
Journal of Intelligent Systems, 12:597–613, 1997.
[Mee01a] R. Meersman. Ontologies and databases: More than a fleeting
resemblance. Information Technology and Management. Ed.
Springer, Rome Workshop , Luiss Publications(6):97–122, 2001.
[Mee01b] R. Meersman. Ontologies and databas-
es: More than a fleeting resemblance. cite-
seer.ist.psu.edu/article/meersman01ontologies.html, 2001.
[Men01] E. Mena y A. Illarramendi. Ontology-based query processing
for global information systems. Kluwer Academic Publishers,
Norwell, MA, USA, 2001. ISBN 0-7923-7375-8.
[Miz95] R. Mizoguchi, J. Vanwelkenhuysen y M. Ikeda. Task ontology
for reuse of problem solving knowledge. En Mars N (ed) To-
wards Very Large Knowledge Bases: Knowledge Building and
Knowledge Sharing (KBKS’95), p´aginas 46–57. University of
Twente, Enschede, The Netherlands, IOS Press, 1995.
[Myl07] J. Mylopoulos. Ontologies. http://www.cs.toron-
to.edu/ jm/2507S/Notes04/Ontologies.pdf, 2007.
[Nec91] R.˜Neches, R. Fikes, T. Finin, T. Gruber, R. Patil, T. Senator
y W. R. Swartout. Enabling technology for knowledge sharing.
AI Mag., 12(3):36–56, 1991. ISSN 0738-4602.
[Nic05] A. De Nicola, R.˜Navigli y M. Missikoff. Innovation and Knowl-
edge Economy: Issues, Applications, Case Studies, cap´ıtulo
Building an eProcurement Ontology with UPON methodolo-
gy, p´aginas 177–184. IOS Press, 2005.
[Noy04] N. F. Noy. Handbook on Ontologies, cap´ıtulo Tools for Mapping
and Merging Ontologies, p´aginas 366–384. Springer, 2004.
288 BIBLIOGRAF´IA
[Obe03] D. Oberle, S. Staab, R. Studer y R. Volz. Kaon
server demonstrator. WonderWeb Deliverable D7, 2003.
Http://wonderweb.semanticweb.org.
[Obe04] D. Oberle, R. Volz, B. Motik y S. Staab. An extensible on-
tology software environment. En Steffen Staab y Rudi Studer,
editores, Handbook on Ontologies, International Handbooks on
Information Systems, cap´ıtulo III, p´aginas 311–333. Springer,
2004.
[Ont07a] Ontoprise. Ontoedit datasheet 2003. http://electronic-
office.de/pdf/ontoprise/ontoedit data sheet.pdf, 2007.
[Ont07b] Ontoprise. Ontostudio. http://www.ontoprise.de/content/
e1171/e1249/index eng.html, April 2007.
[Ora07] Oracle. Isqlplus web enviroment.
http://150.214.108.124/isqlplus, January 2007.
[Org07] Open Cascade Organizacion. Dl-workbench.
http://projects.opencascade.org/dl-workbench/, April 2007.
[otTUoMS07] Ontological Engineering Group (OEG) of the Technical Uni-
versity of Madrid (Spain). Webode ontology engineering plat-
form. http://webode.dia.fi.upm.es/WebODEWeb/index.html,
December 2007.
[Pan03] Z. Pan y J. Heflin. Dldb: Extending relational databases to
support semantic web queries. En Workshop on Practical and
Scaleable Semantic Web Systms, ISWC 2003, p´aginas 109–113.
2003.
[Par04] WP8 Partners. Deliverable d8.1. state of the art and state
of the practice including initial possible research orientations.
Informe t´ecnico, Network of Excellence - Contract no.: IST-508
011, 2004.
[Par05] E. Pardede y J. Wenny Rahayu. Impact of new sql standard to
database modeling. Encyclopedia of Information Science and
Technology. IDEA Publishing, p´aginas 488–494, 2005.
[PdL05] C. P´erez de Laborda y S. Conrad. Relational.owl: a data and
schema representation format based on owl. En CRPIT ’43:
Proceedings of the 2nd Asia-Pacific conference on Conceptual
BIBLIOGRAF´IA 289
modelling, p´aginas 89–96. Australian Computer Society, Inc.,
Darlinghurst, Australia, Australia, 2005. ISBN 1-920-68225-2.
[Pet96] F. E. Petry. Fuzzy Databases: Principles and Applications. In-
ternational Series in Intelligent Technologies. Kluwer Academic
Publishers, 1996.
[Pon96] O. Pons, J. M. Medina, J. C. Cubero y A. Vila. An architec-
ture for a deductive fuzzy relational database. En Z.W. Ras y
M. Michaliewicz, editores, Foundations of Intelligent Systems,
tomo 1079 de Lectures Notes in Artificial Intelligence. Springer,
1996.
[Pon97] O. Pons, J. M. Medina, J. C. Cubero y M. A. Vila. Flexible
Query Answering Systems, cap´ıtulo A fuzzy deductive relation-
al database. Kluwer Academic Publishers, 1997.
[Pra84a] H. Prade. Lipski’s approach to incomplete information databas-
es restated and generalized in the setting of zadeh’s possibility
theory. Information Sciences, 9:27–42, 1984.
[Pra84b] H. Prade y C. Testemale. Generalizing database relational alge-
bra for the treatment of incomplete/uncertain information and
vague queries. Information Sciences, (34):113–143, 1984.
[Pra87a] H. Prade y C. Testemale. Analysis of Fuzzy Information, to-
mo 2, cap´ıtulo Representation of Soft Constraints and Fuzzy At-
tribute Values by means of Possibility Distributions in Databas-
es. CRC Press, 1987.
[Pra87b] H. Prade y C. Testemale. Fuzzy relational databases: Represen-
tational issues and reduction using similaruty measures. Jour-
nal of American Society for Information Sciences, 38(2):118–
126, 1987.
[Pro07] HP Labs Semantic Web Programme. Jena/ a semantic web
framework for java. http://jena.sourceforge.net/, 2007.
[Raj88] K. V. S. V.˜N. Raju y A. K. Majumdar. Fuzzy functional de-
pendencies and lossless join decomposition of fuzzy relational
database systems. ACM Transactions on Database Systems,
13(2):129–166, 1988.
290 BIBLIOGRAF´IA
[Rib06] R. Ribeiro, F. Batista, J. P. Pardal, N. J. Mamede y H. S. Pinto.
Cooking an ontology. En J´erˆome Euzenat y John Domingue,
editores, AIMSA, tomo 4183 de Lecture Notes in Computer Sci-
ence, p´aginas 213–221. Springer, 2006. ISBN 3-540-40930-0.
[Rol05] M.M. Rold´an y J. F. Aldana Montes. A tool for storing owl
using database technology. En Bernardo Cuenca Grau, et al.
(Eds.). Proceedings of the OWLED ’05 Workshop on OWL:
experiences and Directions, Galway, Ireland, November 11-12,
2005, tomo 188, p´aginas 1–10. CEUR-Workshop Proceedings,
septiembre 2005.
[Rui06] F. Ruiz y J. R. Hilera. Ontologies for Software Engineering
and Software Technology, cap´ıtulo Using Ontologies in Software
Engineering and Technology, p´aginas 49–102. Springer-Verlag,
2006.
[Run89] E. A. Rundensteiner, L. W. Hawkes y W. Bandler. On nearness
measures in fuzzy relational data models. International Journal
Approximate Reasoning, (3):267–298, 1989.
[Sch99] G. Schreiber y R. de Hoog. Knowledge Engineering and Man-
agement: The CommonKADS Methodology. MIT Press, 1999.
ISBN 0-262-19300-0. 472 pages.
[Sha06a] N. Shadbolt, Berners T. Lee y W. Hall. The semantic web
revisited. Intelligent Systems, IEEE [see also IEEE Intelligent
Systems and Their Applications], 21(3):96–101, 2006.
[Sha06b] R. Sharman, R. Kishore y R. Ramesh. Ontologies: A Hand-
book of Principles, Concepts and Applications in Information
Systems (Integrated Series in Information Systems). Springer-
Verlag New York, Inc., Secaucus, NJ, USA, 2006. ISBN
0387370196.
[She89] S. Shenoi y A. Melton. Proximity relations in the fuzzy rela-
tional databases. Fuzzy sets and Systems, 31(3):285–296, 1989.
[She05] A. Sheth, C. Ramakrishnan y C. Thomas. Semantics for the se-
mantic web: The implicit, the formal and the powerful. Journal
on Semantic Web and Information Systems, 1(1):1–18, Jan-
March 2005.
BIBLIOGRAF´IA 291
[Spy02] P. Spyns, R. Meersman y M. Jarrar. Data modelling versus
ontology engineering. En SIGMOD Record, p´aginas 12–17.
September 2002.
[Sta04] S. Staab y R. Studer. Handbook on Ontologies. Springer, 2004.
[Ste98] G. Steve, A. Gangemi y D. Pisanelli. Integrat-
ing medical terminologies with onions methodology.
http://saussure.irmkant.rm.cnr.it, 1998.
[Sto02] L. Stojanovic, N. Stojanovic y R. Volz. Migrating data-intensive
web sites into the semantic web. En SAC ’02: Proceedings of
the 2002 ACM symposium on Applied computing, p´aginas 1100–
1107. ACM, New York, NY, USA, 2002. ISBN 1-58113-445-2.
[Stu98] R. Studer, VR. Benjamins y D. Fensel. Knowledge engineer-
ing: Principles and methods. IEEE Transactions on Data and
Knowledge Engineering, 25(1-2):161–197, 1998.
[Su02] X. Su y L. Ilebrekke. A comparative study of ontology languages
and tools. En CAiSE 2002, p´aginas 761–765. 2002.
[Sur04] Y. Sure, S. Staab y R. Studer. Handbook on Ontologies, cap´ıtu-
lo On-To-Knowledge Methodology, p´aginas 117–132. Springer,
2004.
[Sur06] Y. Sure, C. Tempich y D. Vrandecic. Semantic Web Technolo-
gies, trends and research in ontology-based systems, cap´ıtulo
Ontology Engineering Methodologies, p´aginas 171–190. Wiley,
2006.
[Swa96] B. Swartout, R. Patil, K. Knight y T. Russ. Toward distributed
use of large-scale ontologies. En the 10th Workshop on Knowl-
edge Acquisition. Banff, Canada, 1996.
[Tij05] Y. A. Tijerino, D. W. Embley, D. W. Lonsdale, Y. Ding y
G.˜Nagy. Towards ontology generation from tables. World Wide
Web, 8(3):261–285, 2005. ISSN 1386-145X.
[Tri06] Q. Trinh, K. Barker y R. Alhajj. Rdb2ont: A tool for gen-
erating owl ontologies from relational database systems. En
AICT/ICIW , p´agina 170. 2006.
[Uma80] M. Umano, S. Fukami, M. Mizumoto y K. Tanaka. Retrieval
processing from fuzzy databases. Informe t´ecnico, IECE, Jap´on,
1980.
292 BIBLIOGRAF´IA
[Uma82a] M. Umano. Freedom-o: A fuzzy database system. En M. Gupta
y E. Sanchez, editores, Fuzzy Information and Decision Process-
es, p´aginas 339–347. North-Holland, Amsterdam, Pub. Comp.,
1982.
[Uma82b] M. Umano. Fuzzy Information and Decision Processes, cap´ıtu-
lo FREEDOM-0: A Fuzzy Database System, p´aginas 339–347.
North Holland Pub. Co., 1982.
[Uma94] M. Umano y S. Fukami. Fuzzy relational algebra for possibility-
distribution-fuzzy-relational model of fuzzy data. Journal of
Intelligent Information Systems, 3:7–28, 1994.
[Unc04] M. Unchold y M. Gruninger. Ontologies and semantics for
seamless connectivity. SIGMOD Record, 33(4):58–64, 2004.
[Uni07a] Open University. Webonto.
http://kmi.open.ac.uk/projects/webonto/, 2007.
[Uni07b] Stanford University. Chimaera, April 2007.
[Uni07c] Stanford University. Chimaera.
http://www.ksl.stanford.edu/software/chimaera/, April
2007.
[Uni07d] Stanford University. Ontolingua.
http://www.ksl.stanford.edu/software/ontolingua/, April
2007.
[Upa05] S. R. Upadhyaya y P. S. Kumar. Eronto: a tool for extract-
ing ontologies from extended e/r diagrams. En SAC ’05: Pro-
ceedings of the 2005 ACM symposium on Applied computing,
p´aginas 666–670. ACM, New York, NY, USA, 2005. ISBN 1-
58113-964-0.
[Usc95] M. Uschold. Towards a methodology for building ontologies.
citeseer.ist.psu.edu/uschold95toward.html, 1995.
[Usc96] M. Uschold y M. Gr¨uninger. Ontologies: principles, methods,
and applications. Knowledge Engineering Review, 11(2):93–
155, 1996.
[vH97] G. van Heijst, Ath. Schereiber y BJ. Wielinga. Using explicit on-
tologies in kbs development. International Journal of Human-
Computer Studies, (45):193–292, 1997.
BIBLIOGRAF´IA 293
[Vys06] E. Vysniauskas y L.˜Nemuraite. Transforming ontology repre-
sentation from owl to relational database. Information Tech-
nology and Control, 35(3A):333–343, 2006.
[W3C99] W3C Recommendation, http://www.w3.org/RDF/. Resource
Description Framework (RDF), february 1999.
[w3c06] World wide web consortium. http://www.w3.org/, 2006.
[wg08] ESSI WSMO working group. Wsmo studio.
http://www.wsmostudio.org/, January 2008.
[Wik07] Wikipedia. Looking for: Ontology. www.wikipedia.org, Decem-
ber 2007.
[Xu04] Z. Xu, X. Cao, Y. Dong y W. Su. Formal approach and auto-
mated tool for translating er schemata into owl ontologies. En
PAKDD, p´aginas 464–475. 2004.
[Yab07] L. Yabloko y Next Generation Software. Ontobase plug-in for
prot´eg´e. http://www.ontospace.net/pages/3/index.htm, April
2007.
[Yag78] R. R. Yager. Ranking fuzzy subsets over the unit interval. En
Proceedings of CDC, p´aginas 1435–1437. 1978.
[Yag81] R. R. Yager. A procedure for ordering fuzzy subsets of the unit
interval. Information Sciences, 24:143–161, 1981.
[You06] S. Youn y D. McLeod. Ontology development tools for ontology-
based knowledge management. IDea Group, 2006.
[Zad65] L. A. Zadeh. Fuzzy sets. Information and Control, 83:338–353,
1965.
[Zad75] L. A. Zadeh. The concept of a linguistic variable and its applica-
tion to approximate reasoning. Information Sci., 8:(8) 199–248,
301–357, (9) 43–80, 1975.
[Zem84] M. Zemankova y A. Kandel. Fuzzy Relational Databases - A
Key to Expert Systems. Verlag TUV Rheinland, 1984.
[Zem85] M. Zemankova y A. Kandel. Implementing imprecision in in-
formation systems. Information Sciences, 37:107–141, 1985.
294 BIBLIOGRAF´IA
[Zha07] J. Zhang. Ontology and the semantic web. En Proceedings of
the North American Symposium on Knowledge Organization,
tomo 1. 2007.

Más contenido relacionado

PDF
Tesis Gregory Pekynov Bustamante, Ingenieria Electronica, La Paz Bolivia
PDF
PLC: Practicas de rslogix 5000
PDF
Introducción a la_neuro_computación
PDF
Tecnicas de documentacion
PDF
PLC: Programación de un sistema de automatización de una linea de producción ...
PDF
Bosques tropicales y_biodiversidad
PDF
Pfc sylvia diaz_montenegro_quesnel_sh
Tesis Gregory Pekynov Bustamante, Ingenieria Electronica, La Paz Bolivia
PLC: Practicas de rslogix 5000
Introducción a la_neuro_computación
Tecnicas de documentacion
PLC: Programación de un sistema de automatización de una linea de producción ...
Bosques tropicales y_biodiversidad
Pfc sylvia diaz_montenegro_quesnel_sh

Destacado (20)

PDF
Situaci n actual_de_nuestro_planeta_8
DOCX
Emily sociologia colectiva
PPTX
IMPLEMENTACION ESTRATÉGICA Y LOS ELEMENTOS DE LA ADMINISTRACIÓN ESTRATEGICA
PDF
REVISTA DIGITAL
PPTX
Dr Pepper
PPTX
los seres vivos
PPTX
Plan de accion 063
PPTX
Un mensaje lindo
PPTX
PPTX
Telecomunicaciones
PDF
Können Destinationen ihr Image über den öffentlichen Verkehr definieren?
PDF
La ciencia, la tecnica y la tecnologia
PPTX
Bloqueo av farreras
PPTX
Línea del tiempo &lt;3
ODP
Les comunicacions
DOCX
Historia del derecho.
DOCX
mercadotecnia electrónica
PPTX
El cuidado del medioambiente
Situaci n actual_de_nuestro_planeta_8
Emily sociologia colectiva
IMPLEMENTACION ESTRATÉGICA Y LOS ELEMENTOS DE LA ADMINISTRACIÓN ESTRATEGICA
REVISTA DIGITAL
Dr Pepper
los seres vivos
Plan de accion 063
Un mensaje lindo
Telecomunicaciones
Können Destinationen ihr Image über den öffentlichen Verkehr definieren?
La ciencia, la tecnica y la tecnologia
Bloqueo av farreras
Línea del tiempo &lt;3
Les comunicacions
Historia del derecho.
mercadotecnia electrónica
El cuidado del medioambiente
Publicidad

Similar a Aspecto caracteristicas (20)

PDF
kupdf.net_bases-de-datos.pdf
PPT
Big table por Matias tesoriero
PDF
Bases de-datos
PDF
TesisCSP.pdf
PDF
Bdrelacional
PDF
Bdrelacional
PDF
Datos En La Web Clase 3
PPTX
Ontologías
PDF
Apuntes Bases de Datos
PDF
Bd relacional
PDF
Bdrelacional
PDF
Caso practico de base de datos orientada a objetos
PDF
Principios de bases de datos relacionales.pdf
PDF
PDF
PDF
Bases de Datos Relacionales
PDF
Introducciona a las bd
kupdf.net_bases-de-datos.pdf
Big table por Matias tesoriero
Bases de-datos
TesisCSP.pdf
Bdrelacional
Bdrelacional
Datos En La Web Clase 3
Ontologías
Apuntes Bases de Datos
Bd relacional
Bdrelacional
Caso practico de base de datos orientada a objetos
Principios de bases de datos relacionales.pdf
Bases de Datos Relacionales
Introducciona a las bd
Publicidad

Más de Novato de la Weeb Fox Weeb (20)

PDF
T12 ejercicio gia
PDF
Rubricas para observacion de aula jec
PDF
Redes educativa 2018 ugel yarowilca
PDF
Reporte de notas
PDF
Robert bloch.cuentos dehumornegro
PDF
Libro de actas EJEMPLO
PDF
Informe final asecenso yarowilca
PDF
Cuadernillo entrada2 comunicacion_5to_grado
DOCX
Oficio plazas sin adjudicar yarowilca
PDF
resultados-examen-de-admision-unheval-2017
PDF
Huanuco Contrato-docente-2018
DOC
Una lady como tu partitura y tablatura
PDF
sistema de mejora
DOC
Con lic. m 3, 045586 tacuche meza frohy
DOCX
Proceso nro 039 2016 - secretaria ejecutiva
DOCX
Cmov m1 x-789-ramirez transito
DOCX
Cmov b3 i-784-santiago isidro
DOCX
Cmov b1 v-772-avila reyes
DOCX
Cmov a6 u-735-sobrado inga
T12 ejercicio gia
Rubricas para observacion de aula jec
Redes educativa 2018 ugel yarowilca
Reporte de notas
Robert bloch.cuentos dehumornegro
Libro de actas EJEMPLO
Informe final asecenso yarowilca
Cuadernillo entrada2 comunicacion_5to_grado
Oficio plazas sin adjudicar yarowilca
resultados-examen-de-admision-unheval-2017
Huanuco Contrato-docente-2018
Una lady como tu partitura y tablatura
sistema de mejora
Con lic. m 3, 045586 tacuche meza frohy
Proceso nro 039 2016 - secretaria ejecutiva
Cmov m1 x-789-ramirez transito
Cmov b3 i-784-santiago isidro
Cmov b1 v-772-avila reyes
Cmov a6 u-735-sobrado inga

Último (15)

PPTX
presentacion_energias_renovables_renovable_.pptx
PPTX
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
PPTX
tema-2-interes-.pptx44444444444444444444
PDF
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
PPTX
Evolución de la computadora ACTUALMENTE.pptx
PPTX
Guia de power bi de cero a avanzado detallado
PPTX
Plantilla-Hardware-Informático-oficce.pptx
PPTX
Qué es Google Classroom Insertar SlideShare U 6.pptx
PPT
laser seguridad a la salud humana de piel y vision en laser clase 4
PDF
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
PDF
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
PDF
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
PDF
Herramientaa de google google keep, maps.pdf
PPTX
Presentación de un estudio de empresa pp
PDF
Mesopotamia y Egipto.pptx.pdf historia universal
presentacion_energias_renovables_renovable_.pptx
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
tema-2-interes-.pptx44444444444444444444
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
Evolución de la computadora ACTUALMENTE.pptx
Guia de power bi de cero a avanzado detallado
Plantilla-Hardware-Informático-oficce.pptx
Qué es Google Classroom Insertar SlideShare U 6.pptx
laser seguridad a la salud humana de piel y vision en laser clase 4
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
Herramientaa de google google keep, maps.pdf
Presentación de un estudio de empresa pp
Mesopotamia y Egipto.pptx.pdf historia universal

Aspecto caracteristicas

  • 1. UNIVERSIDAD DE GRANADA E.T.S. DE INGENIER´IA INFORM´ATICA Departamento de Ciencias de la Computaci´on e Inteligencia Artificial TESIS DOCTORAL Sistema de Gesti´on de Bases de Datos Relacionales Difusas Multiprop´osito. Una Ontolog´ıa para la Representaci´on del Conocimiento Difuso Carmen Mart´ınez Cruz Granada, noviembre de 2008
  • 2. Editor: Editorial de la Universidad de Granada Autor: Carmen Martínez Cruz D.L.: GR. 2741-2008 ISBN: 978-84-691-8242-0
  • 4. Sistema de Gesti´on de Bases de Datos Relacionales Difusas Multiprop´osito. Una Ontolog´ıa para la Representaci´on del Conocimiento Difuso memoria para optar al grado de Doctor en Inform´atica EL DOCTORANDO Carmen Mart´ınez Cruz DIRECTORES Ignacio J. Blanco Medina Mar´ıa Amparo Vila Miranda Granada, 17 de Noviembre de 2008 DEPARTAMENTO DE CIENCIAS DE LA COMPUTACI´ON E INTELIGENCIA ARTIFICIAL E.T.S. de INGENIER´IA INFORM´ATICA UNIVERSIDAD DE GRANADA
  • 6. Agradecimientos En primer lugar me gustar´ıa agradecer a Ma Amparo Vila por la apuesta que hizo al traerme de la Universidad de Almer´ıa para comenzar este periplo granadino. Gracias a ella y a sus brillantes ideas este trabajo se ha podido llevar adelante y muchos m´as continuar´an esta l´ınea de investigaci´on abierta. Es una excelente directora y soy muy afortunada por haberla tenido. A Nacho fundamentalmente le tengo que agradecer el haber encontrado adem´as de un director de tesis, un gran amigo. Gracias a ´el, me plantee venir a Granada y nunca me sent´ı sola. Has sido generoso en todo, gracias. A mis padres y mi hermana Eva que siempre me han apoyado y han sufri- do conmigo estos largos a˜nos que ha durado la elaboraci´on de este trabajo. Aqu´ı por fin est´a el resultado de mi esfuerzo, gracias por el vuestro que ha sido mucho mayor que el m´ıo. A mis adorados Ra´ul y Miguel, vosotros me hab´eis apoyado desde el mo- mento cero en que llegue a Granada, porque siempre hab´eis estado ah´ı con una palabra de aliento o un buen consejo, no lo olvidar´e. Y a Yolanda, Cristina y Amador, que por extensi´on tanto me han aguantado y con m´as m´erito porque no conocen c´omo es esto. A mis amigos del alma, Bel´en, Carlos Molina y Jes´us Alcal´a, me hab´eis dado la inercia para trabajar, la sabidur´ıa para adaptarme y la energ´ıa para continuar. Vosotros sab´eis mejor que nadie lo que me ha costado todo. Mil gracias por vuestro ´animo y apoyo. ¡Viva Mecenas! A mis amigos de la Universidad de Ja´en: Antonio Rueda, Carlos Porcel y Francisco de As´ıs, por haber aguantado conversaciones monotem´aticas eternas acerca de mi tesis, por aconsejarme, ayudarme y animarme en este ´ultimo a˜no que tanta falta me ha hecho. Tengo mucha suerte de teneros entre mis filas. A Josema, por toda la ayuda que me ha proporcionado. Este trabajo s´olo contiene una m´ınima parte de tu enorme talento. Adem´as, quiero agradecer al resto de compa˜neros del Dpto. de Inform´atica de la Universidad de Ja´en, por apoyarme y hacerme la vida m´as f´acil, en especial a Samu. A Mar´ıa Jos´e, Olga, Juanmi, Juan Carlos, Nico, Fernando, Miguel, Carmen y Jes´us Campa˜na, compa˜neros del grupo de investigaci´on IDBIS que siempre han sido amables y serviciales conmigo, haci´endole sentir parte del grupo des- de el primer d´ıa. Sois un gran ejemplo a seguir y me hab´eis permitido conocer que significa ser un buen investigador. Y a Dani especialmente, por la tran- quilidad que me ha transmitido en estos ´ultimos tiempos, has sido un gran
  • 7. descubrimiento. Gracias. Tambi´en agradezco al Dpto. de C.C.I.A. de la Universidad de Granada, por el marco inmejorable que me ha proporcionado para empezar mi trabajo investigador. No quiero dejar de mencionar a mis ex-compa˜neros de la Universidad de Almer´ıa, ellos -Samuel, Alfonso, Joaqu´ın, Jorge y Paco- me motivaron para comenzar este camino y no lo he olvidado. Finalmente, a mi querida prima May y a mis amigas de fuera de este ambiente universitario que son las que me hacen desconectar de este mundo de ceros y unos, recobrar la cordura y pasar muy buenos ratos: Mar´ıa Jes´us, Rosa y Pilar, gracias por estar ah´ı. Tendr´ıa que agradecer a algunas personas m´as que han pasado por mi vida colaborando de alguna forma a que yo realizara este trabajo. Aunque no os mencione aqu´ı, os llevo en el coraz´on.
  • 8. “S´olo cerrando las puertas detr´as de uno se abren ventanas hacia el porvenir” Fran¸coise Sagan. A mi familia.
  • 10. ´Indice general 1. Introducci´on 1 2. Ontolog´ıas y Bases de Datos Difusas 9 2.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2. La Web Sem´antica . . . . . . . . . . . . . . . . . . . . . 10 2.2.1. Bases de Datos en la Web Sem´antica . . . . . . . 11 2.2.2. Hacia donde va la Web . . . . . . . . . . . . . . . 15 2.3. Ontolog´ıas versus Bases de Datos . . . . . . . . . . . . . 16 2.3.1. Comunicaci´on entre Bases de Datos y Ontolog´ıas 20 2.3.2. Ontolog´ıas como Representaci´on de Modelos de Bases de Datos . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.3. Integraci´on de Informaci´on . . . . . . . . . . . . . 27 2.4. Ontolog´ıas Previas . . . . . . . . . . . . . . . . . . . . . 29 2.4.1. Ontolog´ıa de Tipos de Datos . . . . . . . . . . . . 29 2.4.2. Ontolog´ıa de Descripci´on del SQL2003 . . . . . . 31 3. El problema de la Representaci´on de Datos Heterog´eneos en Bases de Datos Difusas. Arquitectura de un SGBDR Multiprop´osito 33 3.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2. Representaci´on de Informaci´on Imprecisa en el Modelo Relacional . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2.1. Antecedentes del Modelo Relacional Difuso . . . . 34 3.3. Extensiones al Modelo Relacional para Representar Infor- maci´on Imprecisa . . . . . . . . . . . . . . . . . . . . . . 35 3.3.1. Modelo Generalizado para Bases de Datos Rela- cionales Difusas (GEFRED) . . . . . . . . . . . . 36 3.3.2. Representaci´on de Informaci´on L´ogica sobre BDD 39 3.3.3. Ampliaci´on de GEFRED para la Miner´ıa de Datos 41 i
  • 11. 3.4. Unificaci´on de las Arquitecturas . . . . . . . . . . . . . . 45 3.4.1. Visi´on General del Problema de Unificaci´on . . . 45 3.4.2. Sistema Actual . . . . . . . . . . . . . . . . . . . 46 3.4.3. Arquitectura de un Servidor Multiprop´osito Unifi- cado . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.4.4. Ejemplo de Resoluci´on de una Consulta Compleja 54 3.4.5. Ventajas e Inconvenientes del Servidor Unificado . 61 4. Ontolog´ıa para la Representaci´on del Conocimiento Di- fuso (FKRO) 69 4.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2. Ontolog´ıa para la Representaci´on del Conocimiento Difuso 72 4.2.1. descripci´on . . . . . . . . . . . . . . . . . . . . . 72 4.2.2. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . 73 4.3. Sub-Ontolog´ıa para la Representaci´on del Cat´alogo Exten- dido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.3.1. Justificaci´on de la Sub-Ontolog´ıa . . . . . . . . . 74 4.3.2. Metodolog´ıa de Desarrollo . . . . . . . . . . . . . 76 4.3.3. descripci´on de la Ontolog´ıa del Cat´alogo Extendido 87 4.3.4. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . 102 4.4. Sub-Ontolog´ıa del Esquema de Datos Difusos . . . . . . 116 4.4.1. Justificaci´on de la Sub-Ontolog´ıa . . . . . . . . . 116 4.4.2. Generaci´on o Conversiones . . . . . . . . . . . . . 118 4.4.3. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . 121 4.5. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . 127 4.5.1. Ventajas e Inconvenientes . . . . . . . . . . . . . 127 5. Arquitectura del Sistema y Aplicaciones 131 5.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . 131 5.2. Arquitectura del Sistema . . . . . . . . . . . . . . . . . . 132 5.2.1. Arquitectura de Comunicaci´on con la Ontolog´ıa . 132 5.2.2. Arquitectura de Comunicaci´on con la BD . . . . . 137 5.2.3. Arquitectura de Consulta . . . . . . . . . . . . . 143 5.3. descripci´on del Sistema Implementado . . . . . . . . . . 144 5.3.1. Propuestas . . . . . . . . . . . . . . . . . . . . . . 144 5.3.2. Bases de Datos Utilizadas . . . . . . . . . . . . . 145 5.3.3. Entorno Web . . . . . . . . . . . . . . . . . . . . 146 5.3.4. Extensi´on de la Herramienta de Desarrollo de On- tolog´ıas: Prot´eg´e . . . . . . . . . . . . . . . . . . 153 5.4. Casos de Uso de la Arquitectura . . . . . . . . . . . . . . 162 ii
  • 12. 5.4.1. Definici´on de Datos. Creaci´on de Esquemas . . . 163 5.4.2. manipulaci´on de Datos . . . . . . . . . . . . . . . 171 6. Conclusiones y Trabajos Futuros 177 6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . 177 6.2. Beneficios de la Propuesta . . . . . . . . . . . . . . . . . 182 6.3. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . 184 A. Conceptos B´asicos de Ontolog´ıas 189 A.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . 189 A.1.1. Concepto de Ontolog´ıa . . . . . . . . . . . . . . . 189 A.1.2. Clasificaciones de Ontolog´ıas . . . . . . . . . . . . 191 A.2. Ingenier´ıa de Ontolog´ıas . . . . . . . . . . . . . . . . . . 197 A.2.1. T´ecnicas de Representaci´on de Ontolog´ıas . . . . 197 A.2.2. Metodolog´ıas de Representaci´on . . . . . . . . . . 199 A.2.3. Formalismos y Lenguajes en la Representaci´on del Conocimiento . . . . . . . . . . . . . . . . . . . . 203 A.2.4. T´ecnicas de Manipulaci´on de Ontolog´ıas . . . . . 216 B. Extensiones Difusas al Modelo Relacional de BD 221 B.1. Modelo Generalizado para Bases de Datos Relacionales Difusas (GEFRED) . . . . . . . . . . . . . . . . . . . . . 221 B.1.1. Fundamentos Te´oricos de GEFRED . . . . . . . . 221 B.1.2. Representaci´on Relacional de un Dominio Genera- lizado Difuso: FIRST . . . . . . . . . . . . . . . . 224 B.1.3. Base de Metaconocimiento Difuso (FMB) . . . . . 230 B.1.4. Lenguaje SQL Difuso (FSQL): consulta imprecisa 231 B.2. Extensi´on L´ogica-Deductiva al Modelo de BDRD . . . . 233 B.2.1. Fundamentos Te´oricos para la Representaci´on del Modelo L´ogico y L´ogico Difuso para Bases de Datos Relacionales . . . . . . . . . . . . . . . . . . . . . 233 B.2.2. La Representaci´on Relacional de las Reglas Gene- ralizadas Difusas: FREDDI Extendido . . . . . . 235 B.2.3. Base de Metaconocimiento Deductivo: Base de Re- glas (RB) . . . . . . . . . . . . . . . . . . . . . . 236 B.2.4. Sintaxis Extendida Deductiva de FSQL . . . . . . 238 B.3. Miner´ıa de Datos en el Modelo Relacional . . . . . . . . 239 B.3.1. Ampliaci´on Te´orica de GEFRED para el Manejo de M´ultiples Tipos de Datos (GEFRED*) . . . . 239 iii
  • 13. B.3.2. Representaci´on de M´ultiples Tipos de Datos en el Modelo Relacional(FIRST*) . . . . . . . . . . . . 241 B.3.3. Base de Metaconocimiento Difuso*(FMB*) . . . . 242 B.3.4. Ampliaci´on de FIRST* para el Data Mining . . . 245 B.3.5. Base de Metaconocimiento Difuso para Miner´ıa de Datos (DMFMB) . . . . . . . . . . . . . . . . . . 246 B.3.6. Sintaxis Extendida para Operaciones de DM: DMF- SQL . . . . . . . . . . . . . . . . . . . . . . . . . 248 C. Base de Datos de Suelos 251 C.1. Descripci´on del Esquema de la Base de Datos . . . . . . 251 C.1.1. Descripci´on de Clases . . . . . . . . . . . . . . . . 251 C.1.2. Paso a Tablas: Modelo Relacional . . . . . . . . . 253 C.1.3. Etiquetas Ling¨u´ısticas para los TD2 . . . . . . . . 255 C.1.4. Relaciones de Similitud de los TD3 . . . . . . . . 260 C.2. Cuerpo de la Base de Datos . . . . . . . . . . . . . . . . 270 iv
  • 14. ´Indice de figuras 1.1. Relaci´on de la Ontolog´ıa con el Entorno . . . . . . . . . 4 1.2. Interacci´on entre el Usuario y el SGBD . . . . . . . . . . 5 1.3. Interacci´on entre el Usuario y el SGBD para realizar las operaciones proporcionadas por la ontolog´ıa . . . . . . . 6 2.1. La Web Sem´antica, usuarios, y acceso a la informaci´on . 12 2.2. Comparaci´on de documentos obtenidos de la web normal y de la web sem´antica . . . . . . . . . . . . . . . . . . . 14 2.3. Ejemplo de relaci´on entre las Metaclases y las Instancias en la representaci´on mediante ontolog´ıas de un esquema de BD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4. Clasificaci´on de los tipos de datos expresados en SQL4 dada por Pardede [Par05] . . . . . . . . . . . . . . . . . 30 2.5. Parte de la Ontolog´ıa en UML dada por Calero et al. [Cal06] del SQL4 . . . . . . . . . . . . . . . . . . . . . . 32 3.1. Arquitectura de los Servidores Independientes . . . . . . 47 3.2. Base de Metaconocimiento (MB) . . . . . . . . . . . . . 49 3.3. Base de Metaconocimiento (MB) con las tablas del cat´alo- go de Oracle c . . . . . . . . . . . . . . . . . . . . . . . 51 3.4. Servidor Multiprop´osito . . . . . . . . . . . . . . . . . . 53 3.5. Resumen de las acciones ocurridas en la MB en una con- sulta compleja. Ejemplo DFD1 . . . . . . . . . . . . . . . 56 3.6. Resumen de las acciones ocurridas en la MB en una con- sulta compleja. Ejemplo DFD2 . . . . . . . . . . . . . . . 60 4.1. Relaci´on de la Ontolog´ıa con el Servidor Multiprop´osito Unificado . . . . . . . . . . . . . . . . . . . . . . . . . . 71 4.2. Ejemplos de v´ınculos entre las sub-ontolog´ıas del Esquema y Cat´alogo para cuatro BDD . . . . . . . . . . . . . . . . 74 4.3. Proceso de Desarrollo de la Ontolog´ıa del Esquema . . . 78 v
  • 15. 4.4. Ontolog´ıa en UML del SQL4 de Calero et al. [Cal06] recor- tada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.5. Extensi´on de la ontolog´ıa de Pardede et al. [Par05] con los datos difusos . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.6. Clasificaci´on de Pardede et al. [Par05] recortada . . . . . 84 4.7. Clasificaci´on de Pardede et al. [Par05] recortada con la inclusi´on de datos difusos . . . . . . . . . . . . . . . . . . 84 4.8. Ontolog´ıa de Calero et al. [Cal06] y Pardede et al. [Par05] del SQL4 y Tipos de Datos Difusos mezclada . . . . . . . 86 4.9. Especializaci´on de la clase Columna . . . . . . . . . . . . 88 4.10. descripci´on de la clase Dominios . . . . . . . . . . . . . . 90 4.11. descripci´on de las Restricciones Difusas . . . . . . . . . . 93 4.12. descripci´on de las estructuras para los TD Difusos . . . . 97 4.13. descripci´on de Ontolog´ıa del Cat´alogo . . . . . . . . . . . 100 4.14. Ejemplo en UML de una BD de Cl´ınica Veterinaria . . . 104 4.15. Ejemplo de una Cl´ınica Veterinaria generada como una Ontolog´ıa del Esquema . . . . . . . . . . . . . . . . . . . 122 5.1. Arquitectura del Sistema General . . . . . . . . . . . . . 133 5.2. Arquitectura de integraci´on con un SGBDR con capaci- dades FSQL . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.3. Arquitectura de integraci´on con un SGBDR con capaci- dades funcionales . . . . . . . . . . . . . . . . . . . . . . 140 5.4. Arquitectura de integraci´on con un SGBDR sin capaci- dades funcionales . . . . . . . . . . . . . . . . . . . . . . 141 5.5. Arquitectura Integrada . . . . . . . . . . . . . . . . . . . 142 5.6. Arquitectura de Consulta . . . . . . . . . . . . . . . . . . 143 5.7. Imagen de la aplicaci´on web para gestionar esquemas. . . 147 5.8. Imagen de la aplicaci´on web para gestionar esquemas. For- mulario de conexi´on para generar un esquema dado en OWL en una BD MySQL . . . . . . . . . . . . . . . . . 148 5.9. Imagen de la aplicaci´on web para gestionar esquemas. For- mulario de resultado tras ejecutar la generaci´on de un Es- quema de BD en MySQL c . . . . . . . . . . . . . . . . 149 5.10. Imagen de la aplicaci´on web para gestionar esquemas. Script de generaci´on de esquemas en FSQL. . . . . . . . . . . . 150 5.11. Selecci´on del archivo de la ontolog´ıa a generar . . . . . . 151 5.12. Resultado de la ontolog´ıa generada . . . . . . . . . . . . 152 5.13. Imagen de la aplicaci´on para gestionar esquemas a˜nadida a la herramienta Prot´eg´e . . . . . . . . . . . . . . . . . . 155 vi
  • 16. 5.14. Imagen de la aplicaci´on para gestionar las conexiones con el esquema en Prot´eg´e . . . . . . . . . . . . . . . . . . . 156 5.15. Imagen de la aplicaci´on para abrir el asistente para la gen- eraci´on de un atributo en Prot´eg´e . . . . . . . . . . . . . 158 5.16. Imagen de la aplicaci´on para gestionar esquemas a˜nadida a la herramienta Prot´eg´e . . . . . . . . . . . . . . . . . . 159 5.17. Interfaz de generaci´on de consultas difusas en FSQL sobre la herramienta Prot´eg´e. Establece una comparaci´on entre atributos . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 5.18. Interfaz de generaci´on de consultas difusas en FSQL sobre la herramienta Prot´eg´e. Establece una comparaci´on con Valor Difuso. . . . . . . . . . . . . . . . . . . . . . . . . 162 5.19. Definici´on de Esquemas de BDD en SGBDR Heterog´eneos 164 5.20. Exportaci´on de un Esquema de BDD a cualquier SGBDR 165 5.21. Unificar Esquemas Complementarios . . . . . . . . . . . 165 5.22. Unificar Esquemas Compatibles . . . . . . . . . . . . . . 167 5.23. Incorporar a la Web un Esquema de BDD . . . . . . . . 169 5.24. Definici´on de un Esquema de BDD a partir de cualquier tipo de Esquema . . . . . . . . . . . . . . . . . . . . . . 169 5.25. Combinaci´on de Fuentes Heterog´eneas . . . . . . . . . . 170 5.26. Consulta a un SBDRD ´unico . . . . . . . . . . . . . . . . 173 5.27. Consulta a SGBDRD con el mismo Esquema . . . . . . . 173 5.28. Consulta a SGBDRD con Esquemas Complementarios . . 174 5.29. Consulta a SGBDRD con Esquemas Compatibles . . . . 175 5.30. Consulta a SGBDRD con Esquemas Heterog´eneos . . . . 176 A.1. Clasificaciones de Lassila y McGuinness [Las02] y de Ruiz e Hilera [Rui06] . . . . . . . . . . . . . . . . . . . . . . . 193 A.2. Clasificaci´on gen´erica de Ontolog´ıas basada en la natu- raleza de la conceptualizaci´on . . . . . . . . . . . . . . . 196 B.1. Posibles Representaciones trapezoidales de una distribu- ci´on de posibilidad . . . . . . . . . . . . . . . . . . . . . 225 B.2. Tipo difuso 1 . . . . . . . . . . . . . . . . . . . . . . . . 226 B.3. Tipo difuso 2 . . . . . . . . . . . . . . . . . . . . . . . . 226 B.4. Tipo difuso 3. Valores que pueden tomar las relaciones de similitud. . . . . . . . . . . . . . . . . . . . . . . . . . . 227 B.5. Distribuciones de posibilidad de los valores Unknown y Undefined . . . . . . . . . . . . . . . . . . . . . . . . . . 228 B.6. Estructura relacional de la FMB . . . . . . . . . . . . . . 232 vii
  • 17. B.7. Cat´alogo de datos deductivos . . . . . . . . . . . . . . . 237 B.8. Estructura relacional de la extensi´on de la FMB para mane- jo de m´ultiples datos . . . . . . . . . . . . . . . . . . . . 244 B.9. Estructura relacional de la DmFMB . . . . . . . . . . . . 247 B.10.Estructura relacional de la Base de Metaconocimiento para el DM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 C.1. Diagrama de Clases de la BD de Suelos . . . . . . . . . . 252 viii
  • 18. ´Indice de tablas 3.1. Relaci´on Extended Tables . . . . . . . . . . . . . . . . . 50 3.2. Relaci´on Extended Tab Columns . . . . . . . . . . . . . . 51 3.3. Relaci´on Localizaci´on . . . . . . . . . . . . . . . . . . . . 63 3.4. Relaci´on Estructura . . . . . . . . . . . . . . . . . . . . . 63 3.5. Relaci´on Fuzzy Object List de la BD de Suelos . . . . . . 64 3.6. Relaci´on Fuzzy Nearness Def de la BD de Suelos . . . . . 65 3.7. Relaci´on Fuzzy Label Def en la BD de Suelos . . . . . . 65 3.8. Relaci´on Fuzzy Col List en la BD de Suelos . . . . . . . 65 3.9. Relaci´on Fuzzy Aprox Much en la BD de Suelos . . . . . 66 3.10. Relaci´on Extended Tab Column en la BD de Suelos . . . 66 3.11. Relaci´on Extended Tables en la BD de Suelos . . . . . . 66 3.12. Relaci´on DmFsql Project en la BD de Suelos . . . . . . 66 3.13. Relaci´on DmFsql Col List en la BD de Suelos . . . . . . 66 3.14. Relaci´on Ded Intensional Catalog de la Bd de Suelos . . 66 3.15. Relaci´on Ded Int Table Description de la BD de Suelos . 67 3.16. Relaci´on Ded Rule Description de la BD de Suelos . . . . 67 3.17. Relaci´on Ded Predicate Description de la BD de Suelos 67 3.18. Relaci´on Ded Condition Description de la BD de Suelos . 67 4.1. descripci´on Breve de las Clases de la Ontolog´ıa Recortada de Calero et al. . . . . . . . . . . . . . . . . . . . . . . . 81 4.2. Restricciones de los atributos de Fuzzy Domain . . . . . 92 4.3. Restricciones de los atributos de Discrete Relation y Dis- crete Definition . . . . . . . . . . . . . . . . . . . . . . . 95 4.4. Restricciones de los atributos de Label Definition . . . . 96 4.5. Restricciones de las estructuras de datos que representan valores difusos . . . . . . . . . . . . . . . . . . . . . . . . 99 4.6. Ontolog´ıas importadas en OWL . . . . . . . . . . . . . . 102 4.7. descripci´on de los valores de las etiquetas ling¨u´ısticas rela- cionadas con el dominio del atributo Age de la tabla Cat 104 ix
  • 19. 4.8. Relaciones de Similitud del Atributo Character . . . . . 105 4.9. Instanciaci´on de la Ontolog´ıa del Cat´alogo del ejemplo de la Cl´ınica Veterinaria . . . . . . . . . . . . . . . . . . . . 106 4.10. Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del ejemplo de la Cl´ınica Veterinaria . . . . . . . . . . . . . 107 4.11. Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo del ejemplo de la Cl´ınica Veterinaria . . . . . . . . . . . 108 4.12. Instancias de la Ontolog´ıa del Cat´alogo del ejemplo de la BDD Suelos . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.12. Instancias de la Ontolog´ıa del Cat´alogo del ejemplo de la BDD Suelos . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.12. Instancias de la Ontolog´ıa del Cat´alogo del ejemplo de la BDD Suelos . . . . . . . . . . . . . . . . . . . . . . . . . 112 4.13. Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos . . . . . . . . . . . . . . . 112 4.13. Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos . . . . . . . . . . . . . . . 113 4.13. Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos . . . . . . . . . . . . . . . 114 4.14. Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos . . . . . . . . . . . . . 114 4.14. Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos . . . . . . . . . . . . . 115 4.14. Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos . . . . . . . . . . . . . 116 4.15. Correspondencia de los tipos de datos difusos con las es- tructuras de datos difusas en la ontolog´ıa . . . . . . . . . 118 4.16. Correspondencia de algunos de los tipos de datos pre- definidos en la Ontolog´ıa del Cat´alogo con los tipos de datos base definidos en XML . . . . . . . . . . . . . . . . 119 4.17. Instanciaci´on de la Cl´ınica Gatos definida en como On- tolog´ıa de Esquema . . . . . . . . . . . . . . . . . . . . . 123 4.18. Propiedades de Objeto en la Ontolog´ıa del Esquema del la Clinica Veterinaria . . . . . . . . . . . . . . . . . . . . . 124 4.19. Propiedades de tipos de dato en la Ontolog´ıa del Esquema de la Clinica Veterinaria . . . . . . . . . . . . . . . . . . 124 4.20. Instanciaci´on de la BDD Suelos definida en como On- tolog´ıa de Esquema . . . . . . . . . . . . . . . . . . . . . 125 x
  • 20. 4.21. Propiedades de Objeto en la Ontolog´ıa del Esquema de la BDD Suelos . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.22. Propiedades de tipos de dato en la Ontolog´ıa del Esquema de la BDD Suelos . . . . . . . . . . . . . . . . . . . . . . 126 A.1. Elementos de una p´agina RDF . . . . . . . . . . . . . . . 207 A.2. Elementos de una p´agina RDF Schema . . . . . . . . . . 208 A.3. Elementos de una p´agina OWL . . . . . . . . . . . . . . 219 B.1. Representaci´on para atributos de tipo 2 . . . . . . . . . . 229 B.2. Representaci´on para atributos de tipo 3 . . . . . . . . . . 229 B.3. Resumen de FSQL . . . . . . . . . . . . . . . . . . . . . 233 B.4. Resumen de DFSQL . . . . . . . . . . . . . . . . . . . . 238 B.5. Resumen de DMFSQL . . . . . . . . . . . . . . . . . . . 250 C.1. Atributos de la base de datos de color de suelos, agrupados de acuerdo a su sem´antica . . . . . . . . . . . . . . . . . 256 C.2. Descripci´on de las propiedades la clase Localizaci´on . . . 257 C.3. Descripci´on de las propiedades de la clase Estructura . . 257 C.4. Descripci´on de las propiedades de la clase Anal´ıticos . . . 258 C.5. Descripci´on de las propiedades de la clase Identificaci´on . 258 C.6. Descripci´on de las propiedades de la clase Bibliograf´ıa . . 258 C.7. Descripci´on de las propiedades de la clase Color y sus subclases . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 C.8. Etiquetas ling¨u´ısticas (Atributo PMEDIA) . . . . . . . . 259 C.9. Etiquetas ling¨u´ısticas (Atributo TMEDIA) . . . . . . . . 259 C.10.Etiquetas ling¨u´ısticas (Atributo ALTITUD) . . . . . . . 259 C.11.Etiquetas ling¨u´ısticas (Atributo PROFUNDI) . . . . . . 259 C.12.Etiquetas ling¨u´ısticas (Atributo PENDIENT) . . . . . . 259 C.13.Etiquetas ling¨u´ısticas (Atributo ARENA) . . . . . . . . . 259 C.14.Etiquetas ling¨u´ısticas (Atributo ARCILLA) . . . . . . . 260 C.15.Etiquetas ling¨u´ısticas (Atributo CO) . . . . . . . . . . . 260 C.16.Etiquetas ling¨u´ısticas (Atributo CARBONAT) . . . . . . 260 C.17.Etiquetas ling¨u´ısticas (Atributo PH) . . . . . . . . . . . 261 C.18.Etiquetas ling¨u´ısticas (Atributo AGUA) . . . . . . . . . 261 C.19.Etiquetas ling¨u´ısticas (Atributo FE) . . . . . . . . . . . . 261 C.20.Etiquetas ling¨u´ısticas (Atributo CEC) . . . . . . . . . . . 261 C.21.Etiquetas ling¨u´ısticas (Atributo CLASE ES) . . . . . . . 261 C.22.Relaciones de similitud (Atributo FAOREDUC) . . . . . 262 C.23.C´odigos para el atributo FAOREDUC . . . . . . . . . . . 262 xi
  • 21. C.24.Relaciones de similitud (Atributo TIPO HOR) . . . . . . 262 C.25.Relaciones de similitud (Atributo ORIENTAC) . . . . . 263 C.26.Relaciones de similitud (Atributo FISIOGRA) . . . . . . 263 C.27.Relaciones de similitud (Atributo VEGETACI) . . . . . 263 C.28.C´odigos para el atributo VEGETACI . . . . . . . . . . . 263 C.29.Relaciones de similitud (Atributo MATERIAL) . . . . . 264 C.30.C´odigos para el atributo MATERIAL . . . . . . . . . . . 265 C.31.Relaciones de similitud (Atributo GRADO) . . . . . . . 265 C.32.Relaciones de similitud (Atributo HUE HUME) . . . . . 266 C.33.Relaciones de similitud (Atributo VALUE HU) . . . . . . 266 C.34.Relaciones de similitud (Atributo CROMA HU) . . . . . 267 C.35.Relaciones de similitud (Atributo HUE SECO) . . . . . . 267 C.36.Relaciones de similitud (Atributo VALUE SE) . . . . . . 268 C.37.Relaciones de similitud (Atributo CROMA SE) . . . . . 268 C.38.Relaciones de similitud (Atributo TIPO ES) . . . . . . . 268 C.39.C´odigos para el atributo TIPO ES . . . . . . . . . . . . 269 C.40.Relaciones de similitud (Atributo GRADO ES) . . . . . 269 C.41.Tabla Color, parte de su contenido . . . . . . . . . . . . 270 C.42.Tabla Estructura, parte de su contenido . . . . . . . . . . 270 C.43.Tabla Anal´ıticos, parte de su contenido . . . . . . . . . . 271 C.44.Tabla Localizaci´on, parte de su contenido . . . . . . . . . 271 xii
  • 22. Cap´ıtulo 1 Introducci´on El Entorno y las Bases de Datos Hoy en d´ıa encontramos una creciente necesidad de representar in- formaci´on, manejarla, explotarla y compartirla. Esta necesidad se debe a la enorme capacidad de acceso a la informaci´on que tenemos gracias a las m´ultiples fuentes que nos la proporcionan, desde los tradicionales Sistemas de Gesti´on de Bases de Datos (SGBDs) hasta las m´as actuales relacionadas con la Web (Internet, Web 2.0, la Web Sem´antica y la Web 3.0). Adem´as dicha informaci´on se encuentra representada en formatos muy diversos, dependiendo del contenido de la misma y del soporte en el que se halla representada y almacenada. Sin embargo aunque las nuevas tecnolog´ıas est´an facilitando el acceso a la informaci´on gracias a las clasificaciones y b´usquedas por contenidos sem´anticos (la web sem´antica, ontolog´ıas, anotaciones, etc.), no se debe olvidar que los sistemas que por excelencia mejor gestionan la informa- ci´on son los SGBDs [Cod07] dado que han sido dise˜nados espec´ıficamente para ello. Estos SGBDs han desarrollado durante los siglos XX y XXI un gran n´umero de avances a la hora de representar informaci´on de muy di- versa´ındole. Se han desarrollado Sistemas de Representaci´on de Bases de Datos Relacionales, Orientadas a Objetos o mixtas, L´ogicas y/o Deduc- tivas, para Miner´ıa de datos, de Grandes Vol´umenes, Transaccionales, Multimedia, Temporales, Difusas, etc., todas ellas encaminadas a ges- tionar de manera eficiente cualquier tipo de informaci´on. El Modelo Relacional, desde que fue presentado por Codd en [Cod70], se consider´o como el modelo que m´as eficientemente representaba la infor- maci´on estructurada [Cod07], y se extendi´o tan r´apidamente que hoy en d´ıa, a pesar de las m´ultiples propuestas que han surgido para representar 1
  • 23. 2 CAP´ITULO 1. INTRODUCCI ´ON la informaci´on, sigue siendo uno de los m´as utilizados. Debido a ello, se han realizado un gran n´umero de extensiones al Modelo Relacional, entre la que destaca la integraci´on de la L´ogica Difusa al modelo con objeto de representar valores imprecisos y flexibles [Bos88, Med94b, Gal99]. Sobre dicha extensi´on se han propuesto otras basadas, por ejemplo, en la representaci´on de reglas l´ogicas sobre una Base de Datos Relacional Difusa (BDRD) [Bal84, Bla01] y la posibilidad de realizar deducciones usando mecanismos de inferencia cl´asicos extendidos. Otro enfoque para la integraci´on de m´as elementos al Modelo Rela- cional es el de la denominada Segunda Generaci´on de Miner´ıa de Datos (DBMining), que propone un Sistema de Miner´ıa de Bases de Datos y Descubrimiento de Informaci´on (KDDB System). Esta nueva tendencia, planteada por Imielinski [Imi96] fusiona dos disciplinas, los procesos de miner´ıa de datos con las Bases de Datos. Basado en esto, Carrasco et al. [Car03a] propone la integraci´on de operaciones de Miner´ıa de Datos (DM) con una extensi´on difusa sobre los modelos relacionales de bases de datos. En este trabajo de tesis se propone una Arquitectura Unificada Mul- tiprop´osito donde se combinen la gesti´on de miner´ıa de datos [Car03a] con la representaci´on de informaci´on imprecisa [Med94b, Gal99] y l´ogi- ca [Bla01] para aumentar el potencial de las consultas sobre una base de datos. Con esta arquitectura se permitir´a aumentar la escalabilidad del sistema y la capacidad operativa del modelo relacional, de forma que se puedan ejecutar consultas complejas mediante la combinaci´on de las operaciones implementadas en el sistema, como puede ser la combinaci´on de procesos de miner´ıa de datos sobre relaciones definidas sobre reglas l´ogicas. No obstante no todo son ventajas en la unificaci´on de las diferentes arquitecturas. La complejidad que puede adquirir el sistema para ma- nipular toda esta informaci´on hace muy costosa su puesta en marcha. Dicha complejidad se origina debido a la gran cantidad de estructuras que se necesitan para gestionar los diferentes tipos de informaci´on y el gran coste que supone su comprensi´on para su posterior uso. Esta pro- blem´atica hace plantearse la viabilidad de llevar este sistema a cabo o bien realizar alg´un proceso de ingenier´ıa que permita la simplificaci´on del sistema. Otro inconveniente que surge a la hora de extender los SGBDR con otro tipo de representaciones es el de la estrecha dependencia que tiene cualquier nueva implementaci´on con el SGBD en la que se est´e realizan-
  • 24. 3 do. Hay que tener en cuenta que los SGBD adem´as de hacer una repre- sentaci´on particular del lenguaje SQL dependiendo de las estructuras que implementan, disponen de mecanismos de extensi´on propios en los que algunos incluso incorporan capacidades funcionales para poder ejecutar sus programas (como Oracle c con el PL/SQL y PostgreSQL c con el PL/pgSQL). Otros en cambio permiten ejecutar programas en lengua- jes de programaci´on gen´ericos como JAVA o C. Dicha situaci´on obliga a los implementadores a evaluar si es conveniente realizar una extensi´on personalizada para cada sistema (en tanto que se ganar´ıa en eficiencia) o utilizar una com´un (se ganar´ıa en independencia del sistema). En este trabajo, tambi´en se propone una arquitectura unificada capaz gestionar diferentes SGBDs sean cuales sean sus particularidades. De esta forma, la elecci´on sobre la implementaci´on de la extensi´on al SGBD elegida no ser´a determinante para que el sistema no pueda ser integrado con el resto y su informaci´on no sea definida o manipulada de forma ajena a dichas particularidades. Las Ontolog´ıas Por otro lado, nos encontramos con que los esquemas de Bases de Datos no se consideran informaci´on ´util en la Web. En un entorno en el que las p´aginas Web son indexadas sem´anticamente gracias a que su con- tenido se representa mediante ontolog´ıas o anotaciones, las p´aginas que representan informaci´on consultada ad hoc sobre una Base de Datos (se trata de formularios o interfaces back-end que realizan consultas contra bases de datos bajo demanda), se quedan fuera de esta clasificaci´on. Con este mismo problema tambi´en se encuentran otro tipo de BBDD, tambi´en accesibles al p´ublico a trav´es de la web, carentes de un entorno espec´ıfi- co para su acceso. La informaci´on de ´estas BBDD estar´ıa disponible a trav´es del uso de aplicaciones gen´ericas, como el ISQLPlus c [Ora07]. La informaci´on de los esquemas de dichas BBDD (normalmente descritos en lenguajes como SQL o UML) ser´ıan muy ´utiles especialmente en ca- sos como el segundo, dado que ´estos datos no pueden ser integrados en entornos como la Web Sem´antica. Actualmente las ontolog´ıas se han convertido en el sistema m´as usado de representaci´on del conocimiento. Las ontolog´ıas [Her02] se est´an em- pleando en todo tipo de aplicaciones inform´aticas en las que es necesario definir concretamente el conjunto de entidades relevantes en un campo de aplicaci´on determinado, as´ı como las interacciones entre las mismas. Algunas ontolog´ıas se crean con el mero objetivo de alcanzar una com-
  • 25. 4 CAP´ITULO 1. INTRODUCCI ´ON prensi´on del Universo del Discurso pertinente, ya que su creaci´on impone una especificaci´on muy detallada. Otras en cambio son creadas para un prop´osito general que est´a orientado a la construcci´on de una base de conocimiento que contenga el conocimiento humano necesario para hacer inferencias. La aparici´on de la Web Sem´antica, como entorno que permite con- sultar informaci´on web a partir del contenido sem´antico que las p´aginas web contengan, ha contribuido al ´exito de las ontolog´ıas, que han sido utilizadas como mecanismo preferido (que no el ´unico) para representar dicha sem´antica. Las ontolog´ıas por consiguiente pueden ser represen- tadas utilizando lenguajes computacionalmente comprensibles a trav´es de la web, permitiendo as´ı que la informaci´on que en ellas se halla defini- da sea m´as universal. PROGRAMAS DEAPLICACION ONTOLOGIA SGBDDIFUSAS (Oracle, MySql , PostgreSQL ,Sybase , etc.) USUARIOS Figura 1.1: Relaci´on de la Ontolog´ıa con el Entorno Esto nos lleva a plantear la representaci´on de la Arquitectura del SGB- DRD Multiprop´osito en forma de ontolog´ıa como soluci´on al problema de la complejidad. Dicha ontolog´ıa permitir´a la generalizaci´on y estruc- turaci´on de los elementos que componen dicho Servidor Multiprop´osito, siendo a su vez independiente de las particularidades del SGBDR sobre el que estuviera desarrollada, y lo suficientemente clara y gen´erica para su manipulaci´on y posible ampliaci´on. La ontolog´ıa se plantea as´ı como
  • 26. 5 una capa abstracta que generaliza los conceptos representados a m´as ba- jo nivel por el SGBD, tal y como muestra la figura 1.1. El usuario final tendr´a acceso a la ontolog´ıa bien directamente, o bien a trav´es de alguna herramienta desarrollada para esta tarea. Esta opci´on es la m´as deseable, dado que los lenguajes utilizados para la representaci´on de ontolog´ıas no suelen ser f´acilmente interpretables por humanos. La Soluci´on: una Ontolog´ıa para la Representaci´on del Cono- cimiento Difuso Se plantea as´ı el desarrollo una ontolog´ıa para la representaci´on del conocimiento difuso, entendiendo por este, aquel conocimiento impre- ciso representado mediante l´ogica difusa. Dicha ontolog´ıa contendr´a la definici´on de las estructuras y relaciones que permiten definir informa- ci´on imprecisa sobre un SGBDR (Sistema de Gesti´on de Bases de Datos Relacional) gen´erico, esto es, al margen de las particularidades que pue- da tener un SGBDR concreto. La ontolog´ıa actuar´a como interfaz entre el usuario y la base de datos haciendo transparente para el usuario la estructura de BD que permite almacenar la informaci´on difusa (infor- maci´on imprecisa representada mediante l´ogica difusa). De esta forma, ´unicamente se mostrar´a la representaci´on que hace la ontolog´ıa de la informaci´on del SGBDRD (Sistema de Gesti´on de Bases de Datos Rela- cional Difuso), tal y como podemos ver en la figura 1.2. De igual manera el usuario final podr´a seguir accediendo a la informaci´on difusa tal y co- mo ha ido haci´endolo, directamente sobre el SGBD Extendido. La ´unica diferencia es que con esta propuesta se incrementan las posibilidades de comunicaci´on con la misma. ONTOLOGIA SGBDR Difuso ADAPTADOR / INTERPRETE DE BD Figura 1.2: Interacci´on entre el Usuario y el SGBD La Ontolog´ıa para la Representaci´on del Conocimiento Difuso, tal y
  • 27. 6 CAP´ITULO 1. INTRODUCCI ´ON como se ha denominado a este primer prototipo, intentar´a unificar toda la representaci´on del conocimiento difuso en un solo entorno, haciendo esta informaci´on portable a cualquier otro medio de representaci´on, prin- cipalmente, a SGBDRs heterog´eneos. Adem´as con esta representaci´on se pretende dotar al usuario final de un mecanismo de definici´on y manipulaci´on de de datos que facilite la gesti´on de informaci´on difusa sobre el cualquier SGBDRD. Por otro lado la operaci´on de consulta tambi´en se definir´a para guiar a usuario en la elaboraci´on de la misma. En la figura 1.3 se muestra como un usuario puede utilizar una herramienta de consulta que opere contra el SGBDRD (Sistema de Gesti´on de Bases de Datos Relacionales Difusos) directamente o bien, realizar el proceso de consulta mediante el uso de la ontolog´ıa. La diferencia entre ambas reside en que la primera interfaz es totalmente dependiente del SGBD contra la que la realiza y la segunda se ayuda de la ontolog´ıa para generar la consulta, y no a partir de los datos que se hayan definidos en el SGBDRD. INTERFAZ DE CONSULTA 1 SGBDR Difuso ONTOLOGIA INTERFAZ DE CONSULTA 2 Figura 1.3: Interacci´on entre el Usuario y el SGBD para realizar las opera- ciones proporcionadas por la ontolog´ıa Objetivos Los objetivos de este trabajo de tesis son los siguientes: Plantear una Arquitectura de un SGBDR gen´erica que permita combinar diferentes extensiones al modelo relacional, concretamente, para permitir representar informaci´on imprecisa, l´ogica y de DM en un ´unico sistema.
  • 28. 7 Definir una Ontolog´ıa para representar el conocimiento difuso re- presentado en un SGBDRD. Proponer una arquitectura del sistema que permita combinar in- formaci´on entre varios SGBDRD heterog´eneos - cada uno con su propia representaci´on de datos y su propio lenguaje en el caso que permitan capacidades funcionales. Aislar al usuario de las particularidades de representaci´on de los SGBD en los que desee almacenar informaci´on. Facilitar al usuario la definici´on de informaci´on imprecisa mediante mecanismos o interfaces intuitivas. Permitir a los usuarios elaborar consultas en FSQL(Fuzzy SQL), extensi´on al SQL, para permitir manipular datos difusos sin tener cuenta las particularidades de dicho lenguaje, las particularidades de representaci´on de los datos difusos o de los propios SGBDs Permitir la comunicaci´on simult´anea entre diferentes SGBDRD he- terog´eneos para definir esquemas o informaci´on difusa. Permitir la generaci´on de las clases de cat´alogo de forma gen´erica, sin tener en cuenta las particularidades de los sistemas d´onde se representen. Incorporar los esquemas de BD (Difusas) a la Web Sem´antica. Estu- diar la relaci´on de la ontolog´ıa que representa el conocimiento difuso de un SGBDRD con el resto de estructuras que forman la web sem´antica. Contenidos El contenido de esta tesis esta estructurado de la siguiente manera: En el cap´ıtulo 2 se hace un repaso de algunas de las principales aplicaciones de las ontolog´ıas (descritas en detalle en el Anexo A). Concretamente se estudia la relaci´on de las ontolog´ıas con la Web y con los Sistemas de Gesti´on de Bases de Datos, haciendo un estudio profundo de las diferentes propuestas que existen sobre esta ultima relaci´on. Adem´as se exponen las bases sobre las que se ha funda- mentado la elaboraci´on de la Ontolog´ıa para la Representaci´on del Conocimiento Difuso propuesta en esta tesis.
  • 29. 8 CAP´ITULO 1. INTRODUCCI ´ON En el cap´ıtulo 3 se describen brevemente los modelos de bases de datos extendidos que permiten manipular informaci´on difusa (ex- puestos con detalle en el Anexo B). Adem´as se propone la Arqui- tectura de Servidor Multiprop´osito que combina dichas extensiones en un ´unico modelo que permite mezclar todas las operaciones de- sarrolladas que utilizan informaci´on difusa multiprop´osito. En el cap´ıtulo 4 se describe la Ontolog´ıa para la Representaci´on del Conocimiento Difuso. Dicha ontolog´ıa se plantea como una forma de solucionar el problema surgido en el proceso de unificaci´on de las extensiones al modelo de bases de datos relacionales expuestas en el cap´ıtulo 3. En el cap´ıtulo 5 se establece la arquitectura del sistema para que la ontolog´ıa establezca una comunicaci´on con un SGBDR heterog´eneo y permitir as´ı la definici´on de datos y su posterior manipulaci´on. Dicha arquitectura desemboca en el desarrollo de una interfaz de usuario, que se encuentra descrita tambi´en en en ´este cap´ıtulo. El cap´ıtulo 6 termina con las conclusiones del trabajo realizado y las investigaciones futuras que se plantean a continuaci´on del mismo. Al final se incorporan varios anexos: En el Anexo A se muestra un estudio detallado del concepto de On- tolog´ıas. Este estudio hace un repaso por la definici´on de Ingenier´ıa Ontol´ogica, la clasificaci´on de las ontolog´ıas, de las herramientas existentes para su explotaci´on, de los lenguajes utilizados para su representaci´on y de las diferentes operaciones que se llevan a cabo con ellas. En el Anexo B se muestra un amplio de resumen de las extensiones a los SGBD cl´asicos para la representaci´on y manipulaci´on de infor- maci´on imprecisa, l´ogica y de algunas t´ecnicas de miner´ıa de datos. Este resumen va desde el planteamiento del modelo te´orico hasta la descripci´on de las bases de metaconocimiento que permiten la puesta en marcha de estos sistemas en el modelo relacional. En el Anexo C se muestra la estructura de datos del ejemplo ex- puesto a lo largo de este trabajo de tesis.
  • 30. Cap´ıtulo 2 Ontolog´ıas y Bases de Datos Difusas 2.1. Introducci´on En este cap´ıtulo se hace un repaso por algunas de las principales aplicaciones de las ontolog´ıas en el campo de la representaci´on de la informaci´on en la actualidad. Por un lado, se describe el concepto de Web Sem´antica, analizando el impacto que tienen las ontolog´ıas sobre dicha Web. Se destaca la pre- sencia de las Bases de Datos en la Web y las diferentes t´ecnicas para el acceso a los datos de las Bases de Datos Difusas (BDD) que existen, para incorporarlas a la Web Sem´antica. Adem´as se hace un repaso por el resto de tecnolog´ıas que est´an apareciendo en la Web y que tambi´en permiten representar informaci´on con cierta sem´antica. Por otro lado, se trata la relaci´on que existe entre el concepto de base de datos y el de ontolog´ıa revisando las diferentes tendencias a la hora de considerar la representaci´on llevada a cabo por una base de datos como si fuese una ontolog´ıa. Se analizar´an las diferentes representaciones de BBDD usando ontolog´ıas y el uso actual que tienen dichas representa- ciones. Por ´ultimo en este cap´ıtulo se expondr´an dos ontolog´ıas, una desa- rrollada por Pardede et al. [Par05], que clasifica los tipos de datos pre- definidos en el modelo relacional, y la ontolog´ıa propuesta por Calero et al. [Cal05], que modela el ANSI SQL2003 [fSIIT03]. Estas dos ontolog´ıas establecer´an los cimientos sobre los que se desarrollar´a la Ontolog´ıa de Representaci´on del Conocimiento Difuso base de esta tesis y expuesta en 9
  • 31. 10 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS detalle en el cap´ıtulo 4. 2.2. La Web Sem´antica A pesar de que la Web ha tra´ıdo con ella nuevas oportunidades para intercambiar, compartir, publicar y consultar informaci´on en la sociedad, tambi´en presenta sus limitaciones y desventajas. Por un lado, conforme ha ido creciendo su extensi´on y aumentando el n´umero de p´aginas e infor- maci´on accesible a trav´es de la misma, han ido cambiando las necesidades, haci´endose cada vez m´as importante disponer de buscadores o mecanis- mos de clasificaci´on o acceso que permitan la obtenci´on de informaci´on exacta, cada vez m´as cercana a la pregunta, para evitar as´ı las canti- dades ingentes de p´aginas como resultado. Otro problema de la Web se encuentra en la carencia de sem´antica en las respuestas obtenidas tras una consulta, obteniendo as´ı respuestas imprecisas o err´oneas [Lau04]. Adem´as, la Web necesita representar informaci´on que pueda ser proce- sada computacionalmente [BL01]. Para ello requiere nuevas tecnolog´ıas que estructuren la informaci´on disponible como XML, XML-S, RDF(S), etc. Por contra, HTML la presenta de manera desorganizada y carente de significado. Sin embargo, en Web cl´asica, tal y como la conocemos, resumiendo lo dicho anteriormente: El contenido no puede ser determinado. Las consultas sem´anticas no pueden realizarse, puesto que las p´agi- nas Web no pueden ser interpretadas, y Los agentes inteligentes no pueden obtener informaci´on significati- va. La Web Sem´antica se propone como soluci´on a todos estos problemas, y como muchos investigadores afirman [BL01, Gob03], ser´a la tecnolog´ıa capaz de hacer los contenidos de la Web comprensibles por humanos y procesables computacionalmente. Mas formalmente, la Web Sem´antica se puede definir como el resultado de extender la Web est´andar con lengua- jes, informaci´on y recursos que nos permitan extraer informaci´on acerca del significado de los contenidos de la Web autom´aticamente (Berners- Lee et al. [BL01]). Estos contenidos se encuentran en diferentes formatos, por ejemplo en forma de documentos web, esquemas semiestructurados, o datos din´ami- cos [Hen02]. En la Web Sem´antica se extiende cada fuente de informa-
  • 32. 2.2. LA WEB SEM ´ANTICA 11 ci´on con una representaci´on estructurada de su sem´antica. Existen varias aproximaciones para incluir esta sem´antica, la m´as utilizada, como se in- dica en [Fin05], son las ontolog´ıas, aunque tambi´en se ha propuesto el uso de anotaciones [She05]. Tal y como describimos en detalle en el Anexo A, una ontolog´ıa es una descripci´on formal del dominio del discurso para un problema concreto, y la intenci´on de la misma es ser compartida entre diferentes usuarios o aplicaciones. Una de sus ventajas es que puede ser expresada en un lenguaje (la mayor´ıa en l´ogica descriptiva o de primer orden) de tal forma que pueda utilizarse para razonar [GP03b, Noy04, Sta04]. Por tanto esta primera aproximaci´on para incorporar sem´antica a los contenidos de la Web consistir´a en la incorporaci´on de la ontolog´ıa a la p´agina web cuyo contenido est´e describiendo, bien dentro del c´odigo de la web, bien adjunt´andolo al resto de los archivos donde se encuentre la mis- ma [Fin05]. Sin embargo McCool en [McC06] descubre ciertos problemas con esta soluci´on (v´ease figura 2.1): La complejidad que adquiere la Web Sem´antica. La baja participaci´on de los usuarios. El hecho de que en la actualidad exista un n´umero muy escaso de aplicaciones. La complejidad de los lenguajes de descripci´on de ontolog´ıas. La segunda soluci´on presenta anotaciones acerca del contenido de la p´agina Web y del vocabulario. Esta soluci´on [McC06] reduce la compleji- dad de la Web Sem´antica, permite obtener m´as r´apidos resultados en las consultas, y permite una mayor participaci´on de los usuarios y desarro- lladores. Sin embargo tambi´en tiene sus desventajas, no es tan expresiva como las ontolog´ıas a la hora de representar la sem´antica de una fuente de informaci´on (v´ease secci´on 2.2.2). De cualquier manera, la Web Sem´antica se mantiene como alterna- tiva a la Web cl´asica y permite que toda la informaci´on que en ella se encuentra pueda ser consultada y accedida. 2.2.1. Bases de Datos en la Web Sem´antica Una parte importante de la informaci´on en la Web, la podemos en- contrar en forma de documentos de texto (Word, PDF, txt,...), p´aginas HTML, documentos XML, p´aginas Web din´amicas, contenidos FLASH,
  • 33. 12 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS AGENTES USUARIOS PROGRAMAS WEB SEMÁNTICA <<Clie nt>> <<Clie nt>> html Varias pg. web la ontología adjunta (html, jsp, owl..) Ontología incluida en la pg. principal Página Web anotada Figura 2.1: La Web Sem´antica, usuarios, y acceso a la informaci´on librer´ıas, ejecutables, interfaces de programas, bases de datos, formula- rios, etc. Incluso podemos encontrar simples datos (registros de datos, tuplas) o metadatos, podemos acceder a bases de datos, o inferir conoci- miento a partir de estas (v´ease la figura 2.2), pero nosotros necesitamos definir las tecnolog´ıas que permitan acceder a toda esta informaci´on de la manera y formato que se requiera en cada uno de los casos. Una p´agina din´amica es un tipo de contenido Web que se genera me- diante la consulta de una base de datos. Para generar un p´agina din´ami- ca, suelen utilizarse tecnolog´ıas como JSP, ASP, o PHP, para lanzar las consultas sobre dichas bases de datos. En estas p´aginas, la sem´antica no puede ser introducida, dado que se trata de un interfaz (front-end) para la base de datos. Sin embargo, podr´ıan describirse sem´anticamente mediante los contenidos de la base de datos a la que ellas acceden [Jur07]. Existen incluso otros tipos de p´aginas web, que son m´as complejas a´un para ser definidas de manera sem´antica, estas son por ejemplo, las interfaces Web gen´ericas para consultar bases de datos. Un ejemplo de este tipo de p´aginas es el ISQLPlus (Oracle c ) [Ora07] o el WebinTool [Hu96] o incluso, aquellas desarrolladas con paquetes de acceso a bases de datos como LISBDB [Eri07]. Estas p´aginas permiten acceder a la infor- maci´on de bases de datos, pero no pueden ser sem´anticamente indexadas porque sus contenidos no se conocen hasta que no se accede a una u otra base de datos.
  • 34. 2.2. LA WEB SEM ´ANTICA 13 En el contexto de la Web Sem´antica, y como caso particular de lo ex- plicado en la anteriormente, ser´ıa interesante poder almacenar la sem´anti- ca de dichos datos y emplear dicha sem´antica para su acceso. Por ejemplo si trat´aramos de buscar registros de datos sobre una BD concreta o do- minio particular usando ISQLPLUS(Oracle c ) [Ora07], el tener acceso a los esquemas de bases de datos que definen la informaci´on contenida en la misma resultar´ıa muy ´util. Tambi´en ser´ıa interesante obtener entre los resultados de una b´usqueda: referencias a bases de datos existentes que contengan entre sus datos informaci´on que cumpla el criterio de b´usque- da, referencias a aplicaciones cliente existentes o formularios (una vez que los tenemos sem´anticamente declarados), etc. Entonces ser´an los usuarios los que deciden que resultados son los que necesitan. Hay propuestas que intentan generar o extraer informaci´on de bases de datos relacionales, a partir de estas p´aginas en HTML, o de las p´agi- nas din´amicas. Por ejemplo Astrova [Ast04] construye estos esquemas de BD relacionales utilizando wrappers (programas para extraer dicha in- formaci´on). Otro autor que tambi´en utiliza wrappers para incorporar la sem´antica de las BDR a la Web es Champin et al. [Cha07] que propone un herramienta para construir en un lenguaje de la Web Sem´antica la informaci´on de la BDR. Sin embargo, en las BBDD la dificultad para acceder a ellas est´a en funci´on del tipo de informaci´on que representen. Si se trata de BBDD Extendidas (como una BD Difusa) entonces su representaci´on no forma parte del est´andar ANSI [fSIIT99], lo cual implicar´ıa que se necesitara hacer p´ublica la informaci´on acerca de los metadatos que representan la dicha informaci´on especial (por ejemplo la imprecisa), para garantizar el acceso correcto a los datos almacenados en la BD, tanto por parte de los usuarios como de los agentes que lo intenten [Bla05a, Bla05b]. Para realizar la tarea de publicaci´on de contenido de una BD en la Web Sem´antica, existen numerosas aproximaciones. Una de las m´as uti- lizadas consiste en la representaci´on formal del modelo relacional en for- ma de ontolog´ıa, la cual act´ua de interfaz entre el usuario y la BD real. Algunos de los autores que han llevado a cabo esta propuesta son LaBorda et al. [PdL05], Calero et al. [Cal06] o Blanco et al. [Bla05a] que presentan cada uno una interpretaci´on del ANSI SQL como soluci´on para que las bases de datos sean visibles a trav´es de la Web (v´ease para mayor detalle secci´on 2.3.2). Esta interfaz mantendr´ıa separada la representaci´on de los datos de su almacenamiento, y simplificar´ıa la definici´on necesaria para acceder a la misma. En el caso de las BD Extendidas esta caracter´ıstica
  • 35. 14 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS es fundamental, dado que proporcionar´ıa una definici´on p´ublica de la es- tructura especial que tenga la informaci´on que representen, haci´endolas mas accesibles y comprensibles al usuario o agente final. La ontolog´ıa resultante define las metaclases que definen la estructura de la informa- ci´on (el cat´alogo del sistema) que proporcionan la interfaz de acceso a los datos adecuada. Esta ontolog´ıa entonces podr´ıa integrarse con el resto de las estructuras que se encuentran en la Web Sem´antica, comentadas con anterioridad. No obstante dicha representaci´on ser´a descrita con m´as detalle en los cap´ıtulos sucesivos. Web Page File <<Form >> BÚSQUEDA WEB Class name Attribute s Class name Attributes Class name Attributes ESQUEMAS Páginas Dinámicas PAGINAS WEB (HTML, XML ) DOCUMENTOS (DOC, XML ,PDF , ..) PROGRAMAS , INTERFACES, ... BASES DE DATOS WWW compuesta por RESULTADOSDE BÚSQUEDA TRADICIONAL Enlaces a pg. Web Enlaces a archivos Enlaces a webs dinámicas ..... RESULTADOS DE BÚSQUEDA EN LA WEB SEMÁNTICA Enlaces a pg. Web Enlace a archivos Enlaces a web dinámicas Ontologías Esquemas Interfaces de BBDD ..... Figura 2.2: Comparaci´on de documentos obtenidos de la web normal y de la web sem´antica
  • 36. 2.2. LA WEB SEM ´ANTICA 15 2.2.2. Hacia donde va la Web Adem´as de todo lo expuesto acerca de la Web Sem´antica, y dado que se est´a hablando de nuevas tecnolog´ıas, no se puede obviar la nueva ten- dencia de la Web que est´a en contraste con la Web Sem´antica, la Web 2.0. Esta tecnolog´ıa que ha surgido en paralelo con la Web Sem´antica, est´a centralizada en los servicios que se presentan en la Web, al contrario que la Web Sem´antica que se centra en el contenido de la informaci´on. Es decir, la Web 2.0 aparece para satisfacer al usuario en las nuevas necesidades de comunicaci´on que van surgiendo, como la mayor interac- ci´on entre los usuarios, el mayor uso de las redes sociales (blogs, ebay, del.icious, wikipedia, youtube, myspace, etc.), es decir, que demandan un mayor servicio. Las folksonomias (ser´ıa la traducci´on en espa˜nol de folk- sonomy) se corresponderan as´ı a la manera que tiene la Web 2.0 para etiquetar la informaci´on y as´ı categorizar el contenido. Esta pr´actica es m´as sencilla que la generaci´on de ontolog´ıas [Bre07] y evita tener exper- tos generando la sem´antica de una web concreta [Sha06a], puesto que son clasificaciones de contenido mediante etiquetas (tags) que van surgiendo de un trabajo colaborativo de los usuarios de la red. No obstante, los servicios que aporta la Web 2.0 no son incompatibles con la propuesta que da la Web Sem´antica, todo lo contrario, se complementan tal y como Ankolekar et al. en [Ank07] o Berners-Lee et al. en [BL06] proponen. Por ´ultimo, se debe se˜nalar que existen un gran n´umero de detrac- tores de la Web Sem´antica, por los problemas expuestos anteriormente resumidos por McCool [McC05]. De entre estos problemas destaca de manera significativa el escaso n´umero de aplicaciones de Web Sem´antica que est´an en uso actualmente, son conocidas o populares. Es un hecho que algunos autores, defensores de la Web Sem´antica, vaticinan que a la Web Sem´antica para su ´exito total le quedan unos 5 a˜nos de desarrollos [Car07]. Otros, en cambio, califican este movimiento de “vaporware”, es decir algo que desv´ıa esfuerzos hacia un objetivo irreal. De cualquier ma- nera, se considera que la Web Sem´antica se consolidar´ıa como la Web 3.0. Sin embargo, cabe preguntarse si bien esta “nueva web” conseguir´a tri- unfar, si aunar´a esfuerzos con la filosof´ıa de la Web 2.0, si coexistir´an las dos tecnolog´ıas en paralelo, o bien si tras estos cinco a˜nos, desapare- cer´a como otros tantos intentos de nuevas tecnolog´ıas, que a pesar de ser grandes ideas no han conseguido cuajar en la industria.
  • 37. 16 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS 2.3. Ontolog´ıas versus Bases de Datos El concepto de ontolog´ıa en el campo de la ciencia de la computaci´on se ha incorporado con mayor fuerza en las ´areas de la inteligencia artifi- cial y de las bases de datos. Concretamente el ´area de las bases de datos siempre ha tratado de modelar la informaci´on del mundo real, pero pre- senta una serie de restricciones, impuestas por el modelo de datos que se elija, para proporcionar la mayor eficiencia en el acceso y manipulaci´on de la informaci´on. De hecho, un gran n´umero de estudios en el campo de las bases de datos han sido recuperados [Mee01a] para ser utilizados en desarrollos muy parecidos en el campo de las ontolog´ıas. Hay que observar que en el campo de las ontolog´ıas, existen los problemas de heterogeneidad de informaci´on, b´usqueda de correspondencias, la combinaci´on de esquemas, alineamiento, traducci´on, mezcla, etc. que tienen mucho parecido, por no decir que son id´enticos a los problemas que surgen entre los esquemas de Bases de Datos [Ma05, Hai05, Men01, Sta04]. Sin embargo, existe un gran debate abierto en cuanto a la considera- ci´on de una base de datos (el esquema y su estado) como una ontolog´ıa. Una ontolog´ıa esta considerada como una representaci´on de la realidad bas´andose fundamentalmente en el modelado de la sem´antica que rep- resenta. Para llevar esto a cabo, utiliza clases, propiedades, instancias, relaciones de agregaci´on, generalizaci´on..., y sobre todo restricciones, que en la mayor´ıa de los casos est´an representadas mediante lenguajes l´ogicos (l´ogica descriptiva o de primer orden), para poder a˜nadir esa sem´anti- ca al modelo. De esta manera una ontolog´ıa no basa su representaci´on en c´omo la informaci´on ser´a almacenada computacionalmente y por tan- to es independiente del aspecto f´ısico de su implementaci´on [Bre04]. De acuerdo con esto, un esquema de base de datos podr´ıa verse como una ontolog´ıa, puesto que tambi´en representan los hechos de mundo real, tienen su propia estructura de representaci´on, e incluso restricciones que dan sem´antica al modelo. Es m´as, existen correspondencias directas en- tre una ontolog´ıa y una base de datos, como por ejemplo que una clase puede ser una tabla, o que una propiedad se corresponde a un atributo, adem´as de que tambi´en pueden modelarse relaciones de agregaci´on, ge- neralizaci´on, restricciones, etc. [Unc04] Sin embargo su comparaci´on no es tan trivial. A continuaci´on veremos las diferencias que existen entre la repre- sentaci´on de conceptos utilizando Ontolog´ıas y BBDD. Se analizar´an sus
  • 38. 2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 17 ventajas e inconvenientes, compar´andolas a trav´es de los siguientes pun- tos de vista: La sem´antica o conceptualizaci´on de la informaci´on que representan. El mecanismo de representaci´on de los datos (tuplas/instancias) en las mismas. El modelo utilizado para la representaci´on de la informaci´on. La eficiencia de uso. Con respecto a la conceptualizaci´on de la informaci´on Los te´oricos de las ontolog´ıas afirman que una base de datos, dada la estructura de representaci´on de su informaci´on y su finalidad, se co- rresponder´ıa con una ontolog´ıa de peso ligero (light weight ontology), es decir, no ser´ıa una ontolog´ıa propiamente dicha [GP03b, Bre04, Noy04], puesto que carece en su definici´on, entre otras cosas, de los axiomas que permiten realizar inferencias. Se considera que los esquemas de bases de datos est´an normalmente destinados a satisfacer los requisitos de una aplicaci´on, mientras que las ontolog´ıas son fruto de un trabajo consen- suado y deben ser compartidas entre toda la comunidad [Bre04, Unc04]. Adem´as destacan que las ontolog´ıas no necesitan distinguir obligatoria- mente entre los tipos de datos primitivos y complejos, que sus propiedades tienen mucha m´as sem´antica y que no necesitan realizar una normali- zaci´on (gracias a todo esto se facilita la uni´on y compartici´on de las mismas). En el ´area de las bases de datos, por contra, se considera que el mo- delado conceptual en el que est´a basada su representaci´on [Spy02, Cul03, Mee01b, Rui06] proporciona una descripci´on mas rica sem´anticamente que la que da la l´ogica descriptiva en la que est´an basadas la mayor´ıa de las descripciones de ontolog´ıas. No obstante, existen en la actualidad representaciones conceptuales de ontolog´ıas, como las que est´an basadas en frames, que son mucho mas intuitivas. Sin embargo, las ontolog´ıas requieren un nivel m´as alto de expresividad que el que le pueden dar los modelos conceptuales. Otros autores, como Jean et al. [Jea06] consideran que los modelos conceptuales no cumplen el criterio de la representaci´on de un conocimiento consensuado y la capacidad de ser referenciada la informaci´on que se representa. Mylopoulos [Myl07] considera que una ontolog´ıa no es un modelo conceptual, puesto que un ontolog´ıa se con- sidera reutilizable y un modelo conceptual lo es en menor grado.
  • 39. 18 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS De cualquier manera, las desventajas que puedan verse en cuanto a la representaci´on de la realidad utilizando una base de datos, por su carencia a la hora de expresar axiomas para dar a´un m´as sem´antica a la realidad que est´an representando, pueden verse resueltas por la incorpo- raci´on de informaci´on l´ogica, gracias al uso de una Base de Datos L´ogico- Deductiva. Es m´as, existen hoy en d´ıa un gran n´umero de Sistemas de Bases de Datos dedicados al tratamiento de informaci´on de muy diverso tipo, desde BD Temporales, Espaciales, de Miner´ıa de Datos, Multimedia, Transaccionales, etc. Esto es m´as de lo que puede decirse del modelado de informaci´on en ontolog´ıas, que hoy en d´ıa esta carente de la posibilidad de asociar especificaciones temporales o espaciales [Cul03] a las mismas. Con respecto a los datos que se representan La representaci´on de la realidad que hace una ontolog´ıa, mezcla la in- formaci´on del esquema con los datos o instancias que este esquema pueda tener. De hecho, no es necesario que la ontolog´ıa tenga datos. En cam- bio, en una base de datos hay una clar´ısima separaci´on entre esquema y datos. La informaci´on del esquema se encuentra almacenada como tuplas en el diccionario de datos, de esta forma tambi´en puede ser consultada al igual que los datos en s´ı [Cul03, Unc04]. Gracias a la carencia de esta separaci´on en las ontolog´ıas, es posible la definici´on de clases que puedan ser a la vez instancias, flexibilidad que jam´as permitir´ıa un modelo de bases de datos relacional (un modelo orientado a objetos puro si que lo permitir´ıa). Sin embargo esta flexibilidad tambi´en traer´a consecuencias a las ontolog´ıas, puesto que no se podr´a hacer deducciones sobre aquellas ontolog´ıas que utilicen dicha funcionalidad. En cuanto a la incorporaci´on de las instancias, una ontolog´ıa no sigue ning´un tipo de patr´on ni regla [Cul03]. Es m´as, en una ontolog´ıa la defini- ci´on de una nueva instancia no requiere que se cumplan las restricciones impuestas a la misma, son a˜nadidas sin m´as. Contrariamente, el mo- delado de una base de datos requiere el cumplimiento de todos los re- querimientos definidos sobre la misma para asegurar la integridad de la informaci´on (algunos autores consideran que el principal motivo de las BBDD es la integridad de los datos [Unc04]). De hecho, una tupla, en una BD Relacional, no podr´ıa ser incluida en la BD si no cumple to- das las restricciones impuestas a la misma, incluyendo las restricciones sem´anticas del modelo (CHECK Constraints) adem´as de las propias del Modelo Relacional (claves primarias, ajenas, nulos, etc.). Este hecho pro- porciona al Sistema de Bases de Datos la presunci´on de mundo cerrado
  • 40. 2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 19 (aunque para sus detractores [Unc04] supondr´ıa una p´erdida sem´antica en la representaci´on de la informaci´on importante). Para solventar este problema en las ontolog´ıas, se ha de recurrir a los razonadores, que son los que determinar´an qu´e instancias son las que pertenecen o no a la ontolog´ıa donde est´an definidas. Por tanto, cada vez que se desee realizar dicha comprobaci´on, habr´a que lanzar el razonador sobre la ontolog´ıa, cosa que en Bases de Datos no es necesario, dado que la informaci´on es consistente desde el principio. Evidentemente los razonadores de ontolog´ıas sirven adem´as para poder obtener nueva informaci´on adem´as de la que ya se encuentra representa- da. Su analog´ıa en el campo de las bases de datos se encontrar´ıa en los lenguajes de consulta como el SQL. La principal diferencia est´a en que los razonadores pueden encontrar esta informaci´on sobre las ontolog´ıas, inde- pendientemente de que tengan instancias definidas en ellas. Al contrario que las bases de datos, que ´unicamente obtendr´an nueva informaci´on so- bre la que ya est´a almacenada en ella, y por supuesto, ser´ıa imposible, obtener informaci´on mixta, es decir, de datos y de partes del esquema a la vez [Unc04]. Por supuesto, el razonamiento taxon´omico es otra de las partes fundamentales de las ontolog´ıas. Con respecto a la t´ecnica de modelado Tambi´en habr´a que tener en cuenta las diferencias que existen en el modelo de base de datos utilizado para su representaci´on. El modelado l´ogico de una BD no representa la misma sem´antica que el modelado conceptual de la misma. La serie de limitaciones, dependiendo del modelo que se trate, proporcionar´a mayores o menores p´erdidas sem´anticas a la representaci´on. As´ı por ejemplo, un esquema entidad-relaci´on extendido, o un diagrama UML, presenta una informaci´on como las relaciones es-un que se pierden al transformarse en el modelo relacional. Sin embargo la mayor´ıa de estas transformaciones hacen perder muy poca sem´antica al modelo l´ogico que representan. En las ontolog´ıas, estas p´erdidas tambi´en ocurren dependiendo del lenguaje de representaci´on utilizado. As´ı no ser´a lo mismo representar una ontolog´ıa mediante KIF, RDF, OWL (en cada una de sus modali- dades), LOOM o utilizando cualquier herramienta de generaci´on de on- tolog´ıas, que haga su propia representaci´on de la informaci´on. Adem´as, cada lenguaje propone sus propias restricciones, provocando p´erdidas sem´anticas a la hora de realizar traducciones entre las mismas. Esta desventaja no ocurre con las Bases de Datos y concretamente en el Mo-
  • 41. 20 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS delo Objeto-Relacional que utiliza siempre el mismo lenguaje est´andar para su representaci´on, el ANSI SQL [fSIIT99]. De cualquier modo es conveniente destacar que OWL esta tomando cada vez m´as fuerza en el campo de la representaci´on de ontolog´ıas gracias a la aparici´on de la Web Sem´antica, pudiendo llegar a convertirse en est´andar en un futuro no muy lejano. Con respecto a la eficiencia en la representaci´on En cuanto a la ventaja de las bases de datos dada la gesti´on tan eficiente de la informaci´on que hacen, ha provocado que esta tecnolog´ıa est´e presente en el entorno de las ontolog´ıas, ya que no es l´ogico tener ingentes cantidades de datos almacenadas en forma de archivo de texto en formato OWL, o RDF. Es decir, las instancias donde se encuentra la informaci´on almacenada, deber´ıan estar almacenadas en un entorno de bases de datos y ser entonces la ontolog´ıa la que quedar´ıa como una envoltura que permite acceder a esta informaci´on. En lugar de acceder al esquema de la BD, ser´a la ontolog´ıa la que proporcione la informaci´on para poder formular la consulta. Siguiendo esta idea existen numerosas propuestas que permiten acceder a la informaci´on que se encuentra en una BD (principalmente relacional debido a su hegemon´ıa en el ´area de las BBDD), a trav´es de una ontolog´ıa de dominio. A continuaci´on se presenta un gran n´umero de estas propuestas, clasificadas en funci´on de c´omo es utilizada la ontolog´ıa para representar o acceder a dicha informaci´on. 2.3.1. Comunicaci´on entre Bases de Datos y Ontolog´ıas La comunicaci´on entre Bases de Datos y Ontolog´ıas s´olo es posible si los esquemas de BD coinciden de alguna manera con las ontolog´ıas que representan dicha informaci´on. Para ello han surgido distintas propuestas que, seg´un [Vys06] pueden categorizarse en: Generar Descripciones de Ontolog´ıas y Esquemas de Bases de Datos utilizando la misma T´ecnica de Modelado Se trata de propuestas generadas en esquemas conceptuales que pueden ser v´alidos tanto para bases de datos como para la definici´on de on- tolog´ıas. De esta forma una ontolog´ıa, podr´ıa ser traducida en cualquier otro lenguaje. Este es el caso de [Bro06], que usa UML para definir on- tolog´ıas, pero es el menos frecuente, dado que la mayor´ıa de las repre-
  • 42. 2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 21 sentaciones de ontolog´ıas utilizan un modelo de representaci´on espec´ıfico para ellas, lo mismo que las bases de datos. Generar el Esquema de Bases de Datos a partir de Ontolog´ıas En este caso, una ontolog´ıa ya existente ser´ıa la encargada de generar el esquema de bases de datos. Esta opci´on provoca, seg´un algunos au- tores una gran p´erdida sem´antica, dado que gran parte de la informaci´on inherente en la ontolog´ıa se pierde en la traducci´on. Existen propuestas que llevan a cabo este proceso, como la que se encuentra en [Vys06] o en [Gal05b], en las que se implementan procedimientos que autom´atica- mente generan esquemas de bases de datos a partir de una ontolog´ıa en OWL. Existen otras propuestas como la de El-Ghalayini et al. en [EG06] que propone la obtenci´on de un modelo conceptual a partir de una on- tolog´ıa. Extraer o Representar la Descripci´on de la Base de Datos en forma de Ontolog´ıa Este ´ultimo caso, consistente en generar una ontolog´ıa a partir del esquema de bases de datos, es el m´as desarrollado en la comunidad, de hecho existen un gran n´umero de propuestas de muy diversa ´ındole llev´andolo a cabo. Este proceso tambi´en se conoce como ingenier´ıa in- versa de bases de datos relacionales a ontolog´ıas [Ast04]. En ´el se per- mitir´a el acceso a la informaci´on, esto es, a las instancias almacenadas en las bases de datos, a trav´es de la ontolog´ıa. Seg´un Astrova [Ast05], existen 3 aproximaciones a la hora de hacer esta Ingenier´ıa Inversa: La basada en un an´alisis del esquema relacional. Stojanovid et al. [Sto02] construyen reglas para mapear los constructores en el mo- delo de BD con su equivalentes constructores en la ontolog´ıa. Tam- bi´en Juric y Sckocir [Jur07] proponen unas tablas de mapeo para generar la ontolog´ıa en OWL a partir de un esquema relacional, sin embargo esta propuesta luego se enriquece sem´anticamente con otras fuentes de informaci´on. Incluso en la propuesta de Champin [Cha07] se modela formalmente el modelo relacional, estableciendo las correspondencias con OWL para poder implementar una apli- caci´on que obtenga las ontolog´ıas. El programa DataGenie [Gen07] desarrollado por Gennari et al. establece mapeos entre la ontolog´ıa y la BD. Existen propuestas que incluso dise˜nan un lenguaje pro- pio para declarar estos mapeos, como el Web-PDDL [Dou06], o el
  • 43. 22 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS lenguaje declarativo R20 de Barrasa et al. [Bar03] que representa las correspondencias entre el modelo de BD relacional y una ontolog´ıa basado en la propuesta previa D2R MAP de Bizer [Biz03]. Por otro lado, hay otras propuestas que suben un nivel de abstracci´on, cen- tr´andose en el modelo conceptual de la base de datos relacional (el entidad relaci´on), para obtener la ontolog´ıa de dominio [Jea06] co- rrespondiente en OWL. En [Upa05] y [Xu04] se propone incluso una herramienta propia y reglas de mapeo para obtener la ontolog´ıa en OWL. A este nivel tambi´en se proponen lenguajes para establecer las correspondencias entre los dos modelos. As´ı a partir de Diagra- mas E/R o UML, se propone un nuevo lenguaje para la definici´on de la ontolog´ıa, llamado el DLR-DB de Lubyte y Tessaris [Lub07]. Los basados en un an´alisis de los datos. Construyen la ontolog´ıa basada en un an´alisis del esquema relacional (tambi´en se analizan los datos para a˜nadir sem´antica). Este es el caso de Astrova [Ast04] y Tijerino et al. [Tij05], este ´ultimo, analiza los contenidos de las tablas para obtener una ontolog´ıa. A trav´es de los contenidos, pode- mos descubrir relaciones entre datos y restricciones y, a partir de ellas, descubrir correspondencias con otras ontolog´ıas ya realizadas o bien desarrollar una nueva propia. Otra aproximaci´on que cons- truye una ontolog´ıa en OWL de manera semiautom´atica que se cor- responde con el contenido de una BD relacional a partir del an´alisis de formularios en HTML la propuesta por Benslimane et al. [Ben06]. Las basadas en un an´alisis de las consultas de los usuarios. Como la de Kashyap [Kas99], que construye una ontolog´ıa basada en un an´alisis del esquema relacional. La ontolog´ıa se refina con las con- sultas de los usuarios. Esta ontolog´ıa no crea axiomas. Sin embargo, algunos autores destacan los problemas que tiene este proceso de ingenier´ıa inversa [Jur07]. La construcci´on de una ontolog´ıa basada en un an´alisis del esquema relacional, afirman, puede estar limi- tado por la compleci´on de la informaci´on de entrada y la correcci´on de la misma. Dicha afirmaci´on se basa en problemas como la falta de infor- maci´on en los esquemas, la creaci´on de esquemas no normalizados, las p´erdidas al traducir de los esquemas conceptuales a los relacionales, o el uso de nombres inapropiados en la representaci´on de la informaci´on. No obstante, estos problemas no dejan de ser puntuales, y no suponen la mayor parte de las representaciones de bases de datos relacionales que son susceptibles de ser convertidas en ontolog´ıas.
  • 44. 2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 23 Existen otras alternativas en la comunicaci´on entre BD Relacionales y Ontolog´ıas, estas consisten en la utilizaci´on por parte de esta ´ultima del modelo relacional para poder “ser almacenadas”. Estas propuestas olvidan la conceptualizaci´on o realidad que la ontolog´ıa representa y que deber´ıa analizarse y modelarse a la hora de representar informaci´on en una BD, dado que el inter´es del uso de la BD ´unicamente subyace en la representaci´on de la meta informaci´on que constituye la ontolog´ıa. Es decir, la base de datos, representa la metaontolog´ıa: clases, propiedades, instancias, restricciones, etc, y su tarea ser´a la gesti´on eficiente de todas las ontolog´ıas que en ella se encuentren almacenadas. Estas propuestas reciben el nombre de modelos OBDB (Ontologies Based DataBases) y se definen como los modelos de bases de datos que permiten almacenar la ontolog´ıa y los datos en un modelo de datos com´un y ´unico [Jea06]. Jean et al. [Jea06] propone un modelo que separa la definici´on de la ontolog´ıa y la de las instancias. La propuesta de Rold´an-Garc´ıa et al. [Rol05] propone una herramienta para almacenar ontolog´ıas en OWL en un BD relacional, mediante el uso de archivos XML como archivos de configuraci´on que podr´an ser almacenados en cualquier RDBMS. Pan et al. [Pan03] almacena ontolog´ıas en un RDBMS de Access, creando una tabla para cada clase, o propiedad. La jerarqu´ıa de clases se almacena en el sistema utilizando vistas. Otro tipo de propuestas las representa co- mo por ejemplo Sesame [Bro02, Kam07], se proponen una arquitectura desarrollada para un almacenamiento y consulta eficiente de datos en RDF y sobre todo independiente de cualquier sistema de almacenamien- to. Este modelo propone una API (en Java), que permite acceder a los procedimientos que gestionan la informaci´on de la ontolog´ıa. Hay otras muchas propuestas como esta, como la que proporciona JENA [Pro07] permitiendo la interpretaci´on tambi´en de ontolog´ıas OWL. 2.3.2. Ontolog´ıas como Representaci´on de Modelos de Bases de Datos Otra tendencia que existe es la de generar ontolog´ıas que describen la conceptualizaci´on de una base de datos. De esta forma, la informaci´on que representan estas ontolog´ıas son metadatos, y desde este punto de vista, pueden ser consideradas estas ontolog´ıas como Ontolog´ıas de Alto Nivel. A partir de la definici´on de la ontolog´ıa de alto nivel, la definici´on de los esquemas como instancias de la ontolog´ıa ser´a un paso sencillo, poniendo de esta manera a disposici´on del usuario la perspectiva de una base de datos como si se tratara de una ontolog´ıa. Existen tambi´en un
  • 45. 24 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS gran numero de propuestas sobre esta idea: LaBorda et al. [PdL05] pro- pone Relational.OWL, una ontolog´ıa muy b´asica que describe el modelo de bases de datos relacional con el fin de poder compartir informaci´on entre bases de datos heterog´eneas, utilizando OWL-Full para represen- tar dicha ontolog´ıa. En la misma linea que el anterior, Kupfer et al. [Kup06] presenta una ontolog´ıa en OWL-Lite que denomina ontolog´ıa abstracta de bases de datos, la cual permite representar un esquema de bases de datos, mediante la instanciaci´on de dicha ontolog´ıa. Trinh et al. [Tri06] tambi´en propone una ontolog´ıa llamada OWL-RDBO que repre- senta en OWL los elementos b´asicos de una BD relacional y las relaciones sem´anticas entre ellos. Calero et al. [Cal05, Cal06] tambi´en representa el modelo relacional de bases de datos de la manera m´as completa hasta la fecha, dado que describe ´ıntegramente en el ANSI SQL 2003 [fSIIT03]. Sin embargo, utilizan una representaci´on en UML para describirlo, jun- to con descripciones en OCL para completar su definici´on. En cuanto a propuestas software concretas existe Ontobase [Yab07], una herramienta que representa los contenidos de una base de datos autom´aticamente, a trav´es de la herramienta de representaci´on de ontolog´ıas de Prot´eg´e. En definitiva, podemos considerar entonces una Base de Datos como una ontolog´ıa, puesto que todas las carencias que pudiera presentar son solventables de una u otra manera. Esta propuesta, permite la definici´on de una BD a base de la instanciaci´on de la ontolog´ıa de alto nivel que representa la informaci´on del modelo de bases de datos relacional. Si se trata dicha informaci´on tal como es por naturaleza, esto es, como metadatos, entonces la instanciaci´on de ciertas clases de dicha ontolog´ıa deber´a dar lugar a unas nuevas clases, que representan la informaci´on del esquema de la BD que es en ultima instancia lo que se desea representar. Por ejemplo, cualquier propuesta de ontolog´ıa que represente el modelo relacional de bases de datos, contar´a con una definici´on de Tabla no como clase, sino como metaclase, dado que una tabla es la representaci´on de la estructura de la informaci´on. De esta forma, la instancia de la clase Tabla, por ejemplo, con el concepto de Personas dar´ıa lugar a una nueva clase, la clase Personas, que ser´ıa en ultima instancia, la que albergar´ıa los datos o informaci´on al respecto de la realidad que representa a trav´es de sus instancias (se corresponder´ıa con las tuplas en el modelo relacional). En la figura 2.3 se puede visualizar este ejemplo, donde el fondo de color destaca la relaci´on entre las metaclases y las instancias del esquema de BD generadas. Las principales motivaciones que llevan al modelado del modelo de
  • 46. 2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 25 (ONTOLOGIA DEREPRESENTACION DELMODELO RELACIONAL) Tables Tipos de datos Columnas Esquemas ... CLASES (metaclase ) Personas Nombre Edad Cuentas ... ... Personas Cuentas ... INSTANCIAS CLASES Juan Pedro ... INSTANCIAS (ONTOLOGIA DELESQUEMA DE BASES DE DATOS) Figura 2.3: Ejemplo de relaci´on entre las Metaclases y las Instancias en la representaci´on mediante ontolog´ıas de un esquema de BD
  • 47. 26 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS bases de datos como una ontolog´ıa son las siguientes: Simplifica la visi´on de una base de datos, dado que presentan el modelo alejado de una implementaci´on concreta. Aporta otra posibilidad de acceso a la informaci´on almacenada en una base de datos, adem´as de la que da el propio RDBMS o las aplicaciones que la utilicen. Hace visible la estructura de la informaci´on de una base de datos, a trav´es de una representaci´on est´andar como puede ser OWL o RDF. Esto puede resultar ´util en algunos entornos como la Web Sem´antica, donde el acceso al contenido sem´antico de las bases de datos es escaso. Permite incluir en la Web Sem´antica la informaci´on de los esquemas, anotar p´aginas web din´amicas o sistemas de acceso a BDs. Es f´acil mantener actualizados los cambios que se producen en la estructura de una base de datos, puesto que la generaci´on de la ontolog´ıa es autom´atica. Permite la comunicaci´on y compartici´on de informaci´on entre bases de datos heterog´eneas, dado que la representaci´on de la informaci´on es independiente de cualquier RDBMS. Permite el establecimiento de relaciones entre diferentes modelos de representaci´on de datos adem´as de esquemas relacionales, esto es: orientados a objetos, ontolog´ıas, estructuras XML, esquemas RDFS, etc. Permite la gesti´on homog´enea de bases de datos distribuidas. Enriquece la representaci´on de la informaci´on, permitiendo a la on- tolog´ıa generada de Bases de datos relacionarse con otro tipo de ontolog´ıas de dominio, m´as ricas en sem´antica (a trav´es de t´ecni- cas de mapeo o alineamiento), para mejorar as´ı la calidad de la informaci´on representada. Permiten representar tipos de datos complejos o diferentes tipos de datos de manera sencilla para el usuario, cuya representaci´on y gesti´on a trav´es de un RDBMS ser´ıa mucho mas costoso para su interpretaci´on y manipulaci´on por parte de usuario (dado la estruc- tura de representaci´on de datos que tienen estos sistemas).
  • 48. 2.3. ONTOLOG´IAS VERSUS BASES DE DATOS 27 2.3.3. Integraci´on de Informaci´on En la actualidad nos encontramos con un gran n´umero de ontolog´ıas que describen cualquier concepto de la realidad. Los contenidos de las ontolog´ıas var´ıan desde la descripci´on de un simple dominio, hasta la descripci´on de tareas o metadatos. A su vez, existen ontolog´ıas que representan la misma realidad o parte de ella. Es m´as incluso existen otros mecanismos de representaci´on de informaci´on alternativos a las on- tolog´ıas tambi´en accesibles y utilizados por los usuarios. Ante toda esta cantidad de informaci´on se impone la necesidad de acceder a la misma, de forma unificada y transparente, para lo que requiere la utilizaci´on de mecanismos de integraci´on de estructuras de informaci´on. Se han desarrollado un gran n´umero de sistemas para permitir inte- grar una amplia variedad de datos provenientes de muy diversas fuentes. La integraci´on de Ontolog´ıas, descrita en [Cho06, Ham04, Noy04], es una de las operaciones m´as estudiadas, desarrolladas e implementadas dado el gran n´umero de representaciones de este tipo que existen. Sin embargo el campo de las ontolog´ıas no es el ´unico que necesita utilizar sistemas de integraci´on de informaci´on. Desde que la Web Sem´antica permite el acceso a fuentes de informaci´on de muy diversa ´ındole (dicha informa- ci´on se encuentra representada en diversos formatos, incluso en diferentes lenguajes) la necesidad de sistemas de integraci´on cada vez m´as sofisti- cados se hace m´as acuciante. Algunos ejemplos de los diferentes tipos de esquemas que nos podemos encontrar son: esquemas XML, ontolog´ıas (RDF, OWL), esquemas relacionales (SQL), esquemas orientados a ob- jetos (UML), folksonomias, tesauros, etc. El proceso de integraci´on de informaci´on no es simple. George [Geo05] resume los diferentes tipos de heterogeneidad que nos podemos encontrar en los esquemas y las dimensiones de integraci´on, que pueden establecerse en tres: Integraci´on del Sistema, representa la heterogeneidad en la platafor- ma donde se representa la informaci´on, Integraci´on del Esquema, representa la heterogeneidad entre esque- mas. En [Geo05] se identifican cinco tareas en este proceso: a) pre- integraci´on, que es cuando se traduce el esquema en forma de mo- delo de datos, b) comparaci´on, que es cuando se identifican los con- flictos sem´anticos, c) ajuste: hace los conflictos compatibles para combinarlos mediante una representaci´on similar, d) combinaci´on: integra los esquemas, e) reestructuraci´on: refina el esquema
  • 49. 28 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS Integraci´on Sem´antica, resuelve las diferencias entre la representaci´on de los datos conceptuales mediante la determinaci´on de equivalen- cias entre los constructores del esquema. Aunque la mayor´ıa de las aproximaciones para integrar informaci´on est´an basadas en t´ecnicas de integraci´on de esquemas que provienen de las disciplinas de bases de datos, existen ciertas diferencias entre las on- tolog´ıas y las bases de datos, como hemos visto en la secci´on anterior y destacan Kalfoglou y Schorlemmer [Kal03]. Las dos aproximaciones m´as comunes en el proceso de integraci´on de esquemas son: Vista Local y Vista Global [Gog05]. La aproximaci´on de Vista Global consiste en establecer una representaci´on de dominio gen´erica (un esquema global) donde los esquemas locales se mapeen con el global (esta t´ecnica es la m´as utilizada en BBDD [Apa05]). La aproximaci´on de Vista Local implica establecer correspondencias directas entre los diferentes esquemas locales. Existen varias propuestas para establecer la correspondencia entre esquemas y ontolog´ıas. Por ejemplo, MAPONTO [An04] es una herra- mienta que utiliza l´ogica para establecer mapeos entre ontolog´ıas y BDs, COMA++ [Aum05] herramienta que resuelve los problemas de corres- pondencias entre los esquemas y las ontolog´ıas escritas en diferentes lenguajes como SQL, W3C XSD u OWL. GLUE [Doa02] u Ontomap [Gal05a] son otros ejemplos de herramientas usadas para la b´usqueda de correspondencias entre esquemas autom´aticas. En este trabajo, se intentar´a establecer un marco id´oneo para in- tegrar esquemas de bases de datos difusas con el resto de estructuras heterog´eneas que pueden obtenerse a trav´es de la Web Sem´antica. Se han identificado dos dimensiones en este marco: La integraci´on del sistema, que requerir´a la integraci´on de esque- mas a partir de SGBDs diferentes como Oracle c , MySQL c , Post- greSQL c , etc. Cada sistema tendr´a sus propias caracter´ısticas que deber´an ser analizadas para que esta integraci´on pueda llevarse a cabo. La integraci´on del esquema que permite integrar esquemas hetero- g´eneos. Estos esquemas pueden representarse utilizando diferentes lenguajes como SQL, XML u OWL. Esta tarea requiere que sean resueltos algunos conflictos, como: conflictos de tipo de datos, de escalado de datos, de p´erdida de datos, etc. [Hai05] Dadas las caracter´ısticas espec´ıficas de la ´ultima dimensi´on, la inte- graci´on sem´antica ser´a estudiada una vez que las dos dimensiones previas
  • 50. 2.4. ONTOLOG´IAS PREVIAS 29 sean desarrolladas. Cualquiera de las dos aproximaciones, Vista Global o Vista Local, pueden ser v´alidas para establecer correspondencias entre diferentes esquemas. Sin embargo, dada la naturaleza de la informaci´on con la que se trabaja, lo m´as usual es que se utilice mayoritariamente la de Vista Local. La representaci´on de esquemas de BD Difusas en forma de ontolog´ıa puede establecer un marco id´oneo donde cualquier esquema local pue- da establecer la correspondencia con dicho esquema que permite la re- presentaci´on de informaci´on difusa. Dicha representaci´on de esquemas ser´a detallada en los cap´ıtulos siguientes. 2.4. Ontolog´ıas Previas En este apartado se presentan aquellas dos ontolog´ıas en las que est´a basado este trabajo de investigaci´on. A partir de ellas y tal y co- mo marcan las metodolog´ıas de generaci´on de ontolog´ıas (realizando una operaci´on de mezcla y de alineamiento de ontolog´ıas) se formar´a una nueva, objeto de esta tesis. 2.4.1. Ontolog´ıa de Tipos de Datos Los tipos de datos, tambi´en denominados tipos base, tipos primitivos o tipos built-in, han sido descritos por todos los lenguajes de progra- maci´on, o sistemas de representaci´on de datos, que requieren el almace- namiento o manipulaci´on de los mismos. A partir de ellos, se formar´an otros tipos de datos m´as complejos y con mayor capacidad expresiva. Sin embargo si requerimos la representaci´on de los tipos de datos base, en teor´ıa, simplemente tendr´ıamos que irnos a cualquier especificaci´on de lenguaje que los utilizara, y obtendr´ıamos un listado con los nombres que tienen asignados y sus caracter´ısticas principales. El problema viene dado porque cada representaci´on difiere en los tipos de datos que implementa, incluso algunos nombres son diferentes, como es el caso de lenguajes de programaci´on como C o Pascal, o SGBDs como Oracle c o MySQL c . El ANSI SQL hace una distinci´on de los tipos de datos predefinidos, describiendo cada uno de ellos de manera ligada a la representaci´on de datos que se hace en el Modelo Relacional [fSIIT99, fSIIT03]. Pardede et al. [Par05] toma la ultima revisi´on del SQL , el ANSI SQL 2003 (SQL4) y hace una clasificaci´on de los tipos de datos predefinidos tal y como se puede ver en la figura 2.4.
  • 51. 30 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS SQL Data Types Predefined Types String Boolean Numeric Interval DateTime Constructed Type User-Defined Types Exact Approximate Integer Float SmallIntBigInt Real Double Precision Charact.BLOBBIT VaryingFixed CLOB.VaryingFixed T.Stamp.TimeDate CompositeAtomic CollecctionRow MultisetArray StructuredDistinct Ref Figura 2.4: Clasificaci´on de los tipos de datos expresados en SQL4 dada por Pardede [Par05]
  • 52. 2.4. ONTOLOG´IAS PREVIAS 31 Esta clasificaci´on ser´a utilizada en este trabajo de investigaci´on como parte de la ontolog´ıa desarrollada para formar una ontolog´ıa de repre- sentaci´on del conocimiento difuso. 2.4.2. Ontolog´ıa de Descripci´on del SQL2003 Siguiendo con el Modelo de Representaci´on de Datos Relacional, y da- do que el ANSI 2003 [fSIIT03] propone la ´ultima revisi´on del est´andar, Calero et al. en [Cal05, Cal06] propone una ontolog´ıa, que revisa la especi- ficaci´on de este est´andar, utilizando el lenguaje de representaci´on UML y a˜nadiendo las restricciones necesarias que plantea el modelo utilizando el lenguaje de restricciones OCL. El diagrama de clases en UML que se presenta en la figura 2.5 muestra la parte de la ontolog´ıa de Calero et al. [Cal05, Cal06] utilizada en este trabajo de investigaci´on: La ontolog´ıa de Calero et al. [Cal05, Cal06] describe todas las es- tructuras objeto relacionales que presenta el SQL4, aunque no detalla los tipos base predefinidos y sin embargo, si que lo hace con los tipos de datos complejos y el resto de estructuras que representa el Modelo Objeto-Relacional.
  • 53. 32 CAP´ITULO 2. ONTOLOG´IAS Y BASES DE DATOS DIFUSAS SchemaObject objectName : string Table isInsertableInto :bool isReferenceable :bool Column name: string defaultOption :[user, current_user, current_role, session_user, system_user, current_path, <literal>, <date time value>,< implicy typed value>] ordinalPosition :int isUpadatable :bool isSelfReferencing :bool nullabilityCharacteristic :[not nullable, possibly nullable] UniqueColumn ordinalposition :i nteger BaseTable Constraint isDeferrable :Bool initialConstraintMode :[deffered,inmediate] TableConstraint ReferentialConstraint updateRule :[cascade, set_null, set_default, restrict, no_action] deleteRule : [cascade, set_null, set_default, restrict, no_action] matchOption :[mach full, match partial] UniqueConstraint PrimaryKey 1..* has columns * Constraints References References 1..* UniqueColumnList * IdentityColumn startvalue :int increment: int maximunvalue :int minimunvalue :int cycle_option: Boolean 1 1..n GeneratedColumn generation_expression: String 1..n 1..n * DerivedTable query_expression: STring is_updatable : Boolean is_simply_ updatable :boolean View check_option: [cascade, local, none] TypedTable xor SQLSchema name : string Catalog name : string 1 1..n 1 1..n StructuredType (from DataTypes) 1 1..n * selfReprences 1 0..1 DataTypes hasDataType 1 TransientTable UserDefinedType (UserDefinedType , describes inCalero et al. work) Domain default_option: enum Domain_hasTypeOf_DataType defines * 0..1 * xor 0..1 Asertion search_condition:string Domain_Constraint search_condition:string constraints TableCheckConstraint search_condition:string ConstructedType (Constructed Types, describes inCalero et al. work) Predefined (Predefined DATA TYPES) Figura 2.5: Parte de la Ontolog´ıa en UML dada por Calero et al. [Cal06] del SQL4
  • 54. Cap´ıtulo 3 El problema de la Representaci´on de Datos Heterog´eneos en Bases de Datos Difusas. Arquitectura de un SGBDR Multiprop´osito 3.1. Introducci´on En este cap´ıtulo se hace un repaso por las diferentes extensiones al modelo de bases de datos relacional que se han propuesto para repre- sentar informaci´on difusa. Dicho repaso culmina con la descripci´on en profundidad de la extensi´on difusa al modelo de base de datos relacional desarrollado por Medina et al. [Med95], denominado GEFRED. Tambi´en se describen a continuaci´on las extensiones realizadas a GEFRED que permiten manipular estructuras l´ogicas para realizar deducciones por un lado, y operaciones de miner´ıa de datos sobre un SGBD Difuso por otro. Estas tres extensiones al modelo de bases de datos relacional cl´asico, for- man la arquitectura b´asica sobre la que se fundamenta este trabajo de investigaci´on. Cada una de las extensiones descritas presentar´a en primer lugar el modelo te´orico sobre el que est´a basada la arquitectura propuesta. A continuaci´on se presentan los datos que puede representar el modelo y la estructura necesaria para que dichos datos puedan ser representados (ex- tensi´on del cat´alogo del sistema). Y por ´ultimo, la extensi´on al lenguaje 33
  • 55. 34 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO de consulta SQL que permitir´a gestionar la informaci´on almacenada en el SGBD. Es importante destacar que la arquitectura propuesta, FIRST (basa- da en GEFRED, que permite la representaci´on de informaci´on impre- cisa), sirve como base para la implementaci´on de las otras dos arquitec- turas desarrolladas, que incluir´an, entre sus funcionalidades particulares, el manejo de datos difusos. Finalmente, se propone como nueva aportaci´on una ´ultima extensi´on al SGBD que permita la combinaci´on de las tareas de gesti´on de miner´ıa de datos y representaci´on de informaci´on imprecisa y l´ogica (las tres ex- tensiones al SGBD anteriores) a la vez, para aumentar as´ı, el potencial de las consultas. Esta propuesta define la arquitectura de un Servidor Unificado Multiprop´osito que permite resolver consultas complejas sobre una base de datos que soporta todos los tipos de datos descritos anterior- mente. Para ello, extiende la Base de Metaconocimiento de tal forma que sea lo suficientemente gen´erica para permitir la inclusi´on de las nuevas arquitecturas y, por tanto, aumentar la escalabilidad del sistema. Con el Servidor Multiprop´osito propuesto, tratamos de solucionar el proble- ma de incompatibilidades que existen entre las extensiones anteriormente descritas. Adem´as, se presenta un ejemplo de c´omo funcionar´ıa esta pro- puesta, utilizando una consulta compleja, y qu´e ventajas e inconvenientes presenta. 3.2. Representaci´on de Informaci´on Imprecisa en el Modelo Relacional Se han propuesto muchas extensiones al modelo relacional de bases de datos desde que Zadeh ([Zad65]) introdujera el concepto de conjunto difuso, que permiti´o representar datos difusos. Existen en la literatura actual, numerosas recopilaciones donde se resumen las diferentes exten- siones difusas realizadas al modelo relacional, entre las que destacamos los libros de Ma [Ma05, Ma06], y los trabajos de Chen [Che99], Petri [Pet96], Medina et al. [Med94b] o Galindo et al. [Gal06]. 3.2.1. Antecedentes del Modelo Relacional Difuso Para la representaci´on y el tratamiento de informaci´on imprecisa en el ´ambito de las Bases de Datos Relacionales, se han presentado varios modelos a lo largo de estos a˜nos. Entre ellos, destacan:
  • 56. 3.3. EXTENSIONES AL MODELO RELACIONAL 35 Aproximaciones que no emplean la l´ogica difusa, y que se basan en el modelo original de Codd [Cod79, Cod86, Cod87, Cod90]. Aproximaciones que usan distribuciones de posibilidad para repre- sentar la informaci´on difusa a nivel de tuplas, como la de Raju and Majumdar [Raj88]. Este modelo tambi´en se ha denominado Modelo B´asico de Bases de Datos. Aproximaciones que utilizan las relaciones de similitud para repre- sentar la informaci´on difusa, son aquellos desarrollados por Buckles y Petri [Buc82b, Buc82a], Shenoi y Melton [She89] y Rundensteiner et al. [Run89]. Aproximaciones que usan distribuciones de posibilidad para repre- sentar la informaci´on difusa a nivel de atributo. Algunas de estas son las de Prade and Testemale [Pra84b, Pra84a, Pra87b, Pra87a], Umano y Fukami [Fuk79, Uma80, Uma82b, Uma82a, Uma94] o Ze- mankova y Kaendel [Zem84, Zem85]. Aproximaciones mixtas que combinan diferentes t´ecnicas para re- presentar la informaci´on imprecisa y conseguir representar el m´axi- mo de informaci´on posible. Estas aproximaciones se basan en la propuesta de un modelo difuso que combina distribuciones de posi- bilidad y relaciones de similitud a la vez, como la Base de Datos Difusa Extendida Basada en Posibilidad propuesta en Ma et al. [Ma00], Rundensteiner et al. [Run89] y Chen et al. [Che92], o la ex- tensi´on hecha por Medina et al. en [Med94b, Med94a] denominada GEFRED. El Modelo propuesto por Medina et al. en [Med94b, Med94a] se des- cribe con mayor detalle en los apartados siguientes, dado que ha sido utilizado como base de este trabajo de investigaci´on. 3.3. Extensiones al Modelo Relacional para Repre- sentar Informaci´on Imprecisa El modelo GEFRED establece las bases de la representaci´on de datos difusos en el modelo relacional. A partir del mismo, otras extensiones realizadas ya incluir´an la gesti´on de datos difusos como una parte m´as del sistema. Esta f´ormula la utilizan dos extensiones concretas: una que
  • 57. 36 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO permite representar informaci´on l´ogico-deductiva y otra que realiza ope- raciones de miner´ıa de datos (b´usqueda de reglas de asociaci´on, opera- ciones de clustering, etc.) ambas utilizando datos difusos. A continuaci´on se presentan muy brevemente dichas extensiones, pu- di´endose consultar con m´as detalle en el Anexo B o en las fuentes biblio- gr´aficas referenciadas. 3.3.1. Modelo Generalizado para Bases de Datos Relacionales Difusas (GEFRED) El modelo GEFRED de Medina et al. [Med94a, Med94b, Med95] surge como una integraci´on de algunas tendencias (v´eanse trabajos de Prade y Testemale [Pra84b, Pra84a, Pra87b, Pra87a], Umano y Fukami [Fuk79, Uma80, Uma82b, Uma82a, Uma94], Bucles y Petri [Buc82b, Buc82a, Buc84, Buc89], Zemankova y Kaendel [Zem84, Zem85]) para resolver el problema de la representaci´on y consulta de informaci´on imprecisa en el seno del modelo relacional. Dicho modelo define formalmente una Base de Datos Relacional Di- fusa (BDD) a trav´es de las definiciones de los siguientes conceptos: Dominio Difuso Generalizado: se trata de una extensi´on del con- cepto de dominio relacional que ampl´ıa el rango de valores que un atributo puede tomar. Entre algunos de estos valores se encuentran: el valor nulo, el valor no aplicable, el valor desconocido, un conjun- to de asignaciones escalares o num´ericas posibles, distribuciones de posibilidad construidas sobre dominios escalares o num´ericos, etc. Relaci´on Difusa Generalizada: define una relaci´on incluyendo el concepto de Dominio Difuso Generalizado. Comparadores Difusos Generalizados: extienden el concepto de com- parador para incluir las comparaciones entre valores que existen en el Dominio Difuso Generalizado. Operaciones de BBDD: proyecci´on y selecci´on difusa. Las definiciones formales de estos conceptos est´an detalladas en la secci´on B.1.1. Arquitectura FIRST A partir de esta definici´on formal se propone una representaci´on con- creta de la informaci´on imprecisa, la cual se ha denominado FIRST (des-
  • 58. 3.3. EXTENSIONES AL MODELO RELACIONAL 37 crita en detalle en la secci´on B.1.2). Esta representaci´on plantea una estructura de los datos difusos definidos en el Dominio Difuso Generali- zado, discriminando entre datos imprecisos sobre un referencial: Ordenado: para ello se establece un mecanismo para representar las distribuciones de posibilidad utilizando aproximaciones a las mis- mas a trav´es de representaciones trapezoidales (v´ease figura B.1 del Anexo B) y etiquetas ling¨u´ısticas. No ordenado: son datos sobre los que se definir´a una relaci´on de se- mejanza para representar su dominio subyacente. Las distribuciones de posibilidad en este tipo de dato definen asignando un grado de pertenencia de cada valor al conjunto de valores del atributo. La figura B.4 del Anexo B muestra los valores que puede tomar dicha representaci´on. Adem´as se permite representar los valores especiales Null, Unknown y Undefined. Resumiendo, en FIRST se definen expl´ıcitamente tres tipos de atri- butos para representar el Dominio Generalizado Difuso: Tipo Difuso 1: representa datos almacenados de forma precisa que pueden ser consultados de forma imprecisa. Los tipos utilizados son los tipos base propios del SGBDR que se utilice. Tipo Difuso 2: representa datos imprecisos pertenecientes a un do- minio difuso construido sobre un referencial ordenado y que pueden ser consultados de forma imprecisa. Para ello se necesita una re- presentaci´on especial de estos datos, la cual, utiliza estructuras que combinan los tipos de datos base proporcionados por el SGBDR. En la tabla B.1 del Anexo B se muestra la estructura necesaria que han de seguir las representaciones de valores: Null, Undefined, Unknown, etiquetas ling¨u´ısticas, valores intervalares, aproximados o triangulares, trapezoidales o cl´asicos. Tipo Difuso 3: representa datos imprecisos pertenecientes a un do- minio difuso construido sobre un referencial discreto no ordenado, sobre el que se define una relaci´on de similitud y que pueden ser consultados de forma imprecisa. Para ello, se representan las es- tructuras de datos: Null, Undefined, Unknown, valores simples, y distribuciones de posibilidad descritas en detalle en la tabla B.2 del Anexo B.
  • 59. 38 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO Adem´as de la representaci´on de la informaci´on, se llev´o a cabo la implementaci´on de una serie de comparadores difusos para gestionar este tipo de informaci´on y se a˜nadi´o el concepto de Grado de Cumplimiento de una Condici´on o Umbral, para completar la operaci´on de selecci´on. FMB Para poder llevar a cabo la representaci´on de la informaci´on impre- cisa, tal y como describe FIRST, en un SGBDR concreto, se propone la creaci´on de la Base de Metaconocimiento Difuso (FMB). La FMB esta formada por las relaciones donde se incluye toda la informaci´on acerca de la estructura de los dominios y los valores que puede tomar cada atri- buto difuso. Estas relaciones, descritas con detalle en la secci´on B.1.3, se encuentran brevemente descritas a continuaci´on: Fuzzy Col List: contiene los atributos difusos definidos en la BD. Fuzzy Object List: contiene todos los objetos difusos de la BD (por ejemplo, todas las etiquetas definidas en la BDD). Fuzzy Label Def : contiene las distribuciones de posibilidad trape- zoidales asociadas a etiquetas ling¨u´ısticas. Fuzzy Approx Much: contiene los par´ametros usados para la com- paraci´on de valores difusos contenidos en columnas de los Tipos Difusos 1 y 2. Fuzzy Nearness Def : contiene la relaci´on de semejanza entre cada par de valores de un dominio de TD 3. Fuzzy Compatible Col: contiene aquellos Tipo Difuso 3 que com- parten dominio. Fuzzy Qualifiers Def : contiene el umbral m´ınimo de satisfacci´on para cada cualificador definido sobre una etiqueta ling¨u´ıstica. Cada una de estas relaciones contiene una serie de atributos y res- tricciones que determinan su funcionamiento. En la figura B.6 se puede observar el comportamiento de las mismas de modo gr´afico.
  • 60. 3.3. EXTENSIONES AL MODELO RELACIONAL 39 FSQL El lenguaje FSQL (Fuzzy SQL) aparece junto con la arquitectura FIRST, para extender el lenguaje que permite gestionar la informaci´on imprecisa en un SGBD que soporta dicha arquitectura. Este lenguaje incluye las extensiones del DDL y el DML como se describe en el apartado B.1.4. Adem´as en la tabla B.3 se encuentra una referencia a todas las instrucciones extendidas que aporta este lenguaje. Toda la arquitectura FIRST se implement´o en un SGBDR concreto, Oracle c utilizando el lenguaje de programaci´on incrustado PL/SQL, permitiendo as´ı que la definici´on de los operadores y el int´erprete del lenguaje FSQL (Fuzzy SQL) fuera una parte m´as del sistema de repre- sentaci´on de datos. 3.3.2. Representaci´on de Informaci´on L´ogica sobre BDD Las Bases de Datos Relacionales L´ogico Deductivas permiten extraer informaci´on a partir de los datos que se encuentran en una BD cualquiera o representar informaci´on l´ogica. Esta funcionalidad se lleva a cabo a trav´es del uso de relaciones especiales (extensivas e intensivas), reglas l´ogicas y de motores l´ogicos (Prolog, Datalog, etc.) que permiten la de- ducci´on de informaci´on. El tratamiento de la informaci´on difusa en una BD L´ogica requiere, en primer lugar la representaci´on de dicha informaci´on difusa en un SGBD. Para ello que se utiliza GEFRED como modelo de datos difuso. A conti- nuaci´on se extiende GEFRED para representar algunos de los conceptos fundamentales del modelo l´ogico-deductivo, apareciendo as´ı, FREDDI [Pon96, Med97]. Dicha extensi´on, que se encuentra detallada en la secci´on B.2, se describe brevemente a continuaci´on: Relaci´on Extensiva Difusa, es una relaci´on Difusa Generalizada desde el punto de vista del modelo GEFRED (definici´on formal B.7 localizada en la secci´on B.2). Relaci´on Intensiva Difusa, que consta de una cabecera que describe una Relaci´on Difusa Generalizada, pero el cuerpo ser´ıa un conjunto de reglas orientadas a la deducci´on con datos difusos, que permiten el c´alculo de la instancia de la relaci´on (v´ease definici´on B.8). Regla Generalizada con Grado de Acoplamiento, ser´ıa definida para poder generar la instancia de las relaciones intensivas difusas. Su
  • 61. 40 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO definici´on esta descrita en el apartado B.2, y se corresponde con la B.6. Arquitectura FREDDI Extendida Al igual que pasaba en GEFRED con FIRST, FREDDI [Pon96, Med97] se propone como arquitectura donde se unifica el sistema de consulta de- ductivo con el sistema de consulta difuso ambos construidos sobre un SGBDR. FREDDI propone las siguientes estructuras (descritas con m´as detalle en B.2.2) para representar la informaci´on l´ogico-deductiva en un SGBDR: Relaci´on Intensiva: es una relaci´on normal pero su instancia se cal- cula en funci´on de los predicados que intervienen en el cuerpo de reglas cuando se consulta, o bien es una relaci´on temporal constru- ida en el momento de resolver la consulta. Reglas L´ogicas: se representan en funci´on de sus predicados y vari- ables, almacen´andose en orden y con el grado especificado. Motor de Inferencia: ser´a un m´odulo, bien interno al SGBDR (si este lo permite) o bien externo, implementado en un lenguaje de programaci´on l´ogico. Las Relaciones Extensivas carecen de representaci´on especial dado que se corresponder´ıan con las Relaciones Difusas Generalizadas anteri- ormente descritas en FIRST. Base de Metaconocimiento Deductivo. Base de Reglas (RB) La representaci´on de la informaci´on deductiva en una Base de Datos Difusa necesitar´a estar descrita por dos bases de metaconocimiento: FMB, anteriormente descrita, representa la informaci´on difusa. RB o Base de Reglas, proporciona la representaci´on de las relaciones intensivas y las Reglas Generalizadas con Grado de Acoplamiento Difuso. La Base de Reglas est´a compuesta por un conjunto de relaciones que se describen con detalle en la secci´on B.2.3. Sus funciones, atributos, y restricciones se ilustran en la figura B.7 del Anexo B y se listan a continuaci´on de forma muy resumida:
  • 62. 3.3. EXTENSIONES AL MODELO RELACIONAL 41 Intensional Table Description: almacena los predicados intensivos. Rule Description: describe cada una de las reglas como una secuen- cia de predicados extensivos e intensivos y comparaciones concate- nados con el operador de conjunci´on. Predicate Description: describe el orden de las variables en cada uno de los predicados. Comparision Description: describe las condiciones, tipo especial de predicados, que s´olo poseen dos variables y su tipo es uno de los siguientes: =, =, ≤, <, ≥, >, FEQ, FGT, FGEQ, FLT, FLEQ, MGT, MLT, NFEQ, NFGT, NFGEQ, NFLT, NFLEQ, NMGT y NMLT. La arquitectura FREDDI Extendida es la que permite flexibilizar la representaci´on de las reglas difusas y aumentar el n´umero de compara- dores difusos tal y como se ve en la figura B.7del Anexo B. DFSQL Al igual que ocurre con FSQL, el DFSQL (Deductive FSQL) es el lenguaje de consulta extendido que a˜nade a los predicados descritos en FSQL aquellos que permiten realizar operaciones deductivas. Se a˜naden as´ı sentencias de definici´on de datos, como reglas l´ogicas o relaciones in- tensivas, y se modifican sentencias de manipulaci´on de datos como la SE- LECT para realizar consultas deductivas. En la secci´on B.2.4 del Anexo B se puede encontrar un resumen de las mismas y referencias a una in- formaci´on mas detallada de este lenguaje. 3.3.3. Ampliaci´on de GEFRED para la Miner´ıa de Datos Antes de realizar tareas de miner´ıa de datos, se requiere resolver el problema de gestionar informaci´on, cualquiera que sea su forma. Carras- co et al. [Car03a, Car03b] propone la implementaci´on de un modelo de BDRD sobre un SGBDR en el que el tratamiento difuso de la diversi- dad de dominios susceptibles de ser tratados por un sistema de miner´ıa de datos sea resuelto. Para ello se extiende GEFRED, y a continuaci´on la arquitectura o interfaz (FIRST) que permite su representaci´on en el SGBDR. Una vez representada la informaci´on, las operaciones de miner´ıa de datos se describen a trav´es de una nueva extensi´on a la arquitectura que se ha denominado DmFIRST y que ser´a descrita m´as adelante.
  • 63. 42 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO GEFRED* Para la gesti´on de la informaci´on difusa, se utilizar´a la propuesta de GEFRED, sin embargo, dadas las caracter´ısticas del modelo de Miner´ıa de Datos se necesita su redefinici´on para permitir que el concepto de dominio difuso tenga un sentido m´as universal es decir, no restringido a un dominio concreto, y permitir representar tipos de datos complejos (formados por m´as de un atributo cl´asico). Esta redefinici´on, que se ha denominado GEFRED* (v´ease secci´on B.3 del Anexo B para mayor de- talle), viene dada ante la necesidad de realizar tareas de miner´ıa de datos sobre una BDD que requiere operar con tipos de datos m´as complejos que los presentados hasta el momento. Se redefinen entonces los conceptos del modelo te´orico GEFRED (sec- ci´on B.3) para gestionar un nuevo concepto de dominio: el Dominio Difu- so Generalizado Complejo (Definici´on B.11, secci´on B.3). En este dominio se describe c´omo cualquier atributo definido sobre el mismo podr´a tomar cualquier valor simple, excluyente o distribuci´on de posibilidad. Tambi´en se encontraran nuevas definiciones para: Relaci´on Difusa Generalizada Compleja, Definici´on B.12. Comparador Difuso Generalizo Complejo, Definici´on B.14. Proyecci´on Difusa Generalizada Compleja, Definici´on B.15. Selecci´on Difusa Generalizada Compleja, Definici´on B.16. Todas estas, se diferencian de las anteriores descritas en GEFRED en el nuevo dominio sobre el que sus datos son definidos. FIRST* Carrasco et al. [Car03a, Car03b] tambi´en proponen FIRST* como una interfaz que proporciona el acceso a m´ultiples tipos de datos, definidos en el modelo GEFRED*, con el objeto de realizar tareas de miner´ıa de datos sobre un SGBDR. Este interfaz se encuentra descrito en el apartado B.3.2 y extiende el modelo FIRST anteriormente descrito. Entre las extensiones que realiza destaca: La inclusi´on del Tipo Difuso 4 representa a la serie de atributos cl´asicos que determinan un Dominio Difuso Generalizado Comple- jo y por tanto pueden ser consultados de forma imprecisa. Es un
  • 64. 3.3. EXTENSIONES AL MODELO RELACIONAL 43 supertipo, estar´ıa formado por los atributos de datos y si es nece- sario, por los atributos de metadatos (que describen el significado los datos representados en los atributos de datos). Esta arquitectura implementa los Comparadores Difusos General- izados Complejos, los cuales confieren al usuario la posibilidad de definir sus propios comparadores difusos en funci´on del Tipo Difuso 4 definido. No obstante, esta propuesta no excluye el resto de estructuras descri- tas en FIRST, por lo que seguir´an existiendo los Tipos Difusos 1, 2 y 3 y el resto de estructuras anteriormente definidas. FMB* Tal y como ocurr´ıa con la FMB, la FMB* permite describir la in- formaci´on sobre la estructura de los dominios y los valores que puede tomar cualquier elemento descrito en GEFRED*. Dado que GEFRED* extiende GEFRED, en la FMB* se incluyen todas las estructuras que ya formaban parte de la base de Metaconocimiento FMB, a˜nadiendo o modificando aquellas que posibilitan la definici´on y tratamiento del Tipo Difuso 4 (v´ease con m´as detalle en secci´on B.3.3 y en figura B.8). Conc- retamente: Fuzzy Col List: se modifica para contemplar el Tipo Difuso 4. Fuzzy Object List: se modifica para almacenar los objetos relaciona- dos con el Tipo Difuso 4. DmFSQL Col Col: lista de aquellos atributos de la tabla de la base de datos que forman parte de un dominio difuso generalizado com- plejo. DmFSQL Label Definition: contiene informaci´on sobre las etiquetas ling¨u´ısticas definidas para los tipos difusos 4. DMFSQL Functions: define la referencia de las funciones tanto que implementan a los distintos comparadores difusos de los atributos difusos de tipo 4, como las funciones de representaci´on de los mis- mos. DmFSQL Functions Col: contiene la definici´on para cada atributo difuso tipo 4.
  • 65. 44 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO DmFSQL Col Par: contiene la informaci´on de los par´ametros adi- cionales para construir las llamadas a funciones que implica cada tipo difuso 4 respecto a cada comparador. Miner´ıa de Datos en FIRST*: DMFIRST En Carrasco et al. [Car03a, Car03b] tambi´en se propone la implementa- ci´on de una interfaz que permita utilizar FIRST* como base a la apli- caci´on de distintas t´ecnicas de Miner´ıa de Datos en el marco del modelo de BDRD ya implementado. Esta interfaz se denomina DMFIRST y per- mite realizar las operaciones de clustering, caracterizaci´on, clasificaci´on difusa y b´usqueda de dependencias difusas entre atributos (para m´as detalle v´ease secci´on B.3.4). DMFMB Dado que las operaciones de miner´ıa de datos sobre una BDR son com- plejas se propone definir un nuevo objeto denominado proyecto en el cual se proporcionen los par´ametros necesarios para realizar una operaci´on de estas caracter´ısticas (desde condiciones iniciales, resultados interme- dios, y finales). Este nuevo elemento estar´a descrito en la Base de Meta- conocimiento Difuso para la Miner´ıa de Datos, denominada DMFMB (descrita en detalle en la secci´on B.3.5) y engloba las siguientes rela- ciones (v´ease figura B.9): DmFSQL Project: contiene la informaci´on general sobre los proyec- tos de Miner´ıa de Datos. DmFSQL Col List: contiene la informaci´on sobre las distintas colum- nas requeridas en el proceso de Miner´ıa de datos. DMFSQL Para poder realizar tareas de miner´ıa de datos sobre este sistema, se ha extendido el FSQL con un conjunto de sentencias de definici´on de datos, para crear proyectos de MD (Miner´ıa de Datos), y modificado sentencias de manipulaci´on de datos para lanzar consultas de MD. Esta extensi´on del lenguaje se ha denominado DMFSQL (Data Mining FSQL) y se encuentra descrita en la secci´on B.3.6.
  • 66. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 45 3.4. Unificaci´on de las Arquitecturas 3.4.1. Visi´on General del Problema de Unificaci´on Como se expuso en el apartado anterior, se encuentran desarrolladas tres arquitecturas de bases de datos que permiten gestionar datos y rea- lizar operaciones de muy diversa ´ındole. Resumiendo estas arquitecturas son: FIRST, que implementa un SBD que permite almacenar imprecisi´on en la informaci´on, FREDDI*, extiende el SGBD para almacenar datos para realizar deducciones a partir de la definici´on de reglas l´ogicas, que tambi´en pueden ser difusas, y FIRST* y DMFIRST que mediante un nuevo tipo de datos, permite la realizaci´on de ciertas operaciones de DM dentro de un SGBD. N´otese que a partir del desarrollo de la arquitectura FIRST, fueron desarrolladas las otras dos, aunque siempre desde el punto de vista de cubrir las necesidades que se requer´ıan para la puesta en funcionamiento de cada sistema en particular. De esta forma se dio lugar a soluciones “ad hoc” que nada ten´ıan que ver entre si, excepto por el hecho de que todas trabajaban con informaci´on imprecisa, y que podr´ıan reutilizar y compartir la funcionalidad que proporcionaba la arquitectura FIRST. No obstante, una vez en funcionamiento todas estas arquitecturas independientes sobre un mismo SGBD, se nos plantean las siguientes preguntas: ¿son compatibles los datos que utilizan las diferentes arquitecturas dado que se apoyan sobre la misma implementaci´on que permite la gesti´on de informaci´on imprecisa?, ¿se pueden utilizar reglas l´ogicas para almacenar cualquiera de los procesos de miner´ıa de datos gestionados en DMFSQL?, ¿Una relaci´on intensiva podr´ıa ser consultada por un proceso de miner´ıa de datos?.
  • 67. 46 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO Como respuesta a estas preguntas, se retoma la reflexi´on de que cada arquitectura fue desarrollada sin tener en cuenta nada m´as que aquello que fuera necesario para resolver los objetivos espec´ıficos del problema, con lo que se deduce que no existe ning´un mecanismo para la combinaci´on de las mismas. Esto es, las operaciones y estructuras definidas por DFSQL son incompatibles con las definidas en DMFSQL. En este apartado se plantea la infraestructura de un servidor unifi- cado que integra las caracter´ısticas de las arquitecturas anteriormente definidas y que permite combinar sus funcionalidades. Para ello, se estu- dia la viabilidad de la puesta en marcha de dicha unificaci´on, planteando las ventajas e inconvenientes en el desarrollo del sistema [Bla04, Bla05a]. 3.4.2. Sistema Actual En la Figura 3.1 se muestra la arquitectura del sistema actual donde coexisten en un mismo SGBD las tres arquitecturas anteriormente ex- puestas. Como se puede observar, hay una interfaz de usuario por cada uno de los clientes que puede relacionarse con el sistema: El Cliente SQL es el cliente por defecto del SGBD. Accede directa- mente al Ejecutor de Consultas del SGBD para obtener la respuesta. El Cliente FSQL es aquel que permite realizar consultas flexibles al sistema, usando datos cl´asicos o difusos. Accede a la arquitectura FSQL. El Cliente DFSQL, permite consultar al sistema utilizando estruc- turas l´ogicas. Accede a los motores deductivos implementados para hacer inferencias y permite combinar aspectos l´ogicos con estruc- turas difusas y cl´asicas. El Cliente DmFSQL permite realizar operaciones de miner´ıa de datos, difusas o no, definiendo nuevos tipos de datos y extendiendo el FSQL anterior. Cada interfaz esta conectada con su correspondiente arquitectura. Las arquitecturas comparten el mismo analizador l´exico y sint´actico, pero no sem´antico. El motivo es que la extensi´on del analizador l´exico es muy simple, puesto que consiste en a˜nadir a la lista de tokens permitidos los
  • 68. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 47 necesarios para reconocer los nuevos comandos. El analizador sem´antico por el contrario, depender´a del significado de cada expresi´on y por tanto su an´alisis ser´a realizado de forma particular en cada una de las arquitec- turas. Cada m´odulo se encargar´a de traducir la consulta en una o varias sentencias en SQL. El acceso a la Base de Datos es com´un y se realiza a trav´es del Ejecutor de Consultas. ANALIZADOR LÉXICO FSQL DFSQL DmSQL ANALIZADOR SINTÁCTICO EJECUTORDE SQL ANALIZADOR SEMÁNTICO ** BASE DE DATOS MB ANALIZADOR SEMÁNTICO * ANALIZADOR SEMÁNTICO RDBMS CLIENTE DFSQL CLIENTE DmFSQL CLIENTE SQL CLIENTE FSQL Figura 3.1: Arquitectura de los Servidores Independientes 3.4.3. Arquitectura de un Servidor Multiprop´osito Unificado El problema surge cuando se pretenden combinar las distintas tareas que hace cada arquitectura por separado. As´ı pues, por ejemplo, si en alg´un momento se quisiera tener almacenada en la base de reglas una que nos mostrase el resultado de haber calculado una dependencia funcional difusa sobre una relaci´on, habr´ıa que introducirla a mano, y a´un as´ı, su existencia en el sistema nos resultar´ıa extremadamente in´util, dado que no existen operaciones para explotar esta funcionalidad. Es necesario plantearse c´omo extender los diferentes servidores ya
  • 69. 48 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO implementados para permitir la combinaci´on de operaciones entre s´ı y una gesti´on de datos conjunta. Adem´as, el sistema deber´a mantenerse lo suficientemente estructurado para que la incorporaci´on de nuevas ope- raciones (como puedan ser nuevas tareas de miner´ıa de datos, gesti´on de nuevos tipos de datos como por ejemplo el tiempo, etc.) sea senci- lla o cuando menos, posible. Es decir, se plantea un nuevo trabajo de ingenier´ıa inversa, consistente en redefinir y aunar cada una de las ar- quitecturas planteadas, dejando las definiciones de datos, y operaciones abiertas a nuevas incorporaciones, generando as´ı un ´unico sistema esca- lable y completo. De esta forma, y utilizando las arquitecturas anteriormente descritas, se propone la infraestructura de un servidor unificado que integra las fun- cionalidades de cada una de las arquitecturas permitiendo combinarlas entre s´ı (v´ease [Bla04, Bla05a]). Esta integraci´on es capaz de procesar diferentes tipos de consultas en una misma sentencia. Por ejemplo con- sultas que permitan deducir con datos difusos y utilizando resultados de un proceso de miner´ıa de datos. A continuaci´on se describen los cambios que permitir´an la unificaci´on del sistema: Combinaci´on y extensi´on de las diferentes Bases de Metaconocimien- to. Arquitectura unificada que especifica la secuencia de procesamiento de una consulta. Se genera un servidor creado espec´ıficamente para decidir los m´odulos implicados en dicha ejecuci´on y el orden de participaci´on de los mismos. 3.4.3.1. Base de Metaconocimiento (MB) Se ha denominado Base de Metaconocimiento (MB) al conjunto de relaciones del cat´alogo que almacenan la definici´on de los objetos, tipos de datos, etiquetas, dominios, etc. utilizados por las diferentes arquitecturas y por el servidor unificado. Est´a formada por los siguientes subcat´alogos: FMB: representa tipos de datos difusos, dominios difusos, etiquetas difusas, etc. RB: almacena predicados intensivos y su definici´on descrita median- te reglas l´ogicas.
  • 70. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 49 FMB*: define un nuevo tipo de datos capaz de representar texto, XML, objetos, relaciones, etc. y las operaciones que pueden ser aplicadas a este nuevo tipo de datos. DMFMB: almacena informaci´on acerca de las operaciones de clus- tering, clasificaci´on, y b´usqueda de dependencias funcionales sobre datos cl´asicos o difusos. Sobre esta nueva estructura relacional se hace necesaria una exten- si´on, dado que las relaciones del cat´alogo de cada arquitectura son invisi- bles entre s´ı, particularidad que elimina cualquier posibilidad de realizar operaciones conjuntas. En las figuras 3.2 y 3.3 y en [Bla04, Bla05a] se muestra como se rela- cionan las diferentes estructuras del cat´alogo a partir de la definici´on de dos nuevas relaciones. Las dos nuevas relaciones permitir´an la comparti- ci´on de informaci´on entre las arquitecturas, y su descripci´on se detalla a continuaci´on: FUZZY_QUALIFIERS_DEF FUZZY_COL_LIST FUZZY_OBJECT_LIST DED_INTENSIONAL_CATALOG DED_RULE_DESCRIPTION DED_COMPARISION_DESCRIPTION DED_PREDICATE_DESCRIPTION DED_LINK_VALUE_SET DED_STACK_INDEX DED_STACK_TYPES DED_INT_TABLE_DESCRIPTION ALL_OBJECTS ALL_TAB_COLUMNS DMFSQL_COL_COL DMFSQL_LOG DMFSQL_LABEL_DEFINITION DMFSQL_FUNCTIONS_COL DMFSQL_COL_PAR DMFSQL_FUNCTIONS DMFSQL_PROYECTDMFSQL_COL_LIST EXTENDED_TAB_COLUMNS EXTENDED_TABLES Catálogo del Sistema Catálogo Extendido FMB Base de Reglas FMB* DMFMB Base de Metaconocimiento FUZZY_APROX_MUCH FUZZY_COMPATIBLE_ COL FUZZY_LABEL_DEF FUZZY_NEARNESS_DEF Figura 3.2: Base de Metaconocimiento (MB)
  • 71. 50 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO Extended Tables: almacena las relaciones (cl´asicas o extendidas) de- finidas en la base de datos que pueden ser usadas en consultas di- fusas, deductivas o de miner´ıa de datos. Aquellas relaciones almace- nadas en All Objects1 (solo aquellas que hagan referencia a tablas) est´an incluidas en esta relaci´on (conexi´on (5) de la figura 3.3). De esta forma, esta relaci´on es una especializaci´on de All Objects dado que todas las relaciones incluidas en ella tienen alguna caracter´ısti- ca especial de las mencionadas previamente. La tabla 3.1 muestra los atributos de esta relaci´on y los valores que puede tomar. OBJ# representa el identificador de la tabla, TYPE indica si la tabla es in- tensiva (no contiene datos) o extensiva y Orig da informaci´on acerca del tipo de datos que dicha tabla contiene o a partir de donde se ha formado. Tabla 3.1: Relaci´on Extended Tables OBJ# Type Orig 0 (Extensiva) 0 (Datos Cl´asicos) 1 (Intensiva) 1 (Datos Difusos) 2 (Descripci´on de la Regla) 3 (Datos de DM) 4 (Descripciones de DM) Extended Tab Columns: proporciona informaci´on acerca de todos los atributos (tanto cl´asicos como extendidos) a los que puede ac- ceder el usuario. Esto incluye algunos atributos almacenados en All Tab Columns2 (conexi´on (1) de la figura 3.3) y una descripci´on de ´estas. Como en la relaci´on anterior, Extended Tab Columns es una especializaci´on de All Tab Columns puesto que las tuplas que esta relaci´on puede referenciar pueden ser atributos difusos descritos en FIRST, atributos intensivos descritos en FREDDI, atributos usa- dos en procesos de miner´ıa de datos, o atributos que pueden alma- cenar informaci´on temporal o resultados de procesos de miner´ıa de 1 Tabla que hace referencia a todas las tablas del sistema. Esta notaci´on corresponde ´unicamente a la tabla del cat´alogo del SGBD de Oracle c para acceder a todos los objetos del sistema. Otros SGBDs utilizan otros nombres para referenciar esta tabla. 2 Tabla que hace referencia a todas las columnas del sistema. Esta notaci´on corresponde ´unicamente a la tabla del cat´alogo del SGBD de Oracle c para acceder a todas las columnas del sistema. Otros SGBDs utilizan otros nombres para referenciar esta tabla.
  • 72. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 51 datos. El atributo TYPE de esta relaci´on (v´ease tabla 3.2) almace- na el tipo de datos que el atributo referenciado puede contener: una regla, un dato difuso, etc., mientras que OBJ# y COL# identifican de forma ´unica el atributo en el SGBD. Tabla 3.2: Relaci´on Extended Tab Columns OBJ# COL# Type 0 (Columna Difusa) 1 (Columna L´ogica) 2 (Columna de DM) Como ya se ha comentado, estas nuevas relaciones se corresponden con las relaciones especificas del cat´alogo del sistema SGBD utilizadas para contener informaci´on acerca de todas las columnas y tablas definidas en la base de datos. En esta propuesta las vistas espec´ıficas del SGBDR: All Tab Columns y All Objects de Oracle c , han sido usadas a modo de ejemplo para referenciar a los contenidos de tablas y atributos de los SGBDs. Las conexiones establecidas entre las diferentes arquitecturas y estas dos nuevas relaciones (mostradas en la figura 3.3) son: EXTENDED_ TAB_COLUMNS EXTENDED_ TABLES FMB RB DMFMBFMB* ALL_TAB_ COLUMNS ALL_ OBJECTS 1 2 3 4 5 67 8 Figura 3.3: Base de Metaconocimiento (MB) con las tablas del cat´alogo de Oracle c
  • 73. 52 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO Las conexiones 2 y 8 permiten que se relacionen el FMB y el FMB* con Extended Tab Columns ya que ´estas ampl´ıan las definiciones de atributos y sus dominios. La conexi´on 4 permite que la RB se relacione con Extended Tables ya que FREDDI incorpora nuevas relaciones al sistema. La conexi´on 3 relaciona RB con Extended Tab Columns porque esta extensi´on debe disponer de atributos a partir de otras relaciones. La conexi´on 7 permite que DMFMB se relacione con Extended Tab- Columns porque las operaciones de miner´ıa de datos se aplican sobre cualquier tipo de atributos. La conexi´on 6 permite que DMFMB se relacione con Extended Tables porque los resultados de sus operaciones tienen que ser almacenadas como nuevas relaciones en la base de datos. La inclusi´on de estas tablas har´a el sistema escalable en la forma en que permiten una sencilla extensi´on de la Base de Metaconocimiento (MB). 3.4.3.2. Arquitectura del Servidor Multiprop´osito Unificado En la figura 3.4 se muestra una propuesta de arquitectura unificada que permite que todo el flujo de informaci´on pase a trav´es de un ´unico cliente. El cliente se encarga de recoger todas las consultas por parte del usuario y enviarlas a un servidor unificado de consultas que ser´a capaz de identificar el tipo de relaciones implicadas en cada una. El servidor se encarga de analizar la consulta envi´andola al m´odulo correspondiente para obtener la soluci´on. Una vez que la consulta ha sido analizada, el servidor controlar´a la ejecuci´on de todos los m´odulos que permitan traducir las partes de las que est´e compuesta la consulta, e integrar´a sus respuestas. Adem´as habr´a otro modulo dentro del servidor, el Planificador de Estrategias de Consulta, que planificar´a el orden en el que las consultas deber´an ser ejecutadas de forma que aumente la eficiencia del servidor. La estrategia seguida por este planificador consiste en analizar la consul- ta compleja (consulta que implica diferentes m´odulos para su resoluci´on) y determinar el orden de ejecuci´on de cada una de las subconsultas in- cluidas en la sentencia compleja.
  • 74. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 53 ANALIZADOR LÉXICO FSQL DFSQL DmSQL ANALIZADOR SINTÁCTICO EJECUTORDE SQL ANALIZADOR SEMÁNTICO ** BASE DE DATOS ANALIZADOR SEMÁNTICO * ANALIZADOR SEMÁNTICO RDBMS CLIENTE SERVIDOR MB PLANIFICADOR DEESTRATEGIAS DECONSULTAS Figura 3.4: Servidor Multiprop´osito Las modificaciones propuestas por esta arquitectura est´an se˜naladas en la figura 3.4 con l´ıneas discontinuas. El proceso de resoluci´on de una consulta puede resumirse de la siguiente manera: 1. El cliente env´ıa la consulta al servidor. 2. La consulta se analiza por el servidor utilizando los analizadores l´exicos y sint´acticos para determinar los m´odulos implicados en su resoluci´on. 3. La sentencia se divide, si es necesario, y enviada al m´odulo corres-
  • 75. 54 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO pondiente. El Planificador de Estrategias de Consulta planifica la ejecuci´on de las diferentes subconsultas). 4. Cada modulo analiza sem´anticamente su parte asignada de la con- sulta y la traduce a una sentencia en SQL. 5. La parte procesada de la consulta original se devuelve al servidor que integra todas las traducciones proporcionas por cada uno de los m´odulos implicados construyendo as´ı una ´unica consulta en SQL que ser´a enviada al Ejecutor de consultas SQL, y 6. El servidor formatea el conjunto de tuplas resultantes proporcionadas por el Ejecutor de consultas SQL antes de enviarlas al Cliente. Como se muestra en la figura 3.4, tanto el servidor como todos los m´odulos integrados en la arquitectura necesitan consultar la MB. 3.4.4. Ejemplo de Resoluci´on de una Consulta Compleja La integraci´on de las arquitecturas previamente descritas permite la combinaci´on de diferentes tipos de consultas y el almacenamiento de los resultados de las mismas en forma de relaciones, reglas l´ogicas, datos calculados, etc. que cualquier otro proceso podr´ıa usar con posterioridad. Este apartado muestra c´omo puede relacionarse una operaci´on de miner´ıa de datos con la gesti´on de reglas l´ogicas difusas. En concreto, este ejemplo muestra c´omo una dependencia funcional difusa encontrada mediante un proceso de miner´ıa de datos, puede generar una Regla Ge- neralizada Difusa con Grado de Acoplamiento y almacenarla en la base de datos. Dado que se dispone de una Base de Datos Difusos de Suelos des- crita en el Anexo C, utilizada a lo largo de este trabajo de tesis para ejemplificar todas las aportaciones realizadas en el mismo, incluyendo esta primera de unificaci´on de servidores, se plantea el hecho de bus- car, si existe, alguna relaci´on entre los datos que componen esta BDD. En principio se va a tratar de buscar la existencia de dos dependencias funcionales difusas: La primera dependencia funcional tratar´a de describir si hay alg´un tipo de relaci´on entre la Precipitaci´on Media que tiene el emplazamiento del terreno particular y la temperatura media que registra dicho emplaza- miento. Ambas caracter´ısticas que se encuentran descritas en la tabla C.2 Anexo C son difusas, la Precipitaci´on Media y la Temperatura Media
  • 76. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 55 son atributos de car´acter difuso pero basado en un referencial num´eri- co ordenado (Tipos Difusos 2). Los valores de su dominio son etiquetas ling¨u´ısticas descritas en el Anexo C, tablas C.8 y C.9. La segunda dependencia trata de descubrir si entre la vegetaci´on que caracteriza un suelo y el tipo de estructura que tenga dicho suelo existe una relaci´on. Esta b´usqueda versar´a sobre datos localizados en la tabla C.3. Los atributos Vegetaci´on y Tipo de Estructura, a partir de ahora tipo est, son campos de Tipo Difuso 3 descritos a trav´es de las relaciones de similitud establecidas entre sus valores de dominio que podemos en- contrar en las tablas C.27, y C.38 y C.39 respectivamente. Para la b´usqueda de las Dependencias Funcionales Difusas (DFD) planteadas se ve necesaria la utilizaci´on de t´ecnicas de miner´ıa de datos que permitan analizar las relaciones Localizaci´on y Estructura(tablas C.2 y C.3), concretamente los atributos Tmedia y Pmedia, por un lado y Vegetaci´on y Tipo de Estructura por otro. Una vez conocido si se cumplen dichas hip´otesis, esto es, la existencia de las DFD que estamos buscando, ´estas podr´an ser almacenadas en la base de datos como reglas l´ogicas con grado de acoplamiento de forma que el conocimiento extra´ıdo no se pierda sino que se almacene y vaya verific´andose con las nuevas inserciones sin necesidad de ser recalculado. Para buscar la DFD en primer lugar es necesario tener la informaci´on almacenada en la base de datos y m´as espec´ıficamente, dado el caso que nos ocupa, conocer c´omo esta informaci´on esta almacenada en la Base de Metaconocimiento (MB) anteriormente descrita. La figura 3.5 muestra, de manera resumida, la sucesi´on de acciones en cuanto a creaci´on de tablas o inserci´on de tuplas en la MB para que sea posible la ejecuci´on de la consulta compleja que se ha planteado. La relaci´on Localizaci´on mostrada en la tabla C.2 ha sido almacenada en la base de datos utilizando la estructura especial para los datos difusos (descrita en la tablas B.1 y B.2 del Anexo B). Dicha representaci´on al- macenada en la base de metaconocimiento se encuentra descrita en la tabla 3.3. Adem´as de la relaci´on y las tuplas en la base de datos, debe haber constancia de la estructura de la informaci´on difusa que se halla en el sistema. Las fases 2 a 6 de la figura 3.5 muestran todas las relaciones implicadas en el almacenamiento de esta informaci´on en la FMB. El atributo F TYPE de la tabla Fuzzy Col List (tabla 3.8) especifica el tipo de dato difuso del atributo almacenado, concretamente: PMedia y TMedia son Tipos de Datos Difuso 2 mientras que Vegetaci´on y Tipo es
  • 77. 56 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO Latitud Longitud Pmedia Tmedia 41045 5478 baja alta 41135 5598 baja alta 40883 4649 media media 41082 4657 alta baja 4103 5705 baja alta ... ..... ... .... 1º Se crea Relación Localización 2º. Se definen Atributos Difusos en Fuzzy_Col_List 3º. Se definen valores en Fuzzy_Object_List 4º. Se definen las etiquetas en Fuzzy_Label_ Def 5º. Se definen Relaciones de Similituden Fuzzy_Nearness_Def 6º. Se definen dominiode PMedia y TMedia Fuzzy_Aprox_Much 7º Se define la relación difusa en Extended_Tab_Column FMB MB Extendida 9º Se define el proyecto de DM en DmFsql _Project 10º Se define losparámetros del proceso de DM en DmFsql_Col_List Se lanzaconsulta SELECT MINING FGLOBAL_DEPENDENCIES yse obtiene regla DFD1(Pmedia,Tmedia ):-Localizacion (X,Y)y (X=0.6 Pmedia )y(Y= 0.7 Tmedia ) DmFMB 13º. Se describe la reglaen Ded_Rule_Description 12º. Se define tabla intensiva Ded_Int_Table_Description 11º Se define la reglaen Ded_Intensional_Catalog 15º. Se describe lasconexiones Ded_Condition_Description 14º. Se definen lospredicados en Ded_Predicate_Description 8º Se define la relación difusa en Extended_Tables 16º Se define la relación intensiva en Extended_Tables DFMB MB Extendida Figura 3.5: Resumen de las acciones ocurridas en la MB en una consulta compleja. Ejemplo DFD1 es un Tipo de Datos Difuso 3. La relaci´on de similitud entre los valores de Vegetaci´on y Tipo es est´an almacenados en la Base de Metaconocimiento en la relaci´on Fuzzy Nearness Def (descripci´on en tabla 3.6). Las etiquetas ling¨u´ısticas utilizadas, como la calificaci´on Alta, o Ba-
  • 78. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 57 ja est´an descritas en la relaci´on Fuzzy Label Def (descripci´on en tabla 3.7) de la MB. La relaci´on Fuzzy Object List (descripci´on en tabla 3.5) almacena las etiquetas utilizadas en el atributo Vegetaci´on y Tipo es y todas las etiquetas que pueden usarse para describir el valor del atributo PMedia y TMedia. Adem´as, esta tabla establece un identificador ´unico para cada etiqueta, evitando as´ı cualquier confusi´on. Todas las relaciones mostradas anteriormente est´an referidas ´unica- mente a la parte de representaci´on de informaci´on difusa, correspondiente al m´odulo FMB de la MB. Sin embargo, estos datos deber´an ser defini- dos en las nuevas relaciones de la arquitectura unificada para que puedan ser visibles a todos los sistemas incluidos en el SGBD. De esta forma la relaci´on Localizaci´on y Estructura y los atributos que la componen ser´an definidos tambi´en en las tablas Extended Tables y Extended Tab Columns de la MB, correspondientes a los pasos 7 y 8 de la figura 3.5. La relaci´on Extended Tab Columns (descripci´on detallada en la tabla 3.10) contiene una referencia a todos los atributos usados difusos en este ejemplo y al tipo de datos que representan (datos difusos). La relaci´on Extend- ed Tables (detalle en tabla 3.11) mantiene una descripci´on de las rela- ciones usadas en el ejemplo: hasta ahora ´unicamente las tablas extensivas reci´en definidas, Localizaci´on y Estructura. Los signos ’-’ de la tabla 3.11 simbolizan que el valor no es relevante en la relaci´on y por tanto no se necesita rellenar este campo. Una vez definida la estructura sobre la que se va a operar, se puede iniciar el proceso de definici´on de datos para llevar a cabo una operaci´on de DM. Un nuevo proyecto de DM debe definirse sobre la base de datos (especificaci´on m´as detallada en el apartado B.3.2). Este proyecto gene- ra un conjunto de nuevas tuplas en las relaciones correspondientes a la DMFMB de la MB (pasos 9 y 10 de la figura 3.5). La sentencia que per- mite definir este proyecto tiene la siguiente forma (v´ease referencia a la sintaxis completa en [Car03a, Car03b]): CREATE_MINING PROJECT Localizacion_PRJ ON TABLE Localizacion WITH COLUMNS FOR FGLOBAL_DEPENDENCIES ’(’ { ANTECEDENT Pmedia FCOMP_GLOBAL_DEPENDENCIES FEQ THOLD_ANT 0.6 CONSEQUENT Tmedia FCOMP_GLOBAL_DEPENDENCIES FEQ THOLD_CON 0.7}
  • 79. 58 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO donde Localizacion PRJ es el identificador del proyecto de DM, que mantiene toda la informaci´on necesaria para llevar a cabo el proceso de DM, como par´ametros, tablas temporales, etc. En concreto el proceso de b´usqueda de dependencias funcionales difusas necesita conocer el tipo de dependencias difusas que se han de buscar, el grado de acoplamiento de cada atributo, etc. La definici´on del proyecto es el primer paso para comenzar el proceso de DM. La estructura para definir el proyecto en la DmFMB est´a descrita con detalle en las tablas 3.12 y 3.13. La tabla 3.12 almacena una especificaci´on general acerca de la dependencia funcional difusa propuesta y la tabla 3.13 almacena informaci´on acerca de cada una de las columnas que forman parte del proceso de b´usqueda. La dependencia funcional difusa buscada se ha denominado DFD1 y se describe con la siguiente expresi´on: 0.6 - 0.7 DFD1 PMedia FEQ∗FEQ −→ Tmedia with confidence c and support s El objetivo de esta dependencia funcional consiste, obviamente, en encontrar si la presi´on en la localizaci´on de un suelo influye en la tem- peratura media, donde el grado de acoplamiento para Pmedia es de 0.6 y para Tmedia 0.7. La siguiente sentencia DML permite ejecutar en en servidor de miner´ıa de datos la b´usqueda de la DFD planteada: SELECT_MINING FGLOBAL_DEPENDENCIES Localizacion_PRJ USING T_NORM THOLD_ANT_CON Esta consulta estar´a formada, en ultima instancia, por un conjunto de sentencias en FSQL que tendr´an una estructura similar a la de la siguiente (que se corresponde a la ´ultima sentencia que permite ejecutar esta operaci´on): SELECT COUNT(*) FROM Localizacion A1, Localizacion A2 WHERE(A1.NAME<>A2.NAME) AND (A1.Pmedia FEQ A2.Pmedia THOLD 0.6) AND NOT (A1.Tmedia NFEQ A2.Tmedia THOLD 0.7) El soporte y la confianza de la DDF se han calculado con una sentencia similar a la anterior, contando el n´umero de apariciones del antecedente y consecuente. Si el soporte y la confianza son lo suficientemente altos,
  • 80. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 59 entonces la DFD ser´a aceptada y autom´aticamente almacenada en la base de datos como una regla l´ogica. En cambio, si el soporte o la confianza no son lo suficientemente buenos, entonces o bien la dependencia funcional difusa se rechaza o bien se disminuyen los umbrales de cumplimiento. En el caso en que si se acepte la dependencia, la estructura de la regla l´ogica ser´ıa la siguiente: DFD1(Pmedia,Tmedia) :- Localizacion(X,Y) ∧ (X =0,6 Pmedia)∧ (Y =0,7 Tmedia) Una vez conocida la estructura de la regla, se procede a su almace- namiento en la base de datos. esto se lleva a cabo a trav´es de su definici´on en la RB de MB (pasos del 11 al 15 de la figura 3.5). La sentencia en DFSQL que permite generar esta regla es (v´ease referencia a la sintaxis completa en [Bla01, Bla00b]): CREATE INTENSIONAL TABLE DFD1 (Pmedia FTYPE2 (2,3) NUMBER (3,2) Tmedia FTYPE3 ); CREATE RULE FOR DFD1 (Pmedia, Tmedia) AS Localizacion (X SOURCE Pmedia, Y SOURCE Tmedia) AND ( X FEQ Pmedia THOLD 0.6) AND (Y FEQ Tmedia THOLD 0.7) donde Create Intensional Table inserta una nueva tupla en la tabla 3.14 y crea una nueva relaci´on DFD1 en la base de datos, por supuesto, sin tuplas ya que se trata de una relaci´on intensiva. Este proceso tambi´en incluir´ıa la inserci´on de una tupla en la tabla 3.11 especificando que el tipo de relaci´on almacenada es intensiva (Tab type = 1) (paso 16 de la figura 3.5). La sentencia Create Rule almacena la estructura de la regla en las relaciones de la RB: 3.15, 3.16, 3.17 y 3.18. Estas cuatro relaciones permiten describir ´ıntegramente la estructura de una Regla Generalizada Difusa con Grado de Acoplamiento: los predicados y variables que la conforman, tal y como se puede ver en la secci´on B.2. Una vez que la regla se ha definido en la base de datos, cada nueva inserci´on de una tupla en la tabla Localizacion provocar´a que el sis- tema compruebe si dicha tupla cumple o no la regla DFD1, es decir, si
  • 81. 60 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO sobrepasa el umbral establecido para cada atributo (antecedente y con- secuente). Si lo cumple la nueva tupla validar´a la regla y ser´a insertada en la BD incrementando la confianza y soporte de la regla. Latitud Longitud Pmedia Tmedia 41045 5478 baja alta 41135 5598 baja alta 40883 4649 media media 41082 4657 alta baja 4103 5705 baja alta ... ..... ... .... 1º Se crea Relación Localización 2º. Se definen Atributos Difusos en Fuzzy_Col_List 3º. Se definen valores en Fuzzy_Object_List 4º. Se definen las etiquetas en Fuzzy_Label_ Def 5º. Se definen Relaciones de Similituden Fuzzy_Nearness_Def 6º. Se definen dominiode PMedia y TMedia Fuzzy_Aprox_Much 7º Se define la relación difusa en Extended_Tab_Column FMB MB Extendida 9º Se define el proyecto de DM en DmFsql _Project 10º Se define losparámetros del proceso de DM en DmFsql_Col_List Se lanzaconsulta SELECT MINING FGLOBAL_DEPENDENCIES yse obtiene regla DFD1(Pmedia,Tmedia ):-Localizacion (X,Y)y (X=0.6 Pmedia )y(Y= 0.7 Tmedia ) DmFMB 13º. Se describe la reglaen Ded_Rule_Description 12º. Se define tabla intensiva Ded_Int_Table_Description 11º Se define la reglaen Ded_Intensional_Catalog 15º. Se describe lasconexiones Ded_Condition_Description 14º. Se definen lospredicados en Ded_Predicate_Description 8º Se define la relación difusa en Extended_Tables 16º Se define la relación intensiva en Extended_Tables DFMB MB Extendida Figura 3.6: Resumen de las acciones ocurridas en la MB en una consulta compleja. Ejemplo DFD2 La misma secuencia de operaciones se ha de seguir para calcular la
  • 82. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 61 segunda dependencia funcional difusa planteada, que podemos ver en la figura 3.6. En las tablas de la MB descritas, se encuentra especificada cada una de las entradas correspondientes a la creaci´on de dicha dependencia, denominada DFD2. Este ejemplo demuestra que una vez unificada la base de datos, las operaciones de cada extensi´on pueden ser combinadas, haci´endola as´ı mas operativa. Al igual que ocurre con este ejemplo otro tipo de operaciones pueden realizarse combinando las funcionalidades de los sistemas inte- grados. En el apartado siguiente se resumen brevemente las operaciones que se pueden realizar sobre esta nueva arquitectura. 3.4.5. Ventajas e Inconvenientes del Servidor Unificado Una vez dise˜nada la arquitectura unificada aparecen un buen n´umero de nuevas funcionalidades en el sistema. En general las ventajas del sis- tema son las siguientes: El incremento del n´umero de operaciones y tipos de datos que un RDBMS difuso (FRDBMS) puede gestionar. Estas operaciones in- cluyen: • Realizar deducciones sobre estructuras resultantes de un pro- ceso de miner´ıa de datos. • Realizar operaciones de miner´ıa de datos sobre estructuras l´ogi- cas (como relaciones intensivas). • Almacenar resultados de operaciones de miner´ıa de datos uti- lizando estructuras l´ogicas. La conversi´on de esta arquitectura en una m´as escalable, para que el sistema pueda incrementar el n´umero de operaciones y tipos de datos. La capacidad de mantener un lenguaje de consulta unificado. La posibilidad de utilizar datos difusos est´a presente en cada opera- ci´on del sistema, dado que todas las arquitecturas que forman parte de ´el han sido desarrolladas con dicha funcionalidad. Con objeto de implementar esta arquitectura, el Planificador de Es- trategias de Consulta deber´a ser implementado integramente, mientras que las arquitecturas iniciales FIRST, FREDDI y DMFIRST, ya desar- rolladas est´an funcionando actualmente.
  • 83. 62 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO Por contra, algunos de los inconvenientes que plantea esta arquitec- tura unificada son: Posible disminuci´on del rendimiento, dado que hay un gran n´umero de operaciones a realizar y aumenta la complejidad de las consultas. Aumento en la complejidad del sistema. El sistema debe gestionar un gran n´umero de estructuras, por ejemplo las del cat´alogo y otras muchas operaciones y procedimientos. Complejidad del desarrollo. Es muy costoso el proceso de estudio del sistema actual para incorporar nuevos procesos o simplemente la definici´on de datos. Dependencia del SGBD utilizado. Se necesita una implementaci´on diferente por cada SGBD utilizado, aunque el planteamiento te´orico para el desarrollo del sistema sea el mismo que el planteado en este trabajo. Dichos inconvenientes nos hacen plantearnos la puesta en marcha de este sistema multiprop´osito. La generaci´on de una base de meta- conocimiento m´as compleja a´un que la que ya exist´ıa, al a˜nadir dos nuevas relaciones, es un hecho nada deseable. Como tampoco lo es la dependen- cia que se crea del SGBD de Oracle c . Adem´as, la soluci´on propuesta puede parecer en un principio una soluci´on temporal al problema puesto que la inclusi´on de nuevos tipos de datos u operaciones aumentar´a, l´ogi- camente, la base de metaconocimiento, convirti´endose en una tarea a´un mas tediosa la comprensi´on de la misma, pudiendo provocar que se vuel- van a generar soluciones parciales, independientes del sistema global. Como soluci´on a este problema se propone redise˜nar esta nueva arqui- tectura global de tal forma que sea posible la comunicaci´on del usuario con la informaci´on sin la necesidad de emplear muchos recursos en ello, dej´andola adem´as, abierta a nuevas incorporaciones. El dise˜no de dicha arquitectura puede realizarse haciendo uso de las nuevas tecnolog´ıas que permiten modelar los metadatos que estructuran informaci´on, de manera abstracta e independiente del sistema sobre el que se vaya a desarrollar. Proponemos de esta manera, como soluci´on a todos estos inconvenientes, modelar esta arquitectura mediante el uso de ontolog´ıas, utilizando las mismas para servir de interfaz entre el SGBD y el usuario. El estudio de esta propuesta ser´a el centro de los siguientes cap´ıtulos de esta tesis.
  • 84. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 63 Tabla 3.3: Relaci´on Localizaci´on Latitud Longitud TmediaT Tmedia1 Tmedia2 Tmedia3 Tmedia4 . . . 41045 5478 4 0 NULL NULL NULL . . . 41135 5598 4 0 NULL NULL NULL . . . 4103 5705 4 0 NULL NULL NULL . . . 41082 5675 4 0 NULL NULL NULL . . . 40963 5636 4 0 NULL NULL NULL . . . 41049 5578 4 0 NULL NULL NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PmediaT Pmedia1 Pmedia2 Pmedia3 Pmedia4 . . . . . . 4 2 NULL NULL NULL . . . . . . 4 2 NULL NULL NULL . . . . . . 4 2 NULL NULL NULL . . . . . . 4 2 NULL NULL NULL . . . . . . 4 2 NULL NULL NULL . . . . . . 4 2 NULL NULL NULL . . . . . . . . . . . . . . . . . . . . . . . . Tabla 3.4: Relaci´on Estructura Latitud Longitud VegetacionT VegetacionP1 Vegetacion1 . . . 41045 5478 3 1 4 . . . 41135 5598 3 1 4 . . . 4103 5705 3 1 4 . . . 41082 5675 3 1 4 . . . 40963 5636 3 1 2 . . . 41049 5578 3 1 4 . . . . . . . . . . . . . . . . . . . . . . . . Tipo esT Tipo esP1 Tipo es1 . . . . . . 3 1 5 . . . . . . 3 1 1 . . . . . . 3 1 7 . . . . . . 3 1 7 . . . . . . 3 1 1 . . . . . . 3 1 8 . . . . . . . . . . . . . . . . . .
  • 85. 64 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO Tabla 3.5: Relaci´on Fuzzy Object List de la BD de Suelos OBJ# COL# FUZZY ID FUZZY NAME FUZZY TYPE Localizacion TmediaT 0 ’baja’ 0 Localizacion TmediaT 1 ’media’ 0 Localizacion TmediaT 2 ´alta’ 0 Localizacion PmediaT 0 ’baja’ 0 Localizacion PmediaT 1 ’media’ 0 Localizacion PmediaT 2 ´alta’ 0 Estructura Vegetacion 0 ’1’ 1 Estructura Vegetacion 1 ’2’ 1 Estructura Vegetacion 2 ’3’ 1 Estructura Vegetacion 3 ’4’ 1 Estructura Vegetacion 4 ’5’ 1 Estructura Vegetacion 5 ’6’ 1 Estructura Vegetacion 6 ’7’ 1 Estructura Tipo es 0 ’1’ 1 Estructura Tipo es 1 ’2’ 1 Estructura Tipo es 2 ’3’ 1 Estructura Tipo es 3 ’4’ 1 Estructura Tipo es 4 ’5’ 1 Estructura Tipo es 5 ’6’ 1 Estructura Tipo es 6 ’7’ 1 Estructura Tipo es 7 ’8’ 1 Estructura Tipo es 8 ’9’ 1 . . . . . . . . . . . . . . .
  • 86. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 65 Tabla 3.6: Relaci´on Fuzzy Nearness Def de la BD de Suelos OBJ# COL# FUZZY ID1 FUZZY ID2 DEGREE Estructura Tipo es 0 1 0.4 Estructura Tipo es 0 2 0.4 Localizacion Tipo es 0 3 0.4 Localizacion Orientacion 0 4 0.4 Localizacion Orientacion 0 5 0.4 Localizacion Orientacion 0 6 0.4 Localizacion Orientacion 1 2 0.4 Localizacion Orientacion 1 3 0.4 Localizacion Orientacion 1 4 0.4 Localizacion Orientacion 1 5 0.4 Localizacion Orientacion 1 6 0.4 Localizacion Orientacion 2 3 0.4 Localizacion Orientacion 2 4 0.4 Localizacion Orientacion 2 5 0.4 Localizacion Orientacion 2 6 0.4 Localizacion Orientacion 3 4 0.4 Localizacion Orientacion 3 5 0.4 Localizacion Orientacion 3 6 0.4 Localizacion Orientacion 4 5 0.4 Localizacion Orientacion 4 6 0.4 Localizacion Orientacion 5 6 0.4 . . . . . . . . . . . . . . . Tabla 3.7: Relaci´on Fuzzy Label Def en la BD de Suelos OBJ# COL# FUZZY ID ALFA BETA GAMMA DELTA Localizacion TmediaT 0 0 0 6.5 8.5 Localizacion TmediaT 1 8.5 10.5 12.5 14.7 Localizacion TmediaT 2 14.7 16.9 21.0 21.0 Localizacion PmediaT 0 183 183 315 490 Localizacion PmediaT 1 490 664 731 818 Localizacion PmediaT 2 818 905 1287 1287 . . . . . . . . . . . . . . . . . . . . . Tabla 3.8: Relaci´on Fuzzy Col List en la BD de Suelos OBJ# COL# F TYPE LEN COM Localizacion TmediaT 2 NULL “Localizacion.Tmedia” Localizacion PmediaT 2 1 “Localizacion.Pmedia” Estructura Vegetacion 3 NULL “Estructura.Vegetacion” Estructura Tipo es 3 1 “Estructura.Tipo es” . . . . . . . . . . . . . . .
  • 87. 66 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO Tabla 3.9: Relaci´on Fuzzy Aprox Much en la BD de Suelos OBJ# COL# MARGEN MUCH Localizacion TmediaT 4 10 Localizacion PmediaT 50 300 Tabla 3.10: Relaci´on Extended Tab Column en la BD de Suelos OBJ# COL# COL TYPE Localizacion TmediaT 0 Localizacion TOrientacion 0 Estructura Vegetacion 0 Estructura Tipo es 0 Tabla 3.11: Relaci´on Extended Tables en la BD de Suelos OBJ# TAB TYPE ORIG Localizacion 0 1 Estructura 0 1 DFD1 1 - DFD2 1 - Tabla 3.12: Relaci´on DmFsql Project en la BD de Suelos PROJECT NAME OWNER OBJ# STATUS- FGD THOLD- ANT FGD Localizacion PRJ OWNER Localizacion - 0.6 Localizacion PRJ OWNER Estructura - 0.8 THOLD CON FGD CONFIDENCE FGD SUPPORT FGD . . . 0.7 c s . . . 0.8 c s . . . Tabla 3.13: Relaci´on DmFsql Col List en la BD de Suelos PROJECT NAME COL- TYPE COL# FUZZY - COMP FGK THOLD- FGD Localizacion PRJ A TmediaT FEQ - Localizacion PRJ Q PmediaT FEQ - Localizacion PRJ A Vegetacion FEQ - Localizacion PRJ Q Tipo es FEQ - Tabla 3.14: Relaci´on Ded Intensional Catalog de la Bd de Suelos ID PRED MARCADO NVARS DFD1 1 2 DFD2 1 2
  • 88. 3.4. UNIFICACI ´ON DE LAS ARQUITECTURAS 67 Tabla 3.15: Relaci´on Ded Int Table Description de la BD de Suelos Table ID Rule Id DFD1 1 DFD2 1 Tabla 3.16: Relaci´on Ded Rule Description de la BD de Suelos Table ID Rule Id Pred Id Occ Number Negated Type DFD1 1 2 1 0 0 DFD1 1 - 2 0 2 DFD1 1 - 3 0 2 DFD2 1 2 1 0 0 DFD2 1 - 2 0 2 DFD2 1 - 3 0 2 Tabla 3.17: Relaci´on Ded Predicate Description de la BD de Suelos Table- ID Rule- Id Pred- Id Occ- Number Var- Id Col- Id Source Col DFD1 1 2 1 3 1 TmediaT DFD1 1 2 1 4 2 PmediaT DFD2 1 2 1 3 1 VegetacionT DFD2 1 2 1 4 2 Tipo esT Tabla 3.18: Relaci´on Ded Condition Description de la BD de Suelos Table- ID Rule- Id Pred- Id Occ- Number Var- Id1 Var- Id2 ComOp Thold DFD1 1 - 2 3 1 6(FEQ) 0.6 DFD1 1 - 3 4 2 6(FEQ) 0.7 DFD2 1 - 2 3 1 6(FEQ) 0.8 DFD2 1 - 3 4 2 6(FEQ) 0.8
  • 89. 68 CAP´ITULO 3. SERVIDOR MULTIPROP ´OSITO
  • 90. Cap´ıtulo 4 Ontolog´ıa para la Representaci´on del Conocimiento Difuso (FKRO) 4.1. Introducci´on Tal y como se expuso en el apartado 3.4.5, la arquitectura que permite combinar las operaciones de manejo de datos difusos, estructuras l´ogicas y tareas de miner´ıa de datos en un ´unico sistema presenta algunos incon- venientes. Uno de los m´as destacados consiste en la complejidad que el Servidor Multiprop´osito Unificado tiene a la hora de gestionar la infor- maci´on (definir estructuras, relaciones, procesos en el sistema) o ampliar el sistema incluyendo nuevos tipos de datos u operaciones. Dicha com- plejidad repercute directamente en el aumento de recursos para la com- prensi´on del funcionamiento del sistema y su consiguiente explotaci´on. Por otro lado, a pesar de que el planteamiento de las arquitecturas se ha tratado de hacer independiente de la plataforma del SGBD en la que se haya implementado, es realmente dif´ıcil desvincular completamente el sistema de la misma puesto que el cat´alogo de datos y el tipo de datos con los que se trabaja requieren su presencia. Dado que existen metodolog´ıas para la representaci´on del conocimien- to que permiten mantener la informaci´on de un dominio lo suficiente- mente estructurada y clasificada para permitir la independencia de los datos con respecto del sistema de informaci´on en que sonn representados, se plantea la definici´on de una Ontolog´ıa para representar la informaci´on asociada al Servidor Multiprop´osito expuesto. Dicha ontolog´ıa ser´a una 69
  • 91. 70 CAP´ITULO 4. FKRO meta-ontolog´ıa o una Ontolog´ıa Representacional (v´ease definici´on en Anexo A), puesto que conceptualiza los formalismos para representaci´on del conocimiento difuso, deductivo, etc. Una ontolog´ıa con el objetivo antes mencionado permitir´a la definici´on de la Base de Metaconocimiento en forma de conceptos exclusivamente (usando por ejemplo una jerarqu´ıa de clases), en lugar de como se encuen- tra planteada actualmente, como un conjunto de relaciones y atributos del cat´alogo de un SGBD en particular. Dicha definici´on adem´as nos fa- cilitar´a el plantear de forma abstracta el tipo de datos que se utilizan para almacenar informaci´on de muy diversos tipos (difusa, deductiva, de miner´ıa de datos, etc.) en la base de datos y las restricciones propias que pueda imponer un SGBD determinado a la hora de definir las relaciones en el mismo. Finalmente esta propuesta de ontolog´ıa tambi´en ser´a sus- ceptible de posteriores extensiones de forma inmediata a otros sistemas de representaci´on de bases de datos difusos como pueden ser el orientado a objetos, almacenes de datos, etc. La figura 4.1 contextualiza el lugar de la ontolog´ıa en nuestra pro- puesta de arquitectura de un SGBD multiprop´osito extendido. Dicha ontolog´ıa act´ua como interfaz entre el usuario y el SGBD, proporcionan- do as´ı una alternativa al tipo de acceso a la informaci´on ordinario (esto es, del usuario a los datos a trav´es de SGBD directamente). En este trabajo de tesis se define la primera versi´on de ´esta ontolog´ıa que es la correspondiente a la parte de la arquitectura unificada de la figura 3.4 que permite representar y gestionar informaci´on difusa. Dicha ontolog´ıa permitir´a definir de forma clara todas las entidades necesarias para que el almacenamiento y manipulaci´on de la informaci´on difusa sea independiente del contexto en que se incluya. La ontolog´ıa para la representaci´on de informaci´on imprecisa en el Mo- delo Relacional que se propone se encuentra dividida en dos subontolog´ıas que definen la informaci´on del esquema de modo distinto: Sub-Ontolog´ıa para la Representaci´on del Cat´alogo. Esta ontolog´ıa, representa la informaci´on del cat´alogo del sistema, y su instanciaci´on permite la definici´on completa de un esquema difuso o cl´asico utilizando el est´andar SQL 2003 [Cal06, fSIIT03] extendido con la propuesta dada en FIRST [Med95] para la manipulaci´on de datos difusos. Se trata de una meta-ontolog´ıa, puesto que contiene metaclases, que permiten a posteriori, definir los datos o tuplas que est´e representando dicho esquema.
  • 92. 4.1. INTRODUCCI ´ON 71 RDBMS EJECUTORDE SQL CATÁLOGO DELSISTEMA DATOS Diccionario deDatos SERVIDOR MULTIPROPÓSITO CLIENTE DE LA BASE DE DATOS Catálogo Extendido (FMB ) ONTOLOGIA PARA LA REPRESENTACION DEL CONOCIMIENTO DIFUSO (FKRO ) INTERFAZDE LA ONTOLOGIA (OI) CLIENTE DE LA ONTOLOGÍA FSQL DFSQLDmFQL TRADUCTORDE CONSULTAS Figura 4.1: Relaci´on de la Ontolog´ıa con el Servidor Multiprop´osito Unificado Sub-Ontolog´ıa para la Representaci´on del Esquema de BD Difusas. Esta ontolog´ıa, ser´a generada a partir de la subontolog´ıa anterior y representa un esquema de BDD (Bases de Datos Difusas) sobre un dominio concreto. Su objetivo es el de aportar la posi- bilidad de instanciar los datos o tuplas que dicho esquema pueda contener. La ontolog´ıa en global se denominar´a Ontolog´ıa para la Representaci´on del Conocimiento Difuso (FKRO, Fuzzy Knowledge Representation On- tology) y establece las bases, la representaci´on de la informaci´on impre- cisa, para la representaci´on a posteriori del resto de la informaci´on de la arquitectura que forma el Servidor Multiprop´osito descrito en el apartado 3.4. Dicha ontolog´ıa ser´a descrita utilizando el modelado de datos UML
  • 93. 72 CAP´ITULO 4. FKRO para su desarrollo. Una vez descrita, su representaci´on final ser´a imple- mentada utilizando un lenguaje de definici´on de ontolog´ıas basado en Web, OWL [Bec, Ant03]. La elecci´on de este lenguaje de representaci´on viene motivada porque permite que los datos sean comprensibles en este entorno web, adem´as de que se trata de un lenguaje cada vez m´as acepta- do y estandarizado que esta produciendo un gran n´umero de aplicaciones nuevas con las que interactuar. La descripci´on de las diferentes ontolog´ıas descritas en este cap´ıtulo se incluyen en el CD que acompa˜na a este tra- bajo. 4.2. Ontolog´ıa para la Representaci´on del Conoci- miento Difuso 4.2.1. descripci´on La Ontolog´ıa para la Representaci´on del Conocimiento Difuso [Bla08b] define la informaci´on difusa que se encuentra representada en una BD Relacional Difusa. Esta ontolog´ıa act´ua como una interfaz entre el SGB- DD y el usuario y/o los programas de aplicaci´on, de tal forma que hace transparente el modo en que la informaci´on esta representada en el SGB- DD (mediante el diccionario de datos). La estructura del Modelo Relacional Extendido para la manipulaci´on de informaci´on imprecisa se encuentra representada en la Sub-Ontolog´ıa del Cat´alogo Extendido, y por tanto la definici´on de una BDD ser´a real- izada a trav´es de la instanciaci´on de dicha sub-ontolog´ıa, olvidando as´ı re- presentaciones particulares que los SGBDs pueden hacer. De esta forma se define el esquema de la BDD. Sin embargo, cualquier interacci´on con dicho esquema para la manipulaci´on de los datos de la BDD, requerir´a de su conversi´on expl´ıcita a forma de ontolog´ıa. El proceso de conversi´on consiste en generar a partir de las instancias de la Sub-Ontolog´ıa del Cat´alogo Extendido una nueva ontolog´ıa, denominada de forma gen´eri- ca, Sub-Ontolog´ıa para la Representaci´on del Esquema de BDD. Dicho proceso puede ser automatizado y su resultado, la Sub-Ontolog´ıa para la Representaci´on del Esquema de BDD correspondiente, permitir´a la ma- nipulaci´on de los datos difusos tambi´en de forma transparente al SGBDS en el que se encuentren almacenados. La Ontolog´ıa para la Representaci´on del Conocimiento Difuso, englo- ba ambas sub-ontolog´ıas descritas, que tratan de representar la misma informaci´on, un esquema relacional de BDD, aunque la manera de rep-
  • 94. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 73 resentarlo difiere en gran medida: Mediante la instanciaci´on de la Sub-Ontolog´ıa del Cat´alogo Exten- dido se permite la definici´on completa del esquema de datos difusos, especificando todas las restricciones propias del Modelo Relacional y de la extensi´on te´orica para la representaci´on de datos difuso propuesto en GEFRED. Mediante la generaci´on de la Sub-Ontolog´ıa para la Representaci´on del Esquema de BDD se permite la compartici´on de esquemas de datos difusos con el entorno, y por supuesto la definici´on de datos (tuplas) sobre la misma. Ambas representaciones son dependientes, es decir, una (la del Esque- ma) es generada a partir de la otra (la instanciaci´on del Cat´alogo) y por tanto, deben coexistir las dos al menos en el momento de su generaci´on. A su vez, ambas est´an vinculadas puesto que comparten las clases necesarias para representar la informaci´on (v´ease secci´on 4.4.2 para cono- cer los detalles) y por tanto ambas requieren de la importaci´on de la Sub-Ontolog´ıa del Cat´alogo Extendido. Asimismo, los datos del dominio relativos a etiquetas y relaciones de similitud, deben existir tambi´en en ambas definiciones, y en mayor medida sobre la Sub-Ontolog´ıa para la Representaci´on del Esquema de BDD dado que es d´onde se han de definir los valores de las tuplas. 4.2.2. Ejemplo En la figura 4.2 se muestra gr´aficamente en qu´e consiste la Ontolog´ıa de Representaci´on de Conocimiento Difuso en el Modelo Relacional. Co- mo puede observarse, el n´ucleo fundamental, la Sub-Ontolog´ıa del Cat´alo- go Extendido permitir´a representar cualquier BDD (su esquema) me- diante su instanciaci´on. En el ejemplo se plantean cuatro BDD, la de la Cl´ınica Veterinaria, otra de Suelos, Caracter´ısticas de Diamantes, o Liga de Baloncesto. Una vez instanciadas el proceso de Generaci´on de la Sub-Ontolog´ıa para la Representaci´on del Esquema de BDD ser´ıa ´unico para cada BDD. Cada uno de los esquemas descritos generar´a una ontolog´ıa de su esque- ma propio, siguiendo los pasos establecidos en la secci´on 4.4. Estas cuatro Sub-Ontolog´ıas para la Representaci´on del Esquema de BDD, al instan- ciarlas permitir´an la inserci´on de datos (tuplas) referentes a los datos que se han modelado en sus esquemas correspondientes.
  • 95. 74 CAP´ITULO 4. FKRO ONTOLOGIA DE REPRESENTACION DEL CONOCIMIENTO DIFUSO EN EL MODELO RELACIONAL (FDTSCHO ) Ontología del Catálogo Instancia : Clinica Veterinaria Instancia: Diamantes Instancia: Suelos Instancia: Liga de Baloncesto Ontología del Esquema: Diamantes GENERADOR AUTOMATICO Ontología del Esquema: Suelos Ontología delEsquema: Ligade Baloncesto Ontología delEsquema: Clinica Veterinaria Instancia: Tupla Veterinario Instancia : Tupla Diamantes Instancia: Tupla Suelos Instancia : TuplaJugador Figura 4.2: Ejemplos de v´ınculos entre las sub-ontolog´ıas del Esquema y Cat´alogo para cuatro BDD 4.3. Sub-Ontolog´ıa para la Representaci´on del Ca- t´alogo Extendido 4.3.1. Justificaci´on de la Sub-Ontolog´ıa En la representaci´on de la informaci´on que existe en una base de datos, una parte fundamental de la misma es el esquema de la base de datos, que describe la estructura de la informaci´on siguiendo un modelo de representaci´on determinado. Dado que el Modelo Relacional es el m´as extendido y usado en el entorno de las Bases de Datos, ser´a ´este el elegido para ser representado por la ontolog´ıa. Puesto que se intenta estar lo m´as desvinculado de cualquier imple- mentaci´on concreta de un SGBDR, la representaci´on del est´andar ANSI SQL2003 [fSIIT03] nos parece la propuesta m´as razonable. En cuanto a la representaci´on de informaci´on imprecisa, muchas propuestas han extendi-
  • 96. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 75 do al Modelo Relacional en los ´ultimos a˜nos, tal y como se ha descrito en el cap´ıtulo 3. El modelo FIRST propuesto por Vila et al. [Med95, Gal99] se plantea en este trabajo dada su completitud en la descripci´on de este tipo de informaci´on. Un esquema de bases de datos difusas o cl´asicas, no deja de ser un mecanismo de descripci´on de la informaci´on que hay almacenada en la BD en forma de tuplas en las relaciones o tablas. En este caso, dicha des- cripci´on o esquema simplemente establecer´a las restricciones mediante las cuales los datos, en ´ultima instancia, estar´an almacenados en la BD. Por tanto, cuando se habla de esquema de base de datos se debe hablar de metadatos, puesto que los esquemas son la representaci´on de la estructura de los datos finales. Sin embargo la definici´on de metadatos o esquemas en un Sistema de Gesti´on de Bases de Datos cualquiera supone la generaci´on autom´atica de las estructuras necesarias para almacenar la informaci´on. Por ejemplo, cada vez que se define una relaci´on como Jugadores autom´aticamente se genera en el SGBD una tabla Jugadores con todas las caracter´ısticas y restricciones descritas en DDL (lenguaje de definici´on de datos) de SQL, tal y como se muestra a continuaci´on: CREATE TABLE Jugadores ( Nombre VARCHAR2(60) NOT NULL PK, Equipo VARCHAR2(30) NOT NULL REFERENCES TEAM(TName), Altura NUMBER(4,2) NOT NULL, ColorPelo FTYPE3 (2) NOT UNDEFINED, FechaNac DATE CHECK (>=1980) CONSTRAINT minHeight CHECK Altura BETWEEN 1.70 AND 2.50) Al realizar esta definici´on de los metadatos o esquema de una BD realmente se est´an instanciando las tablas del cat´alogo o diccionario de datos de un SGBDR. En dicho cat´alogo ´unicamente se almacena la in- formaci´on que esta sentencia proporciona, no existen datos referentes a ning´un jugador, ´unicamente datos referentes a las caracter´ısticas de la relaci´on. La inserci´on de un nuevo registro en la tabla Jugadores implica la creaci´on de dicha relaci´on (proceso autom´atico en un SGBD al ser inclu- ida su informaci´on en el Cat´alogo) y la instanciaci´on de la misma. Esto no ocurre de la misma manera cuando se representa informa- ci´on utilizando ontolog´ıas. Una ontolog´ıa, tal y como est´a definida, esta compuesta por un conjunto de clases, propiedades y restricciones que per-
  • 97. 76 CAP´ITULO 4. FKRO miten describir una realidad concreta. La instanciaci´on de dicha ontolog´ıa nos permite definir la informaci´on que queremos representar bas´andonos en la misma. Es decir, que si nuestra ontolog´ıa trata de representar el est´andar ANSI extendido con representaci´on de datos difusos, su instan- ciaci´on nos permite definir esquemas tal y como hemos visto en el ejemplo anterior con la tabla Jugadores. Pero ´unicamente hasta ah´ı podremos lle- gar. Es un hecho que se pueden instanciar cuantos elementos se deseen de una clase, sin embargo una instancia no puede ser instanciada de nue- vo para definir mas conceptos asociados con la realidad que representa. Consecuentemente, no podr´ıamos actuar de la misma forma que actu- ar´ıa un SGBD con las estructuras descritas usando DDL (Lenguaje de Definici´on de Datos). Siguiendo con el ejemplo anterior, si definimos en la ontolog´ıa, la clase Tabla, e instanciamos la misma con la relaci´on Ju- gador, no podr´ıamos volver a instanciar tabla Jugador para almacenar el registro (Juan L´opez, Juventud, 1.99, Casta˜no, 10/7/1985). Es por esta raz´on que la ontolog´ıa se considera una meta-ontolog´ıa o una Ontolog´ıa Representacional, puesto que para solucionar este proble- ma se propone la inclusi´on de metaclases en la definici´on de la Ontolog´ıa del Esquema difuso. Estas metaclases permitir´an que la generaci´on de instancias sobre las mismas generen a su vez nuevas clases que, ya s´ı, podr´an ser instanciadas para incluir los datos o tuplas (v´ease la figura 2.3 del cap´ıtulo anterior que ilustra dicha explicaci´on). A continuaci´on se describe la Sub-Ontolog´ıa para la Representaci´on del Cat´alogo Extendido, a partir de ahora denominada Ontolog´ıa del Cat´alogo por motivos de claridad. Se describir´a c´omo se ha construi- do, las clases que la integran, las metaclases definidas en la misma, y un ejemplo de utilizaci´on. 4.3.2. Metodolog´ıa de Desarrollo Para representar el esquema de una base de datos, debemos plantear- nos c´omo la informaci´on de este esquema est´a estructurada. Para realizar este proceso se ha tomado como analog´ıa el cat´alogo del sistema dado por cualquier SGBD, que es el mecanismo que utilizan dichas aplicaciones para poder representar esta informaci´on. Sin embargo, cada SGBD define su propio cat´alogo de forma ´unica, por lo que no tendr´ıa ning´un sentido elegir alguna representaci´on concreta dada por un SGBD comercial. Siguiendo con esta analog´ıa, la propuesta consiste en representar un cat´alogo que permita mantener un registro de toda la estructura de una
  • 98. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 77 base de datos relacional desvincul´andose de cualquier implementaci´on concreta. Por tanto, la representaci´on del est´andar ANSI SQL2003 es la propuesta m´as razonable. Calero et al. [Cal05, Cal06] describe a modo de ontolog´ıa dicha representaci´on (ver secci´on 2.4.2) utilizando el lenguaje de modelado UML. La propuesta de Calero carece de la descripci´on de los tipos de datos predefinidos, que proporciona el est´andar. Dichos tipos de datos, tambi´en se encuentran desglosados a modo de jerarqu´ıa de conceptos en el trabajo de Pardede et al. [Par05], tal y como se ha descrito en la secci´on 2.4.1. Como ya se defini´o anteriormente, una ontolog´ıa debe representar el conocimiento compartido y consensuado por un conjunto de expertos acerca de una parcela concreta de la realidad. Partiendo de esta base, y dada la amplia difusi´on de las ontolog´ıas en la actualidad, se estima con- veniente no comenzar a realizar una ontolog´ıa desde cero, sino reutilizar ontolog´ıas que se encuentran ya desarrolladas. Una vez identificadas la ontolog´ıas adecuadas, se proceder´a a realizar sobre ellas diversos proce- sos que refinamiento y soporte, para dar lugar a la ontolog´ıa final que contiene toda la informaci´on que se desea representar [Cor06]. A continuaci´on se detalla el proceso para realizar la conceptualizaci´on de la ontolog´ıa que en este trabajo se propone. Este proceso est´a dividido en varias etapas que se exponen a continuaci´on y que pueden verse en la figura 4.3: 1. Recorte de la ontolog´ıa de Calero et al. [Cal06, Cal05]. 2. Recorte y extensi´on de la ontolog´ıa de Pardede et al. [Par05] con los tipos de datos difusos definidos en GEFRED. 3. Mezcla de la ontolog´ıa de Calero et al. [Cal06, Cal05]. recortada con la de Pardede et al. [Par05] extendida. 4. Extensi´on de la ontolog´ıa resultante con la extensi´on al Modelo Re- lacional para definir la informaci´on imprecisa definida por el modelo denominado GEFRED y su implementaci´on, denominada FIRST (v´ease secci´on B.1.1 del Anexo B). Paso 1. Recorte de la Ontolog´ıa de Calero et al. [Cal06] Tal y como describe Calero et al. [Cal06], el ANSI SQL 2003 repre- senta una extensi´on a las versiones anteriores ANSI SQL en tanto que
  • 99. 78 CAP´ITULO 4. FKRO Ontología del Estándar ANSISQL2003 Modelo Objeto Relacional Ontología delos Tipos deDatos Predefinidos Estándar ANSISQL2003 Proceso deCorte Proceso de Combinación Ontología para la Representación del Conocimiento Difuso Proceso de Extensión y Especialización GEFRED Extension al Modelo Relacional para Representar Datos Difusos Ontología de los Tipos deDatos Predefinidos + Tipos deDatosDifusos FIRST Estándar ANSISQL2003 GEFRED Tipos de Datos Difusos Proceso de Corte y Extensión Ontología del Estándar ANSISQL2003 Modelo Relacional Ontología del Estándar ANSISQL2003 Modelo Relacional + Especificación delos Tipos de DatosPredefinidos Figura 4.3: Proceso de Desarrollo de la Ontolog´ıa del Esquema
  • 100. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 79 a˜nade al Modelo Relacional la manipulaci´on de objetos y algunos ele- mentos nuevos de lenguaje Web XML a lo que ya exist´ıa (v´ease [Eis04]). El modelo que la Ontolog´ıa del Cat´alogo trata de representar, se centra ´unicamente en el Modelo Relacional, y por lo tanto, la parte orientada a objetos no es un requisito en su representaci´on. De esta manera la ontolog´ıa de Calero et al. [Cal06] es recortada dejando ´unicamente las estructuras necesarias para representar el Modelo Relacional tal y como puede verse en la figura 4.4. Dichas estructuras se describen brevemente en la tabla 4.1 (tambi´en se encuentran descritas con mayor detalle en [Cal06]). Tambi´en se ha eliminado parte de la representaci´on del Mode- lo Relacional que resulta irrelevante para probar la manipulaci´on de la representaci´on imprecisa. Entre estos recortes se encuentran los tipos de datos compuestos y otras estructuras que complican el modelo en demas´ıa con respecto a su grado de utilizaci´on como por ejemplo la representaci´on de las claves candidatas o las columnas generadas por una expresi´on (muy ´utiles en tareas de miner´ıa de datos). Este recorte se ha realizado fundamentalmente para simplificar la representaci´on de la ontolog´ıa en este primer prototipo. Sin embargo la inclusi´on de dichas clases ser´a algo inmediato en las fases de extensi´on de este trabajo. Paso 2. Recorte y Extensi´on de la Ontolog´ıa de Pardede et al. [Par05] La clasificaci´on de Pardede et al. [Par05] desglosa todos los tipos de datos base que el est´andar ANSI ha ido declarando a lo largo de todas sus versiones. A este conjunto de datos se propone a˜nadir aquellos que permiten representar datos difusos sobre una BD y que est´an definidos en el cap´ıtulo B.1.1. Los tipos de datos difusos que aparecer´an en esta extensi´on son (v´ease secci´on B.1.2 para una descripci´on m´as detallada): Tipo Difuso 1 o TD1. Representa datos cuyos valores se basan en un referencial ordenado, pero que pueden ser consultados de forma difusa. Tipo Difuso 2 o TD2. Representa datos cuyos valores se basan en un referencial ordenado, pero pueden ser almacenados y/o consultados siguiendo una distribuci´on de posibilidad utilizada para representar datos difusos. Tipo Difuso 3 o TD3. Representa datos cuyos valores se basan en un referencial discreto y en las relaciones de semejanza descritas expl´ıcitamente sobre este referencial.
  • 101. 80 CAP´ITULO 4. FKRO SchemaObject objectName : string Table isInsertableInto :bool isReferenceable :bool Column name: string defaultOption:[user, current_user, current_role, session_user, system_user, current_path, <literal>, <date time value>,<implicy typed value>] ordinalPosition :int isUpadatable:bool isSelfReferencing :bool nullabilityCharacteristic :[not nullable, possibly nullable] UniqueColumn ordinalposition: integer BaseTable Constraint isDeferrable:Bool initialConstraintMode:[deffered, inmediate] TableConstraint ReferentialConstraint updateRule:[cascade, set_null, set_default, restrict, no_action] deleteRule: [cascade, set_null, set_default, restrict, no_action] matchOption :[mach full, match partial] UniqueConstraint PrimaryKey 1..* has columns * Constraints References References 1..* UniqueColumnList * IdentityColumn startvalue:int increment:int maximunvalue:int minimunvalue:int cycle_option: Boolean 1 1..n 1..n 1..n * DerivedTable query_expression: STring is_updatable: Boolean is_simply_updatable:boolean View check_option: [cascade, local, none] SQLSchema name: string 1 1..n 1..n * 1 * DataTypes name:String hasDataType * Domain default_option: enum Domain_hasTypeOf_DataType defines * 0..1* xor 0..1 Domain_Constraint search_condition:string TableCheckConstraint search_condition:string Predefined Figura 4.4: Ontolog´ıa en UML del SQL4 de Calero et al. [Cal06] recortada
  • 102. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 81 Tabla 4.1: descripci´on Breve de las Clases de la Ontolog´ıa Recortada de Calero et al. Clase Superclase descripci´on Atributos SQLSchema Representa los esquemas de BD Schema- Object SQLSchema Es cualquier objeto del esque- ma objectName Table Schema- Object Es un objeto Relacion isInsertableInto, isRefer- enceable Derived- Table Table El resultado de una consulta queryExpresion, isUpdat- able, isSimplyUpdatable BaseTable Table Tabla compuesta por atributos View Tabla virtual basada en una consulta CheckOption Domain Schema- Object Conjunto de valores de un atri- buto agrupado, compuesto de un tipo de datos y restricciones defaultOption DataType Conjunto de valores repre- sentables Predefined DataType Tipos de Datos Base Constraint Schema- Object Restricciones sobre la BD isDeferrable, initialCon- straintMode Table- Constraint Constraint Restricciones sobre Tablas Domain- Constraint Constraint Restricciones sobre Dominios searchCondition TableCheck- Constraint Table- Constraint Restricciones de Negocio (Check Constraint) sobre Tablas searchCondition Unique- Constraint Table- Constraint Restriccion de Clave ´Unica Referential- Constraint Table- Constraint Restriccion Referencial updateRule, setDefault, deleteRule, matchOption PrimaryKey Unique- Constraint Representa la clave primaria Column Columna o atributo name, defaultOption, ordi- nalPosition, isUpdatable, isSelfReferencing, nullabil- ityCharacteristic Identity- Column Column Columna que autom´atica- mente act´ua como una secuencia startVal, increment, max- imunVal, minimunVal, cy- cleOp Unique- Column Column Columna que contiene valores ´unicos ordinalPos
  • 103. 82 CAP´ITULO 4. FKRO As´ı pues la clasificaci´on de Pardede et al. [Par05] quedar´ıa represen- tada tal y como se indica en la figura 4.5. En la misma, apartado A, se describe expl´ıcitamente d´onde entrar´ıa la extensi´on difusa en la clasifi- caci´on. En el apartado B se describen con mas detalle los tipos de datos difusos y su integraci´on con el resto de la clasificaci´on de Pardede et al. [Par05]. Como podemos observar, s´olo aquellos datos difusos que se basan en un referencial num´erico se relacionan con el resto de la clasificaci´on (Tipo Difuso 1 y 2), es decir definen expl´ıcitamente el referencial en el que se basan. Tal y como ocurre en el paso 1 con la clasificaci´on de Calero et al. [Cal06] se propone recortar la clasificaci´on de Pardede et al. [Par05] ex- cluyendo los tipos de datos complejos y dejando ´unicamente los tipos base, tambi´en llamados predefinidos (para as´ı poder mezclar ambas on- tolog´ıas en el paso siguiente). Por otro lado, en esta clasificaci´on tam- bi´en se propone un nuevo recorte que excluye los tipos de datos menos comunes, es decir, mantenemos ´unicamente aquellos que son m´as suscep- tibles de ser implementados en la mayor´ıa de los SGBDs del mercado en este primer prototipo de ontolog´ıa, tal y como se ve en la figura 4.6. Uniendo las diferentes modificaciones a la clasificaci´on de Pardede et al. [Par05] la clasificaci´on quedar´ıa tal y como se describe en la figura 4.7. La clase FDTOrder es una clase abstracta que agrupa a los tipos de datos difusos que representan valores sobre un referencial ordenado num´erico. Ambos tipos de datos (TD1 y TD2) deber´an ser definidos por el referencial num´erico sobre el que se basan, a trav´es de la relaci´on hasDataType y por los atributos margen y much que se usan para la comparaci´on de valores dentro del dominio difuso. Ambos valores tienen la cardinalidad establecida a 1, puesto que por cada tipo de dato s´olo tienen un valor asociado al mismo. Paso 3. Proceso de Mezcla Una vez que disponemos de las diferentes ontolog´ıas fuente a partir de las cuales se va a generar la nueva, el siguiente proceso es el de unificar dichas ontolog´ıas usando las partes que tengan en com´un para formar una ontolog´ıa mayor y m´as especializada. De esta forma procederemos a identificar las partes comunes que ambas ontolog´ıas tienen: La clase DataTypes aparece en la Ontolog´ıa Recortada y Extendi- da de Pardede et al. [Par05] mostrada en la figura 4.7, de la cual
  • 104. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 83 SQL Data Types Predefined Types String Boolean Numeric Interval DateTime Constructed Type User-Defined Types Fuzzy Types Exact Approximate Integer Float SmallIntBigInt Real Double Precision Charact.BLOBBIT VaryingFixed CLOB.VaryingFixed T.Stamp .TimeDate CompositeAtomic CollecctionRow MultisetArray StructuredDistinct Ref Predefined Numeric scale : int DataTypes Fuzzy FDTOrder margen: float much: float FType3 len:int FType1 FType2 hasNumericType 1 * UserDefinedType Constructed A A)Taxonomía dePardede &WennyRahayu, de lostiposdedatos delSQL4 junto con la inclusióndelostiposdedatosdifusos. B)TiposdeDatos Difusos relacionados con la taxonomía general de Pardede et al. Figura 4.5: Extensi´on de la ontolog´ıa de Pardede et al. [Par05] con los datos difusos
  • 105. 84 CAP´ITULO 4. FKRO DataTypes Float Char Fixed Approx Varying Numeric Predefined String Exact RealInteger BooleanDateTime Date Time Figura 4.6: Clasificaci´on de Pardede et al. [Par05] recortada Fuzzy FDTOrder margen: float much: float FType3 len:int FType1 FType2 hasNumericType 1 * DataTypes Float Char Fixed Approx Varying Numeric Predefined String Exact RealInteger BooleanDateTime Date Time Figura 4.7: Clasificaci´on de Pardede et al. [Par05] recortada con la inclusi´on de datos difusos
  • 106. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 85 depende Predefined y Fuzzy que representan los tipos de datos que se van a usar en esta ontolog´ıa. La clase DataTypes aparece en la Ontolog´ıa de Recortada de Calero et al. [Cal06] tal y como se puede ver en la figura 4.4, con la subclase Predefined dependiente de ella. Sin embargo dicha clase, carece de la especificaci´on jer´arquica de los elementos que la componen. Adem´as la clase DataTypes cuenta con el atributo Name, que representa el nombre de del tipo de datos. Dado que las clases especificadas anteriormente coinciden en significa- do y nombre, la unificaci´on de las ontolog´ıas es inmediata. Este proceso de mezcla incorpora todos los elementos que aparecen en una u otra on- tolog´ıa, de tal forma que se forma una nueva lo m´as completa posible tal y como vemos en la figura 1 4.8. Paso 4. Extensi´on o de Definici´on de Datos Difusos Este proceso consiste en extender la ontolog´ıa generada a trav´es de los procesos de recorte y mezcla anteriores, para poder representar informa- ci´on imprecisa en el Modelo Relacional representado por dicha ontolog´ıa (v´ease figura 4.8). La extensi´on de la ontolog´ıa consta de varias fases listadas a conti- nuaci´on y descritas con detalle en las subsecciones siguientes: Redefinici´on del concepto Columna para poder englobar aquellas que contienen datos difusos. Extensi´on del n´umero de restricciones que pueden definirse en el Modelo Relacional para englobar aquellas que tengan que ver con datos difusos. Definici´on de metaclases necesarias para formar la ontolog´ıa de datos. Definici´on del concepto de Dominio Difuso, junto con la definici´on de etiquetas ling¨u´ısticas, valores discretos y relaciones de similitud. Definici´on de aquellas estructuras que permiten el almacenamien- to de valores difusos (distribuci´on posibilidad, estructuras trape- zoidales, triangulares, intervalares, etc.). 1 Todas las clases que aparecen en la figura 4.8 se encuentran descritas en los apartados anteriores.
  • 107. 86 CAP´ITULO 4. FKRO SchemaObject objectName : string Table isInsertableInto :bool isReferenceable :bool Column name: string defaultOption:[user, current_user, current_role, session_user, system_user, current_path, <literal>, <date time value>,<implicy typed value>] ordinalPosition :int isUpadatable:bool isSelfReferencing :bool nullabilityCharacteristic :[not nullable, possibly nullable] UniqueColumn ordinalposition: integer BaseTable Constraint isDeferrable:Bool initialConstraintMode:[deffered, inmediate] TableConstraint ReferentialConstraint updateRule:[cascade, set_null, set_default, restrict, no_action] deleteRule: [cascade, set_null, set_default, restrict, no_action] matchOption :[mach full, match partial] UniqueConstraint PrimaryKey 1..* has columns * Constraints References References 1..* UniqueColumnList * IdentityColumn startvalue:int increment:int maximunvalue:int minimunvalue:int cycle_option: Boolean 1 1..n 1..n 1..n * DerivedTable query_expression: STring is_updatable: Boolean is_simply_updatable:boolean View check_option: [cascade, local, none] SQLSchema name: string 1 1..n 1..n * 1 * DataTypes name:String hasDataType * Domain default_option: enum Domain_hasTypeOf_DataType defines * 0..1* xor 0..1 Domain_Constraint search_condition:string TableCheckConstraint search_condition:string Fuzzy FDTOrder margen: float much: float FType3 len: int FType1 FType2 hasNumericType 1 * Float Char Fixed Approx Varying Numeric Predefined String Exact RealInteger BooleanDateTime Date Time Figura 4.8: Ontolog´ıa de Calero et al. [Cal06] y Pardede et al. [Par05] del SQL4 y Tipos de Datos Difusos mezclada
  • 108. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 87 4.3.3. descripci´on de la Ontolog´ıa del Cat´alogo Extendido El cat´alogo de un SGBD nos permite almacenar los metadatos, es decir, la informaci´on que representa la estructura de la informaci´on que la BD va a permitir almacenar. Si a este cat´alogo que ya tenemos propuesto como ontolog´ıa en la figura 4.8, le a˜nadimos la extensi´on descrita en FIRST (v´ease secci´on B.1.2) que presenta las estructuras para representar informaci´on imprecisa, obtendremos la que hemos denominado Ontolog´ıa del Cat´alogo Extendido. A continuaci´on se presentan de manera desglosada cada uno de los cambios que son requeridos en la presente ontolog´ıa para obtener dicha Ontolog´ıa del Cat´alogo Extendido. 4.3.3.1. Columnas Difusas En la representaci´on de la ontolog´ıa del est´andar SQL4, se debe modi- ficar el concepto de Columna para que sea especializado en dos categor´ıas (Columna Base y Columna Difusa), quedando las clases relacionadas con ella de la siguiente manera (v´ease figura 4.9 para ilustrar las definiciones siguientes): Columna: es la clase ra´ız, representa todas las columnas de la BD. Sin embargo esta clase ser´a considerada como abstracta, y ´unica- mente sus subclases deber´an ser instanciadas. Los atributos de dicha clase son los mismos que los definidos anteriormente, a excepci´on de la nullabilityCharacteristic (que representa si la clase puede con- tener valores nulos), que aparecer´a como atributo en la subclase Columna Base. Columna Base: s aquella que representa las columnas cl´asicas en una BD. Seguir´a con las mismas relaciones que en la anterior defini- ci´on lo hac´ıa la clase Columna, de hecho es este tipo de columna la que va a permitir mantener las diferentes restricciones de integridad que exige el Modelo Relacional. El tipo de dato vendr´a determinado por la relaci´on hasDataTypes con los tipos de datos predefinidos (no olvidemos que el resto de tipos de datos compuestos los hemos ex- cluido de esta propuesta) o bien por la relaci´on defines que relaciona una columna con un dominio. Aunque no es la m´as utilizada en la definici´on de datos, se ha optado por representar esta relaci´on dado que muchos SGBDs la utilizan impl´ıcitamente en muchas defini- ciones (en cualquier caso dicha relaci´on se describir´a con m´as de-
  • 109. 88 CAP´ITULO 4. FKRO Table (described previously) Column name: string defaultOption:[user, current_user, current_role, session_user, system_user, current_path, <literal>, <date time value>,<implicytyped value>] ordinalPosition :int isUpadatable:bool isSelfReferencing :bool UniqueColumn ReferentialConstraint (described previously) 1..* tablecolumns * ReferencedCol IdentityColumn startvalue:int increment:int maximunvalue:int minimunvalue:int cycle_option: Boolean Fuzzy_Column Base_Column nullabilityCharacteristic : [not nullable, possibly nullable] 1..* Domain namedom:String DataType (prev.descr.) FuzzyDataTypes (previously desc) SQLDataTypes (previously desc) FuzzyDomain ClassicDomain hasDataType defines Fdefines xor DomTypeOf FDomTypeof 1 * 1 * * 1 0..1 0..1 * Figura 4.9: Especializaci´on de la clase Columna
  • 110. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 89 talle en el apartado siguiente). La definici´on del tipo de dato, sea directamente, o sea a trav´es de un dominio, s´olo puede ser una, tal y como especifica la relaci´on xor en el diagrama. En cuanto a los atributos, esta clase es una especializaci´on del concepto Columna, contiene todos los de dicha superclase e incluye nullabilityCharac- teristic, completando as´ı la lista de atributos que antes representaba Columna en la ontolog´ıa del ANSI SQL4 descrita en la secci´on an- terior. Columna Difusa: clase que representa todas aquellos atributos que pueden contener datos difusos o bien ser consultados utiliz´andolos. Una columna difusa por definici´on s´olo podr´a contener datos o bien difusos o bien que sean susceptibles de ser consultados de forma difusa, por tanto, el tipo de datos ser´a representado por la relaci´on Fdefines. Esta relaci´on garantiza que una columna difusa est´e vin- culada con un dominio difuso ´unicamente, y no en sentido inverso. Es por esta raz´on que no existe un v´ınculo directo a los tipos de datos difusos, ya que cuando se define un tipo de dato difuso no suele tratarse de un ´unico valor sino que suele tratarse de un do- minio que viene acompa˜nado por definiciones previas de etiquetas ling¨u´ısticas o relaciones de similitud entre valores discretos, usados en el proceso de definici´on de datos o en consultas. En cualquier caso, esta relaci´on ser´a descrita con m´as detalle en el apartado de dominios difusos siguiente. En cuanto a atributos concretos, esta relaci´on no tendr´a m´as que los heredados por la superclase. No ex- isten restricciones definidas sobre columnas difusas porque dichas restricciones se establecen sobre los dominios difusos, como ya vere- mos en el subapartado de dominios y restricciones difusas siguiente. 4.3.3.2. Dominios Difusos Tal y como se describi´o brevemente en el p´arrafo anterior correspon- diente a las columnas, un dominio representa el conjunto de valores y res- tricciones que un atributo puede contener. Un gran n´umero de SGBDs, dependiendo del tipo de dato que se este definiendo crea dominios en lu- gar de establecer un v´ınculo a un tipo de dato predefinido, pero de forma invisible al usuario. Cuando se trata de gestionar informaci´on imprecisa la presencia de dominios es imprescindible, dado que normalmente a la definici´on de un tipo de dato difuso siempre acompa˜na un conjunto de valores adem´as
  • 111. 90 CAP´ITULO 4. FKRO Fuzzy_Column Base_Column (prev. described) Domain namedom :StringDataType (prev. descr.) FuzzyDataTypes (previously desc) SQLDataTypes (previously desc) FuzzyDomain ClassicDomain Domain_Constraint search_condition:String Fuzzy_Dom_Constraint value:boolean hasDataType defines Fdefines xor DomTypeOf FDomTypeof constraints Fconstraint 1 * 1 * * * 1 0..1 0..1 * 1 LabelDefinition lname:String DiscreteDefinition dname:String DiscreteRelation FuzzyDataStructures * *1 referencedType2 referencedType1 1 1 SchemaObject objectName : string Fuzzy_Values FType1_Struct FType2_Struct FType3_Struct lavelVal 1 * relates 1 1 relates1 2 * Figura 4.10: descripci´on de la clase Dominios de los datos num´ericos predefinidos (en el caso que el tipo de dato los permita). Estos valores suelen venir dados por etiquetas ling¨u´ısticas liga- das a distribuciones de posibilidad concretas. Por ejemplo: un atributo que describa la altura de una persona, tendr´a representado mediante eti- quetas ling¨u´ısticas los valores: muy bajo, bajo, mediano, alto, muy alto. Si bien se tratara de un tipo de dato cuyos valores son discretos, estos tambi´en deber´an ser definidos previamente, por ejemplo, el color de pelo de una persona, vendr´a definido por las etiquetas: rubio, moreno, cas- ta˜no y pelirrojo y las relaciones entre dichas etiquetas. Y no sol´amente se utilizan dichas definiciones para insertar informaci´on en la BD sino tambi´en para consultarla. Las clases que describen los dominios difusos est´an representadas en la figura 4.10 y se describen a continuaci´on:
  • 112. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 91 Domain: se trata de una clase abstracta que agrupa los diferentes tipos de dominios que ahora existen en la ontolog´ıa, el domino b´asico (definido por el ANSI SQL) y el dominio difuso. Consta de un atri- buto, que identifica el nombre del dominio del que se trata. Por ´ultimo cabe destacar que Domain es subclase de Schema Object, ya que es otro de los elementos que forman parte de un esquema de bases de datos. Classic Domain: se trata del dominio cl´asico, y se corresponde con la clase Domain de la anterior ontolog´ıa. Este dominio esta formado por la relaci´on que establece su v´ınculo con las diferentes columnas que pueden usar dicha definici´on de dominio (defines), la relaci´on que establece el tipo de dato por el que est´a formado el dominio (domTypeOf ) que tiene que definirse expl´ıcitamente, y aquella que establece las restricciones de integridad de datos que puede definirse sobre el mismo, llamada constraints (estas restricciones se suelen corresponder con la sentencia Check). Fuzzy Domain: sta clase representa aquellos dominios que involu- cran datos difusos en su definici´on. La ´unica forma de definir un tipo de dato difuso y vincularlo a una columna difusa es a trav´es de la relaci´on Fdefines. El tipo de datos difuso asociado al dominio se establece mediante la relaci´on FDomTypeOf. A su vez, los domin- ios difusos tambi´en tienen restricciones asociadas a los mismos, el n´umero de restricciones asociadas a un dominio queda determinado por Fconstraint. Por ´ultimo, asociadas con los dominios tambi´en se encuentran las definiciones de etiquetas ling¨u´ısticas y valores dis- cretos, sin embargo estas relaciones se describir´an en en subaparta- do correspondiente. En la tabla 4.2 se muestran las restricciones definidas sobre las propiedades relacionadas con dicha clase y su descripci´on mas detallada. Tal y como se puede observar, la definici´on de los tipos de datos en los valores cl´asicos, puede hacerse bien a trav´es de dominios o bien a trav´es de un v´ınculo directo con el tipo de datos en cuesti´on. En datos difu- sos ´unicamente se podr´a realizar a trav´es de dominios, siendo entonces dicha clase la que contendr´a las referencias a las columnas que est´an relacionadas con el mismo. Gracias a esta particularidad, las columnas difusas pueden compartir dominios y ahorrarse as´ı definiciones repetitivas de los mismos.
  • 113. 92 CAP´ITULO 4. FKRO atributo Restricci´on Valor descripci´on Fdefines cardinalidad multiple Varias columnas pueden representarse por el mismo dominio difuso FDomTypeOf cardinalidad 1 A un dominio le corresponde so´lo un tipo de datos difuso Fconstraint cardinalidad m´ultiple Sobre un dominio se pueden relacionar m´ultiples restricciones difusas Tabla 4.2: Restricciones de los atributos de Fuzzy Domain 4.3.3.3. Restricciones Difusas Los tipos de datos difusos definidos en FIRST (v´ease secci´on B.1.2 del Anexo B para m´as detalle), tambi´en pueden incluir restricciones en su definici´on. Dichas restricciones consisten en la especificaci´on de qu´e tipos de valores (estructuras de datos a usar) pueden o no contener los atributos definidos. Para realizar esta especificaci´on se han creado las siguientes clases (pueden verse en la figura 4.11): Fuzzy Dom Constraint: clase que agrupa todas las restricciones di- fusas. Es una clase abstracta, que tiene como atributo a value, que es de tipo booleano y especifica si la restricci´on est´a activada o no. La restricci´on de cardinalidad que existe sobre este valor esta establecida a 1. Label Constr: significa que la definici´on que incluya esta restricci´on (si el atributo value esta a verdadero) no permitir´a la inclusi´on de valores que sean etiquetas ling¨u´ısticas. Crisp Constr: si el atributo value esta a verdadero, implicar´a que no se permiten valores Crisp (num´ericos comunes) en el atributo que contenga dicha restricci´on. Interval Constr: incluir esta restricci´on implica no permitir el uso de valores intervalares. Trapezoid Constr: no se permitir´an valores trapezoidales en aquellos atributos donde est´a restricci´on tenga un valor de verdadero. Appr Constr: los valores aproximados a un n´umero concreto no ser´an permitidos en aquellos atributos en los que se defina esta restricci´on.
  • 114. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 93 Constraint (described previously) FuzzyDomain Fuzzy_Dom_Constraint value:boolean Fconstraint Nullability_Const Unknown_Const Undefined_Const Appr_Const Trapezoid_Const Label_Const Crsip_Const Interval_Const * 1 Figura 4.11: descripci´on de las Restricciones Difusas
  • 115. 94 CAP´ITULO 4. FKRO Nullability Constr: indica que no se permiten valores nulos en este dominio. Unknown Constr: indica que no se permiten valores desconocidos (unknown) en este dominio. Undefined Constr: indica que no se permiten valores indefinidos (undefined) en este dominio. Existen otras dos restricciones en la definici´on del modelo, son ONLY LABEL y ONLY LABEL OR UNKNOWN. Estas dos restricciones se forman generando expl´ıcitamente las restricciones necesarias para que se cumplan las anteriores, es decir generar una instancia de todas las res- tricciones a excepci´on de la de etiquetas ling¨u´ısticas, y/o de valores de unknown. En la ontolog´ıa la definici´on de las restricciones difusas se realiza a trav´es de la definici´on de un dominio usando la relaci´on FConstraint y no, tal y como se podr´ıa plantear a priori, sobre las columnas. A pesar de que utilizando el lenguaje FSQL [Gal99] las restricciones se vinculan a las columnas, esta decisi´on se ha tomado debido al hecho de que los tipos de datos difusos se vinculan a las columnas a trav´es de dominios, con lo que resulta m´as l´ogico que sea este dominio el que albergue dichas restricciones. 4.3.3.4. Valores Discretos y Relaciones de Similitud La representaci´on de valores discretos, nos permite establecer etique- tas que no tienen significado basado en un referencial ordenado, sino que su significado vendr´a dado por la relaci´on que se establece entre las di- ferentes etiquetas asociadas al mismo dominio. Dicho significado ser´a es- tablecido mediante la asignaci´on de un valor de similitud (establecido entre 0 y 1) para cada par de valores. Para representar estas etiquetas y las relaciones, se han propuesto dos nuevas clases en la ontolog´ıa (tal y como podemos ver en la figura 4.10): Fuzzy Data Structures: clase abstracta que engloba las estructuras difusas concretas relacionadas con etiquetas como las etiquetas lin- g¨u´ısticas y los valores discretos. Discrete Definition: clase que permite representar las etiquetas que tienen un valor sem´antico asociado, pero no puede ser cuantificado
  • 116. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 95 sin una representaci´on expl´ıcita de su valor a trav´es de relaciones de similitud con otras etiquetas. El valor de esta etiqueta viene representado mediante el atributo de esta clase denominado dname. La relaci´on referencedType1 permite establecer con qu´e dominios est´a relacionada la etiqueta que est´a definida. Discrete Relation: esta clase representa como los valores discretos, definidos como instancias de la clase Discrete Definition, son rela- cionados dos a dos a trav´es un valor num´erico (entre 0 y 1) es- tablecido con el atributo similarity. El atributo relates es el que permitir´a establecer que dos etiquetas discretas est´an relacionadas con un valor dado. Las restricciones sobre las propiedades de objetos de estas clases se describen en la tabla 4.3. Estas clases representan la base del tipo difuso 3 ya que las instancias de las mismas definen todos los valores que este tipo de dato puede representar. Tabla 4.3: Restricciones de los atributos de Discrete Relation y Dis- crete Definition Atributo Restricci´on Valor descripci´on ReferencedType1 cardinalidad 1 Una definici´on de discreto, s´olo puede es- tar asociada con un dominio difuso Relates cardinalidad 2 Una relaci´on difusa tiene dos definiciones de discretos relacionadas dname cardinalidad 1 Nombre del discreto 4.3.3.5. Etiquetas ling¨u´ısticas En la figura 4.10 podemos ver c´omo se ha representado la existencia de etiquetas ling¨u´ısticas que representan valores basados en distribuciones de posibilidad (basadas en un referencial ordenado). Las clase Label Definition es la que representa todas las etiquetas mediante su instanciaci´on. Se les da un nombre a trav´es del atributo lname, se vinculan a dominios difusos mediante la relaci´on referenced- Type2 y representan un valor mediante una referencia a una distribuci´on de posibilidad definida a trav´es de la relaci´on labelVal (que conecta dicha etiqueta con la clase Ftype2 Struct que a continuaci´on ser´a descrita). Las restricciones sobre esta clase se describen en la tabla 4.4.
  • 117. 96 CAP´ITULO 4. FKRO Por ultimo dicha clase es subclase de Fuzzy Data Structures, que es una clase abstracta que engloba las estructuras difusas definidas en FIRST (v´ease secci´on B.1.2 del Anexo para m´as detalle). Atributo Restricci´on Valor descripci´on ReferencedType2 cardinalidad 1 Una definici´on de etiqueta, s´olo puede es- tar asociada con un dominio difuso labelVal cardinalidad 1 Una etiqueta ´unicamente puede tener aso- ciada una distr. posibilidad lname cardinalidad 1 Nombre de la etiqueta Tabla 4.4: Restricciones de los atributos de Label Definition 4.3.3.6. Representaciones de las Estructuras de los Tipos de Datos Difusos Los valores que los tipos de datos difusos representan deben de ser definidos siguiendo una estructura concreta. Los tipos de datos difusos basados en un referencial ordenado podr´ıan representar datos cl´asicos, para lo cual pueden usarse los tipos de datos base, o bien ser distribu- ciones de posibilidad, pero en este ´ultimo caso las estructuras que per- mitir´an almacenar dichos valores deben ser generadas expl´ıcitamente. Dichas estructuras est´an descritas con detalle en FIRST (m´as detalle en la secci´on B.1.2 del Anexo B). La figura 4.12 muestra las estructuras de datos que los tipos de datos difusos pueden soportar para almacenar sus valores. Dichas estructuras est´an representadas por las siguientes clases: FuzzyValues: clase abstracta que agrupa aquellas estructuras de representaci´on que se necesitan para definir datos que no son los predefinidos y representan datos difusos basados en un referencial ordenado. FType1 Struct: clase abstracta que agrupa aquellos estructuras que ´unicamente pueden usar los valores que han sido definidos como de Tipo Difuso 1. Null: clase que representa un valor nulo. Esta clase es subclase de FType1 Struct, FType2 Struct o FType3 Struct. Unknown: clase que representa un valor unknown o desconocido. Esta clase es subclase de FType2 Struct o FType3 Struct.
  • 118. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 97 LabelDefinition lname:String Fuzzy_Values FType1_Struct FType2_Struct FType3_Struct labelVal* 1 Unknown Undefined Null LabelCrisp x:numeric Interval a:numeric b:numeric Approx v:numeric Trapezoid alfa:numeric beta:numeric delta:numeric gamma:numeric NumericT val:numeric Simple degree:float Distr.Poss . labelID discreteVal * * DiscreteDefinition dname:String 1 1 discreteID 1 * Figura 4.12: descripci´on de las estructuras para los TD Difusos
  • 119. 98 CAP´ITULO 4. FKRO Undefined: clase que representa un valor indefinido. Esta clase es subclase de FType2 Struct o FType3 Struct. NumericT: clase que representa un valor cl´asico num´erico. Para ello esta clase cuenta con el atributo val que es de tipo num´erico. En este atributo se almacena el valor num´erico deseado mediante su instanciaci´on. FType2 Struct: clase abstracta que agrupa aquellos estructuras que ´unicamente pueden usar los valores que han sido definidos como de Tipo Difuso 2. Crisp: clase que representa un valor cl´asico num´erico. Para ello esta clase cuenta con el atributo x que es de tipo num´erico. En este atributo se almacena el valor num´erico deseado mediante su instanciaci´on. Approx: clase que representa un valor aproximado a un n´umero con- creto. Tal y como se describe en FIRST, se trata de una distribuci´on de posibilidad aproximada. Para ello esta clase cuenta con el atribu- to v que es de tipo num´erico en el que se almacena el valor deseado mediante su instanciaci´on. Interval: clase que representa un valor intervalar. Tal y como se describe en FIRST, se trata de una distribuci´on de posibilidad in- tervalar. Para ello esta clase cuenta con los atributos a y b que definen los l´ımites del intervalo que se usan. Trapezoid: clase que representa un valor trapezoidal. Tal y como se describe en FIRST, se trata de una distribuci´on de posibilidad aproximada. Para ello esta clase cuenta con los atributos alfa, beta, delta y gamma que definen los limites del trapecio. Label: clase que representa a una etiqueta ling¨u´ıstica. Dicha clase hace referencia a la clase Label Definition a trav´es de la relaci´on labelID. FType3 Struct: clase abstracta que agrupa aquellos estructuras que ´unicamente pueden usar los tipos que han sido definidos como de Tipo Difuso 3. Simple: clase que representa un valor discreto, con un cierto grado de certeza dado por el atributo degree. Dicho atributo s´olo ser´a usa- do cuando la clase Simple sea parte de una DistrPoss (clase descrita
  • 120. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 99 a continuaci´on). En el resto de los casos su valor carece de inter´es pues se interpreta como 1. El valor de este atributo en el primer caso hace referencia a la definici´on previa de valores discretos en la clase discrete Definition usando el atributo discreteID. DistrPoss: clase que representa un conjunto de valores simples (ins- tancias de la clase Simple) con un valor de certeza en cada uno de ellos (matizados por degree y descritos previamente), a trav´es de la relaci´on discreteVal. En la tabla 4.5 se muestran las restricciones relacionadas con estas estructuras. Atributo Restricci´on Valor descripci´on labelID cardinalidad 1 La estructura de un valor label, tiene asocia- da una definici´on de etiqueta (instancia de La- bel Definition) discreteID cardinalidad 1 La estructura de un valor Simple, tiene asociada una definici´on de valor discreto (instancia de Dis- crete Definition) discreteVal cardinalidad multiple Una distr. posibilidad, tiene asociada uno o varios valores de instancias de valores Simples Tabla 4.5: Restricciones de las estructuras de datos que representan valores difusos 4.3.3.7. Definici´on del Esquema. Metaclases. Una vez planteada la Ontolog´ıa del Cat´alogo (podemos verla en la figura 4.13), nos queda especificar c´omo un esquema que representa datos difusos puede ser definido en la misma. Metaclases La Ontolog´ıa del Cat´alogo describe la estructura de la informaci´on que puede ser representada en una BD relacional extendida con infor- maci´on imprecisa. Por tanto, al representar la estructura de la cualquier informaci´on trabajamos con metadatos. En ontolog´ıas, los metadatos son aquellos que permiten especificar como la realidad est´a representada. En este caso, ser´ıan metadatos la definici´on de clase, propiedad, restricci´on y cualquier otro elemento que
  • 121. 100 CAP´ITULO 4. FKRO SchemaObject objectName : string Table isInsertableInto :bool isReferenceable : bool Column name: string defaultOption:[user, current_user, current_role, session_user, system_user, current_path, <literal>, <date time value>,<implicy typed value>] ordinalPosition :int isUpadatable:bool isSelfReferencing :bool UniqueColumn BaseTable Constraint isDeferrable:Bool initialConstraintMode:[deffered, inmediate] TableConstraint ReferentialConstraint updateRule:[cascade, set_null, set_default, restrict, no_action] deleteRule: [cascade, set_null, set_default, restrict, no_action] matchOption :[mach full, match partial] UniqueConstraint PrimaryKey 1..* tablecolumns * isconstrainedby References ReferencedCol hasUniqueCol/const * IdentityColumn startvalue:int increment:int maximunvalue:int minimunvalue:int cycle_option: Boolean 1 1..n Fuzzy_Column Base_Column nullabilityCharacteristi c: [not nullable, possibly nullable] 1 * DerivedTable query_expression: STring is_updatable: Boolean is_simply_updatable:boolean View check_option: [cascade, local, none] SQLSchema name: string 1 1..* 1..n 1 * 1..* TableCheckConstraint search_condition2:String Domain namedom:StringDataType (prev. descr.) FuzzyDataTypes (previously desc) SQLDataTypes (previously desc) FuzzyDomain ClassicDomain Domain_Constraint search_condition:String Fuzzy_Dom_Constraint value:boolean hasDataType defines Fdefines xor DomTypeOf FDomTypeof constraints Fconstraint Nullability_Const Unknown _Const Undefined_Const Appr_Const Trapezoid_Const Label_Const Crsip_Const Interval_ Const 1 * 1 * * * 1 0..1 0..1 * 1 LabelDefinition lname:String DiscreteDefinition dname:String DiscreteRelation FuzzyDataStructures * *1 referencedType2 referencedType1 1 1 similarity 1 1 Fuzzy_Values FType1_Struct (prev. descr.)) FType2_Struct (prev. desc) FType3_Struct (prev.desc) labelVal 1 * relates1 2 * Figura 4.13: descripci´on de Ontolog´ıa del Cat´alogo
  • 122. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 101 nos permitiera representar algo en la misma (este es el caso de las On- tolog´ıas Representacionales). En el caso de la Ontolog´ıa del Cat´alogo del Modelo Relacional se cuenta con la definici´on b´asica de una Relaci´on o Tabla como elemen- to fundamental para representar la informaci´on. Adem´as de describir la estructura y particularidades de una relaci´on esta deber´a ser por s´ı mis- ma un elemento que permita la inserci´on de datos. Por ejemplo y al contrario que ocurre en un SGBD del Modelo Relacional que al represen- tar una relaci´on o tabla en el cat´alogo autom´aticamente obtendr´ıamos relaciones como personas, departamentos, piezas, proyectos, etc., esto no resultar´ıa posible hacerlo en una ontolog´ıa. En ella ocurre que al re- presentar estas mismas relaciones en el cat´alogo definido hasta ahora, se obtendr´ıan ´unicamente las instancias de las clases de cat´alogo (de la clase Tabla, Columna Base, Columna Difusa, etc.). Por tanto, insertar datos en dichas tablas ser´ıa imposible dado que no se puede instanciar una instancia, que es lo que dichas tablas son en la Ontolog´ıa del Cat´alogo tal y como est´a representada. En la figura 4.13 vemos como la clase Tablas est´a sombreada para especificar que dicha clase es una Metaclase. Esta decisi´on se ha tomado para poder representar dichas relaciones (tablas), como lo que verdadera- mente son, una representaci´on de alto nivel de una forma de organizar los datos. Por consiguiente la definici´on de tabla (relaci´on) deber´a ser trata- da como una metaclase y su instancia genera una nueva clase. Siguiendo con el ejemplo anterior, todas aquellas tablas que hab´ıamos definido como instancias: personas, departamentos, piezas, proyectos, etc. ser´ıan ahora a su vez clases de la ontolog´ıa, y por tanto podr´ıan ser instanciadas, para contener datos. En el apartado 2.3.2 se introduce el concepto de c´omo las metaclases, una vez que son instanciadas, generan a la vez instancias y clases, y c´omo estas mismas clases pueden volver a generar una nueva ontolog´ıa dado que representan una realidad diferente a la del cat´alogo. En este caso la realidad que representan dichas instancias ser´a la del pro- pio esquema que se esta representando, por ejemplo, el de la gesti´on de una biblioteca, la gesti´on de una BD multimedia, etc. Importaci´on Cuando se desea representar una ontolog´ıa cualquiera mediante un lenguaje concreto, como por ejemplo OWL, se ha de recurrir a las on- tolog´ıas representacionales que definen los conceptos sobre los que se representa la informaci´on. En el caso de OWL se requieren las ontolog´ıas
  • 123. 102 CAP´ITULO 4. FKRO descritas en la tabla 4.6 para poder utilizar la representaci´on de datos que ´este lenguaje propone. En el caso de una BDD se requiere la presencia de la Ontolog´ıa del Cat´alogo para su correcta definici´on. Sobre dicha ontolog´ıa, se procede- r´a a definir instancias que representan la BDD deseada. Sin embargo, la Ontolog´ıa del Cat´alogo es una estructura est´atica, es decir, representa una realidad y como tal no debe ser modificada, simplemente debe ser utilizada para representar otros conceptos. De esta forma, y al igual que ocurre con las descripciones de la tabla 4.6, la Ontolog´ıa del Cat´alogo no se utiliza directamente para generar el nuevo esquema de BDD, puesto que no debe permitirse su modificaci´on. El proceso consistir´a en generar una nueva ontolog´ıa basada en OWL, donde se importa la Ontolog´ıa del Cat´alogo, cuyos elementos estar´an accesibles y ser´an instanciables, pero no podr´an modificarse, y no formar´an parte de la nueva definici´on. La nueva ontolog´ıa estar´a entonces definida por un conjunto de instancias y clases (dado que existen metaclases en la ontolog´ıa) que representan un esquema de BDD relacional. Ontolog´ıa URL descripci´on xsd http://www.w3.org/2001/XMLSchema# Tipos de datos base y elementos XML rdfs http://www.w3.org/2000/01/rdf-schema# Elementos del es- quema de RDFS rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# Sintaxis b´asica de RDF owl http://www.w3.org/2002/07/owl# Caracter´ısticas propias del OWL Tabla 4.6: Ontolog´ıas importadas en OWL La Ontolog´ıa del Cat´alogo se ha denominado fdtscho, y se encuentra disponible en http://personales.ya.com/fkrowl/fdtscho/fdtscho.owl. Tambi´en podemos ver el c´odigo descrito en el CD que se adjunta a este trabajo de tesis. 4.3.4. Ejemplos A continuaci´on se mostrar´a un breve ejemplo de como un esquema de BDD puede ser definido en la Ontolog´ıa del Cat´alogo mediante la instanciaci´on del mismo. Vamos a plantear el esquema de BDD que se
  • 124. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 103 muestra en figura 4.14 y cuyo esquema l´ogico en FSQL2 [Bla03b] se expone a continuaci´on: CATS ( CatID INTEGER PK, CatName STRING (20), Age FTYPE2 (1,2) FLOAT (1) NOT UNKNOWN, Weigh FTYPE1 (0.4,2.0) FLOAT (2), Character FTYPE3 (3) NOT NULL, hasBreed (BREED.BreedName) ) BREED( BreedName STRING (100) PK, CharacterB FTYPE3 (3)) VISIT( Date Date PK, Price FLOAT (2), Cat (CATS.CatID) PK) TREATMENT ( illness STRING (200) kind FTYPE3 (2) Date (VISIT.Date) PK, Cat (VISIT.CatID) PK) MEDICINE ( MedicineName STRING (100) PK, dose FTYPE2 (0.5,3) FLOAT (2) ) PRESCRIBE ( Medicine (MEDICINE.MedicineName) PK, Date (TREATMENT.Date) PK, Cat (TREATMENT.CatID) PK) PERIODICAL_TREATMENT ( Date (TREATMENT.Date) PK, Cat (TREATMENT.CatID) PK, duration INTEGER, period INTEGER) SPORADIC_TREATMENT ( Date (TREATMENT.Date) PK, Cat (TREATMENT.CatID) PK, rule STRING (200) ) 2 Delante de cada una de las tablas descritas deber´ıa escribirse la sentencia CREATE TABLE que se ha omitido para clarificar la descripci´on
  • 125. 104 CAP´ITULO 4. FKRO CATS CatID : Integer CatName : String (20) Age: FType2 (Float) Weigh: FType1 (Float) Character: FType3 BREED BreedName : String (100) CharacterB :FType3 TREATMENT illness: String (200) Kind: FType3 VISIT Date : Date Price: Float MEDICINE MedicineName : String (100) dose: FType2 (Float) PERIODICAL period: Integer duration: Integer SPORADIC rule: String (200) hasBreed > prescribe Figura 4.14: Ejemplo en UML de una BD de Cl´ınica Veterinaria Adem´as de los datos comunes del esquema, quedan por definir en detalle de los dominios difusos que forman esta BDD, siendo: Etiquetas ling¨u´ısticas utilizadas en el dominio definido para el atri- buto Age de la tabla Cat. La descripci´on de dichas etiquetas, nombre y tipo de estructura utilizada y valor dado a las mismas se muestra en la tabla 4.7. Nombre Etiqueta Tipo de Valor Valor Cachorro(puppy) Intervalar 0-1 Joven (young) Trapezoidal 1-1,4-4-5 Adulto (adult) Trapezoidal 2-3-6-10 Mediana-Edad (middle-aged) Aproximado 5 Viejo (old) Trapezoidal 7-8-13-15 Tabla 4.7: descripci´on de los valores de las etiquetas ling¨u´ısticas relacionadas con el dominio del atributo Age de la tabla Cat
  • 126. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 105 4.3.4.1. Ejemplo 1: Cl´ınica Veterinaria Valores Discretos relacionados con el atributo Character de la tabla Cat y su relaciones de similitud. Los valores discretos definidos son: Agresivo (Aggresive), Tranquilo (Calm), Inquieto (eager), Indifer- ente (Indiferent), Cari˜noso (Loving). La relaci´on de similitud es- tablecida entre estos valores se describe en la tabla 4.8. Indiferente Tranquilo Cari˜noso Inquieto Agresivo Indiferente 1 0.8 0 .3 0.4 0.1 Tranquilo 1 0.5 0 0 Cari˜noso 1 0.2 0.1 Inquieto 1 0.5 Agresivo 1 Tabla 4.8: Relaciones de Similitud del Atributo Character Una vez descritos los valores del esquema de bases de datos difusas que se desea definir, se procede a la instanciaci´on del mismo. Concretamente se presentan en este ejemplo las instancias generadas para la definici´on completa de las tablas Cat y Breed en la tabla 4.9, ya que el resto de las tablas tienen una definici´on similar, y por motivos de claridad es preferible su exclusi´on del documento. Cada una de estas instancias queda definida por los valores que ad- quieren las propiedades de las clases instanciadas. En la tabla 4.10 se listan las propiedades de objeto m´as representativas de las instancias de Cats y Breed descritas anteriormente en la tabla 4.9. En la tabla 4.11 se describen las propiedades de tipo de datos b´asicos, que definen los valores finales del esquema. Por ´ultimo hay que destacar, que todas aquellas instancias de la clase Table (o como subclase Base Table) se convierten a su vez en clases tambi´en. As´ı pues tendr´ıamos generadas en el ejemplo descrito una clase: Cats, Visit, Breed, Medicine, Treatment, Sporadic Treatment, Periodical Treatment y Prescribe. 4.3.4.2. Ejemplo 2: BD Suelos En este ejemplo se propone la utilizaci´on de una BD Difusa Real, como la de Suelos descrita en el Anexo C y cuyo esquema se encuentra definido en el apartado C.1.2. Dicha definici´on supone la instanciaci´on de la Ontolog´ıa del Cat´alogo, concretamente de todas aquellas clases que permitan la definici´on
  • 127. 106 CAP´ITULO 4. FKRO Tabla 4.9: Instanciaci´on de la Ontolog´ıa del Cat´alogo del ejemplo de la Cl´ınica Veterinaria rdf:ID Instancia de rdfs:comment Cats BaseTable Representa Informaci´on de los gatos Breed BaseTable Especies de Gatos CatID UniqueColumn Identificador de gatos CatName BaseColumn Nombre de gatos Age FuzzyColumn Edad de gatos (a˜nos) Weigh FuzzyColumn Peso de gatos (gramos) Character FuzzyColumn C´aracter de gatos(cari˜noso,amigable,arisco) CatBreed BaseColumn Nombre de gatos BreedName UniqueColumn Nombre de la especie CharacterB FuzzyColumn Car´acter de la especie FDom Age FuzzyDomain Dominio para tipo dato difuso Age FDom Character FuzzyDomain Dominio para Character FDom Weight FuzzyDomain Dominio difuso relacionado con Weight DTCatID Integer Tipo de dato de CatID DTCatName Varying Tipo de dato de CatName DomAge FDT FType2 Tipo de dato difuso de FDom Age DomAge DT Float Tipo de dato de FDom Age DomWeigh FDT FType1 Tipo de dato difuso de FDom Weigh DomWeigh DT Float Tipo de dato de FDom Weigh DomCharacter FDT FType3 Tipo de dato difuso de FDom Character DTBreedName Varying Tipo de dato de BreedName PrimaryKeyCat PrimaryKey Restricci´on de Clave Primaria para Cat PrimaryKeyBreed PrimaryKey Restricci´on de Clave Primaria para Breed FK Cat Breed Referential- Constraint Restricci´on de clave ajena para atributo Breed de la relacion Cats LD MiddleAgedCat Label Definition Etiqueta del dominio FDom Age DT LV - MiddleAgedCat Approx Valor asignado a la etiqueta LD MiddleAgedCat LD PupyCat Label Definition Etiqueta del dominio FDom Age DT LV PuPyCat Intervalar Valor asignado a la etiqueta LD PupyCat LD AdultCat3 Label Definition Etiqueta del dominio FDom Age DT LV AdultCat4 Trapezoid Valor asignado a la etiqueta LD AdultCat agressiveCat Discrete Definition Valor discreto relacionada con el dominio FDom CatCharacter calmCat5 Discrete Definition Valor discreto relacionado con el dominio FDom CatCharacter discreterelations 186 Discrete Relation Relaci´on entre calmCat e indiferentCat NullabilityConst 15 NullabilityConst Restricci´on de Valor atrib. Character UnknownConst 18 UnknownConst Restr. valor Desconocido en atrib. Age
  • 128. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 107 Tabla 4.10: Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del ejemplo de la Cl´ınica Veterinaria De Atributo rdf:resource Cats tableColumns CatName, CatID, Age, Weigh, Char- acter,BreedName Breed tableColumns BreedName, CharacterB CatID hasDataType DTCatID CatID hasUniqueConst PrimaryKeyCats CatName hasDataType DTCatName CatBreed hasDataType DTBreedName BreedName hasDataType DTBreedName FDom CatAge FDomTypeOf FDTCatAgeDom FDom CatAge FDefines Age FDom CatAge FConstraints2 UnknownConst 18 FDTCatAgeDom hasNumericType DTCatAgeDom FDom CatWeigh FDomTypeOf FDTCatWeighDom FDom CatWeigh FDefines Weigh FDTCatWeighDom hasNumericType DTCatWeightDom FDom CatCharacter FDomTypeOf FDTCatCharacterDom FDom CatCharacter FDefines Character, CharacterB FDom CatCharacter FConstraints2 NullabilityConst 15 PrimaryKeyCats isConstrainedBy Cats PrimaryKeyCats hasUniqueCol CatID PrimaryKeyBreed isConstrainedBy Breed PrimaryKeyBreed hasUniqueCol BreedName FK Cats Breed referencedCol CatBreed FK Cats Breed references PrimaryKeyBreed LD adultCat labelVal DT LV AdultCat LD adultCat referencedType FDom CatAge LD adultCat labelVal Approx 10 LD adultCat7 referencedType FDom CatAge agressiveCat8 referencedType3 FDom CatCharacter Discrete Relations 189 relates CalmCat, IndiferentCat
  • 129. 108 CAP´ITULO 4. FKRO Tabla 4.11: Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo del ejemplo de la Cl´ınica Veterinaria De Atributo rdf:datatype value Cats ObjectName xsd:String Cats Cats isReferenceable xsd:bool true Breed ObjectName xsd:String Breed CatID 10 nameCol xsd:String ID FDomCatAge11 ObjectName xsd:String FDom CatAge FDTCatName lenghStr xsd:int 20 FDTAgeDom margen xsd:float 1 FDTAgeDom much xsd:int 2 DTAgeDom precision xsd:int 1 FDTWeighDom margen xsd:float 0.4 FDTWeighDom much xsd:int 2 DTWeighDom precision xsd:int 2 DTCharacterDom len xsd:int 3 DTBreedName lenghStr xsd:int 100 DT LV AdultCat alfa xsd:float 2 DT LV AdultCat beta xsd:float 3 DT LV AdultCat delta xsd:float 6 DT LV AdultCat gamma xsd:float 10 Approx 1012 v xsd:float 5 Discrete Relations 1813 similarity xsd:float 0.8
  • 130. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 109 del esquema que describe dicha BDD de Suelos. A continuaci´on se refleja qu´e clases han de ser instanciadas, de forma breve, y se ejemplifica dicha des- cripci´on mediante la exposici´on de parte de las instancias que se han generado (dado que es inviable mostrar todas las instancias debido a su gran n´umero). La definici´on completa de la BDD de Suelos en la Ontolog´ıa del Cat´alogo se adjunta en un CD a este trabajo de tesis. Se instanciar´an las clases relativas a la definici´on de relaciones (Base- Table) y atributos (BaseColumn, FuzzyColumn, UniqueColumn). En este ejemplo se expone la instanciaci´on de la relaci´on Localizaci´on y los atributos: Latitud, Longitud, fisiografia, tmedia, codigo es. Tambi´en se definir´a la relaci´on Estructura y los atributos: codigo es y grado es. Clases relativas a las restricciones de Clave primaria (PrimaryKey). Al definir las tablas se definen sus claves primarias, en el ejemplo que es- tamos poniendo, Latitud y Longitud en Localizaci´on y codigo es en Es- tructura. Clases relativas a las restricciones de clave ajena (instancias de Refe- rential Constraint). En el ejemplo que nos ocupa, se asociar´ıa codigo es de Localizaci´on con la clave primaria de la tabla estructura, esto es, codigo es de Estructura. Clases relativas a la definici´on de etiquetas ling¨u´ısticas relacionadas con los Tipos Difusos 2. Clases relativas a la definici´on de los valores discretos relacionados con los Tipos Difusos 3, y las relaciones de similitud que definen a cada uno de estos valores discretos. Clases relativas a los dominios difusos. Clases relativas a la definici´on de restricciones difusas.
  • 131. 110 CAP´ITULO 4. FKRO Tabla 4.12: Instancias de la Ontolog´ıa del Cat´alogo del ejem- plo de la BDD Suelos rdf:ID Instancia de rdfs:comment Localizacion BaseTable Definici´on de la relaci´on Localizaci´on Estructura BaseTable Definici´on de la relaci´on Estructura Latitud Unique- Column Identificador de Localizaci´on, coorde- nadas de latitud Longitud Unique- Column Identificador de Localizaci´on, coorde- nadas de longitud fisiongrafia FuzzyColumn Fisiograf´ıa del suelo en esta local- izaci´on tmedia FuzzyColumn Media de la temperatura codigo es loc BaseColumn C´odigo de la estructura de suelos que hay en esta localizaci´on codigo es Unique- Column Identificador num´erico de la estructura grado es FuzzyColumn Tipo de estructura FDom tmedia FuzzyDomain Dominio para tipo dato difuso tmedia FDom fisiografia FuzzyDomain Dominio para fisiograf´ıa FDom grado es FuzzyDomain Dominio difuso relacionado con gra- do es DTLatitud Numeric Tipo de dato de Latitud DTLongitud Numeric Tipo de dato de Longitud FDT2 dom- tmedia FType2 Tipo de dato difuso de tmedia DT dom FDT2 Float Tipo de dato asociado a los FDT2 puesto que la mayor´ıa son Float(2) FDT3 dom- fisiografia FType3 Tipo de dato difuso de fisiograf´ıa DTcodigo es Numeric Tipo de dato de codigo es FDT3 dom- grado es FType3 Tipo de dato difuso de grado es PKLocalizacion PrimaryKey Restricci´on de Clave Primaria para Lo- calizaci´on PKEstructura PrimaryKey Restricci´on de Clave Primaria para Es- tructura FK codigo es- localizacion Referential- Constraint Restricci´on de clave ajena para atri- buto codigo es loc de la relacion Local- izaci´on hacia la relacion Estructura LD baja tmedia Label Defini- tion Etiqueta relacionada con el dominio FDom tmedia. Significa temperatura media baja. T baja tmedia Trapezoid Valor asignado a la etiqueta LD baja tmedia LD media tmedia Label Defini- tion Etiqueta relacionada con el dominio FDom tmedia. Significa temperatura media media.
  • 132. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 111 Tabla 4.12: Instancias de la Ontolog´ıa del Cat´alogo del ejem- plo de la BDD Suelos rdf:ID Instancia de rdfs:comment T media tmedia Trapezoid Valor asignado a la etiqueta LD media tmedia LD alta tmedia Label Defini- tion Etiqueta relacionada con el dominio FDom tmedia. Significa temperatura media alta. T alta tmedia Trapezoid Valor asignado a la etiqueta LD alta tmedia DD llano- fisiograf Discrete- Definition Discreto del dominio FDom fisiografia con valor Llano DD fladera- fisiograf Discrete- Definition Discreto del dominio FDom fisiografia con valor FondoLadera DD ladera- fisiograf Discrete- Definition Discreto del dominio FDom fisiografia con valor Ladera DD cima- fisiograf Discrete- Definition Discreto del dominio FDom fisiografia con valor Cima DD meseta- fisiograf Discrete- Definition Discreto del dominio FDom fisiografia con valor Meseta DD VWeak- fisiograf Discrete- Definition Discreto del dominio FDom grado es con valor VeryWeak DD Weak- fisiograf Discrete- Definition Discreto del dominio FDom grado es con valor Weak DD Moderate- fisiograf Discrete- Definition Discreto del dominio FDom grado es con valor Moderate DD Strong- fisiograf Discrete- Definition Discreto del dominio FDom grado es con valor Strong discrete- relations 35 Discrete- Relation Relaci´on entre Llano y FondoLadera discrete- relations 36 Discrete- Relation Relaci´on entre Llano y Ladera discrete- relations 37 Discrete- Relation Relaci´on entre Llano y Cima discrete- relations 38 Discrete- Relation Relaci´on entre Llano y Meseta discrete- relations 39 Discrete- Relation Relaci´on entre FLad y Ladera discrete- relations 40 Discrete- Relation Relaci´on entre FLad y Cima discrete- relations 41 Discrete- Relation Relaci´on entre FLad y Meseta discrete- relations 42 Discrete- Relation Relaci´on entre Ladera y Cima discrete- relations 43 Discrete- Relation Relaci´on entre Ladera y Meseta discrete- relations 44 Discrete- Relation Relaci´on entre Cima y Meseta
  • 133. 112 CAP´ITULO 4. FKRO Tabla 4.12: Instancias de la Ontolog´ıa del Cat´alogo del ejem- plo de la BDD Suelos rdf:ID Instancia de rdfs:comment discrete- relations 76 Discrete- Relation Relaci´on entre Very Weak y Weak discrete- relations 77 Discrete- Relation Relaci´on entre Very Weak y Moderate discrete- relations 78 Discrete- Relation Relaci´on entre Very Weak y Strong discrete- relations 79 Discrete- Relation Relaci´on entre Weak y Moderate discrete- relations 80 Discrete- Relation Relaci´on entre Weak y Strong discrete- relations 81 Discrete- Relation Relaci´on entre Moderate y Strong UndefinedConst- 138 Undefined- Const Restr. de valor indefinido para FDom tmedia UnknownConst- 137 Unknown- Const Restr. valor desconocido para FDom tmedia UnknownConst- 52 Unknown- Const Restr. valor desconocido para FDom fisiograf UndefinedConst- 51 Undefined- Const Restr. de valor indefinido para FDom fisiograf NullabilityConst- 49 Nullabi- lityConst Restr. de valor nulo para FDom fisiograf TrapezoidConst- 50 Trapezoid- Const Restr. de valor trapezoidal para FDom fisiograf IntervalConst- 48 IntervalConst Restr. de valor intervalar para FDom fisiograf CrispConst 47 CrispConst Restr. de valor crisp para FDom fisiograf ApproxConst 46 ApproxConst Restr. de valor approximado para FDom fisiograf Tabla 4.13: Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos De Atributo rdf:resource Localizacion tableColumns Latitud, Longitud, fisiografia, tmedia, codigo es Latitud hasUniqueConst PKLocalizacion Latitud hasDataType DTLatitud Longitud hasUniqueConst PKLocalizacion Longitud hasDataType DTLatitud Codigo es loc hasDataType DTCodigo es FDom fisiograf FDomTypeOf PKEstructura FDom fisiograf FDefines FDT3 Dom Fisiografia
  • 134. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 113 Tabla 4.13: Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos De Atributo rdf:resource FDom fisiograf FConstraints2 ApproxConst 46, CrispConst 47, IntervalConst 48, Trapezoid- Const 50, NullabilityConst 49, UndefindedConst 51, Unknown- Const 52 ApproxConst 46 FConstraints FDom fisiograf CrispConst 47 FConstraints FDom fisiograf IntervalConst 48 FConstraints FDom fisiograf NullabilityConst 49 FConstraints FDom fisiograf TrapezoidConst 50 FConstraints FDom fisiograf UnknownConst 51 FConstraints FDom fisiograf UndefinedConst 52 FConstraints FDom fisiograf FDom tmedia FDomTypeOf FDom tmedia FDefines tmedia FDom tmedia FConstraints2 UndefindedConst 138, Unknown- Const 139 FDT2 Dom tmedia hasNumericType DT Dom FDT2 PKLocalizacion isConstrainedBy Localizacion PKLocalizacion ishasUniqueCol Latitud,Longitud FK codigo e- localizacion referencedCol codigo es loc FK codigo e- localizacion references PKEstructura FK codigo e- localizacion isConstrainedBy Localizacion Estructura tableColumns codigo es, grado es Codigo es hasUniqueConst PKEstructura FDom grado es FDomTypeOf FDT3 grado es FDom grado es FDefines grado es PKEstructura isConstrainedBy Estructura PKEstructura ishasUniqueCol codigo es LD baja tmedia labelVal T Baja tmedia LD baja tmedia referencedType FDom tmedia LD media tmedia labelVal T media tmedia LD media tmedia referencedType FDom tmedia LD alta tmedia labelVal T alta tmedia LD alta tmedia referencedType FDom tmedia DD llano fisiograf referencedType FDom fisiograf DD FLad fisiograf referencedType FDom fisiograf DD ladera fisiograf referencedType FDom fisiograf DD cima fisiograf referencedType FDom fisiograf DD meseta fisiograf referencedType FDom fisiograf DD VWeak fisiograf referencedType FDom grado es DD Weak fisiograf referencedType FDom grado es
  • 135. 114 CAP´ITULO 4. FKRO Tabla 4.13: Propiedades de Objeto en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos De Atributo rdf:resource DD Mederate- fisiograf referencedType FDom grado es DD Strong fisiograf referencedType FDom grado es Discrete Relations 35 relates1 DD llano fisiograf Discrete Relations 35 relates2 DD FLad fisiograf Discrete Relations 36 relates1 DD llano fisiograf Discrete Relations 36 relates2 DD ladera fisiograf Discrete Relations 37 relates1 DD llano fisiograf Discrete Relations 37 relates2 DD cima fisiograf Discrete Relations 38 relates1 DD llano fisiograf Discrete Relations 38 relates2 DD meseta fisiograf Discrete Relations .. relates1 ... Discrete Relations .. relates2 ... Tabla 4.14: Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos De Atributo rdf:datatype value Localizacion ObjectName xsd:String Localizacion Estructura ObjectName xsd:String Estructura latitud NameCol xsd:String latitud longitud NameCol xsd:String longitud tmedia NameCol xsd:String tmedia fisiografia NameCol xsd:String fisiografia codigo es loc NameCol xsd:String codigoEs codigo es NameCol xsd:String codigoEsLoc grado es NameCol xsd:String gradoEs FDT2 dom tmedia margin xsd:float 4.0 FDT2 dom tmedia much xsd:float 10.0 DT dom FDT2 precision xsd:float 2.0 FDT3 dom- fisiografia len xsd:int 1 FDT3 dom- grado es len xsd:int 1 PKLocalizacion ObjectName xsd:String PKLocalizacion PKEstructura ObjectName xsd:String PKEstructura FK codigo es- localizacion ObjectName xsd:String FK codigo es- localizacion LD baja tmedia lname xsd:String baja T baja tmedia alfa xsd:float 0 T baja tmedia beta xsd:float 0 T baja tmedia delta xsd:float 6.5 T baja tmedia gamma xsd:float 8.5
  • 136. 4.3. ONTOLOG´IA DEL CAT ´ALOGO 115 Tabla 4.14: Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos De Atributo rdf:datatype value LD media tmedia lname xsd:String media T media tmedia alfa xsd:float 8.5 T media tmedia beta xsd:float 10.5 T media tmedia delta xsd:float 12.5 T media tmedia gamma xsd:float 14.5 LD alta tmedia lname xsd:String baja T alta tmedia alfa xsd:float 14.5 T alta tmedia beta xsd:float 16.5 T alta tmedia delta xsd:float 21 T alta tmedia gamma xsd:float 21 DD llano fisiograf dname xsd:String llano DD fladera- fisiograf dname xsd:String FondoLadera DD ladera- fisiograf dname xsd:String Ladera DD cima fisiograf dname xsd:String Cima DD meseta- fisiograf dname xsd:String Meseta DD VWeak- fisiograf dname xsd:String VeryWeak DD Weak fisiograf dname xsd:String Weak DD Moderate- fisiograf dname xsd:String Moderate DD Strong- fisiograf dname xsd:String Strong discrete- relations 35 similarity xsd:float 0.5 discrete- relations 36 similarity xsd:float 0.2 discrete- relations 37 similarity xsd:float 0.2 discrete- relations 38 similarity xsd:float 0.2 discrete- relations 39 similarity xsd:float 0.2 discrete- relations 40 similarity xsd:float 0.2 discrete- relations 41 similarity xsd:float 0.2 discrete- relations 42 similarity xsd:float 0.2 discrete- relations 43 similarity xsd:float 0.2
  • 137. 116 CAP´ITULO 4. FKRO Tabla 4.14: Propiedades de Tipo de datos en la Ontolog´ıa del Cat´alogo del ejemplo de la BDD de Suelos De Atributo rdf:datatype value discrete- relations 44 similarity xsd:float 0.5 discrete- relations 76 similarity xsd:float 0.3 discrete- relations 77 similarity xsd:float 0.3 discrete- relations 78 similarity xsd:float 0.3 discrete- relations 79 similarity xsd:float 0.3 discrete- relations 80 similarity xsd:float 0.3 discrete- relations 81 similarity xsd:float 0.3 UndefinedConst- 138 value xsd:bool true UnknownConst- 137 value xsd:bool true UnknownConst 52 value xsd:bool true UndefinedConst 51 value xsd:bool true NullabilityConst- 49 value xsd:bool true TrapezoidConst 50 value xsd:bool true IntervalConst 48 value xsd:bool true CrispConst 47 value xsd:bool true ApproxConst 46 value xsd:bool true Como vemos, este ejemplo permite representar un caso real de BDD que se utiliza en la actualidad. En este ejemplo predominan los Tipos Difusos 2, con etiquetas ling¨u´ısticas asociadas a su dominio y definidas mediante repre- sentaciones trapezoidales y los Tipos Difusos 3, con valores que utilizan una ´unica etiqueta para describir su valor (len=1). Este tipo de representaci´on es el m´as utilizado dado que es el que los usuarios encuentran m´as sencillo para describir la realidad. 4.4. Sub-Ontolog´ıa del Esquema de Datos Difusos 4.4.1. Justificaci´on de la Sub-Ontolog´ıa Tal y como se describi´o anteriormente, la Ontolog´ıa del Cat´alogo lo ´unico que permite es describir los esquemas completamente a modo de instancias, al igual que act´ua el diccionario de datos en los SGBDs. Sin embargo, no
  • 138. 4.4. ONTOLOG´IA DEL ESQUEMA 117 disponemos de dichos esquemas definidos en forma de clases, como una on- tolog´ıa ´unica que representa la realidad. Al definir metaclases en la Ontolog´ıa del Cat´alogo estamos esbozando una segunda ontolog´ıa, que pretende representar dicho esquema descrito. Sin em- bargo el generar estas clases simplemente no implica obtener la ontolog´ıa nece- saria que permite describir la realidad que el esquema est´a representando seg´un el Modelo Relacional. Y por tanto, tampoco permite que dicha ontolog´ıa sea instanciada para poder definir la informaci´on que exista acerca de los datos representados por ese esquema (en el entorno de las BDD, se corresponder´ıa con las tuplas). Nos vemos en la necesidad, por tanto, de definir una nueva ontolog´ıa a par- tir del esquema descrito mediante la instanciaci´on de la Ontolog´ıa del Cat´alogo. A esta ontolog´ıa la denominaremos a partir de ahora, Ontolog´ıa del Esquema en lugar de Sub-Ontolog´ıa del Esquema de Datos Difusos, por razones de clar- idad. Sin embargo, cabe plantearse la funcionalidad de esta Ontolog´ıa del Esque- ma que por un lado, representa la realidad de un dominio particular siguiendo los criterios de representaci´on del Modelo Relacional y por otro, permite inser- tar valores en la misma a modo de instancias, tal y como ocurre en el Modelo Relacional con las tuplas. En cuanto a la representaci´on del esquema como ontolog´ıa aporta utilidad en tanto que su publicaci´on en Web, permitir´a el acceso a la estructura de in- formaci´on por parte de usuarios autorizados, o bien ayudar´a a la compartici´on de esquemas de muy diversa ´ındole (como se plante´o en el apartado 2.2.1). La incorporaci´on de datos en la ontolog´ıa como instancias (al igual que tuplas en el Modelo Relacional) proporciona una gran utilidad en tanto que facilita al usuario la definici´on de la informaci´on, puesto que lo aisla de las particularidades del sistema de almacenamiento o del lenguaje utilizado para su definici´on. En cuanto al hecho de usar una ontolog´ıa como medio de gesti´on de grandes cantidades de informaci´on no se considera el medio m´as adecuado para hacerlo al contrario de lo que ocurre con un SGBD, puesto que ´este ´ultimo hace una gesti´on mas eficiente de la informaci´on que alberga. Otra aportaci´on de esta propuesta es la generaci´on de consultas (formu- laci´on de las mismas) a trav´es del entorno intuitivo que la Ontolog´ıa del Es- quema facilita. De cualquier modo, la Ontolog´ıa del Esquema representa el conocimiento que hay en una BDD de forma accesible a los usuarios y la generaci´on de la misma es, como se expondr´a a continuaci´on, autom´atica gracias a la definici´on previa realizada sobre la Ontolog´ıa del Cat´alogo.
  • 139. 118 CAP´ITULO 4. FKRO 4.4.2. Generaci´on o Conversiones La Ontolog´ıa del Esquema puede ser generada a partir de la definici´on del mismo en forma de instancia de la Ontolog´ıa del Cat´alogo. De esta forma, se comienza dicha ontolog´ıa a partir de las clases generadas por las metaclases (concretamente la metaclase Tables) y se realizan las siguientes acciones para obtener la Ontolog´ıa del Esquema completa. Se genera para cada tabla una propiedad por cada uno de los atributos definidos en ella (atributo tableColumn). El nombre de la propiedad se corre- sponde con el nombre de la columna asociada a la tabla. Adem´as, cada una de estas propiedades tendr´a cardinalidad con valor de 1, un valor at´omico indivisible, para cumplir con la normalizaci´on (Forma Normal 1) que define el Modelo Relacional. Como rango estas propiedades tienen la estructura de datos correspondiente al tipo de datos para el que ha sido definido en la On- tolog´ıa del Cat´alogo, de tal forma que: Si se trata de una columna difusa: Se genera una propiedad de objeto donde el rango se fija dependiendo del tipo de dato que tenga el dominio al que este ligado el atributo. As´ı pues este rango se fija siguiendo la tabla de correspondencias 4.15. Sin embargo, esta definici´on de rangos tiene una excepci´on consistente determinada por la existencia de restricciones difusas sobre el dominio. As´ı pues si sobre el dominio difuso correspon- diente existe alguna restricci´on difusa, entonces el rango esta limitado ´unicamente a aquellas clases en las que se cumpla dicha restricci´on, y no a su superclase (v´ease la figura 4.11 y la secci´on 4.3.3.3 para conocer con m´as detalle dichas restricciones). Tipo de Dato Difuso Estructura de Dato Difusa FType1 FType1 Struct FType2 FType2 Struct FType3 FType3 Struct Tabla 4.15: Correspondencia de los tipos de datos difusos con las estructuras de datos difusas en la ontolog´ıa Si se trata de una Columna Cl´asica: Se genera una propiedad de tipo de datos, donde se asocia a cada tipo de dato definido en la Ontolog´ıa del Cat´alogo un tipo de dato definido en la ontolog´ıa representacional. Los tipos de datos definidos en la ontolog´ıa representacional son los definidos por el est´andar XML en el caso de usar lenguajes de representaci´on de ontolog´ıas basados en Web, como OWL o RDF, en otro caso, se vincula
  • 140. 4.4. ONTOLOG´IA DEL ESQUEMA 119 el rango al tipo de datos base que tenga definido el propio lenguaje escogido. T.D. Predefinido Correspondencia con XML Boolean http://www.w3.org/2001/XMLSchema#Boolean Varying http://www.w3.org/2001/XMLSchema#string Float http://www.w3.org/2001/XMLSchema#float Integer http://www.w3.org/2001/XMLSchema#int Date http://www.w3.org/2001/XMLSchema#date TStamp http://www.w3.org/2001/XMLSchema#datetime Time http://www.w3.org/2001/XMLSchema#time . . . . . . Tabla 4.16: Correspondencia de algunos de los tipos de datos predefinidos en la Ontolog´ıa del Cat´alogo con los tipos de datos base definidos en XML El uso de las estructuras de datos difusos que se plantean (v´ease tabla 4.15) requiere la utilizaci´on de la Ontolog´ıa del Cat´alogo, dado que estos datos est´an definidos en la misma. Esta ontolog´ıa es recomendable que sea importa- da, y usada de esta forma que no pueda ser modificada (dada su naturaleza como ontolog´ıa representacional). Estas estructuras se encuentran definidas en esta ontolog´ıa dado que se utilizan para representar la informaci´on imprecisa necesaria para definir los dominios de los atributos difusos (como las etiquetas ling¨u´ısticas). Otro v´ınculo que existe entre la Ontolog´ıa de Cat´alogo y la del Esquema reside en la definici´on de los dominios difusos del esquema a representar. Una vez definido el esquema como instancia de la Ontolog´ıa del Cat´alogo, existen valores definidos a priori asociados con los dominios difusos, como etique- tas ling¨u´ısticas y relaciones de similitud entre valores discretos, que a pesar de estar definidos como instancias en esta Ontolog´ıa del Cat´alogo deben es- tar disponibles para poder ser utilizados en la Ontolog´ıa del Esquema reci´en definida. Existen dos alternativas para resolver esta situaci´on y as´ı permitir el uso de los datos del dominio. Ambas alternativas contemplan el hecho de que las instancias de la Ontolog´ıa del Cat´alogo se encuentran definidas en un nuevo archivo que tiene importada esta ontolog´ıa. Y que la Ontolog´ıa del Esquema se puede generar autom´aticamente a partir de dichas instancias. La primera consiste en definir en el mismo archivo donde estaban las instancias de Cat´alogo, la nueva Ontolog´ıa del Esquema. Este es el caso
  • 141. 120 CAP´ITULO 4. FKRO m´as habitual y tiene como ventaja que no ser´ıa necesario hacer ning´un cambio sobre los dominios puesto que ya se encontrar´ıan disponibles. La segunda consiste en utilizar un nuevo archivo para definir la Ontolog´ıa del Esquema, eliminando as´ı el archivo de instancias generado a partir de la Ontolog´ıa del Cat´alogo. En dicho caso habr´ıa que importar los valores definidos en los diferentes dominios difusos. La generaci´on de la Ontolog´ıa del Esquema tambi´en conlleva algunas desven- tajas. Existen restricciones del esquema, que se encuentran definidas (como instancias de la Ontolog´ıa del Cat´alogo) que no pueden tenerse en cuenta en la Ontolog´ıa del Esquema. Estas restricciones vienen dadas por la naturaleza propia de la ontolog´ıa que estamos representando, tanto por los conceptos representados, como por el lenguaje de ontolog´ıas utilizado, OWL-Full (des- crito en la secci´on A.2.3) que confiere una flexibilidad total para representar cualquier tipo de informaci´on. Esta flexibilidad que es necesaria para la rep- resentaci´on de Metadatos, implica la misma flexibilidad a la hora de definir cualquier informaci´on sobre la Ontolog´ıa del Cat´alogo est´e permitido o no, como vemos a continuaci´on: Es imposible comprobar si existe una coincidencia en la definici´on de una restricci´on de clave ajena, entre los atributos referenciados y los atributos que referencian (este inconveniente no es especialmente relevante dada la imposibilidad de definir claves ajenas, impedimento descrito en el punto siguiente). No es posible restringir los valores que pueden tomar los atributos que son claves ajenas. Es decir, se permitir´a la inserci´on de cualquier valor en el campo a pesar de que se trate por definici´on de una clave ajena que hace referencia a otro atributo de otra relaci´on. No se puede controlar que la definici´on de valores discretos en un atri- buto Distr.poss, coincida con el par´ametro m´aximo len que determina el n´umero m´aximo de valores que permite definir el dominio. Tampoco es posible que restricciones simples sobre los tipos de datos predefinidos (como definir una cadena de 20 caracteres, o un flotante con 3 decimales) se lleven a cabo. Esto se debe a que se utilizan tipos de datos gen´ericos de OWL sobre los que no existe ninguna limitaci´on. La soluci´on a estas posibles violaciones de restricciones de integridad o de negocio ser´an tratadas en una fase posterior en la que ya intervenga el SGBD.
  • 142. 4.4. ONTOLOG´IA DEL ESQUEMA 121 4.4.3. Ejemplos 4.4.3.1. Ejemplo 1: Cl´ınica Veterinaria Este ejemplo trata de mostrar el proceso de generaci´on de una Ontolog´ıa del Esquema a partir de las instancias de la Ontolog´ıa del Cat´alogo y c´omo dicha Ontolog´ıa del Esquema permitir´ıa definir informaci´on de tuplas, mediante su instanciaci´on. Para ello se propone la utilizaci´on de la ontolog´ıa descrita en el ejemplo por la figura 4.14 de la secci´on anterior 4.3.4. Siguiendo el proceso de conversi´on descrito anteriormente, la Ontolog´ıa del Esquema de la BDD de la Cl´ınica Veterinaria que parte con las clases generadas por la metaclase Tabla, tendr´ıa la descripci´on en UML mostrada en la figura 4.15. Como puede observarse dependiendo del tipo de datos de los atributos, se establecen nuevas relaciones en la descripci´on del Esquema. As´ı, las clases van definiendo los atributos en forma de propiedades de objeto o de tipo de datos como se detalla a continuaci´on: Todos los atributos cl´asicos se quedan como propiedades de tipo de dato en el diagrama UML aparecen como atributos de clase normales. Todos los atributos difusos sin ninguna restricci´on definida sobre ellos, se vinculan directamente a la estructura correspondiente tal y como se establece en la tabla 4.15. Por ejemplo la relaci´on Weight. Todos los atributos difusos que contengan alguna restricci´on sobre el dominio difuso, restringen el ´ambito de las estructuras difusas con las que est´an relacionados para cumplir dicha restricci´on. Este es el caso del atributo Character y CharacterB de la Tabla Cats y Breed respectiva- mente, y Age de la Tabla Cats. Character y CharacterB, al compartir dominio comparten la misma propiedad en la que s´olo permitir´an los va- lores de FType3 Struct a excepci´on de Null. En cambio Age no permite valores Unknown, por tanto todas las estructuras de FType2 Struct son permitidas a excepci´on de Unknown. La instanciaci´on de la ontolog´ıa a partir de aqu´ı es inmediata. Se podr´an definir nuevas tuplas sobre el esquema de la BDD como las expresadas a con- tinuaci´on en lenguaje FSQL obteniendo los siguientes resultados: INSERT INTO CATS VALUES( 1, "Kitty", $young, 2.3, $eager, "siames") INSERT INTO CATS VALUES( 2, "Garfield", $3, 1.9, {$indiferent(0.9), $calmado(0.6)}, angora)
  • 143. 122 CAP´ITULO 4. FKRO CATS CatID : Integer CatName: String (20) BREED BreedName : String (100) TREATMENT illness: String (200) VISIT Date : Date Price: Float MEDICINE MedicineName : String (100) PERIODICAL period: Integer duration: Integer SPORADIC rule: String (200) hasBreed > Fuzzy_Values FType1_Struct FType2_Struct FType3_Struct Unknown Undefined Null Label Crisp x:numeric Interval a:numeric b:numeric Approx v:numeric Trapezoid alfa:numeric beta:numeric delta:numeric gamma:numeric NumericT val:numeric Simple degree:float Distr.Poss . weigh character Age characterB Kind dose prescribe Figura 4.15: Ejemplo de una Cl´ınica Veterinaria generada como una On- tolog´ıa del Esquema
  • 144. 4.4. ONTOLOG´IA DEL ESQUEMA 123 INSERT INTO BREED VALUES( siames, {$inquieto (0.9), $jugeton (0.8), $agresivo (0.5)}) INSERT INTO BREED VALUES(angora, $calmado) Como podemos ver, con estas muestras, la inserci´on de datos implica la instanciaci´on de las clases: Cats y Breed y de todas las clases relacionadas con ellas, tal y como se muestra en la figura 4.15. En la tabla 4.17 se listan todas las instancias generadas para definir estas tuplas, y en las tablas 4.18 y 4.19 se listan los valores y referencias de los atributos que componen los valores de dichas tuplas. Concretamente en la tabla 4.18 se describen los atributos que son de objeto, es decir, que hacen referencia a instancias de otras clases, de esta manera sabremos con qu´e instancia estar´an vinculadas los valores Age, Weight, o Character. En cuanto a la tabla 4.19, se describen los valores concretos, como los referentes a CatName o BreedName. Tabla 4.17: Instanciaci´on de la Cl´ınica Gatos definida en como Ontolog´ıa de Esquema rdf:ID Instancia de rdfs:comment Cats1 Cats 1o tupla del ejemplo: instancia de Cats Cats2 Cats 2o tupla del ejemplo: instancia de Cats Breed3 Breed 3o tupla del ejemplo: instancia de Breed Breed4 Breed 4o tupla del ejemplo: instancia de Breed Label5 Label define la referencia al valor young NumericT6 NumericT define el valor FTD1: 2.3 Simple7 Simple define valor Simple eager Approx8 Approx define el valor Approximadamente 3 NumericT9 NumericT define valor 1.9 DistrPoss10 DistrPoss define valor indiferent(0.9),calmado(0.6) Simple11 Simple define el valor Simple indiferente Simple12 Simple define el valor Simple calmado DistrPoss13 DistrPoss define valor inquieto(0.9),jugueton(0.8) Simple14 Simple define el valor Simple inquieto Simple15 Simple define el valor Simple jugueton Simple16 Simple define el valor Simple calmado 4.4.3.2. Ejemplo 2: BDD Suelos Siguiendo con el ejemplo de la BDD real de Suelos, la generaci´on de la Ontolog´ıa del Esquema de esta BDD a partir de las instancias definidas an- teriormente sobre la Ontolog´ıa del Cat´alogo ha generado una ontolog´ıa que
  • 145. 124 CAP´ITULO 4. FKRO Tabla 4.18: Propiedades de Objeto en la Ontolog´ıa del Esquema del la Clinica Veterinaria De Atributo rdf:resource Cats1 Age Label5 Cats1 Weigh NumericT6 Cats1 Character Simple7 Cats2 Age Approx8 Cats2 Weigh NumericT9 Cats2 Character DistrPoss10 DistrPoss10 discreteVal Simple11 DistrPoss10 discreteVal Simple12 Breed3 CharacterB DistrPoss13 Breed4 CharacterB Simple16 DistrPoss13 discreteVal Simple14 DistrPoss13 discreteVal Simple15 Label5 labelID LD YoungCat Tabla 4.19: Propiedades de tipos de dato en la Ontolog´ıa del Esquema de la Clinica Veterinaria De Atributo rdf:datatype value Cats1 CatID xsd:String 1 Cats1 CatName xsd:String Kitty Cats2 CatId xsd:String 2 Cats2 CatName xsd:String Garlfield Breed3 BreedName xsd:String angora Breed4 BreedName xsd:String siames NumericT6 val xsd:Float 2.3 NumericT9 val xsd:Float 1.9 Approx v xsd:Float 3 Simple7 degree xsd:Float - Simple11 degree xsd:Float 0.9 Simple12 degree xsd:Float 0.6 Simple15 degree xsd:Float 0.8 Simple16 degree xsd:Float 0.5 Simple17 degree xsd:Float -
  • 146. 4.4. ONTOLOG´IA DEL ESQUEMA 125 puede ser instanciada para almacenar/gestionar las tuplas de dicha BDD. Al- gunas de estas tuplas se encuentran definidas en el Anexo C, concretamente en la secci´on C.2. La Ontolog´ıa del Esquema de la BD de Suelos ha generado una clase por cada una de las relaciones definidas. Las propiedades de las mismas se han creado en funci´on del tipo de dato que se trate, esto es, propiedades de tipo de datos, en el caso de que el tipo de dato sea predefinido y propiedades de objeto en el caso de que el tipo de datos se defina utilizando un dominio, como en el caso de los difusos. El resto de caracter´ısticas, como restricciones tambi´en se han tenido en cuenta en la definici´on de la misma, siempre y cuando puedan ser aplicables, como por ejemplo, las restricciones difusas y las restricciones de cardinalidad. En la tabla 4.20 se muestran todas las instancias generadas junto con una descripci´on de qu´e representan. Los valores concretos de las tuplas ser´an repre- sentados en las tablas de propiedades, que se dividen en dos: las propiedades de objeto, que hacen referencia a instancias que ya han sido definidas y que pueden verse en la tabla 4.21. Y las propiedades de tipo de dato, que represen- tan valores concretos y que pueden verse en la tabla 4.22. Los valores repre- sentados en estas tablas se corresponden con las 2 primeras tuplas descritas en el apartado C.2 del Anexo C. Adem´as, para seguir con la definici´on del esque- ma de la BDD de Suelos descrito en el apartado 4.3.4.2, s´olo se visualizar´an en estas tablas los valores correspondientes a los atributos definidos, esto es, para la tabla Localizaci´on: latitud, longitud, tmedia, fisiograf´ıa, codigo es loc y para la tabla Estructura: codigo es y grado es. Tabla 4.20: Instanciaci´on de la BDD Suelos definida en como Ontolog´ıa de Esquema rdf:ID Instancia de rdfs:comment Localizacion1 Localizacion 1o tupla del ejemplo: instancia de Localizacion Localizacion2 Localizacion 2o tupla del ejemplo: instancia de Localizacion Estructura3 Estructura 3o tupla del ejemplo: instancia de Estructura Estructura4 Estructura 4o tupla del ejemplo: instancia de Estructura Este ejemplo es similar al anterior (BDD Cl´ınica Veterinaria), pero menos rico en variedad de datos a definir. Los valores utilizados en una BD real consisten mayoritariamente en etiquetas ling¨u´ısticas descritas dado que son m´as f´aciles de utilizar para el usuario final. El resto de datos son en datos num´ericos de tipo flotante o entero.
  • 147. 126 CAP´ITULO 4. FKRO Tabla 4.21: Propiedades de Objeto en la Ontolog´ıa del Esquema de la BDD Suelos De Atributo rdf:resource Localizacion1 fisiografia DD ladera fisiograf Localizacion1 tmedia DD baja tmedia Localizacion2 fisiografia DD ladera fisiograf Localizacion2 tmedia DD baja tmedia Estructura3 grado es DD Weak grado es Estructura4 grado es DD Weak grado es Tabla 4.22: Propiedades de tipos de dato en la Ontolog´ıa del Esquema de la BDD Suelos De Atributo rdf:datatype value Estructura3 codigo es xsd:float 1 Estructura4 codigo es xsd:float 2 Localizacion1 latitud xsd:float 41045 Localizacion1 longitud xsd:float 5478 Localizacion1 codigo es loc xsd:float 1 Localizacion2 lontitud xsd:float 41135 Localizacion2 longitud xsd:float 5598 Localizacion2 codigo es loc xsd:float 2
  • 148. 4.5. CONCLUSIONES 127 4.5. Conclusiones Se ha conseguido en este cap´ıtulo describir la Ontolog´ıa para la Repre- sentaci´on del Conocimiento Difuso. Dicha ontolog´ıa, cuyo objetivo es repre- sentar la informaci´on de una Base de Datos Relacional Difusa, est´a compuesta por dos sub-ontolog´ıas de diferente tipo que representan la misma informaci´on. Una primera, se basa en la instanciaci´on de la Ontolog´ıa del Cat´alogo, ontolog´ıa representacional que describe con exactitud la estructura del cat´alogo del Mo- delo Relacional. Una segunda, denominada de manera gen´erica Ontolog´ıa del Esquema, representa en forma de ontolog´ıa (no de instancias) la BDD que se pretende definir. Dicha ontolog´ıa podr´a ser instanciada y por lo tanto definir tuplas sobre ella. Gracias a esta definici´on podremos aislar la representaci´on de una BDD del modelo de representaci´on d´onde se almacene, a la vez que se le proporcionan como valor a˜nadido todas las caracter´ısticas que la representaci´on ontol´ogica aporta, como puede ser su presencia en la Web Sem´antica. A continuaci´on se describen con detalle las ventajas e inconvenientes que presenta dicha pro- puesta. 4.5.1. Ventajas e Inconvenientes Ventajas La Ontolog´ıa de Representaci´on del Conocimiento Difuso plantea las sigu- ientes ventajas, que se agruparan atendiendo a dos criterios: Con respecto a la naturaleza de la informaci´on: Claridad en la Informaci´on. La informaci´on imprecisa y el Modelo Re- lacional quedan representadas a trav´es de los conceptos fundamentales, atendiendo en particular a la generalidad de dichos conceptos y a la simplicidad de los mismos. Se trata de evitar que la definici´on de la informaci´on sea dependiente de una representaci´on en particular que complica la comprensi´on de los datos. Independencia del SGBD. La representaci´on de la ontolog´ıa evita la relaci´on directa con el SGBD con el que se est´e trabajando. Este he- cho, permite que las particularidades de cada SGBD se obvien en la representaci´on de una BDD, y se dejen para las tareas de traducci´on o comunicaci´on. De esta forma la definici´on de una BDD en la ontolog´ıa siempre se realizar´a de la misma manera sea cual sea el recipiente de dicha informaci´on.
  • 149. 128 CAP´ITULO 4. FKRO Extensibilidad. Una representaci´on gen´erica del modelo relacional difuso permite que la extensi´on del mismo, para representar otros tipos de datos m´as complejos o operaciones, sea m´as sencilla. La extensi´on ser´ıa realizada sobre la ontolog´ıa (la capa abstracta) dejando los complejos detalles de la extensi´on sobre los SGBD ocultos para los usuarios finales. Normalizaci´on. Los datos definidos sobre la ontolog´ıa siempre son defini- dos siguiendo el patr´on definido en la Ontolog´ıa del Cat´alogo. Por tanto la definici´on del esquema de BDD siempre tiene la misma representaci´on. De esta forma ayudar´a a que cualquier aplicaci´on que requiera el uso de esta informaci´on s´olo necesite conocer los detalles de dicha Ontolog´ıa del Cat´alogo. Automatizaci´on de la Conversi´on. Al dise˜nar el modelo relacional di- fuso utilizando una ontolog´ıa con metadatos definidos en la misma, se establece el vinculo entre el esquema y la informaci´on del diccionario de datos. El esquema de BDD definido sobre la Ontolog´ıa del Cat´alogo permite una conversi´on directa a la generaci´on de una Ontolog´ıa propia del Esquema. Dada la naturaleza de la informaci´on que se encuentra nor- malizada y la relaci´on que existe entre ambas definiciones (ontolog´ıas) el proceso exacto para poder realizar dicha traducci´on esta claramente determinado y puede ser f´acilmente automatizado. Con respecto a la interacci´on con el entorno: Estandarizaci´on. Con la Ontolog´ıa del Cat´alogo se obtiene una planti- lla accesible y p´ublica sobre la que se definen los datos de un esquema difuso. Cualquier esquema difuso definido utiliz´andola ser´ıa accesible por cualquier usuario/programa y compartir´ıa la misma representaci´on que otro esquema de las mismas caracter´ısticas (sea cual sea el lugar donde est´e almacenado). Automatizaci´on. Se puede automatizar la interacci´on con el SGBD, es decir, establecer una v´ıa de comunicaci´on entre la ontolog´ıa y cualquier SGBD y as´ı poder intercambiar informaci´on. Publicaci´on de Datos Difusos. La ontolog´ıa de un Esquema de BDD relacionales en Web, permite que los usuarios tengan informaci´on difusa accesible desde cualquier mecanismo de consulta que lo permita. Publicaci´on de Esquemas de BDD en Web. La publicaci´on de la ontolog´ıa de cualquier Esquema basado en BDD confiere sem´antica a la informa- ci´on que no puede ser anotada sem´anticamente por cualquier otro medio,
  • 150. 4.5. CONCLUSIONES 129 dado que la informaci´on que una BD contiene no se encuentra incluida en los archivos web. BD Heterog´eneas. La disponibilidad de una Ontolog´ıa del Cat´alogo gen´eri- ca sobre el Modelo Relacional (con datos difusos) permite la comparti- ci´on de informaci´on entre BBDD de muy diversa´ındole, puesto que todos los SGBDs comparten la misma definici´on del Cat´alogo descrito en dicha ontolog´ıa. Compartici´on y otras Operaciones con el Entorno. Se presenta otra nue- va forma de representar informaci´on utilizando esquemas de BDD me- diante una ontolog´ıa. Este esquema puede ser compartido y usado por otras representaciones que definan la misma realidad o complementaria. Existen (tal y como se describi´o en el cap´ıtulo anterior) otros tipos de representaci´on de esquemas como ontolog´ıas que no est´an basadas en modelos relacionales, Esquemas de BD, Esquemas XMLs, Esquemas en RDF, folksonom´ıas, jerarqu´ıas de conceptos, etc. Toda esta informaci´on necesita mecanismos para permitir su interacci´on, pero la publicaci´on de c´omo la informaci´on esta estructurada en dichos esquemas, permite que estos mecanismos sean f´acilmente definibles. Inconvenientes Esta propuesta tambi´en presenta algunas desventajas, tal y como se ve a continuaci´on: Lenguaje inteligible: Por un lado, la representaci´on de la ontolog´ıa en un entorno de frames, permite la interpretaci´on de la misma de forma intui- tiva en la que los conceptos son claramente distinguibles. Sin embargo, tal y como ocurre en este caso, si se utiliza un lenguaje de representaci´on web, la interpretaci´on de la misma se hace tediosa e incluso imposible dada la ingente cantidad de etiquetas que hacen falta para representar todos los conceptos. Necesidad de una aplicaci´on para interaccionar con la ontolog´ıa: Dada la naturaleza del lenguaje de representaci´on OWL, ininteligible para el usuario, se hace necesaria una herramienta que permita visualizar y/o editar dicha ontolog´ıa de forma intuitiva para el usuario. Aplicaci´on para definir /consultar. El proceso de consulta o definici´on de esquemas requiere de alguna aplicaci´on espec´ıfica que permita realizar dicho proceso de manera guiada al usuario. La gesti´on o definici´on de
  • 151. 130 CAP´ITULO 4. FKRO los datos del esquema en una ontolog´ıa requieren una aplicaci´on para permitir tratar la informaci´on difusa de forma correcta. Necesidad de una aplicaci´on para la conversi´on autom´atica. Si se desea realizar la automatizaci´on para la generaci´on de la Ontolog´ıa del Es- quema a partir del esquema definido como instancias de la Ontolog´ıa del Cat´alogo, es necesaria la elaboraci´on expl´ıcita de los procesos que permitan generarla. Comunicaci´on con los SGBD compleja. La ontolog´ıa no almacena los datos como finalidad, se tratar´ıa de un interfaz que comunica con el SGBD donde los datos estar´ıan almacenados. La comunicaci´on deber´a con- templar las particularidades de cada SGBDs. As´ı cualquier interacci´on con el SGBD tendr´a que tener un m´odulo que interprete las caracter´ısti- cas del mismo para poder interaccionar con ´el. Estas particularidades ser´an ampliamente detalladas en el cap´ıtulo siguiente. Dependencia del programa de definici´on de ontolog´ıas. Dado que es com- plicado definir de manera manual la ontolog´ıa, por lo tedioso del lengua- je, la generaci´on de la Ontolog´ıa del Esquema requiere el uso de libre- r´ıas y convenciones (JENA [Pro07]) para generar el c´odigo en OWL autom´aticamente. Esta caracter´ıstica vuelve dependiente a la ontolog´ıa de las particularidades de la librer´ıa escogida o lenguaje utilizado.
  • 152. Cap´ıtulo 5 Arquitectura del Sistema y Aplicaciones 5.1. Introducci´on En este cap´ıtulo se realizar´a una descripci´on de la arquitectura necesaria para desarrollar y explotar la Ontolog´ıa de Representaci´on del Conocimiento Difuso descrita en el cap´ıtulo anterior. Tal y como se defini´o anteriormente la Ontolog´ıa de Representaci´on del Conocimiento Difuso esta dividida en dos sub-ontolog´ıas: la Ontolog´ıa del Cat´alogo y la Ontolog´ıa del Esquema que permiten representar la informaci´on difusa almacenada en una BDD Relacional, a la vez que tenerla disponible en forma de ontolog´ıa. Para que dicha representaci´on de informaci´on se lleve a cabo se requiere la ejecuci´on de dos procesos bien diferenciados: por un lado, se necesita establecer un sistema que permita la representaci´on de la Ontolog´ıa del Esquema, y de alguna manera facilitar al usuario la definici´on/manipu- laci´on de los datos difusos de manera amigable e intuitiva. Por otro lado, dicha Ontolog´ıa del Esquema una vez que se ha desarrollado, se comunica con el SGBDD correspondiente. Dicha comunicaci´on no es trivial, dado que los SGBDDR no comparten la misma forma de representaci´on de datos, ni soportan el mismo tipo de lenguaje (cada uno realiza una representaci´on del SQL distinta) ni tienen las mismas capacidades funcionales. Para llevar a cabo estos procesos de representaci´on y manipulaci´on de in- formaci´on difusa a trav´es del uso de una ontolog´ıa y su posterior comunicaci´on con un SGBD real se describe la Arquitectura del Sistema. En ella se presenta el flujo de informaci´on de la Ontolog´ıa al SGBD especificando los m´odulos m´as representativos que constituyen el sistema y todos los casos que pueden darse en dicha comunicaci´on. 131
  • 153. 132 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Se presentar´an tambi´en, de manera razonada, las diferentes decisiones que se han tomado para llevar a cabo la implementaci´on de dicha arquitectura, desde herramientas que permitan generar una ontolog´ıa, hasta las particulari- dades de los diferentes SGBD que permiten representar informaci´on imprecisa. Adem´as se muestra la aplicaci´on desarrollada, describiendo qu´e funcional- idad aporta y qu´e herramientas y tecnolog´ıas han sido utilizadas en la imple- mentaci´on de la misma. Por ´ultimo, en este cap´ıtulo se realizar´a un repaso por las diferentes casos de uso que la arquitectura presenta a la hora de manipular la informaci´on imprecisa representada en una BDR destacando, cu´ales se han llevado a cabo y cu´ales ser´an fruto de trabajos posteriores a ´este. 5.2. Arquitectura del Sistema La arquitectura que se propone permite trabajar con informaci´on imprecisa desde el momento en que un usuario desea representar/manipular informaci´on hasta la representaci´on de estos mismos datos en un SGBD Relacional Difuso cualquiera, sean cuales sean sus caracter´ısticas. En la figura 5.1, se muestra un esquema gen´erico de la Arquitectura del Sistema. Esta arquitectura puede dividirse en dos fases dados los diferentes pro- blemas a resolver: la primera fase conduce a la obtenci´on de la Ontolog´ıa del Esquema, y se describir´a en el siguiente apartado como Arquitectura de Comu- nicaci´on con la Ontolog´ıa. La segunda fase describir´a los diferentes mecanismos de conexi´on con los SGBDs, y se describir´a como Arquitectura de Comuni- caci´on con la BD. 5.2.1. Arquitectura de Comunicaci´on con la Ontolog´ıa Tal y como se muestra en la figura 5.1, esta arquitectura permite generar la Ontolog´ıa del Esquema. Para ello, se requiere la utilizaci´on de los siguientes m´odulos: Interfaz de Usuario Este m´odulo consiste en un entorno amigable que per- mite a un usuario novel la generaci´on una BD Difusa y la manipulaci´on de los datos almacenados en la misma (esto incluye las BD cl´asicas tam- bi´en). Adem´as dicha interfaz debe gestionar tanto la informaci´on relativa a los metadatos que describen una BDD como los contenidos en ella. Generador de OWL Este m´odulo est´a destinado a generar el c´odigo en OWL necesario para la definici´on y manipulaci´on de esquemas difu- sos utilizando la Ontolog´ıa de Representaci´on del Conocimiento Difuso.
  • 154. 5.2. ARQUITECTURA DEL SISTEMA 133 INTERFAZ USUARIO INTERPRETE / GENERADOR DE OWL ONTOLOGIA DEL CATALOGO ONTOLOGIA DEL ESQUEMA INTERPRETE /ADAPTADOR BD SGBDRs SGBD SGBD SGBD ARQUITECTURA PARA LA GENERACION DE LA ONTOLOGÍA ARQUITECTURA DE COMUNICACION CON LA BD (descripción detallada en la figura 5.5 "Arquitectura Unificada ") INTERFAZ ESQUEMA INTERFAZ CATALOGO Figura 5.1: Arquitectura del Sistema General
  • 155. 134 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Para ello debe proporcionar los procedimientos para leer la Ontolog´ıa del Cat´alogo y permitir su instanciaci´on y generar la Ontolog´ıa del Esquema derivada de la misma. Ontolog´ıa del Cat´alogo Este m´odulo representa a la Ontolog´ıa del Cat´alo- go (descrita en el cap´ıtulo anterior) cuyo uso es imprescindible para la generaci´on de la Ontolog´ıa del Esquema en c´odigo OWL. Todas las representaciones de BDRD en forma de ontolog´ıa requieren la incorpo- raci´on/importaci´on de esta (meta)ontolog´ıa para poder definir y mani- pular las estructuras de una BDRD. Ontolog´ıa del Esquema Ontolog´ıa en OWL que describe un esquema de BD Difusas. Los dos primeros m´odulos requieren de la utilizaci´on de herramientas soft- ware, que permitan llevar a cabo la funcionalidad que describen. A continua- ci´on se detallan cada uno de estos m´odulos. 5.2.1.1. Interfaz de Usuario Uno de los principales motivos que llevan al desarrollo de la Ontolog´ıa para la Representaci´on del Conocimiento Difuso se basa en la dificultad para definir informaci´on imprecisa en un SGBD Extendido. Esta dificultad, que se incrementa conforme las extensiones al modelo se van incorporando, ha inducido a la generaci´on de una ontolog´ıa que mantenga la definici´on de dicha informaci´on al margen de cualquier representaci´on concreta de un SGBD. De esta forma, la generaci´on de una interfaz de usuario es un elemento fundamental en la arquitectura. Las tareas m´as b´asicas que dicha interfaz debe aportar son: Permitir la definici´on de un Esquema de BDD a partir de la instanciaci´on de la Ontolog´ıa del Cat´alogo descrita en esta tesis. Conectar con un SGBDRD cualquiera para incorporar la informaci´on descrita en forma de ontolog´ıa. La conexi´on podr´ıa realizarse con varios SGBDRs simult´aneamente. Mantener al usuario al margen de los detalles propios de la definici´on de datos difusos, para lo que se requiere que la interfaz sea lo m´as intuitiva posible. Contemplar la opci´on de manipular las estructuras del cat´alogo para los casos de SGBD que carezcan de las estructuras para la representaci´on
  • 156. 5.2. ARQUITECTURA DEL SISTEMA 135 de datos difusos. Esta opci´on debe incluir la posibilidad de extender el sistema en caso necesario. Como en todos los sistemas software, las decisiones de desarrollo se toman en funci´on de la disponibilidad y m´etodos de acceso que se desea que la he- rramienta proporcione, las dos principales alternativas son: Utilizar una herramienta local de desarrollo propio, basada en tecnolog´ıa Web o cualquier otra plataforma (dependiendo del lenguaje usado para su desarrollo) que permita la consulta y manipulaci´on de la ontolog´ıa. Usar Herramientas de Gesti´on de Ontolog´ıas que permitan la edici´on de la ontolog´ıa y su instanciaci´on. Esta opci´on se contempla dado que existen herramientas que permiten su extensi´on para incorporar nuevas funcionalidades. Dicha interfaz de usuario se divide en dos, dependiendo del tipo de usuario que va a tener acceso a la misma, y de la informaci´on que dichas interfaces est´an encargadas de gestionar y que a continuaci´on se detalla. Interfaz de Cat´alogo La Interfaz del Cat´alogo esta destinada a ser utilizada por los administra- dores del SGBD que se deben de encargar de definir las estructuras necesarias en el cat´alogo del sistema para que la definici´on de datos difusos sobre la BD sea posible. De esta forma, dicha interfaz debe permitir las funciones de: Generar tablas del cat´alogo que permitan la definici´on de datos difusos. Identificar las particularidades de cada SGBD para incorporar dichas tablas del cat´alogo en el espacio m´as adecuado, dependiendo del sistema que se trate. Establecer permisos sobre dichas tablas para que los usuarios puedan acceder a ellas. Dependiendo de las particularidades del SGBD en cuesti´on, incorporar la funciones de gesti´on de datos difusos necesarias para el manejo de los mismos (operaciones de comparaci´on, interpretaci´on de consultas, etc.). Estas funciones pueden estar incrustadas en el sistema, o bien ser ajenas al mismo, como veremos m´as adelante.
  • 157. 136 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Para llevar a cabo estas funciones es requisito, en la mayor´ıa de los SGBDs, tener privilegios de administrador, dado que se trata de tablas a incorporar al cat´alogo del sistema, y que interaccionan con el resto del mismo. No obstante esto depende del SGBDs en el que se est´e trabajando. Esta interfaz s´olo se utiliza en el proceso de definici´on o extensi´on de un SGBDR com´un, para incluirle la funcionalidad de gestionar informaci´on im- precisa. Por lo tanto, ser´a utilizado en una sola ocasi´on para cada sistema que se instale. Interfaz de Esquema La interfaz del esquema, ser´a la mas utilizada, pues es la encargada de permitir al usuario realizar las siguientes funciones: Permitir definir el Esquema de BD Difusa o Cl´asica de manera intuitiva para el usuario final. Esto puede llevarse a cabo a trav´es de asistentes o formularios sencillos. Permitir la visualizaci´on del Esquema de BD Difusas de manera intuitiva, sin necesidad de que el usuario final tenga que acceder a la BDD para hacerlo, ni de conocer la sintaxis del c´odigo OWL. Permitir la generaci´on de la Ontolog´ıa del Esquema de manera autom´atica, es decir, que la misma herramienta una vez que tiene definido el esquema en forma de instancias de la Ontolog´ıa del Cat´alogo autogenera las clases y relaciones necesarias para que dicho esquema sea a su vez instanciable. Permitir la conexi´on con SGBD heterog´eneas, de las que conoce sus particularidades, para as´ı poder realizar la definici´on de las estructuras definidas en OWL. Permitir la definici´on de datos sobre la Ontolog´ıa del Esquema generada, es decir, la definici´on de las tuplas. Permitir la generaci´on de consultas de datos difusos en FSQL a partir de la ontolog´ıa. Permitir la comunicaci´on simult´anea con SGBDRDs para realizar cual- quier tarea de definici´on o manipulaci´on a la vez, sin tener en cuenta las particularidades de cada sistema. La implementaci´on final de estas funciones se describe en los apartados 5.3.3 y 5.3.4 de este cap´ıtulo.
  • 158. 5.2. ARQUITECTURA DEL SISTEMA 137 5.2.1.2. Generador de OWL Tal y como se viene expresando en los cap´ıtulos anteriores, el uso del lenguaje de representaci´on de ontolog´ıas de OWL( v´ease secci´on A.2.3 del A) conlleva tantas ventajas como inconvenientes. Entre los inconvenientes m´as destacables se encuentra el gran coste de desarrollar una ontolog´ıa en OWL de forma manual, dada la naturaleza misma del lenguaje que siendo simple, es muy tedioso a su vez en la representaci´on de cualquier concepto debido al gran n´umero de etiquetas que necesita para ello. De esta forma, una representaci´on manual de una ontolog´ıa en OWL ser´ıa un error no s´olo por el esfuerzo en realizar esta tarea, sino por la alta probabilidad de cometer un error en la misma, hecho que impedir´ıa cualquier manejo autom´atico de la ontolog´ıa por cualquier aplicaci´on a posteriori. De esta forma, se estima necesaria la utilizaci´on de herramientas que inter- preten ontolog´ıas representadas en OWL y que a su vez permitan la definici´on de nuevos conceptos en dicho lenguaje. Existen dos alternativas para trabajar con OWL: Utilizar librer´ıas como JENA, Sesame u OWLAPI (opciones descritas en el Anexo A). Esta opci´on permite incorporar a cualquier programa de gesti´on de datos propio, operaciones de manipulaci´on de c´odigo OWL mediante la utilizaci´on de los m´etodos incluidos en dichas librer´ıas. Utilizar programas de gesti´on de ontolog´ıas per se. Estos programas pro- porcionan toda la funcionalidad necesaria para definir ontolog´ıas de for- ma gr´afica (en su mayor´ıa) o cuanto menos intuitiva. Adem´as la mayor´ıa permiten una gesti´on integral de las mismas, opci´on m´as que deseable. Una de las aplicaciones m´as populares que ofrecen dicha funcionalidad es Prot´eg´e, tambi´en existen otras como OntoEdit, OntoStudio, etc. (v´ease secci´on A.2.3.3 para conocer las caracter´ısticas principales y referencias a estas herramientas). 5.2.2. Arquitectura de Comunicaci´on con la BD Los SGBD Relacionales actuales a pesar de representar el mismo mode- lo de datos, realizan dicha representaci´on de modos muy diferentes. Existen diferencias tanto en la definici´on del est´andar de SQL que implementa cada sistema (v´ease [Gen06]), hasta en la forma para gestionar y representar la informaci´on en el mismo, hecho m´as que l´ogico dado que cada sistema tiene definido su propio formato de cat´alogo para almacenar los metadatos. Adem´as, dependiendo del SGBD de que se trate, incorpora mecanismos de comunicaci´on y explotaci´on del sistema con diferente grado de eficiencia, por ejemplo algunos
  • 159. 138 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES incorporan un lenguaje de programaci´on incrustado, opci´on muy deseable en t´erminos de eficiencia y rapidez, mientras que otros simplemente permiten la comunicaci´on con lenguajes o programas ajenos al sistema, opci´on mucho m´as lenta e ineficiente. De esta forma, dependiendo del tipo de SGBD Relacional (SGBDR) en el que se quiera implantar la base de datos representada por la ontolog´ıa, es necesario interponer una serie de fases que traduzcan las acciones recogidas de forma impl´ıcita en la ontolog´ıa a las sentencias propias de un SGBDR. Dichas fases se encuentran descritas en [Bla08a] y a continuaci´on: 5.2.2.1. Extensi´on del SGBDR para Incorporar el FSQL La extensi´on difusa FSQL [Bla03b] del lenguaje relacional SQL permite la creaci´on y manejo de estructuras relacionales capaces de contener atributos con dominios difusos. Un sistema con estas caracter´ısticas incorpora sus propias estructuras de cat´alogo para la representaci´on de los dominios difusos y para la creaci´on de relaciones con datos difusos. Adem´as, incorpora el conjunto de funciones nece- sarias para gestionar dichas sentencias FSQL. Por ello, parece que carece de sentido la implantaci´on de la Ontolog´ıa para la Representaci´on del Conoci- miento Difuso dado que la definici´on de datos difusos en este caso se podr´ıa realizar utilizando directamente las sentencias FSQL, sin entrar en detalles de representaci´on. Sin embargo, para implantar las estructuras relacionales contenidas en la Ontolog´ıa del Esquema de datos difusos es necesario generar las sentencias FSQL que creen dichas estructuras en la base de datos, empleando un m´odu- lo de traducci´on como el observado en la figura 5.2. Con esta arquitectura, traducimos la ontolog´ıa al lenguaje FSQL y la sentencia traducida se env´ıa a la base de datos para su procesamiento (que incluye traducci´on a SQL con capacidades funcionales) y ejecuci´on. Existen por tanto dos alternativas diferentes en la extensi´on de los SGBDR necesaria para representar dicha informaci´on imprecisa y que determinar´an el modo de interpretaci´on del FSQL. Estas configuraciones son directamente de- pendientes de la capacidad del SGBD para incorporar capacidades funcionales (es decir, que carece de un lenguaje de programaci´on que le permite la creaci´on de bloques de sentencias para la operaci´on con datos) como se describe a con- tinuaci´on.
  • 160. 5.2. ARQUITECTURA DEL SISTEMA 139 Ontologia del esquema FSQL Adaptador FSQL Ex. SQL Ex. SGDBR Figura 5.2: Arquitectura de integraci´on con un SGBDR con capacidades FSQL 5.2.2.2. SGBDR con Capacidades Funcionales La implantaci´on de un esquema de BDD en un SGBDR que carezca de la implementaci´on FSQL pasa por la creaci´on de las estructuras de cat´alogo relacional extendido de forma difusa, que permitir´an almacenar la informaci´on referente a la ontolog´ıa para la representaci´on de datos difusos. Incorporando las relaciones de dicho cat´alogo, almacenamos la informaci´on referente a los dominios y datos difusos contenidos en la base de datos, haciendo posible el acceso a la informaci´on desde las funciones y procedimientos que se creen a tal efecto pero sin depender de la ontolog´ıa. Sin embargo, toda la funcionalidad que incorpora la implementaci´on del lenguaje FSQL, vista en el apartado 5.2.2.1, tendr´a que ser proporcionada en este caso por una serie de bloques funcionales implementados en el lengua- je procedimental que proporcione la implementaci´on relacional dada. SGB- DR como Oracle c o PostgreSQL c incorporan estas capacidades mediante la definici´on de sus lenguajes procedimentales Oracle R PL/SQL y PG/PLSQL, respectivos. Si bien proponemos un paso intermedio para la representaci´on en FSQL de toda operaci´on realizada a trav´es de la ontolog´ıa, en el caso de este tipo de sistemas, ser´a necesaria la traducci´on de la sentencia al lenguaje SQL (el cual incluir´a llamadas a funciones que resuelvan los problemas difusos) puesto
  • 161. 140 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Func. Ex. SQL Ex. SGDBR SQL con funciones Adaptador FSQL Adaptador Ontología del esquema Ontología del catálogo Figura 5.3: Arquitectura de integraci´on con un SGBDR con capacidades fun- cionales que el sistema carece de la capacidad de compilar y ejecutar sentencias FSQL. El procesamiento de la sentencia FSQL tiene que ser realizado a nivel del Adaptador a SQL con funciones, mostrado en la figura 5.3, el cual traduce la sentencia FSQL a una sentencia SQL con llamadas a funciones que ten- dr´an que estar almacenadas en la base de datos para su llamada cuando se ejecute la sentencia SQL traducida. Estas funciones insertadas en el SGBD son las encargadas de realizar operaciones con los datos difusos que en ellas se encuentran representados. 5.2.2.3. SGBDR sin Capacidades Funcionales En este caso, se implanta el esquema de base de datos contenido en un SGBDR que no incorpora capacidades funcionales, por lo tanto, la base de datos act´ua como mero recipiente de datos. De este modo, todas las fases del tratamiento de la sentencia FSQL (traducci´on y procesamiento) tendr´an que ser implementadas en un lenguaje de programaci´on externo al propio SGBDR. Este es el caso de SGBDR como MySQL R , en el que se puede proveer el tratamiento de la sentencia FSQL mediante una serie de elementos funcionales programados en Java. Lo cual ralentizar´ıa la ejecuci´on de cualquier operaci´on que requiriera de esta funcionalidad. En un sistema de este tipo, el elemento denominado M´odulo funcional, que se muestra en la figura 5.4, tendr´a que realizar la interpretaci´on de la consulta FSQL y, mediante diversas consultas SQL a la base de datos, obtener conjuntos de datos relacionales (no difusos) a los que aplicar´a funciones para
  • 162. 5.2. ARQUITECTURA DEL SISTEMA 141 FSQL Adaptador SQL Ex. SGDBR Funcional Módulo Ontología del esquema Ontología del catálogo Figura 5.4: Arquitectura de integraci´on con un SGBDR sin capacidades fun- cionales proporcionar la sem´antica difusa a estos datos y poder operar con ellos. 5.2.2.4. Arquitectura Unificada Reuniendo todas las posibilidades de SGBDR vistas en los apartados an- teriores, la arquitectura unificada quedar´ıa como se muestra en la figura 5.5. En dicha arquitectura, la ontolog´ıa actuar´ıa como interfaz abstracta para la definici´on de datos difusos o cl´asicos, independiente de cualquier SGBD que act´ue como recipiente de la informaci´on. Dicha ontolog´ıa proporcionar´ıa tanto la definici´on de los datos de la BDD, como cualquier petici´on de manipulaci´on sobre los mismos, sin tener en cuenta las particularidades que cada SGBDD tiene en su representaci´on. Adem´as, en la arquitectura separamos por niveles todos los aspectos rela- tivos al lenguaje de consulta de datos difusos en el que nos basamos (como primer paso para la operaci´on sobre la base de datos) de los aspectos espec´ıfi- cos relacionados con la implementaci´on concreta. As´ı pues nos encontramos con: Primera Fase de Adaptaci´on al Lenguaje Se utiliza el Adaptador FSQL,
  • 163. 142 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES FSQL Ex. SQL Ex. SGDBR SQL Ex. SGDBR Funcional Módulo Ontología del esquema FSQL Adaptador SQL con funciones Adaptador Func. Ex. SQL Ex. SGDBR Ontología del catálogo Adaptación al lenguaje Adaptación a la implementación Figura 5.5: Arquitectura Integrada que como se ha especificado anteriormente, permite generar la sentencia de definici´on o manipulaci´on de datos en este lenguaje. Segunda Fase de Adaptaci´on a la Implementaci´on Entra a formar par- te las particularidades del SGBD con el que se est´e trabajando. Por tanto la sentencia lanzada contra la BDD (en FSQL) ser´a resuelta en funci´on de la decisi´on tomada para extender el SGBDR con capacidad de trata- miento de datos difusos sobre el que ha sido lanzada. En la actualidad, la primera fase de adaptaci´on al lenguaje se ha desarro- llado tanto a trav´es de las herramientas generadas en esta tesis para la gesti´on de la ontolog´ıa, como a trav´es de la utilizaci´on de otras herramientas como el FuzzyQuery2+ [Bla02b]. La segunda fase de adaptaci´on a la implementaci´on se encuentra ´ıntegramente desarrollada y en perfecto funcionamiento para el SGBDR Oracle c . Esta funci´on permite generar cualquier sentencia correcta en FSQL y posteriormente procesarla autom´aticamente sobre dicho sistema. Esto es posible gracias a que Oracle tiene capacidades funcionales (PL/SQL) y una implementaci´on completa, usando dichas capacidades, de las operaciones para analizar y ejecutar una sentencia FSQL. Como trabajos futuros se propondr´a la implementaci´on de las operacio- nes para analizar y ejecutar una sentencia en FSQL utilizando un lenguaje
  • 164. 5.2. ARQUITECTURA DEL SISTEMA 143 INTERFAZ USUARIO GENERADOR DE CONSULTA ONTOLOGIA DELCATALOGO INTERPRETE /ADAPTADOR BD SGBD SGBD SGBD ARQUITECTURA PARA LA GENERACION DE LA ONTOLOGÍA DE CONSULTA ARQUITECTURA DE COMUNICACION CON LA BD (extensión en la figura 5.5 " Arquitectura Unificada ") ONTOLOGIA DELESQUEMA Figura 5.6: Arquitectura de Consulta de programaci´on gen´erico, que est´e aceptado por la mayor´ıa de SGBDR, y fundamentalmente por aquellos que no dispongan de capacidades funcionales. 5.2.3. Arquitectura de Consulta La arquitectura del sistema planteada en el apartado anterior, est´a dise- ˜nada para la definici´on de la Ontolog´ıa del Esquema y su posterior comuni- caci´on con el SGBDRD correspondiente para su correcta generaci´on. Incluso tambi´en es v´alida en la definici´on de datos (tuplas) sobre dicha Ontolog´ıa del Esquema, a trav´es de la instanciaci´on del mismo. Sin embargo, el flujo de informaci´on que hay en la misma es unidireccional, es decir, no permite comunicaci´on con el usuario final una vez definido el mismo. La Arquitectura de Consulta debe establecer las bases para permitir al usuario definir una consulta relacionada con el Esquema sobre el que quiere consultar, de forma transparente al SGBDRD consultado, y devolver al mismo
  • 165. 144 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES los resultados. Es por este motivo que se hace necesaria una modificaci´on a la Arquitectura del Sistema previamente propuesta, en el que el flujo de informaci´on sea bidireccional. La parte de la Arquitectura de Comunicaci´on con la BD es id´entica a la descrita en el apartado 5.2.2 anterior, a excepci´on de que las comunicaciones en esta arquitectura, son tambi´en bidireccionales. Por otro lado, con respecto a la Arquitectura de Consulta se hace necesario la definici´on de un nuevo elemento en la misma, el Generador de Consulta. Este Generador conduce a la generaci´on del c´odigo en FSQL requerido para poder formar la consulta a partir de los datos descritos en las Ontolog´ıas del Esquema y el Cat´alogo. La Ontolog´ıa del Esquema es necesaria en tanto que proporciona la estruc- tura de informaci´on que puede ser consultada. Adem´as, se encuentra definida en la misma el dominio de cada uno de los atributos que comprenden el esque- ma. El conocimiento de dichos dominios por parte del usuario para realizar la consulta es imprescindible cuando se trata de atributos difusos, dado que muchos de los valores permitidos se deben hallar previamente definidos en la ontolog´ıa. Este ser´ıa el caso de los atributos de Tipo Difuso 3, cuyos valores ´unicamente ser´an aquellos definidos y relacionados entre ellos expl´ıcitamente. Un ejemplo de este uso ser´ıa el de acceder a etiquetas previamente definidas sobre un atributo en la BDD como Alto, Bajo, Rubio o Moreno para poder realizar una operaci´on de comparaci´on. Por otro lado, la Ontolog´ıa del Cat´alogo nos permite acceder a las estruc- turas de datos, concretamente las estructuras difusas, necesarias para poder definir los valores sobre los que se van a realizar las comparaciones en dichas consultas. Por ejemplo, nos va a permitir definir un valor Trapezoidal o Aprox- imado para ser comparado con los que se hallan almacenados en la BDD. La interfaz de usuario debe proporcionar un entorno intuitivo en el que el usuario sea capaz de definir una consulta en t´erminos difusos sin necesidad de conocer el lenguaje FSQL. La implementaci´on de dicha interfaz ser´a planteada de igual manera que se ha descrito para la interfaz de usuario del apartado anterior 5.2.1.1. La funcionalidad cubierta por la herramienta de consulta y la puesta en marcha mediante el desarrollo de una aplicaci´on se describe con detalle en el apartado 5.3.4.3. 5.3. descripci´on del Sistema Implementado 5.3.1. Propuestas La utilizaci´on de la ontolog´ıa propuesta en este trabajo de tesis se llevar´a a cabo a trav´es del desarrollo de un entorno que permita la definici´on y mani-
  • 166. 5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 145 pulaci´on de esquemas de BDRD y su explotaci´on mediante consultas. Dichas implementaciones se describen a continuaci´on: Un Entorno Web que permite la gesti´on de la Ontolog´ıa del Cat´alogo y su comunicaci´on con diversos SGBDD. A su vez, este mismo entorno implementa las funciones de gesti´on de esquemas de BDD (generaci´on y consulta), a trav´es del uso de ontolog´ıas. Esta propuesta est´a descrita en la secci´on 5.3.3. La Extensi´on de una Herramienta Integrada de Gesti´on de Ontolog´ıas: Prot´eg´e, para la generaci´on de Esquemas de BDD basados en la Ontolog´ıa del Cat´alogo, definici´on de datos sobre la Ontolog´ıa del Esquema y para la generaci´on de consultas sobre la BDD. Esta funcionalidad est´a descrita en el apartado 5.3.4.1 para esquemas, 5.3.4.2 para inserciones y 5.3.4.3 para consultas. 5.3.2. Bases de Datos Utilizadas Las bases de datos son un elemento imprescindible en este trabajo de tesis dado que el motivo principal para el desarrollo de la ontolog´ıa es permitir la definici´on de Esquemas de Bases de Datos Difusas en cualquier SGBDR Difuso, con independencia de su implementaci´on f´ısica y particularidades de uso. Por tanto, en la arquitectura del sistema (secci´on 5.2.2) cuando se hace referencia a las bases de datos difusas, se ha de tener en cuenta las particulari- dades del SGBD para que pueda ser extendido y as´ı manejar datos difusos. La arquitectura se divide en tres casu´ısticas de conexi´on con el SGBD, que son directamente dependientes de la funcionalidad aportada por dichos sistemas. En la implementaci´on de este trabajo, se propone la utilizaci´on de un SGBD que sea representativo para cada una las diferentes arquitecturas de extensi´on presentadas. As´ı pues, los SGBDR utilizados son: Oracle c Este sistema representa a un SGBDR con capacidades funcionales pero que puede tener implantado o no el FSQL en su totalidad (refe- rente a la figura 5.2 y 5.3). De esta manera dispone entre su conjunto de funciones de todas aquellas necesarias para procesar una sentencia en dicho lenguaje y devolver los resultados al usuario de forma legible. Evidentemente tambi´en su cat´alogo del sistema se encuentra extendido para poder llevar a cabo toda esta funcionalidad. PostgreSQL c Este sistema representa a un SGBDR con capacidades fun- cionales igual que ocurre con Oracle c . Su lenguaje de programaci´on
  • 167. 146 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES incrustado PL/pgSQL permite la inclusi´on de funciones dentro de su sis- tema. Sin embargo, no se encuentra implementada ninguna funcionalidad de gesti´on de datos difusos en este lenguaje en la actualidad. As´ı pues, sobre PG se puede desarrollar tanto una implementaci´on especial para FSQL incrustada en el mismo, o bien una aplicaci´on gen´erica a trav´es de un m´dulo ajeno a dicho sistema, tal y como se describe en la secci´on 5.2.2.3. MySQL c Este sistema representa a un SGBD sin ninguna capacidad fun- cional. Por tanto, este sistema ´unicamente puede incorporar las estruc- turas del cat´alogo, pero la ejecuci´on de sentencias, tanto de definici´on como de manejo de datos difusos, debe llevarse a cabo en un modulo externo. Este ser´a el que se ocupe de lanzar las consultas a la base de datos en un lenguaje comprensible para la misma, o sea, en SQL, de ob- tener los resultados, realizar las comparaciones difusas si es pertinente y formatear los datos de salida para mostrarlos al usuario (arquitec- tura correspondiente con la figura 5.4 y secci´on 5.2.2.3). Dicho sistema requiere la implementaci´on de su funcionalidad utilizando lenguajes de programaci´on externos que sean capaces de comunicarse con la misma, como es el JAVA, que es el lenguaje utilizado en este trabajo. Es obvio que un SGBD con capacidades funcionales, proporciona un mayor rendimiento en la gesti´on de informaci´on imprecisa puesto que todas las fun- ciones u operaciones son ejecutadas en el mismo entorno y por tanto con mayor rapidez. Sin embargo estos sistemas con capacidades funcionales requieren una implementaci´on propia para la gesti´on del FSQL, y por tanto un esfuerzo muy significativo para poder ponerlo en marcha. Por otro lado la utilizaci´on de un lenguaje de programaci´on gen´erico como el Java para crear un entorno en el que las funciones sean independientes del SGBD evita la necesidad de adaptar las funciones de gesti´on del lenguaje FSQL a cada sistema particular, pero provoca una gran ca´ıda del rendimiento, dado que los datos deben portarse de un lugar a otro continuamente para ser procesados. 5.3.3. Entorno Web A trav´es de un entorno web (v´ease figura 5.7) se ha pretendido que el usuario sea capaz de realizar las funciones b´asicas que proponemos en este trabajo de tesis, esto es, la definici´on y manipulaci´on de esquemas difusos sobre un SGBD Extendido. Esta herramienta se desarrolla con el objetivo de permitir comunicar al usuario con los diferentes SGBD sin necesidad de instalar en su computadora m´as que un simple navegador web.
  • 168. 5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 147 Figura 5.7: Imagen de la aplicaci´on web para gestionar esquemas. A continuaci´on se describe brevemente la funcionalidad propuesta en el entorno: Generaci´on de un esquema de BDD sobre un SGBD con capacidad de almacenamiento de difusos (es necesario tener definida la FMB en el SGBDR correspondiente). Ser´a requisito que dicho esquema se encuen- tre previamente descrito como instancias de la Ontolog´ıa del Cat´alogo en OWL. Los pasos para realizar esta operaci´on pueden verse en la figura 5.8 y consisten en proporcionar al sistema el archivo en OWL y a con- tinuaci´on rellenar los campos de un formulario para conectar con la BD deseada (en este caso MySQL c ). A continuaci´on se obtendr´ıa un in- forme del estado en el que se ha realizado la operaci´on. En la imagen 5.9 puede observarse el resultado de realizar la operaci´on sobre un SGBDR Oracle c y el resultado de la operaci´on sobre el SGBDR a trav´es de la herramienta sqlplus. Generaci´on del script o conjunto de sentencias de definici´on del esquema de BDD deseado en lenguaje FSQL o SQL para su almacenamiento en forma de archivo. Esta opci´on se corresponde al bot´on Ver C´odigo de la figura 5.8. El resultado de dicha ejecuci´on tendr´a el resultado mostrado en la figura 5.10 si la opci´on seleccionada es mostrar el c´odigo FSQL. Generaci´on de la FMB sobre un SGBDs que no tengan esta extensi´on ya incorporada. Esta opci´on consiste en la generaci´on autom´atica de las es-
  • 169. 148 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Figura 5.8: Imagen de la aplicaci´on web para gestionar esquemas. Formulario de conexi´on para generar un esquema dado en OWL en una BD MySQL
  • 170. 5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 149 Figura 5.9: Imagen de la aplicaci´on web para gestionar esquemas. Formulario de resultado tras ejecutar la generaci´on de un Esquema de BD en MySQL c
  • 171. 150 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Figura 5.10: Imagen de la aplicaci´on web para gestionar esquemas. Script de generaci´on de esquemas en FSQL.
  • 172. 5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 151 Figura 5.11: Selecci´on del archivo de la ontolog´ıa a generar tructuras del cat´alogo para permitir almacenar datos difusos. El proceso de definici´on de esta estructura es similar al descrito anteriormente para definir un esquema, dado que habr´a que insertar los datos en un for- mulario para establecer la conexi´on con el SGBDR correspondiente. En este caso, sin embargo, habr´a que introducir las claves de administrador, puesto que se van a utilizar elementos del cat´alogo. Esta opci´on permite adem´as la generaci´on del script que genera dicha FMB en SQL. Generaci´on de la Ontolog´ıa del Esquema final, a partir de la definici´on inicial del esquema de BDD a trav´es de la instanciaci´on de la Ontolog´ıa del Cat´alogo. Este proceso devolver´a como resultado una nueva ontolog´ıa que puede ser instanciada para insertar la informaci´on relativa a las tu- plas. El proceso consistir´a en la selecci´on en primer lugar de la ontolog´ıa que se desea generar, como se puede ver en la figura 5.11 y a continua- ci´on se obtiene la ontolog´ıa resultante y un resumen de la conversi´on, como se puede ver en la figura 5.12.
  • 173. 152 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Figura 5.12: Resultado de la ontolog´ıa generada
  • 174. 5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 153 Visualizaci´on de la Ontolog´ıa del Esquema de forma intuitiva para el usuario, que no debe de necesitar entender ni SQL, ni OWL para conocer el conjunto de elementos que se encuentran definidos en la ontolog´ıa. Esta opci´on permite ver de manera conjunta todos los elementos m´as representativos del esquema, dada la Ontolog´ıa del Cat´alogo en la que est´a basada. Visualizaci´on del contenido de las tablas de la FMB. Visualizaci´on de las tablas de la BDD incluyendo la descripci´on de los elementos que componen a las mismas. Cabe destacar que este entorno Web permite la conexi´on con los SGBDs descritos en la secci´on 5.3.2, definidos por su representatividad (Oracle c , PostgreSQL c y MySQL c ). La extensi´on a otros sistemas de gesti´on, como puedan ser MS Access c , MS SQLServer c , SyBase c , Paradox c , etc. es inmediata dado que se han desarrollado las interfaces necesarias para facilitar la misma. Por otro lado, esta herramienta no aporta ning´un mecanismo para definir la ontolog´ıa. No obstante, esto no supone ninguna desventaja en tanto que se podr´a utilizar cualquier entorno de definici´on o manipulaci´on de ontolog´ıas en OWL, que como se describe en el Anexo A, secci´on A.2.3.3 existen en gran n´umero y aportan muy diversa funcionalidad. Todos los m´odulos/procedimientos que gestionan la generaci´on de on- tolog´ıas y la traducci´on de los elementos de la ontolog´ıa a la BD se han desarrollado utilizando el lenguaje de programaci´on JAVA. Concretamente, la gesti´on de las ontolog´ıas se ha llevado a cabo a gracias al uso de las librer´ıas para la gesti´on de OWL de JENA. A su vez, la herramienta web ha utilizado la tecnolog´ıa JSP para poder llamar a los procedimientos que realizan las tareas anteriormente descritas. 5.3.4. Extensi´on de la Herramienta de Desarrollo de Ontolog´ıas: Prot´eg´e Anteriormente se ha visto como podemos establecer la comunicaci´on en- tre la Ontolog´ıa de Representaci´on de Conocimiento Difuso y diferentes SGB- DRDs a trav´es de un entorno Web. Sin embargo esta opci´on presenta la desven- taja de que no aporta ning´un mecanismo para definir la ontolog´ıa. Adem´as, sigue existiendo el problema de la complejidad en la definici´on de esquemas difusos, aunque en menor medida ya que ahora dichos esquemas son definidos a trav´es de una ontolog´ıa y no directamente sobre un SGBDRD concreto. Por ello se hace necesario el desarrollo de una herramienta que permita al usuario
  • 175. 154 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES definir y manipular de forma intuitiva la informaci´on difusa, adem´as de poder tener acceso a ella del mismo modo. Se propone as´ı la extensi´on de una herramienta de gesti´on integral de ontolog´ıas como Prot´eg´e. La elecci´on de esta herramienta concreta viene dada por los siguientes criterios: Permite utilizar dicho entorno para definir una ontolog´ıa completamente sin necesidad de incluir ninguna extensi´on. Permite utilizar metadatos. Permite la definici´on y utilizaci´on de ontolog´ıas importadas y hace una gesti´on eficiente de las mismas. Tiene una interfaz visual c´omoda e intuitiva. Est´a ´ampliamente extendida, probada y aceptada entre la comunidad cient´ıfica. Hace una representaci´on del OWL gen´erica, comprensible y portable a otros entornos de gesti´on. Permite extender su entorno con otras implementaciones que hacen uso de la representaci´on de ontolog´ıas que proponen. La extensi´on del en- torno puede realizarse de muy diversas formas, todas bien documentadas, entre la que destacamos la utilizaci´on de extensiones (plug-ins) que es la utilizada en este trabajo. Por todas estas razones se ha propuesto la triple extensi´on de la herra- mienta dado que ha de realizar tres tareas bien diferenciadas: La de definici´on y manipulaci´on de la informaci´on de esquemas de bases de datos difusas y su correspondiente conexi´on y exportaci´on a los SGB- DRDs seleccionados. La de inserci´on de datos difusos (o cl´asicos) sobre la ontolog´ıa y su posterior definici´on sobre los SGBDRDs seleccionados. La de ayuda a la generaci´on de consultas difusas en FSQL a trav´es del uso de la ontolog´ıa. La extensi´on de este entorno se ha realizado utilizando el lenguaje de pro- gramaci´on JAVA, que es en el que est´a desarrollada la herramienta de Prot´eg´e.
  • 176. 5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 155 Figura 5.13: Imagen de la aplicaci´on para gestionar esquemas a˜nadida a la herramienta Prot´eg´e 5.3.4.1. Gesti´on de Esquemas de Datos Difusos en Prot´eg´e Esta aplicaci´on incluida en la herramienta Prot´eg´e tiene el aspecto visual de una pesta˜na m´as en la misma, tal y como podemos ver en la figura 5.13, y aporta la siguiente funcionalidad: Gestionar y visualizar los elementos m´as representativos de un Esquema de Base de Datos difusas: Tablas, Atributos, Tipos de Datos, Dominios Difusos, Restricciones, Etiquetas Ling¨u´ısticas (bajo un referencial or- denado o no ordenado). Estos elementos son visualizados a trav´es de cuadros de texto cuyo contenido var´ıa din´amicamente dependiendo de la selecci´on de la estructura de datos que se realice. Estos cuadros, adem´as de permitirnos visualizar las caracter´ısticas de cada uno de los elementos seleccionados, nos permiten a˜nadir nuevos elementos o eliminarlos. Esta opci´on es la correspondiente parte central de la figura 5.13. Gestionar la conexi´on con los SGBDRD y permitir el mantenimiento de
  • 177. 156 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Figura 5.14: Imagen de la aplicaci´on para gestionar las conexiones con el esquema en Prot´eg´e dichas conexiones de forma simult´anea para poder realizar operaciones en paralelo (opci´on correspondiente a la zona superior izquierda de la figura 5.14). Exportar la Ontolog´ıa del Esquema a los SGBDRDs cuyas conexiones se encuentren establecidas. Este proceso ser´a realizado de manera si- mult´anea con todos los SGBDRDs que se encuentren abiertas. Esta op- ci´on se encuentra localizada en la zona inferior izquierda de la figura 5.13. Exportar el c´odigo fuente o script correspondiente a la creaci´on del es- quema definido a trav´es de la ontolog´ıa a un archivo. Dicho script puede obtenerse en FSQL o SQL dependiendo de la preferencia del usuario. Adem´as dicho script contendr´a las particularidades del SGBDR selec- cionado. Esta opci´on se encuentra localizada en la zona inferior izquierda de la figura 5.13.
  • 178. 5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 157 Generar la Ontolog´ıa del Esquema a partir de su definici´on previa sobre la Ontolog´ıa del Cat´alogo (esta funci´on tambi´en se aportaba de igual modo en el entorno web). Esta opci´on ser´ıa llamada a partir del bot´on situado en la zona inferior izquierda de la figura 5.13. Asistir al usuario en la generaci´on de los elementos m´as representativos de un Esquema de BDD, mediante la utilizaci´on de asistentes guiados. Se encontraran asistentes para generar: tablas, atributos, etiquetas ling¨u´ısti- cas y relaciones de similitud, restricciones y dominios. Las llamadas a los asistentes se har´ıan a trav´es de los botones situados en la zona central izquierda de la figura 5.15. 5.3.4.2. Definici´on de Datos Difusos en Prot´eg´e En la herramienta Prot´eg´e se ha incorporado una nueva pesta˜na, tal y como podemos ver en la figura 5.16, que permite la definici´on de datos imprecisos a trav´es del uso de una Ontolog´ıa del Esquema concreta. Dicha extensi´on a la herramienta dispone de las siguientes opciones: Visualizar el contenido de cada una de las relaciones o tablas de la On- tolog´ıa del Esquema en forma de tabla din´amica. Cargar todas las instancias definidas en la Ontolog´ıa del Esquema, a la tabla din´amica para facilitar su visualizaci´on. Permitir la inserci´on de nuevas tuplas a la ontolog´ıa a trav´es de un entorno tabular donde la informaci´on pueda ser definida de forma r´apida. Para facilitar dicha tarea se describen, a trav´es de una leyenda las ca- racter´ısticas de definici´on de cada tipo de dato debajo de la tabla de inserci´on. Facilitar al usuario el acceso a los datos del dominio difuso. Dicha fun- cionalidad consiste b´asicamente en proporcionar de manera din´amica las etiquetas ling¨u´ısticas asociadas a los atributos difusos de tipo 2 o 3, en caso que las requieran, para definir los valores que componen la tupla. Gestionar la conexi´on los SGBDRD y permitir el mantenimiento de dichas conexiones de forma simult´anea para poder realizar operaciones en paralelo. Dicha interfaz se encuentra localizada en la zona izquierda de la pantalla y es similar a la presentada en la figura 5.14). Exportar los datos definidos en Ontolog´ıa del Esquema a los SGBDRDs cuyas conexiones se encuentren establecidas. Este proceso ser´a realizado
  • 179. 158 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Figura 5.15: Imagen de la aplicaci´on para abrir el asistente para la generaci´on de un atributo en Prot´eg´e
  • 180. 5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 159 Figura 5.16: Imagen de la aplicaci´on para gestionar esquemas a˜nadida a la herramienta Prot´eg´e
  • 181. 160 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES de manera simult´anea con todos los SGBDRDs que se encuentren abier- tas. Exportar el c´odigo fuente o script correspondiente a la creaci´on de las tuplas definidas a trav´es de la ontolog´ıa. Dicho script puede obtenerse en FSQL o SQL dependiendo de la preferencia del usuario. Adem´as dicho script contendr´a las particularidades del SGBDR seleccionado. 5.3.4.3. Generaci´on de Consultas en FSQL en Prot´eg´e La interfaz de consulta de Bases de Datos Difusas desarrollada a trav´es del entorno de Prot´eg´e permite desarrollar una consulta sobre datos difusos en lenguaje FSQL a trav´es de un entorno guiado e intuitivo. Para ello proporciona al usuario la informaci´on necesaria para realizar la consulta en funci´on de los datos que dispone gracias la ontolog´ıa que describe el esquema de BDD sobre el que se desea consultar. Esta extensi´on de Prot´eg´e tiene un desarrollo similar a las anteriores, tal y como podemos ver en la figura 5.17, y aporta la funcionalidad descrita a continuaci´on: Realiza consultas cl´asicas o difusas. Consulta sobre un n´umero cualquiera de relaciones. Incluye un n´umero indeterminado de condiciones. Permite la posibilidad de negar una condici´on. Identifica qu´e tipo de comparadores existen en funci´on del atributo que se trate (sea cl´asico o difuso). Permite realizar comparaci´on de atributos o valores. Permite realizar comparaciones con valores difusos incluidos en los do- minios difusos. Permite la definici´on de nuevos valores difusos con los que realizar una comparaci´on. Permite asignar un grado de certeza a la condici´on que utilice atributos difusos. Permite negar una condici´on.
  • 182. 5.3. DESCRIPCI ´ON DEL SISTEMA IMPLEMENTADO 161 Figura 5.17: Interfaz de generaci´on de consultas difusas en FSQL sobre la herramienta Prot´eg´e. Establece una comparaci´on entre atributos
  • 183. 162 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Figura 5.18: Interfaz de generaci´on de consultas difusas en FSQL sobre la herramienta Prot´eg´e. Establece una comparaci´on con Valor Difuso. La consulta generada ser´a traducida al lenguaje FSQL y posteriormente a trav´es del bot´on Ejecutar podr´a ser lanzada al SGBDRD que interprete dicho lenguaje a trav´es de la utilizaci´on de la herramienta FuzzyQuery [Bla02b]. En la figura 5.17 se visualiza c´omo puede establecerse una condici´on entre atributos, y en la figura 5.18 se muestra una comparaci´on difusa entre un atributo y un valor del dominio del atributo. 5.4. Casos de Uso de la Arquitectura La definici´on de esta arquitectura para realizar la conexi´on sem´antica entre la definici´on de una Base de Datos Relacional Difusa y una ontolog´ıa permite llevar a cabo la realizaci´on de m´ultiples operaciones que sin su combinaci´on
  • 184. 5.4. CASOS DE USO DE LA ARQUITECTURA 163 no hubiesen sido posibles. A continuaci´on se van a detallar todas las aplicaciones o casos de uso que dicho modelo de representaci´on de datos presenta, diferenciando el tipo de datos que se representa y la operaci´on que realizan. Adem´as se detallar´a qu´e casos de uso est´an implementados y cuales de ellos no, especificando el proceso que se requiere llevar a cabo para dicha implementaci´on. Los casos de uso que no se encuentran implementados en este trabajo de tesis, se establecen como trabajos futuros, tal y como puede verse en el cap´ıtulo siguiente. 5.4.1. Definici´on de Datos. Creaci´on de Esquemas 5.4.1.1. Interacci´on con otros Esquemas de BD El trabajo de definici´on de un Esquema de BD Difusas, es el m´as im- portante en el proceso de definici´on de un sistema de informaci´on de estas caracter´ısticas y se obtiene siguiendo los pasos descritos en la arquitectura. Dicho Esquema, una vez seguidos estos pasos, se obtendr´a en dos formatos diferentes, uno como esquema SQL o FSQL dependiendo de la vista en que lo queramos obtener, y otro como ontolog´ıa definida en el lenguaje OWL (com- prensible para la Web). Gracias a este doble formato las posibilidades de definici´on e interacci´on de un esquema de bases de datos con el entorno se multiplican de forma expo- nencial, ya que la representaci´on del esquema en forma de ontolog´ıa se ve libre de dependencias con los SGBDR en donde se pudieran hallar almacenados. A continuaci´on se detallan los diferentes casos que se pueden presentar entre los diferentes SGBDRD gracias a esta propuesta. Definir un Esquema de BDD en SGBDR Heterog´eneos Es posi- ble, una vez definida la Ontolog´ıa del Esquema de BD, que dicho esquema sea definido en cualquier SGBDR con capacidades Difusas, siendo indiferente el SGBDR comercial de que se trate, ya que las particularidades del mismo son transparentes al usuario. La figura 5.19 ilustra dicha aplicaci´on. Para lle- var ´esto a cabo es necesaria la definici´on de la ontolog´ıa y posteriormente su declaraci´on en el SGBDR tal y como se describe en este cap´ıtulo. Esta operaci´on es la m´as sencilla y habitual para definir cualquier BDD y uno de los principales objetivos alcanzados en este trabajo. Exportar un Esquema de BDD a cualquier SGBDR Es posible, gra- cias a la utilizaci´on de la Ontolog´ıa del Esquema el portar esquemas de BD entre diferentes SGBDR. Dicho proceso implica la exportaci´on del esquema
  • 185. 164 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES SQL Server SGBDRs ONTOLOGÍA DELESQUEMA DB2 PostgreSQL SyBase Oracle MySQL ... Figura 5.19: Definici´on de Esquemas de BDD en SGBDR Heterog´eneos definido en un SGBDR concreto al formato de instancias de la Ontolog´ıa del Cat´alogo descrito en la arquitectura y a continuaci´on el proceso de definici´on del mismo en cualquier otro SGBDRD distinto. Ni siquiera har´ıa falta su tra- ducci´on a forma de Ontolog´ıa del Esquema. La figura 5.20 muestra el proceso de forma gr´afica. Este proceso es habitual en las migraciones de BD, a otros sistemas m´as actuales o simplemente a otros SGBDS comerciales. Esta operaci´on requiere implementar el proceso de convertir una BDD a Ontolog´ıa del Cat´alogo (fun- cionalidad que actualmente habr´ıa que hacer de forma manual y que se deja planteada como un trabajo futuro). Unificar Esquemas Complementarios Esta aplicaci´on consiste en la posi- bilidad de Unificar Esquemas definidos o distribuidos en diferentes SGBDs y cuya informaci´on representada no coincide en contenido sem´antico puesto que representan realidades diferentes. En la figura 5.21 puede observarse c´omo el esquema final ser´a una uni´on de los esquemas iniciales. Este proceso suele ser utilizado para aunar BDD diferentes en un mismo entorno. Se lleva a cabo a trav´es del uso de una ontolog´ıa que contiene definidos todos los conceptos de las BDDs de origen. Dicha ontolog´ıa unir´a las repre- sentaciones de las BDDs en forma de instancias de la Ontolog´ıa del Cat´alogo. A partir de la ontolog´ıa que une los esquemas, se genera bien otro SGBDRD con la estructura final o bien, se trabaja directamente con la misma. Unificar Esquemas Compatibles Esta ´ultima opci´on es la m´as compleja de las anteriores y la ´unica cuya puesta en marcha no ser´ıa inmediata. Se trata de combinar dos SGBDRD que contiene conceptos sem´anticamente similares.
  • 186. 5.4. CASOS DE USO DE LA ARQUITECTURA 165 INSTANCIAS DE LA ONTOLOGÍA DEL CATÁLOGO SQL Server SGBDRs DB2 PostgreSQL SyBase Oracle MySQL ... SGBDR CUALQUIERA Figura 5.20: Exportaci´on de un Esquema de BDD a cualquier SGBDR INSTANCIAS DE LA ONTOLOGÍA DELCATÁLOGO A SGBDR Cualesquiera SGBDR Cualquiera INSTANCIAS DE LA ONTOLOGÍA DELCATÁLOGO B ESQUEMAA ESQUEMAB ESQUEMA A+B Figura 5.21: Unificar Esquemas Complementarios
  • 187. 166 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Para llevar a cabo esta unificaci´on se requiere de la utilizaci´on de operaciones sobre ontolog´ıas que permitan la identificaci´on de correspondencias entre con- ceptos, tal como se ve en la figura 5.22. Este tipo de operaciones denominados gen´ericamente de mezcla, b´usqueda de correspondencias o alineaci´on, se han descrito en el apartado A.2.4 y son complejas y costosas, debido a los m´ulti- ples par´ametros que han de ser tenidos en cuenta para identificar y relacionar conceptos representados en esquemas diferentes que var´ıan desde conflictos de tipos de datos, de nombres, de sem´antica, etc. (v´ease [Ma06] para conocer m´as detalles sobre la problem´atica del unificado de esquemas). Este proceso suele usarse para compartir informaci´on entre SGBDRD que se encuentren distribuidas y compartan informaci´on o bien entre SGBDRD diferentes que contengan informaci´on en com´un. Un ejemplo de uso podr´ıa consistir en disponer de una BDD Universitaria con informaci´on acad´emica de sus alumnos, y otra BDD de Jugadores de F´utbol, con informaci´on acerca de las caracter´ısticas y resultados de cada uno los jugadores. Una combinaci´on de ambas bases de datos permitir´ıa extraer informaci´on acerca, por ejemplo, del rendimiento acad´emico del jugador en funci´on de su val´ıa como deportista, o sacar cualquier otra conclusi´on a trav´es del uso de t´ecnicas de miner´ıa de datos. Para realizar esta operaci´on se necesita obtener la Ontolog´ıa del Esquema de cada BDD y aplicar las operaciones anteriormente mencionadas sobre los conceptos representados en las mismas. Este caso de uso implica el desarrollo de un gran n´umero de aspectos te´oricos y se incluye como uno de los trabajos futuros de esta tesis. 5.4.1.2. Interacci´on con Esquemas del Entorno La informaci´on contenida en un esquema de BD incorpora todo el cono- cimiento necesario para describir una parte de la realidad. Es por esto que se considera comparable un esquema de BD, a cualquier ontolog´ıa de repre- sentaci´on de un dominio, a cualquier modelos de datos orientados a objetos, esquema en XML, folksonom´ıa, u otro modo de representaci´on de la realidad que sea computacionalmente comprensible (l´ease apartado 2.3). De esta forma, un Esquema de BDD no solamente interacciona con otros Esquemas de BDDs a trav´es de los SGBDRD, sino que tambi´en puede hacerlo con otras representaciones encontradas en otros entornos, compartiendo la riqueza sem´antica de los conceptos que representa. Para ello la representaci´on del Esquema de BDD en forma de ontolog´ıa (en OWL) es un arma excelente, ya que es formato aceptado por la amplia mayor´ıa de la comunidad que representa conocimiento en la Web (lugar d´onde se puede encontrar la mayor´ıa de las representaciones de datos anteriormente expuestas).
  • 188. 5.4. CASOS DE USO DE LA ARQUITECTURA 167 ONTOLOGÍA DELESQUEMA A SGBDRs Cualquiera SGBDR Cualquiera ONTOLOGÍA DELESQUEMA B ONTOLOGÍA DELESQUEMA A+B OPERACIONES SOBRE ONTOLOGÍAS: matching, alignment, merging, etc. INSTANCIAS DE LA O. CATÁLOGO A INSTANCIAS DE LA O. CATÁLOGO B ESQUEMA A ESQUEMA B ESQUEMA A+B Figura 5.22: Unificar Esquemas Compatibles
  • 189. 168 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES Sin embargo, dada la naturaleza heterog´enea de las estructuras de infor- maci´on que existen y con las que se puede interaccionar, las operaciones que pueden realizarse con nuestra propuesta de representaci´on est´an supeditadas a la incorporaci´on de herramientas que permitan la traducci´on de los diferentes formatos a uno com´un comprensible por todas para que puedan interaccionar. Una soluci´on puede consistir en el uso de OWL dada la amplia aceptaci´on que tiene este lenguaje de representaci´on. As´ı, las operaciones que pueden rea- lizarse con la Ontolog´ıa del Esquema de un BDD y el resto del entorno son muy similares a las descritas anteriormente para los SGBDRDs, como vemos a continuaci´on: Publicaci´on de un Esquema de BDD Esta operaci´on consiste en aportar al entorno, fundamentalmente Web, un nuevo tipo de informaci´on que pueda enriquecer a la comunidad: un esquema de BDD. Dichos esquemas propor- cionan una representaci´on de la realidad que puede ser procesable computa- cionalmente y por consiguiente usada por agentes, usuarios u otros sistemas de gesti´on del conocimiento para, por ejemplo, acceder a trav´es de herramientas de consulta a la informaci´on deseada gracias a que la estructura de la informa- ci´on est´a disponible. La figura 5.23 trata de ilustrar el proceso que lleva esta publicaci´on del esquema de BDD. Definir y publicar una BDD utilizando la Ontolog´ıa del Esquema es un proceso inmediato (operaci´on descrita en [Bla07]). Sin embargo, traducir a otros formatos requerir´ıa la elaboraci´on de los traductores pertinentes (´ambito que no compete a este trabajo de tesis). Definici´on de Esquemas de BDD a partir de un Esquema Cualquiera Esta operaci´on trata de incorporar a un modelo de BD Relacional Difuso un esquema no relacional. Para realizar este proceso, ser´ıa necesario la generaci´on de la Ontolog´ıa del Esquema a partir de los conceptos obtenidos de cualquier otro tipo de representaci´on. En la figura 5.24 se muestra el sentido del flujo de informaci´on. Una vez obtenida la Ontolog´ıa del Esquema ser´ıa traducida a instancias de la Ontolog´ıa del Cat´alogo y a continuaci´on al SGBDRD corres- pondiente. Esta herramienta puede ser muy ´util en aquellos casos en los que la cantidad de informaci´on a representar sea demasiado grande, y se determine que un SGBDR har´ıa una gesti´on mas eficiente de la misma. Esta operaci´on requiere la implementaci´on de traductores que representen la estructura de datos pertinente en una Ontolog´ıa del Esquema adecuada. Su desarrollo se pospondr´a para trabajos futuros.
  • 190. 5.4. CASOS DE USO DE LA ARQUITECTURA 169 ONTOLOGÍA DELESQUEMA Ontologias Semantic Web O SGBDR Figura 5.23: Incorporar a la Web un Esquema de BDD ONTOLOGÍA DELESQUEMA HERAMIENTA DE CONVERSION Ontologias Semantic Web XMLSchemas Web 2.0 Folksonomias INSTANCIAS DE LA ONTOLOGÍA DEL CATÁLOGO SGBDR SGBDR Figura 5.24: Definici´on de un Esquema de BDD a partir de cualquier tipo de Esquema
  • 191. 170 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES ONTOLOGÍA DELESQUEMA HERAMIENTA DE UNIFICACION Ontologias Semantic Web XMLSchemas Web 2.0 Folksonomias INSTANCIAS DE LA ONTOLOGÍA DEL CATÁLOGO SGBDR SGBDRs Figura 5.25: Combinaci´on de Fuentes Heterog´eneas Combinaci´on de Esquemas a partir de Fuentes Heterog´eneos Se plantea la posibilidad de generar un Esquema a partir de esquemas prove- nientes de fuentes heterog´eneas, tal y como puede verse en la figura 5.25. Para realizar esta operaci´on es necesario adem´as de la traducci´on de los diferen- tes esquemas a un lenguaje com´un, como podr´ıa ser el OWL, un mecanismo de interpretaci´on de conceptos, tal y como ocurr´ıa en el proceso de Unificar Esquemas Compatibles descrito en el subapartado anterior. Dicho mecanismo debe identificar los conceptos representados en los diferentes esquemas, re- solviendo los posibles conflictos que puedan darse. Este proceso es costoso y complejo, pero en la actualidad es un problema muy estudiado en el ´ambito de la combinaci´on de ontolog´ıas. La utilidad de esta operaci´on reside en la posibilidad de obtener una on- tolog´ıa nueva a partir de diversas fuentes de informaci´on con independencia de la estructura que las describa. Esta nueva representaci´on en forma de On- tolog´ıa del Esquema de una BDRD permite adem´as de la gesti´on eficiente de los datos que forman parte de los mismos en un SGBDR, compartir informa- ci´on entre fuentes de datos heterog´eneas a trav´es de una ´unica representaci´on de datos. La posibilidad de representar informaci´on imprecisa aporta flexibilidad a la hora de resolver conflictos en el proceso de unificaci´on de conceptos. Sin embargo, dada la complejidad de esta tarea se plantea su desarrollo como un trabajo futuro.
  • 192. 5.4. CASOS DE USO DE LA ARQUITECTURA 171 5.4.2. manipulaci´on de Datos En las BBDD, tanto la estructura de la informaci´on como la informaci´on en s´ı cobran la misma importancia. A pesar de que el valor de la informaci´on se obtiene a trav´es de los datos almacenados, la obtenci´on del conocimiento posterior depender´a de la correcta organizaci´on de los mismos. De este modo, la representaci´on de los datos en la BDD juega un papel fundamental. A pesar de que una ontolog´ıa no es el mecanismo m´as adecuado para mani- pular la informaci´on, dado que los SGBDs hacen una gesti´on m´as eficiente de la misma, las ontolog´ıas permiten la definici´on de dicha informaci´on en forma de instancias. Si se pretende realizar las mismas operaciones de manipulaci´on de datos sobre las ontolog´ıas que sobre un SGBDR entonces se requiere una descripci´on del esquema de datos f´acilmente legible para el usuario, aislando al mismo de cualquier detalle de implementaci´on donde dicha informaci´on este almacenada, para permitirle realizar las tareas de inserci´on y consulta. Es por esto que una Ontolog´ıa del Esquema que represente la informaci´on descrita en un SGBDRD aporta una gran utilidad para desarrollar esta tarea. 5.4.2.1. Inserci´on de Datos A continuaci´on se analizan las operaciones que aporta la Ontolog´ıa del Esquema aporta a la hora de manipular la informaci´on imprecisa almacenada en un SGBDRD. Estas operaciones son las referentes al proceso de inserci´on de datos (INSERT en SQL) en los SGBDRDs . Definici´on de Datos Esta operaci´on consiste en utilizar la ontolog´ıa co- mo plataforma para definir una nueva tupla de datos. Dicha tupla de datos ser´a definida mediante la instanciaci´on de la Ontolog´ıa del Esquema corres- pondiente. Una vez definida dicha informaci´on, se har´a el traspaso de la misma al SGBDRD deseado utilizando las herramientas que proporciona la arquitec- tura. Esta operaci´on suele utilizarse cuando el n´umero de datos a insertar no es muy elevado (para lo cual se utilizar´ıan scripts). Tambi´en puede resultar intere- sante si se mantienen copias simult´aneas de la BDD en diferentes plataformas SGBDs, tal y como se mostraba en la figura 5.19. Esta operaci´on si ha sido implementada en este trabajo. Exportaci´on de Datos a otros SGBDS Al igual que ocurr´ıa con los esquemas, v´ease la figura 5.20, los datos tambi´en pueden ser portados de un SGBDRD a otro diferente. La migraci´on de la informaci´on contenida en la mis- ma a trav´es del uso de la ontolog´ıa puede ahorrar mucho esfuerzo en el proceso
  • 193. 172 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES puesto que evita la elaboraci´on de ficheros que busquen las incompatibilidades entre los sistemas origen y destino. Para llevarse a cabo es requisito que el sistema pueda generar una ontolog´ıa a partir de un SGBDRD (competencia no incluida en este trabajo). Inserci´on de datos a partir de fuentes heterog´eneas Esta operaci´on consiste en incluir datos a un SGBD a partir de otras fuentes, posiblemente en- contradas en la Web. Esta operaci´on consistir´ıa en primer lugar en la adaptaci´on del esquema donde est´an los datos en origen al modelo de Ontolog´ıa del Es- quema de la arquitectura. A continuaci´on la inserci´on de datos en el mismo ser´ıa perfectamente compatible. Los inconvenientes que se pueden encontrar a la hora de realizar esta opera- ci´on residen en la adaptaci´on de un Esquema cualquiera al modelo de Ontolog´ıa del Esquema adoptado en nuestro sistema. Dicha operaci´on puede tener dos casu´ısticas: Que la BDD u Ontolog´ıa del Esquema correspondiente no exista previa- mente. Para lo cual no existir´ıa ning´un problema, puesto que el proceso consistir´ıa simplemente en crear el Esquema en primer lugar, a partir de dicha fuente, tal y como se describe en el subapartado anterior Defini- ci´on de Esquemas de BDD a partir de un Esquema Cualquiera (figura 5.24), y a continuaci´on transportar los datos entre plataformas. Que la BDD u Ontolog´ıa del Esquema correspondiente exista previ- amente. Este proceso requiere la operaci´on de unificaci´on de esque- mas, descrita en el subapartado, Combinaci´on de Esquemas a partir de Fuentes Heterog´eneos (figura 5.25). Ninguna de estas dos alternativas se ha desarrollado en este trabajo de tesis, y queda planteada como trabajo futuro. 5.4.2.2. Consulta Consulta a un ´unico SGBDRD Es la operaci´on de consulta com´un, que en lugar de realizarse directamente a trav´es del SGBDR utilizando el lenguaje FSQL, se realiza a trav´es de la ontolog´ıa (v´ease figura 5.26). Ser´a esta ´ultima la que proporcione el c´odigo en OWL necesario para que la fase correspondiente de la Arquitectura de Consulta lo traduzca en dicho lenguaje FSQL y lo lance al SGBDRD correspondiente. Esta operaci´on realizada a trav´es de la ontolog´ıa es independiente de las restricciones que imponga el SGBDRD a la hora de realizar la consulta, ya que dicha consulta se genera utilizando el c´odigo OWL de la Ontolog´ıa del Esquema
  • 194. 5.4. CASOS DE USO DE LA ARQUITECTURA 173 GENERADOR DECONSULTA ONTOLOGIA DEL ESQUEMA SGBDRs Figura 5.26: Consulta a un SBDRD ´unico GENERADOR DECONSULTA ONTOLOGIA DELESQUEMAA SGBDR 2 BDDB SGBDR 1 BDD A SGBDR 3 BDD C Figura 5.27: Consulta a SGBDRD con el mismo Esquema y a trav´es de una aplicaci´on de traducci´on ser´a el Interprete o Adaptador del SGBD el encargado de resolver estas cuestiones. Esta tarea se resuelve en este trabajo de tesis. Consulta entre SGBDRD con el mismo Esquema Esta operaci´on se dar´ıa en entornos cuyos datos est´an repartidos en diferentes plataformas SGB- DRD pero que comparten el mismo Esquema de Informaci´on, tal como se ve en la figura 5.27. La consulta a trav´es de la Ontolog´ıa del Esquema permitir´ıa conectar con todos los sistemas cuya informaci´on se desea obtener y devolver a usuario de forma transparente el resultado en un ´unico formato. Este caso ser´ıa muy f´acilmente tratable puesto que su desarrollo no tiene ning´un coste computacional a excepci´on de la uni´on del resultado dado por la consulta en los sistemas particulares donde ha sido lanzada.
  • 195. 174 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES GENERADOR DECONSULTA ONTOLOGIA DEL ESQUEMA A+B+ C SGBDR 2 BDDB SGBDR 1 BDD A SGBDR 3 BDD C Figura 5.28: Consulta a SGBDRD con Esquemas Complementarios Consulta entre SGBDRD con Esquemas Complementarios Esta ca- su´ıstica se dar´ıa en consultas que desean buscar informaci´on sobre sistemas que contienen informaci´on complementaria. Este es el mismo caso expuesto en el subapartado anterior Unificar Esquemas Complementarios ilustrado en la figura 5.21. En dicho caso, ´unicamente ser´ıa necesario la generaci´on de la consulta utilizando la Ontolog´ıa del Esquema que engloba cada uno de los esquemas involucrados. En la figura 5.28 se ilustra dicha operaci´on. Consulta entre SGBDRD con Esquemas Compatibles En esta ocasi´on se desea consultar informaci´on sobre varios esquemas que contienen informa- ci´on com´un o similar. Este hecho obliga a desarrollar una ontolog´ıa unificada donde existan conceptos que comparten el mismo significado (tal y como se vio en el apartado Unificar Esquemas Compatibles ilustrado en la figura 5.22 y en este caso en la figura 5.29. Una vez los esquemas han sido adaptados y generada una ´unica Ontolog´ıa del Esquema que aune a las participantes en la consulta, la consulta podr´a ser realizada y el resultado devuelto al usuario final. Dicha operatividad supone un gran costo dada la complejidad y naturaleza del problema, tal y como especificamos en el anterior apartado y se plantea como un trabajo a realizar en un futuro. Consulta al Entorno de Esquemas Heterog´eneos Esta operaci´on pro- pone la consulta de informaci´on a cualquier esquema fuente de datos, sin im- portar que sea relacional o contenga datos difusos. En este caso, y tal y como se describi´o para la Combinaci´on de Esquemas a partir de Fuentes Heterog´eneas descrita en la figura 5.25 se considera necesaria, una primera adaptaci´on a
  • 196. 5.4. CASOS DE USO DE LA ARQUITECTURA 175 GENERADOR DECONSULTA ONTOLOGIA DELESQUEMA UNIFICADA SGBDR 2 BDDB SGBDR 1 BDDA SGBDR 3 BDD C Figura 5.29: Consulta a SGBDRD con Esquemas Compatibles ontolog´ıa en OWL de las distintas fuentes y una posterior generaci´on de una Ontolog´ıa del Esquema com´un en las que se hallen identificados todos los ele- mentos comunes encontrados en las mismas y las correspondencias entre los diferentes elementos comunes. V´ease la figura 5.30 para ilustrar dicha opera- ci´on. Esta propuesta es la m´as completa de todas pero la puesta en marcha de este problema ser´ıa comparable a la construcci´on de un buscador Web, y ser´ıa un problema inabordable para ser resuelto en el ´ambito de este trabajo de tesis.
  • 197. 176 CAP´ITULO 5. ARQUITECTURA Y APLICACIONES SGBDRs INSTANCIA ONTOLOGIA DE CONSULTA ONTOLOGIA DELESQUEMA Ontologias Semantic Web XMLSchemas Web 2.0 Folksonomias SGBDOOs Figura 5.30: Consulta a SGBDRD con Esquemas Heterog´eneos
  • 198. Cap´ıtulo 6 Conclusiones y Trabajos Futuros 6.1. Conclusiones Extensi´on de los Sistemas de Gesti´on de Bases de Datos Rela- cionales Los Sistemas de Gesti´on de Bases de Datos en la actualidad est´an siendo extendidos continuamente. El a˜nadir la gesti´on de informaci´on imprecisa a los mismos no supone un gran coste, tal y como se ha probado en numerosos modelos. Sin embargo, extender el SGBDR para incrementar el n´umero de operaciones con dicha informaci´on imprecisa no es un proceso tan com´un. En este trabajo se ha propuesto de manera te´orica una Arquitectura Mul- tiprop´osito para la unificaci´on de extensiones realizadas a SGBDR Difusas. Dicha arquitectura se ha basado concretamente en dos extensiones: la que permite deducir sobre informaci´on difusa, y la que a˜nade t´ecnicas de mi- ner´ıa de datos sobre un SGBD difuso. Las extensiones planteadas con este prop´osito hab´ıan sido implementados ad hoc, teniendo en cuenta, ´unicamente, los par´ametros planteados a priori, y obviando el hecho de que ambas propues- tas se basaban en el mismo modelo te´orico GEFRED y arquitectura FIRST, provocando as´ı una incompatibilidad entre sistemas innecesaria. La Arquitectura Multiprop´osito propuesta permite aumentar en gran parte la operatividad de la Base de Datos Difusa, en el sentido de que hace posible la combinaci´on de operaciones deductivas y de miner´ıa de datos mediante el uso de cualquiera de las estructuras definidas en las mismas. As´ı, es posible la ejecuci´on de operaciones de diversa ´ındole como el uso de reglas l´ogicas para almacenar resultados de miner´ıa de datos (DM), o el uso de tablas intensivas 177
  • 199. 178 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS para hacer c´alculos de DM, etc. que aumentan en gran medida la capacidad de consulta del sistema. Pero la unificaci´on de dichas extensiones devuelve como resultado una ar- quitectura de SGBD sumamente compleja, dado que adem´as de las relaciones del cat´alogo necesarias para la representaci´on de cada arquitectura, la comu- nicaci´on entre ellas requiere de la inclusi´on de otras nuevas. Lo que provoca a priori un alto coste de recursos en la tarea de comprensi´on del sistema. Adem´as, sobre cada implementaci´on de la arquitectura se establecen res- tricciones propias del SGBD sobre el que ha llevado a cabo, ya que cada SGBD tiene su propia estructura del cat´alogo, restricciones de acceso, particularida- des de lenguaje que implementa, etc. Dichas restricciones establecen un vinculo nada deseable con el sistema concreto. Este es el caso de las implementaciones que ya se encuentran desarrolladas, que utilizan Oracle c como SGBDR y PL/SQL para la implementaci´on de su funcionalidad. Dicho sistema no es portable y ´unicamente puede ser usado para esta plataforma. Todos estos problemas han desembocado en un proceso de ingenier´ıa in- versa consistente en buscar soluciones que faciliten la compresi´on del sistema, para hacer menos dificultosa la tarea de definici´on de informaci´on sobre el mismo. La soluci´on encontrada se basa en el uso de Ontolog´ıas. Uso de una Ontolog´ıa para Representar BD Difusas La utilizaci´on de ontolog´ıas es una pr´actica que actualmente esta dando resultado en el campo de la inteligencia artificial a la hora de representar el conocimiento de forma sencilla y portable. Dicha metodolog´ıa consiste en una representaci´on jer´arquica de un Universo del Dominio concreto que permite al usuario utilizar, compartir y representar el conocimiento de forma comprensi- ble. Dicho conocimiento puede consistir tanto en un campo espec´ıfico, como en la representaci´on de metaconocimiento que define las estructuras que permiten establecer las caracter´ısticas de la informaci´on que va a ser almacenada. Por otro lado, hoy d´ıa gran parte de la informaci´on disponible, y la gran mayor´ıa de las aplicaciones se utilizan a trav´es de la Web, estando as´ı dispo- nibles en cualquier lugar y momento sin necesidad de instalar nada m´as que un simple navegador. La Web Sem´antica, un nuevo entramado de servicios de Internet, consiste en dotar de sem´antica a cada contenido encontrado en la misma y utiliza principalmente ontolog´ıas para acometer dicho prop´osito. De esta forma las ontolog´ıas han cobrado la suficiente relevancia para generar un gran n´umero de lenguajes (casi estandarizados), herramientas de desarrollo y servicios asociados a las mismas, convirti´endose as´ı, en el principal mecanismo de representaci´on del conocimiento utilizado en la actualidad. En este trabajo se ha propuesto una Ontolog´ıa Representacional como
  • 200. 6.1. CONCLUSIONES 179 soluci´on a los problemas surgidos en la Arquitectura Multiprop´osito. De esta forma, la representaci´on de la arquitectura en forma de ontolog´ıa permite ais- lar de una representaci´on de informaci´on vinculada a un SGBDR concreto y adem´as, generaliza los conceptos modelados en arquitectura, simplificando su representaci´on y posibilitando a su vez que cualquier usuario sea capaz de in- terpretar la informaci´on sin necesidad de ser un experto del modelo relacional. Evidentemente, el proceso de representaci´on del Servidor de BDD Multi- prop´osito Unificado debe pasar por una serie de fases. En concreto, se han diferenciado tres: una primera para la representaci´on de la informaci´on difusa, la segunda para la representaci´on de la informaci´on l´ogica-deductiva, y por ´ultimo la representaci´on de las diferentes estructuras de datos y t´ecnicas que permiten realizar tareas de miner´ıa de datos sobre un SGBD. El trabajo que se ha presentado en esta tesis aborda la primera fase. Dicha fase, que consiste en el modelado de la informaci´on imprecisa, ha permiti- do comprobar la viabilidad de esta propuesta, identificando las dificultades encontradas y las herramientas o metodolog´ıas de representaci´on m´as id´oneas. Ontolog´ıa para la Representaci´on del Conocimiento Difuso La Ontolog´ıa para la Representaci´on del Conocimiento Difuso, como se ha denominado, ha simplificado el proceso de representaci´on de informaci´on difusa haci´endolo m´as sencillo e intuitivo. La jerarqu´ıa de clases que forma la ontolog´ıa, ha permitido la diferenciaci´on clara de cada elemento de infor- maci´on: atributos, relaciones, dominios de atributos, etiquetas ling¨u´ısticas, valores discretos, y sobre todo, los tipos de datos b´asicos o cl´asicos han podi- do ser definidos de forma gen´erica e independiente del entorno en el que son representados. El inconveniente encontrado en la ontolog´ıa se halla en la gran disociaci´on que existe entre el proceso de definici´on de estructuras, y el proceso de defini- ci´on o inserci´on de informaci´on. Dicha disociaci´on, que en sistemas de bases de datos es apenas perceptible, en la ontolog´ıa se manifiesta de forma que es necesario definir por un lado la estructura de la informaci´on, tablas, atribu- tos, dominios, restricciones de datos, restricciones de tipos de datos, etc. en forma de instancias. Y, por otro lado, un conjunto de nuevas clases genera- das a partir de las definiciones anteriores, que permitan la inserci´on de las tuplas de informaci´on a trav´es de su instanciaci´on. La representaci´on de la estructura de la informaci´on se ha denominado Ontolog´ıa del Cat´alogo. Esta metaontolog´ıa representa toda la estructura del modelo relacional extendida para la representaci´on de datos difusos. Por otro lado, la representaci´on de una BD concreta, descrita en forma de instancias de dicha Ontolog´ıa del Cat´alogo se denomina Ontolog´ıa del Esquema en el momento en que dichas instancias
  • 201. 180 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS se convierten en clases y atributos y permiten ser instanciables para as´ı poder contener la misma informaci´on contenida en las tuplas de una BDD. El problema reside en que la definici´on de dichas clases (a pesar de utilizar una metaontolog´ıa) tiene que ser expl´ıcita y realizarse de manera manual en gran parte del proceso. Otro problema encontrado consiste en que dicha diso- ciaci´on provoca que la definici´on de un gran n´umero de restricciones sobre las estructuras no sea aplicable en las clases generadas para el almacenamiento de la informaci´on en la ontolog´ıa. Dichas restricciones (como las que permiten la inserci´on de valores ´unicos, nulos, de clave primaria, de clave ajena, o de tipos de datos) no se pueden mantener o establecer en la ontolog´ıa (dada la naturaleza de la misma), y pueden provocar un gran problema en la integridad de la informaci´on. Este problema puede ser resuelto de forma parcial mediante el uso de razonadores para encontrar incompatibilidades en la definici´on de la informaci´on. Otra soluci´on para reducir el n´umero de restricciones consiste en el desa- rrollo de un m´etodo que permite la generaci´on autom´atica de la Ontolog´ıa del Esquema a partir de su definici´on sobre la Ontolog´ıa del Cat´alogo. Este proceso intenta incluir en la Ontolog´ıa del Esquema basada en OWL el mayor n´umero de restricciones, como: restricci´on sobre el tipo de dato que puede contener un atributo, restricci´on sobre el n´umero de valores asociado a un atributo a uno solo, restricci´on sobre los valores que un tipo difuso 3 puede contener, etc. Sin embargo, la mejor soluci´on est´a a posteriori, cuando la estructura generada es trasladada a un SGBD real, siendo los mecanismos de integridad implementa- dos por el propio SGBD los encargados de velar por el cumplimiento de dichas restricciones. De cualquier forma, y a pesar de esta desventaja, la representaci´on de la arquitectura unificada a trav´es de una ´unica ontolog´ıa permite demostrar la viabilidad de una representaci´on de nuevos tipos de informaci´on de una forma m´as simple que la que proporcionan los SGBD y c´omo, a trav´es de un interfaz adecuado, la definici´on de la misma puede llevarse a cabo de forma efectiva y sencilla para el usuario. Herramientas para la explotaci´on de la Ontolog´ıa Se debe tener en cuenta que la creaci´on de la Ontolog´ıa para la Repre- sentaci´on del Conocimiento Difuso consiste b´asicamente en una ayuda en el proceso de definici´on de la informaci´on, considerado como el m´as costoso. A este proceso habr´a que a˜nadir el de ayuda a la elaboraci´on de consultas sobre datos difusos en un SGBD Extendido. Para ello se han desarrollado una serie de aplicaciones:
  • 202. 6.1. CONCLUSIONES 181 Herramienta para definir estructuras del Cat´alogo: esta herramienta basa- da en tecnolog´ıa web, permite la definici´on de las estructuras necesarias para permitir el almacenamiento de BDD en cualquier SGBD. En la mis- ma interfaz se permite hacer una consulta del contenido del cat´alogo. Herramienta para definir esquemas de BDRD: esta herramienta permite definir esquemas de BDRD de manera guiada al usuario que no tiene por qu´e conocer las particularidades del sistema donde dicha informa- ci´on vaya a ser almacenada. Incluso el usuario puede ser ajeno a las par- ticularidades del lenguaje de ontolog´ıas, gracias al uso de asistentes que permitan realizar las correspondientes definiciones bas´andose en la on- tolog´ıa. Esta herramienta est´a implementada mediante tecnolog´ıas web, y tambi´en como extensi´on a la herramienta de gesti´on integral de on- tolog´ıas Prot´eg´e. Adem´as permite la gesti´on de los esquemas a trav´es de la ontolog´ıa de manera simult´anea con varios SGBDR. Herramienta de consulta sobre esquemas de BDRD: esta herramienta permite guiar la consulta sobre un esquema de BDD que se encuentra representado en forma de ontolog´ıa. Dicha interfaz de consulta propor- ciona independencia del lenguaje de consulta necesario para manipular datos difusos (y por consiguiente a las estructuras especiales que este tipo de informaci´on requiere). El resultado ser´a una sentencia en FSQL que podr´a ser lanzada sobre un SGBD que soporte dicha funcionali- dad a trav´es del uso de herramientas como el FuzzyQuery2+ [Bla02b]. Est´a desarrollada como extensi´on de la plataforma Prot´eg´e. Herramienta de definici´on de datos: esta herramienta ayuda al usuario a definir tuplas de una BDD a trav´es del uso de su correspondiente On- tolog´ıa del Esquema. Dicha herramienta permite visualizar de manera intuitiva las instancias de la Ontolog´ıa del Esquema y volcarlas al SGB- DRD correspondiente de manera directa. A su vez tambi´en permitir´a co- municarse con diversos SGBDRD heterog´eneos de manera simult´anea. Est´a desarrollada como extensi´on de la plataforma Prot´eg´e. La utilizaci´on de herramientas a trav´es de Web evita al usuario la necesi- dad de instalar otro tipo de aplicaciones para definir la informaci´on sobre un SGBDR concreto, adem´as de incorporar la posibilidad de usarlas en remoto. Sobre la utilizaci´on de la herramienta Prot´eg´e para desarrollar las aplica- ciones se ha argumentado mucho a lo largo de este trabajo. Resumiendo, se trata de un entorno que facilita la incorporaci´on de nuevas operaciones a su entorno, a su vez aporta un gran n´umero de bibliotecas de funciones y m´eto- dos para gestionar las ontolog´ıas representadas sobre dicha herramienta. Por
  • 203. 182 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS otro lado, presenta una interfaz intuitiva, una representaci´on eficiente de las ontolog´ıas en diversos lenguajes que, junto con otras caracter´ısticas hacen que la herramienta sea una de las m´as conocidas y extendidas de la comunidad. En cuanto a la elecci´on del lenguaje para la representaci´on de la ontolog´ıa, se ha seleccionado OWL-Full debido a que permite definir metadatos. A su vez, es el m´as extendido gracias a sus otras dos representaciones de naturaleza m´as restrictiva (OWL-DL y OWL-Lite) y a que est´a orientado a la web. Gra- cias a estas cualidades dicho lenguaje es implementado por un gran n´umero de herramientas que bien trabajan con el, bien son capaces de importarlo o expor- tarlo. Todas estas ventajas lo convierten en la opci´on m´as atractiva para llevar a cabo la representaci´on de la Ontolog´ıa de Representaci´on del Conocimiento Difuso. 6.2. Beneficios de la Propuesta Gracias a las propuestas planteadas en este trabajo, el Servidor Multi- prop´osito y la Ontolog´ıa para la Representaci´on del Conocimiento Difuso, se han obtenido una serie de ventajas. Dichas ventajas, resumidas a continuaci´on, se encuentran clasificadas en funci´on de los beneficios proporcionados por la propuesta te´orica o por la implementaci´on realizada de la misma. Ventajas Provenientes de la Propuesta Te´orica La extensi´on de un SGBDR para manipular datos imprecisos y otro tipo de operaciones de forma conjunta, tal y como se ha propuesto con la Arquitectura Multiprop´osito, permite multiplicar las posibilidades de ex- plotaci´on de la informaci´on difusa sobre un SGBDR a la vez que confiere al sistema una mayor escalabilidad. La definici´on de la Ontolog´ıa de Representaci´on del Conocimiento Di- fuso ha permitido definir una interfaz entre el SGBDRD y el usuario de tal forma que, aisla al esquema de BDD y al mismo usuario de las representaciones particulares que hacen los diferentes SGBDR en los que la informaci´on es representada. El uso de la Ontolog´ıa de Representaci´on del Conocimiento Difuso sim- plifica al usuario el proceso de definici´on de datos difusos, puesto que lo aisla de las particularidades de representaci´on que tienen los datos difusos. El uso de la Ontolog´ıa de Representaci´on del Conocimiento Difuso para representar un esquema de BD permite portar dicha representaci´on a
  • 204. 6.2. BENEFICIOS DE LA PROPUESTA 183 cualquier SGBD Relacional. Se puede publicar la estructura de un esquema de BD en Internet sim- plemente con su representaci´on en forma de ontolog´ıa, y acceder a la informaci´on de dicha base de datos utilizando interfaces gen´ericos de consulta como el ISQLPlus c . Una ontolog´ıa que representa a una BD Relacional permite representar sem´anticamente una interfaz web que carezca de dicha sem´antica asoci- ada, debido a que sus datos se obtienen gracias a una consulta realizada a trav´es de un formulario Web. La ontolog´ıa estar´a incluida en el sitio web d´onde se encuentre dicho formulario. El uso de Ontolog´ıas del Esquema permite, mediante mecanismos de unificaci´on y b´usqueda de correspondencias, intercambiar informaci´on entre fuentes de datos heterog´eneas (desde diferentes esquemas almace- nados en SGBDs hasta esquemas con diferente tipo de representaci´on al margen del modelo relacional). La ontolog´ıa propuesta permite extender la representaci´on de los SGB- DD con otras operaciones o estructuras, de forma sencilla e intuitiva, dada la generalidad con la que representa la informaci´on en este medio. Ventajas Provenientes de la Implementaci´on de la Ontolog´ıa La propuesta de la Arquitectura de Comunicaci´on Unificada, que es- tablece la comunicaci´on entre el usuario con la ontolog´ıa y los SGBDRD, contempla todas las alternativas en el proceso de definici´on de informa- ci´on de una BDD sean cuales sean las caracter´ısticas del SGBDR sobre el que dicha BDD vaya a ser definida. La utilizaci´on de una interfaz web para manipular la ontolog´ıa del Cat´alo- go/Esquema permite al usuario utilizar un simple navegador para operar sobre las mismas adem´as de ejecutar los procesos de definici´on en remoto. La elecci´on de Prot´eg´e como entorno para desarrollar la herramienta de definici´on de Bases de Datos Difusos, aporta los beneficios propios que tiene dicho entorno (interfaz colaborativa, intuitiva, extensible, etc.) a las utilidades implementadas a˜nadidas a dicha herramienta. La herramienta de consulta facilita al usuario la definici´on de una con- sulta en FSQL. As´ı el usuario no tiene la necesidad de conocer las par- ticularidades de este lenguaje. Esta consulta s´olo podr´a ser utilizada
  • 205. 184 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS sobre SGBDRD que dispongan de la implementaci´on que interprete este lenguaje de consulta extendido. La interfaz de definici´on de esquemas proporciona asistentes que gu´ıan al usuario a la hora de definir un esquema de bases de datos, simplificando as´ı el proceso adem´as de aislar a dicho usuario de los detalles espec´ıficos de representaci´on de datos difusos. La interfaz web de definici´on de estructuras del cat´alogo permite re- presentar las estructuras de datos que necesita un SGBDR cualquiera para almacenar datos difusos. Dicha interfaz permite esta definici´on de manera inmediata y remota. La interfaz de inserci´on de datos facilita el proceso de inserci´on de las instancias definidas en la Ontolog´ıa del Esquema a la BDD, en caso de ser necesario. Adem´as facilita la definici´on de las tuplas, aislando al usuario de las particularidades de representaci´on de los datos difusos o del lenguaje FSQL. La herramienta de definici´on de esquemas o inserci´on de datos permite conectar simult´aneamente a varios SGBDR, y por tanto realizar dichas operaciones de forma paralela. La interfaz web permite visualizar el esquema definido sobre la Ontolog´ıa del Cat´alogo en OWL de forma estructurada y comprensible al usuario (ignorando detalles de sintaxis que complican su interpretaci´on). La generaci´on autom´atica de la Ontolog´ıa del Esquema a partir de las instancias de la Ontolog´ıa del Cat´alogo facilita al usuario el trabajo de definici´on de la misma adem´as de incluir de manera autom´atica un gran n´umero de restricciones en dicha ontolog´ıa que facilitan la tarea de man- tener la integridad de la informaci´on. 6.3. Trabajos Futuros A continuaci´on se exponen algunas propuestas de trabajos futuros que sur- gen a ra´ız de este trabajo de tesis, que dada su naturaleza y car´acter novedoso, se encuentran en gran n´umero. Dichas propuestas se basan en extensiones a este trabajo con el objetivo de ampliar los mecanismos de representaci´on y gesti´on de informaci´on imprecisa, o en introducir mejoras a alguno de los ob- jetivos alcanzados en la misma evaluadas a partir de los resultados obtenidos. Las propuestas se clasificar´an en funci´on del objeto u operaci´on a extender:
  • 206. 6.3. TRABAJOS FUTUROS 185 Con Respecto a la Ontolog´ıa La Extensi´on de la Ontolog´ıa de Representaci´on del Conocimiento di- fuso para permitir representar informaci´on l´ogica para deducci´on sobre los SGBDD. Para ello, deber´a establecerse una aproximaci´on a la repre- sentaci´on de reglas l´ogicas con grado de acoplamiento difuso y los con- ceptos de tablas intensivas y su interrelaci´on con las estructuras que permiten representar el resto de informaci´on del modelo relacional y di- fuso. La Extensi´on de la Ontolog´ıa de Representaci´on del Conocimiento Difuso para permitir representar datos con un dominio complejo. La definici´on de dicho tipo de datos, permitir´a la posterior definici´on de las estruc- turas necesarias para integrar operaciones de miner´ıa de datos sobre un sistema de informaci´on. Para llevar ´esto a cabo ser´a necesario ampliar el tipo de informaci´on que puede representarse en la ontolog´ıa y el l´ımite de dominios que puede definir un atributo. Adem´as, las operaciones de miner´ıa de datos que se pueden realizar sobre el sistema deber´an ser definidas sobre la ontolog´ıas junto con sus par´ametros y restricciones, al igual que se hace a trav´es del concepto de proyecto propuesto en la extensi´on del SGBD, DmFirst. Desarrollo de una Ontolog´ıa de Consulta que represente la informaci´on implicada en dicha consulta, proveniente de la Ontolog´ıa del Esquema, y las operaciones que intervienen en la misma. Esta ontolog´ıa se for- mar´a a partir de una operaci´on de proyecci´on sobre la Ontolog´ıa del Esquema, de esta forma se obtiene una sub-ontolog´ıa de la Ontolog´ıa del Esquema origen donde las instancias de la misma pueden ser los resultados de la ejecuci´on de la consulta. Dicha Ontolog´ıa de Consulta permitir´a independizar la consulta de la herramienta donde se est´e eje- cutando, convirti´endola as´ı en portable a cualquier entorno donde pueda ser realizada y evitando vincular la misma ´unicamente a sistemas de modelado relacional. Con Respecto a la Implementaci´on Desarrollo de una herramienta que implemente los asistentes para la generaci´on de esquemas de BDD a trav´es de la Web como alternativa a la utilizaci´on de la herramienta Prot´eg´e. De esta manera se indepen- diza esta funci´on de la representaci´on particular que hace Prot´eg´e de las ontolog´ıas, y del requerimiento de su instalaci´on para poder acceder a dicha funcionalidad.
  • 207. 186 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS Desarrollo de una herramienta de Consulta utilizando un entorno Web como alternativa a la herramienta desarrollada en Prot´eg´e. Desarrollo de una herramienta de Inserci´on de datos sobre la Ontolog´ıa del Esquema utilizando un entorno Web como alternativa a la herra- mienta desarrollada en Prot´eg´e. Con Respecto a su Relaci´on con el Entorno. Casos de Uso. Desarrollo de un mecanismo que permita establecer las correspondencias entre una Ontolog´ıa del Esquema cualquiera en forma de instancias de la Ontolog´ıa del Cat´alogo. Este proceso ser´a el inverso al visto en esta tesis y conducir´a a una inmediata traducci´on de una Ontolog´ıa del Es- quema proveniente de cualquier fuente a un SGBDRD. Por ejemplo, este proceso sirve para que cualquier ontolog´ıa de la Web pueda ser definida de manera inmediata en un SGBDRD siempre y cuando se establezca la correspondencia entre dicha ontolog´ıa y la Ontolog´ıa del Cat´alogo. Una vez definida la ontolog´ıa original como instancias de la Ontolog´ıa del Cat´alogo, el proceso de comunicaci´on con el SGBDRD es inmediato. Estudiar y desarrollar una herramienta para realizar el proceso de im- portaci´on de un esquema establecido en un SGBDRD concreto en forma de instancias de la Ontolog´ıa del Cat´alogo. Esta herramienta permitir´ıa Exportar un Esquema de BDD a cualquier SGBDR. Implementaci´on de operaciones que permitan la Unificaci´on de Ontolog´ıas del Esquema. Se trata de estudiar y desarrollar alg´un mecanismo de identificaci´on de elementos de Ontolog´ıas del Esquema diferentes que representen conceptos similares. Si dicha identificaci´on es positiva, se deben establecer reglas para definir las correspondencias ente conceptos similares (por ejemplo: cambios de formato, rango, escala, etc.). Desarrollar la operaci´on de unificaci´on de esquemas compatibles de SGB- DR heterog´eneas. Esta operaci´on, descrita en el apartado 5.4, consiste en combinar dos SBDRD que representen conceptos similares. Para ello se utilizar´an procesos de identificaci´on de correspondencias entre conceptos representados a trav´es de las Ontolog´ıas del Esquema correspondientes. Una vez identificadas, realizar el proceso de mezcla de las mismas. Definici´on de Esquemas de BDD a partir de un esquema cualquiera. Consiste en desarrollar una herramienta capaz de realizar el proceso de definici´on de un esquema cualquiera (un esquema XML, una folksonom´ıa o una Ontolog´ıa cualquiera) en forma de instancias de Ontolog´ıa del
  • 208. 6.3. TRABAJOS FUTUROS 187 Cat´alogo. Para ello primero deber´an convertirse en una Ontolog´ıa del Esquema y a partir de este momento hacer la identificaci´on de elemen- tos (proceso descrito en el objetivo anterior). Una vez en este estado, se proceder´a a la implantaci´on de dicho esquema en el SGBDRD corres- pondiente. Combinaci´on de Esquemas a partir de Fuentes de Datos Heterog´eneas. Se trata de un caso de uso descrito el apartado 5.4, que pretende realizar una representaci´on com´un para cualquier esquema incorporado en la Web y de esta forma hacer toda la informaci´on compatible entre s´ı. Para llevar a cabo esta operaci´on se requieren por un lado traductores de esquemas cualesquiera a Ontolog´ıas del Esquema y por otro, la implementaci´on de herramientas para la unificaci´on de Ontolog´ıas que representen conceptos similares. El resto de los casos de uso descritos en la secci´on 5.4, que no han sido implementados en este trabajo de tesis, son combinaciones de las operaciones que acaban de ser descritas como trabajos futuros en este apartado. Por tanto, el desarrollo de cada uno de los casos de uso descritos en dicha secci´on 5.4, se consideran trabajos futuros. Con respecto al Servidor Multiprop´osito Desarrollo de una biblioteca de funciones y m´etodos en un lenguaje de programaci´on ampliamente aceptado (como Java o C) implementando las capacidades funcionales para la gesti´on de datos difusos necesarias para que cualquier SGBDR que no disponga de esta funcionalidad de manera interna, pueda utilizar datos difusos y el lenguaje FSQL. De esta manera se le conferir´a al sistema propuesto independencia del SGBDR sobre el que se desee implantar. En el caso en que se desee ganar en eficiencia lo conveniente ser´ıa realizar una implementaci´on concreta para cada SGBDR que incluya un lenguaje incrustado propio para la gesti´on de sus datos. Extensi´on de la librer´ıa anterior para gestionar el Servidor SGBDRD Multiprop´osito. Otras Propuestas Extensi´on del concepto de ontolog´ıa para a˜nadir imprecisi´on en la defini- ci´on de algunos t´erminos, esto es, una Ontolog´ıa Difusa. Este concepto
  • 209. 188 CAP´ITULO 6. CONCLUSIONES Y TRABAJOS FUTUROS puede ser ´util sobre todo en ontolog´ıas generadas por procesos de unifi- caci´on (merging) en los cuales los conceptos alineados puede que no coincidan sem´anticamente al ciento por ciento. Desarrollo de un modelo de representaci´on para almacenar eficiente- mente la informaci´on que se encuentra definida sobre Ontolog´ıas de Dominio OWL cualquiera en un SGBDR Difuso. Dichas representacio- nes, denominadas OBDB, son las utilizadas en la actualidad por las herramientas de representaci´on de Ontolog´ıas (Prot´eg´e, JENA, Sesame, etc.) para almacenar las ontolog´ıas y sus instancias de las mismas en forma de BD, pero sin tener en cuenta las particularidades de la infor- maci´on representada. Un almacenamiento eficiente de dicha informaci´on aportar´ıa una mayor eficiencia a la hora de trabajar con esos datos.
  • 210. Ap´endice A Conceptos B´asicos de Ontolog´ıas A.1. Introducci´on Han surgido muchas definiciones del concepto de Ontolog´ıa, a partir de su aparici´on como nueva t´ecnica de representaci´on del conocimiento en el campo de la tecnolog´ıa de la informaci´on. Algunas de ellas las podemos encontrar recopiladas en trabajos como el de G´omez-P´erez et al. [GP03a] donde se en- cuentra un estudio muy detallado de los diferentes tipos de ontolog´ıas que existen, y propone una metodolog´ıa para el desarrollo de las mismas, Agarwal [Aga05] hace un repaso por la aparici´on del concepto de ontolog´ıa desde su sig- nificado filos´ofico hasta el actual en el campo de la Ingenier´ıa del Conocimiento o Sharman et al. [Sha06b] que revisa el concepto de ontolog´ıa desde su apari- ci´on, hasta las diferentes aplicaciones que tienen en la actualidad, planteando una visi´on actual de las mismas. En este anexo se hace un repaso del concepto de ontolog´ıa, desde sus definiciones m´as conocidas, las diferentes metodolog´ıas que existen para su desarrollo, los formalismos y lenguajes m´as utilizados para representarlas, o incluso las herramientas m´as comunes que permiten su definici´on. Adem´as se repasan conceptos b´asicos acerca de las operaciones que se pueden realizar con las ontolog´ıas que permitir´an aclarar al lector acerca de las posibilidades de manipulaci´on de las mismas. A.1.1. Concepto de Ontolog´ıa El concepto de ontolog´ıas no es nuevo, proviene del campo de la filosof´ıa y es una disciplina que se suele identificar con la Metaf´ısica general e indica que 189
  • 211. 190 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS la ontolog´ıa estudia lo que es en tanto que es y existe [Wik07, Aga05, Sha06b, Cor06]. En las ´areas de la Inteligencia Artificial, la Ingenier´ıa del Software y las Bases de Datos, de manera independiente concluyeron que la representaci´on del conocimiento era importante para la evoluci´on de las mismas. As´ı, aunque cada una de estas disciplinas de la Ciencia de la Computaci´on (CC) repre- sentaba el problema de la representaci´on del conocimiento de diferente mane- ra, puesto que cada una de estas, est´a interesada en un problema espec´ıfico, los investigadores elaboraron una representaci´on v´alida para una parte espec´ıfica de la realidad. De esta forma aparece el concepto de ontolog´ıa en el campo de la CC adquirido como una nueva forma de representar los elementos del mundo real, y tomando este nombre como analog´ıa a su significado filos´ofico. Ya en los ”80, John McCarthy propuso, en el campo de la Inteligencia Artificial, el concepto de una ontolog´ıa de entorno como aquella compuesta no s´olo por una lista de conceptos de un problema, sino tambi´en de sus sig- nificados en el contexto. Desde entonces, las ontolog´ıas se han asociado con la representaci´on de conceptos. A continuaci´on, muchas otras definiciones de Ontolog´ıas surgieron en este campo de la Inteligencia Artificial y la Ciencia de la Computaci´on como la que dio Neches et al. [Nec91] defini´endola como los t´erminos y relaciones b´asicas que componen el vocabulario de cualquier ´area tanto como las reglas para combinar los t´erminos y relaciones que definir´an las extensiones de este vocabulario. A partir de esta definici´on Guarino y Gi- aretta [Gua95] clarifican el uso de la palabra ontolog´ıa que es definida como: un sistema conceptual informal, un informe sem´antico conceptual, una especi- ficaci´on de una conceptualizaci´on, una representaci´on de un sistema concep- tual mediante la teor´ıa l´ogica, el vocabulario usado por una teor´ıa l´ogica y una especificaci´on de una teor´ıa l´ogica. Gruber [Gru93] define una ontolog´ıa como una especificaci´on formal de una conceptualizaci´on, y Borst [Bor97] ex- tiende esta definici´on estableciendo ontolog´ıa como una especificaci´on formal de una conceptualizaci´on compartida. Posterior a esto, Swartout et al. [Swa96] volver´a a extender esta definici´on de ontolog´ıa como una estructura jerarquiza- da de un conjunto de t´erminos para describir un dominio que puede usarse como el esqueleto de una base de conocimiento. Studer et al. [Stu98] no crea una nueva definici´on, sino que toma la definici´on de Borst et al. y explica los conceptos relevantes de la misma: 1. Formal se refiere a que es entendida computacionalmente. 2. Especificaci´on expl´ıcita quiere decir que se definen expl´ıcitamente los conceptos, propiedades, relaciones, funciones, restricciones y axiomas. 3. Compartida significa que el conocimiento representado ser´a consensuado.
  • 212. A.1. INTRODUCCI ´ON 191 4. Conceptualizaci´on significa el hecho de que una ontolog´ıa debe ser un modelo abstracto y a la vez representar una visi´on simplificada de alg´un fen´omeno del mundo real el cual queremos definir o representar. Esta definici´on de Studer et al. [Stu98] es quiz´a la m´as clara de todas las expuestas y una de las m´as referenciadas en la literatura actual, pero exis- ten otras muchas, tambi´en muy referenciadas como la propuesta por Gruber [Gru93] o la de Guarino [Gua95] que, obviamente, son muy similares a la expuesta anteriormente. En resumen y tal y como establece Agarwal [Aga05], una ontolog´ıa no es m´as que una manifestaci´on de un conocimiento compartido de un dominio, que es aceptado por un grupo de agentes, y tal acuerdo facilita una correcta y efectiva comunicaci´on del significado, que conduce a otros beneficios como la interoperatividad, reutilizaci´on y compartici´on. A.1.2. Clasificaciones de Ontolog´ıas Las ontolog´ıas pueden representar el conocimiento acerca de realidades de muy diversa ´ındole. Es por este motivo que no existe un consenso en cuanto a la clasificaci´on de las mismas dependiendo del contenido de la materia que representen. As´ı, encontramos clasificaciones atendiendo al modo en que estas est´en representadas o la naturaleza de la realidad que representan como pode- mos ver en res´umenes hechos por G´omez-P´erez et al. [GP03a], Dang Bui Bach [Bac07] y Agarwal [Aga05] donde encontramos resumidas algunas de estas clasificaciones A continuaci´on, se expone un resumen de las m´as significativas, organizadas seg´un los autores, y el criterio de clasificaci´on. Atendiendo al lenguaje usado para implementar las ontolog´ıas, o la riqueza sem´antica de las mismas, se encuentran tres clasificaciones en la literatura (resumidas en la figura A.2): Uschold y Gruninger [Usc96] distinguen cuatro tipos de ontolog´ıas depen- diendo del lenguaje usado para implementarlas. Estas son: Ontolog´ıas muy informales, si est´an escritas en lenguaje natural, Ontolog´ıas semi- formales, si est´an expresadas en una forma restringida y estructurada del lenguaje natural, Ontolog´ıas formales, si est´an definidas en un lengua- je definido formalmente, y Ontolog´ıas rigurosamente formales, si est´an definidas en un lenguaje con una sem´antica, una teor´ıa y unas compro- baciones formales con propiedades como la completitud. Lassila y McGuiness [Las02] consideran las ontolog´ıas como de mayor o menor ”peso”(light-heavy weight) de acuerdo con la riqueza sem´antica con la que representan la realidad. Esto vendr´a dado por la cantidad
  • 213. 192 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS de estructuras utilizadas para representar el conocimiento expresado en ellas. Por tanto, ser´an consideradas ontolog´ıas de peso ”ligero” (inclu- so algunos autores no las considerar´ıan como ontolog´ıas propiamente dichas) aquellas que consistan simplemente de un vocabulario o inclu- so que lleguen ´unicamente a la representaci´on de la realidad utilizando la estructura es-un de manera informal. A partir de la representaci´on formal de una jerarqu´ıa es-un, hasta llegar a representar restricciones de todo tipo (inverso de, es parte de o no se encuentra en el conjunto, etc.) se tratar´a entonces de ontolog´ıas con un cierto peso, hasta llegar al m´aximo nivel correspondiente a la categor´ıa de ontolog´ıas ”pesadas”. En la figura A.1 se presenta dicha clasificaci´on con mayor detalle. Zhang [Zha07] no llega a clasificar las ontolog´ıas realmente hace un repaso ex- haustivo por las diferencias entre las ontolog´ıas y el resto de sistemas de representaci´on t´ıpicos. La clasificaci´on queda establecida en: las listas de t´erminos, compuestas por diccionarios y vocabularios controlados, las lis- tas jer´arquicas, compuestas por esquemas de clasificaci´on y taxonom´ıas, y las listas de relaciones, compuestas por tesauros, y ontolog´ıas. Resumiendo, seg´un Ruiz e Hilera [Rui06], cualquier ontolog´ıa pertenecer´a a una de las siguientes categor´ıas seg´un la riqueza de estructura interna: Vocabulario controlado: Formado por una lista finita de t´erminos Glosarios: Listas de t´erminos con sus definiciones en lenguaje natural Tesauros: Se diferencian de las anteriores en que ofrecen sem´antica adi- cional a los t´erminos, incluyendo sin´onimos. Jerarqu´ıas Informales: Son jerarqu´ıas de t´erminos que no se corresponden a subclases estrictas. Jerarqu´ıas Formales: En este caso existe la relaci´on es-un entre las ins- tancias de una clase y su correspondiente superclase (para explotar el concepto de herencia). Marcos (Frames): Son ontolog´ıas que incluyen clases y propiedades que pueden heredarse por otra clases en niveles inferiores de una taxonom´ıa formal “es-un”. Ontolog´ıas con restricciones de valor: Incluyen restricciones de valor. Ontolog´ıas con restricciones l´ogicas gen´ericas: Son las mas expresivas permiten especificar restricciones entre los t´erminos de la ontolog´ıa us- ando l´ogica de primer orden.
  • 214. A.1. INTRODUCCI ´ON 193 Vocabularios/Controlados Terminos/Glosarios Thesauros Relaciones "es-un" informales Relaciones "es-un" formales Instancias Formales Frames(propiedades ) Restricciones de Valores Restriccines lógicas generales Relaciones Disjuntas, Inversas ,Es parte de .... LIGHTWEIGHT ONTOLOGIES HEAVYWEIGHT ONTOLOGIES Vocabularios Controlados Glosarios Tesauros Jerarquías Informales Jeraquías Formales Marcos Ontologías con restricciones de Valor Ontologías con restricciones genéricas lógicas Clasificación de Lassilaand McGuinness [Las02] Clasificación de RuizeHilera[Rui06] Figura A.1: Clasificaciones de Lassila y McGuinness [Las02] y de Ruiz e Hilera [Rui06]
  • 215. 194 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS Atendiendo a la naturaleza de la conceptualizaci´on, podemos encontrar los siguientes tipos de ontolog´ıa (en la figura A.2 se presenta una clasificaci´on muy simplificada de las propuestas siguientes): Steve et al. [Ste98] existen tres tipos fundamentales de ontolog´ıas, las de dominio, en las que se representa el conocimiento especializado perti- nente de un dominio o sub-dominio, como la medicina, las aplicaciones militares, la cardiolog´ıa, etc. Las ontolog´ıas gen´ericas, en las que se re- presentan conceptos generales y fundacionales del conocimiento como las estructuras parte/todo, la cuantificaci´on, los procesos o los tipos de obje- tos. Por ultimo las ontolog´ıas representacionales, en las que se especifican las conceptualizaciones que subyacen a los formalismos de representaci´on del conocimiento, por lo que tambi´en se denominan meta-ontolog´ıas o ontolog´ıas de alto nivel. Guarino [Gua98] Es la m´as concreta y clara propuesta de clasificaci´on de ontolog´ıas, ya que diferencia ´unicamente cuatro tipos de ontolog´ıas: las Ontolog´ıas de Alto Nivel, las de Dominio, las de Tareas y por ´ultimo las Ontolog´ıas de Aplicaci´on. Esta ´ultimas son aquellas que se crean para describir una actividad o tarea espec´ıfica, como por ejemplo la venta de un producto, o el diagn´ostico de una enfermedad y las ontolog´ıas creadas para una aplicaci´on espec´ıfica. Adem´as Guarino, describe las dependencias que existen entre estas categor´ıas. Mizoguchi et al. [Miz95] Propone cuatro tipos de Ontolog´ıas: Las ontolog´ıas de Contenidos, entre las que se encontrar´ıan las ontolog´ıas que represen- tan los dominios, las tareas, o bien conocimiento en general. Las on- tolog´ıas de Comunicaci´on (Tell&Ask) que permiten compartir conoci- miento, las de Indexado, que permite recuperar informaci´on y las Meta- Ontolog´ıas u Ontolog´ıas de representaci´on del Conocimiento, que son las que describe la estructura de la ontolog´ıa en si. van Heisjt et al. [vH97] Estos autores son los primeros en establecer los dos niveles para la clasificaci´on de ontolog´ıas que se han especificado previamente(dependiendo del contenido o de la riqueza sem´antica de la informaci´on que representan). Atendiendo a la categorizaci´on que se est´a tratando, dividen las ontolog´ıas en dos grandes grupos: aquellas que representan la cantidad y el tipo de estructura (Son las Ontolog´ıas de Representaci´on del Conocimiento, las Ontolog´ıas de Informaci´on (BD) y los Lexicons), y por otro lado, aquellas que representan el objetivo de la conceptualizaci´on, es decir, la Ontolog´ıas de Dominio, de Aplicaci´on, de Representaci´on o Gen´ericas.
  • 216. A.1. INTRODUCCI ´ON 195 Fensel [Fen04] Establece la clasificaci´on en: Ontolog´ıas de Sentido Com´un (ofrecen un conocimiento general del mundo), Ontolog´ıas Representa- cionales (representan conceptos que expresan conocimiento en un en- foque orientado a objetos o marcos). No pertenecen a ning´un dominio en particular. Las Ontolog´ıas de Dominio, las Ontolog´ıas de M´etodos y Tareas (estas ´ultimas ofrecen una terminolog´ıa especifica para de m´eto- dos resolutivos o para tareas espec´ıficas). Jurisica et al. [Jur99] establece la clasificaci´on de ontolog´ıas como: On- tolog´ıas Est´aticas, que son aquellas que describen cosas que existen y sus relaciones. Ontolog´ıas Din´amicas: que son aquellas que describen aspectos del mundo que pueden cambiar con el tiempo. Ontolog´ıas In- tensionales: Describen motivaciones, intenciones, objetivos, creencias, elecciones, etc. relacionadas con agentes. Ontolog´ıas Sociales: Describen estructuras organizativas, redes, interdependencias, etc. Gomez-Perez et al. [GP03a] realiza una clasificaci´on de las ontolog´ıas ba- s´andose en las clasificaciones expuestas por los anteriores autores. Esta propuesta establece taxonom´ıa muy rica en matices, que incluso permite establecer unos niveles de “usabilidad/reusabilidad” de las ontolog´ıas de- pendiendo del nivel donde se encuentren clasificadas las mismas. As´ı pode- mos encontrar una clasificaci´on en la que las ontolog´ıas de alto nivel que describ´ıa Guarino ahora se desglosan en tres tipos: Ontolog´ıas de Rep- resentaci´on, Ontolog´ıas Generales y Ontolog´ıas de Alto Nivel. A contin- uaci´on y aumentando el nivel de usabilidad, podr´ıamos hallar las On- tolog´ıas de Dominio y Tareas al mismo nivel, pero desglosando ambas a la vez dada la generalidad de las mismas: las Gen´ericas estar´ıan en primer lugar, a continuaci´on las de Dominio, y las ´ultimas y menos re- utilizables, ser´ıan las de Aplicaci´on. Sharmen et al. [Sha06b] se centra en la web sem´antica para clasificar las ontolog´ıas, en 4 categor´ıas: las Meta-ontolog´ıas (las que describen los lenguajes), las Ontolog´ıas de Alto Nivel exhaustivas (expresan el cono- cimiento global, como WordNet, Cyc, ...), las Ontolog´ıas de Dominio Espec´ıfico Sistem´atico (describen un dominio espec´ıfico pero de manera general), y las Ontolog´ıas Especializadas Simples. Al igual que en el caso anterior Ruiz e Hilera [Rui06] hacen un resumen de todas estas propuestas, afirmando que cualquier ontolog´ıa estar´a incluida en una de las siguientes categor´ıas: Ontolog´ıa de Representaci´on del Conocimiento: Es aquella que repre- senta las primitivas para formalizar el conocimiento bajo un paradigma
  • 217. 196 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS METAONTOLOGIAS ONTOLOGIAS DE ALTO NIVELo GENERICAS ONTOLOGIAS de REPRESENTACION Ontologías de Dominio, Tareas, de Aplicación, deContenidos, de Métodos... Figura A.2: Clasificaci´on gen´erica de Ontolog´ıas basada en la naturaleza de la conceptualizaci´on concreto de representaci´on del conocimiento. Ontolog´ıa Gen´erica o Com´un: Es aquella que representa el conocimiento de sentido com´un reutilizable en diferentes dominio. Por ejemplo: even- tos, espacio, tiempo, etc. Ontolog´ıas de Alto Nivel: Describen conceptos muy generales que se pueden relacionar con las bases de cualquier ontolog´ıa. Ontolog´ıas de Dominio: Son ontolog´ıas reutilizables de un dominio par- ticular. Ontolog´ıas de tareas: Describen un vocabulario relacionado con algunas actividades gen´ericas. Proporcionan un un vocabulario sistem´atico de t´erminos usados para resolver problemas que pueden o no pertenecer al mismo dominio. Ontolog´ıas de Tareas de un Dominio: Igual que la anterior, pero s´olo usable en un dominio. Ontolog´ıas de M´etodos: Son definiciones de conceptos relevantes y sus relaciones, aplicables a procesos de razonamiento dise˜nados espec´ıfica- mente para llevar a cabo una tarea particular. Ontolog´ıas de Aplicaci´on: Dependen de las aplicaciones. Suelen extender y especializar el vocabulario de una ontolog´ıa de dominio o tareas para una aplicaci´on particular.
  • 218. A.2. INGENIER´IA DE ONTOLOG´IAS 197 A.2. Ingenier´ıa de Ontolog´ıas Desde su aparici´on las ontolog´ıas han sido una de las ramas m´as impor- tantes en el ´area de las Ciencias de la Computaci´on. Se ha desarrollado toda una plataforma alrededor de las mismas, desde t´ecnicas, metodolog´ıas y aplica- ciones que han formado lo que hoy en d´ıa se conoce como Ingenier´ıa Ontol´ogica (Ontological Engineering). Tal como G´omez-P´erez et al. describi´o en [GP03b] o Sharman et al. en [Sha06b], la Ingenier´ıa Ontol´ogica se refiere al conjunto de actividades que concierne al proceso de desarrollo de ontolog´ıas, el ciclo de vida de las ontolog´ıas y las metodolog´ıas, herramientas y lenguajes que permiten construir las mismas. A continuaci´on resumiremos brevemente algunas t´ecnicas, metodolog´ıas y aplicaciones relacionadas con las ontolog´ıas para ofrecer una imagen resumida de este campo de estudio. En el trabajo de Cardoso [Car07] se puede encontrar un an´alisis detallado de cada uno de los elementos que forman parte de la ingenier´ıa ontolog´ıa m´as populares en la actualidad. A.2.1. T´ecnicas de Representaci´on de Ontolog´ıas Cualquier formalismo que permita representar ontolog´ıas deber´a permitir representar los conceptos y las relaciones que existen entre estos. Para ello existen diversas propuestas que clasificaremos seg´un el modo de representar la informaci´on y que podemos encontrar resumido en [Sha06b]: Marcos y l´ogica de Primer orden Gruber [Gru93] propone utilizar mar- cos (frames) y l´ogica de primer orden. Su propuesta utiliza clases, rela- ciones, funciones, axiomas formales e instancias. Las clases son los con- ceptos relevantes y se organizan en taxonom´ıas, las relaciones, represen- tan diferentes tipos de asociaciones entre los conceptos en un dominio. Las funciones son un caso especial de relaciones. Los axiomas formales son sentencias que son siempre ciertas, y se usan para generar conoci- miento y verificar la consistencia de la ontolog´ıa, y por ´ultimo las ins- tancias se utilizan para representar los elementos o individuos de las ontolog´ıas. L´ogica Descriptiva Baader et al. [Baa04] proponen utilizar L´ogica Descrip- tiva para representar las ontolog´ıas. La l´ogica descriptiva es un forma- lismo de la l´ogica que se divide en dos ramas: los TBox y los ABox. Los primeros contienen las definiciones de conceptos y roles, tambi´en llama- dos conocimiento intensional. Los ABox contienen las definiciones de los individuos, y se denominan conocimiento extensional. Se usan tres ele- mentos para representar estas ontolog´ıas, los conceptos, que representan
  • 219. 198 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS las clase de objetos, los roles, que describen las relaciones entre los con- ceptos y los individuos, que representan las instancias de las clases. Los conceptos y los roles se especifican bas´andose en un conjunto de t´erminos pre-existentes y constructores cuyos elementos se mezclan para obtener cualquier tipo de lenguaje DL. Los conceptos primitivos son aquellos cuya especificaci´on no necesita basarse en otros conceptos, pero si sobre condiciones que los individuos deben satisfacer. Los conceptos derivados, son aquellos cuya especificaci´on esta basada en otro concepto, del cual hereda alguna propiedad. Los individuos representan una instancia de los conceptos y sus valores. T´ecnicas de Ingenier´ıa del Software T´ecnicas como el Lenguaje de Mo- delado Unificado (UML) permiten representar ontolog´ıas, aunque existan varios autores que defienden que dicho lenguaje es demasiado pobre para ello (v´ease secci´on 2.3). De esta manera dichas ontolog´ıas ser´ıan clasifi- cadas como de “peso ligero” seg´un la taxonom´ıa de Lassila y McGuiness [Las02]. Si a este lenguaje se le a˜nade el lenguaje de restricci´on de obje- tos (OCL), dichas ontolog´ıas se convertir´ıan mas ricas sem´anticamente hablando y por tanto mas “pesadas” seg´un la anterior clasificaci´on. Los diagramas UML se usan para representar los conceptos donde cada clase representa un concepto. Las taxonom´ıas ser´ıa las relaciones de generali- zaci´on y la relaciones binario ser´ıan las relaciones de asociaci´on. Modelado Conceptual Alternativa para representar ontolog´ıas basada en el modelado conceptual [GP03b], usualmente se relacionada con la repre- sentaci´on de bases de datos usando, por ejemplo, diagramas Entidad- Relaci´on. En estos diagramas, los conceptos se representan mediante entidades, que tienen atributos, que son a su vez propiedades del con- cepto. Estos atributos tienen un nombre y un tipo. Las relaciones entre los conceptos se representan mediante las relaciones del E/R, que tienen cardinalidad y permiten expresi´on, no s´olo para relaciones de asociaci´on, sino tambi´en de generalizaci´on, que crea las taxonom´ıas de los concep- tos. Los axiomas formales, pueden representarse usando restricciones de integridad. El UML tambi´en entrar´ıa dentro de esta clasificaci´on dada la gran capacidad expresiva que tiene. Sin embargo, un gran n´umero de autores no consideran estas t´ecnicas las m´as apropiadas para represen- tar una ontolog´ıa, como describe Ruiz e Hilera en [Rui06] o podemos analizar con m´as detalle en la secci´on 2.3.
  • 220. A.2. INGENIER´IA DE ONTOLOG´IAS 199 A.2.2. Metodolog´ıas de Representaci´on Al igual que ocurre con cualquier elemento software, o base de datos, una ontolog´ıa, debe ser construida atendiendo a alg´un tipo de metodolog´ıa que permita establecer los criterios a seguir hasta su definici´on completa. Las metodolog´ıas de la ingenier´ıa ontol´ogica necesitan seguir tres activi- dades fundamentales [GP03a, GP03b]: Actividades de gesti´on de Ontolog´ıas. Esta actividades incluyen la or- ganizaci´on en la tarea de ingenier´ıa de la ontolog´ıas. Necesita definir mecanismo de control y pasos para asegurar la calidad. Actividades para el proceso de desarrollo de ontolog´ıas. Entre estas ac- tividades est´an la elecci´on del entorno de desarrollo, el estudio de via- bilidad. Adem´as, en ella se desarrollan los procesos de conceptualizar, formalizar e implementar la ontolog´ıa, y finalmente, la generaci´on de unas gu´ıas para el mantenimiento, generaci´on de instancias, uso y evolu- ci´on de la misma. Actividades de Soporte. Entre ellas est´an las de adquisici´on, evaluaci´on, integraci´on, uni´on, compatibilizaci´on, y configuraci´on. Estas actividades se llevan a cabo durante las actividades de desarrollo y gesti´on de las ontolog´ıas. A continuaci´on se presentaran las metodolog´ıas de dise˜no de ontolog´ıas m´as significativas de los ´ultimos tiempos. Existen comparativas de dichas metodolog´ıas en las siguientes referencias bibliogr´aficas [Sha06b, Sur04, Sur06, GP03b, hom06]. Cyc, esta metodolog´ıa se extrajo gracias a la existencia de un proyecto que consiste en la creaci´on de una la ontolog´ıaCyc [Len95] que trata de representar toda la realidad del universo (Ontolog´ıa de Alto Nivel). M´as all´a de ´exito o fracaso de la misma, se han extra´ıdo las tareas m´as significativas a trav´es dicho proceso de generaci´on: en primer lugar, la extracci´on manual del conocimiento general o de sentido com´un, en se- gundo lugar, la codificaci´on manual guiada por herramientas que utilizan el conocimiento almacenado en la base de conocimiento Cyc. En tercer lugar, la extracci´on del conocimiento. Proyecto Enterprise Ontology. Uschold and King [Usc95] establecen las siguientes gu´ıas a la hora de crear una ontolog´ıa: identificar el prop´osito de la ontolog´ıa, construir la ontolog´ıa mediante la captura de los con- ceptos y la relaciones de la ontolog´ıa, la codificaci´on de la misma usando
  • 221. 200 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS un lenguaje formal, y la integraci´on de la misma con otras ontolog´ıas preexistentes. Por ultimo habr´a que evaluar la ontolog´ıa. TOVE. Gruninger and Fox [Gr¨u95] desarrollaron una metodolog´ıa para implementar la ontolog´ıa basada en preguntas de competencia. Consiste en seis pasos: 1o Identificar los escenarios, 2o elaborar preguntas infor- males sobre el tema, en lenguaje natural (servir´a para establecer las res- tricciones), 3o especificar la terminolog´ıa usando l´ogica de primer orden. 4o Escribir las preguntas formalmente, usando la terminolog´ıa formal. 5o especificar axiomas utilizando l´ogica de primer orden. 6o especificar los teoremas de completitud. DOGMA [Jar02]. Este m´etodo basado en las bases de datos consiste en descomponer expl´ıcitamente los recursos ontol´ogicos en bases de on- tolog´ıas que consisten en hechos simples llamados lexons y acuerdos on- tol´ogicos del tipo: reglas y restricciones. Meersman et al. [Jar] pretenden con este modelo demostrar que los modelos conceptuales de la infor- maci´on son completamente v´alidos para representar ontolog´ıas. Usan diagramas en ORM para definir la realidad. Amaya [KAC05]. Establece la posibilidad de reutilizar el conocimien- to. Tiene tres etapas: la primera es la de especificar la aplicaci´on para identificar el contexto y los elementos que queremos representar. La se- gunda es el dise˜no preliminar bas´andose en las categor´ıas de alto nivel relevantes. Los elementos identificados en la etapa anterior se usar´an co- mo entrada a la ontolog´ıa de alto nivel para obtener una visi´on global del modelo. Durante este proceso es posible establecer la reutilizaci´on de una ontolog´ıa ya existente. La tercera etapa es refinar y estructura la ontolog´ıa, mediante la especializaci´on de t´erminos para obtener el dise˜no definitivo con la m´axima modularizaci´on. CommonKADS [Sch99]. No es una metodolog´ıa en s´ı misma para el desa- rrollo de ontolog´ıas. Cubre varios aspectos en el campo de la gesti´on del conocimiento, desde su definici´on hasta la implementaci´on de sistemas de informaci´on. Methontology [GP03a, GP03b]. Esta metodolog´ıa se plantea como una de las m´as completas, formulada para el desarrollo de ontolog´ıas hasta la fecha. Esta inspirada en las metodolog´ıas de desarrollo del software, no obstante, contempla todas las casu´ısticas que puedan darse en el proceso de desarrollo de una ontolog´ıa. Esta metodolog´ıa sigue las tres actividades fundamentales para la representaci´on de ontolog´ıas anterior-
  • 222. A.2. INGENIER´IA DE ONTOLOG´IAS 201 mente descritas y divide el proceso de modelado de conocimiento en las ocho fases siguientes: 1. Construir el glosario de t´erminos. 2. Construir la taxonom´ıa de conceptos. 3. Construir los diagramas de relaciones ad hoc para identificar las relaciones ad hoc entre los conceptos de la ontolog´ıa y los conceptos de otras ontolog´ıas. 4. Construir un diccionario de conceptos, que contendr´a los conceptos de dominio, sus relaciones, sus instancias y sus clases, y los atributos de instancia. 5. Describir con detalle cada relaci´on binaria ad hoc que aparece en el diagrama. 6. Describir en detalle cada atributo de instancia que aparece en el diccionario de conceptos. 7. Describir en detalle cada atributo de clase que aparece en el dic- cionario de conceptos. 8. Describir cada constante, que especifica la informaci´on relativa al conocimiento del dominio. M´etodo SENSUS [Kni94]. Este m´etodo consiste en construir el esquele- to del dominio de una ontolog´ıa comenzando a partir de una ontolog´ıa muy grande, e ir recortando aquellos t´erminos irrelevantes para la on- tolog´ıa que se propone. Los procesos principales en esta metodolog´ıa son: 1o identificar las semillas, 2o unir manualmente los t´erminos semilla a SENSUS, 3o a˜nadir las rutas obtenidas, 4o a˜nadir nuevos t´erminos de dominio, 5o a˜nadir sub´arboles completos, que dependen de las semillas encontradas. On-To-Knowledge (OTK) [Sur04]. Esta metodolog´ıa tiene en cuenta si la ontolog´ıa ser´a utilizada para futuras aplicaciones. Esta metodolog´ıa al igual que muchas otras, se divide en dos grandes fases: el proceso de definici´on de la estructura (Knowledge Meta Process), y el proceso de gesti´on o manejo de la misma (Knowledge Process). La primera fase es la que permite definir la ontolog´ıa consiste en los siguientes pasos: 1. Estu- dio de viabilidad, consiste en identificar los problemas y oportunidades, las aplicaciones, herramientas y las personas, 2. El arranque, que con- siste en capturar los requerimientos en un documento de especificaci´on de documentos (ORSD) y crear una descripci´on de la ontolog´ıa semiformal, 3. El refinamiento, se realiza cuando se refina la descripci´on semiformal
  • 223. 202 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS de la ontolog´ıa, se formaliza y se crea un prototipo, 4. Evaluaci´on, en este paso se eval´ua la tecnolog´ıa, los usuarios y la ontolog´ıa), 5. La apli- caci´on y Evoluci´on. La segunda fase comprende los pasos de creaci´on de conocimiento e importaci´on de documentos y metadatos, extracci´on y acceso al conocimiento, etc. IDEF5 [KBS]. Construyen una ontolog´ıa tratando de catalogar los de- scriptores (como un diccionario de datos) y creando un modelo del do- minio (construido por estos descriptores). Consiste en tres tareas b´asicas: 1) catalogar los t´erminos, 2. capturar las restricciones que existen sobre estos t´erminos y el dominio y 3. construir un modelo que puede generar las sentencias descriptivas apropiadas. As´ı una ontolog´ıa ser´a similar a un diccionario de datos que incluyen tanto la gram´atica como el modelo de comportamiento del dominio. HCOME [Kot06]. Esta metodolog´ıa esta centrada en el papel que tienen los desarrolladores de ontolog´ıas en el proceso de creaci´on. Aparece de- bido a las carencias que tienen en este aspecto el resto de ellas. Identifica tres fases principales: 1. Especificaci´on, define objetivo, ´ambito, requeri- mientos y equipo, 2. Conceptualizaci´on, etapa de adquisici´on de conoci- miento (importar, consultar ontolog´ıas de alto nivel, consulta a expertos) y Desarrollo y Mantenimiento de la misma (improvisar, unir, gestionar, comparar versiones,a˜nadir documentaci´on, etc.), 3. Explotaci´on, usa y evalua la ontolog´ıa. Esta metodolog´ıa soporta el desarrollo de ontolog´ıas de forma descentralizada. Por un lado se permite desarrollar una on- tolog´ıa de forma personal, utilizando versiones, ontolog´ıas de alto nivel, uniendo ontolog´ıas o mapeando t´erminos. En segundo lugar permite me- diante un espacio compartido discutir acerca de las decisiones tomadas [Kot04]. . HOLSAPPLE [Nic05]. Metodolog´ıa propuesta para el trabajo colabo- rativo. Soporta la creaci´on de una ontolog´ıa est´atica, que es propuesta inicialmente y extendida mediante la retroalimentaci´on (feedback) de un grupo de expertos. Utiliza cuestionarios para llevar a cabo esta retroali- mentaci´on. UPON (Unified Process for ONtology building) [Hol02]. Basado en el desarrollo de ontolog´ıas utilizando UML. Las fases c´ıclicas que propone son: 1. identificaci´on de requerimientos, 2. an´alisis, 3. dise˜no y concep- tualizaci´on, 4. implementaci´on, 5. testeo la cobertura del dominio de aplicaci´on.
  • 224. A.2. INGENIER´IA DE ONTOLOG´IAS 203 DILIGENT [Cas07, Sur06]. Esta metodolog´ıa de generaci´on de ontolog´ıa trata de suplir la carencia de otras en el proceso de compartir o discutir durante el proceso y ser adaptable a cualquier cambio. Existen las sigu- ientes fases: 1. construcci´on, 2. adaptaci´on local, 3. an´alisis, 4. revisi´on y 5. adaptaci´on local. H¨usemann y Vossen en [H¨u05] proponen una metodolog´ıa para repre- sentar ontolog´ıas bas´andose en la fase de dise˜no de bases de datos tradi- cionales. Esta metodolog´ıa trata de suplir la carencia de un est´andar en este aspecto. El proceso de dise˜no consiste en una fase de an´alisis de requisitos, un dise˜no conceptual, l´ogico y por ´ultimo f´ısico. En el caso de las ontolog´ıas, el proceso para construir una metodolog´ıa ha ido surgiendo a ra´ız de la construcci´on de las mismas. Se han observado tres diferentes generaciones de metodolog´ıas para ontolog´ıas [Rib06], a partir de su aparici´on sobre el a˜no 1995. La primera generaci´on intenta comprender como las ontolog´ıas son construidas, entre ellas podemos encontrar la metodolog´ıa TOVE, SENSUS, Cyc y la ENTERPRISE. La segunda generaci´on considera que la especificaci´on, conceptualizaci´on, integraci´on e implementaci´on ya es un requisito durante todo el ciclo de vida, y en ella est´an METHONTOLOGY, Amaya, DILIGENT, HOLSAPPLE. OTK y HCOME. Esta ´ultima tambi´en puede estar incluida en la ´ultima generaci´on que es la que incorpora conceptos como reusabilidad y gesti´on de la configuraci´on. Tambi´en en los ´ultimos a˜nos METHONTOLOGY, podr´ıa considerarse de esta ultima generaci´on, ya que ha incluido estos aspectos en su definici´on [Cor06]. A pesar de todas estas metodolog´ıas propuestas, a´un sigue existiendo el profundo convencimiento de que no hay ninguna metodolog´ıa est´andar o am- pliamente aceptada para los constructores del conocimiento [Rib06, H¨u05]. Esto se hace m´as evidente en el campo de la Web Sem´antica donde los de- tractores de estas metodolog´ıas son m´as numerosos. De hecho, existe un alto porcentaje de desarrolladores de ontolog´ıas que no siguen ninguna metodolog´ıa [Car07] A.2.3. Formalismos y Lenguajes en la Representaci´on del Co- nocimiento Existen numerosos formalismos y lenguajes que permiten representar el conocimiento (v´ease [Gae06, GP03b, Sha06b, Par04]) que puede estar definido utilizando diversas t´ecnicas de representaci´on, como por ejemplo: Tripletas objeto-atributo-valor, hechos inciertos, marcos (frames), hechos difusos, reglas, redes sem´anticas, etc.. Cada uno de estos formalismos utilizan unos recursos diferentes para representar la informaci´on. Este hecho hace que no todos los
  • 225. 204 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS lenguajes puedan representar la misma informaci´on, ni el mismo grado de sem´antica de dicha informaci´on. Elegir el lenguaje de representaci´on id´oneo es crucial, por lo tanto, para representar la realidad de la manera que m´as se adapte a nuestro problema. Los lenguajes o formalismos que nos permiten representar el conocimiento pueden clasificarse en tres grupos [Gae06, Ech07b]: Lenguajes Basados en L´ogica Los lenguajes basados en l´ogica parten de una sintaxis y sem´antica bien definida que detallan perfectamente la for- ma de construir sentencias y razonamientos sobre ellas. Entre los lengua- jes basados en l´ogica podemos encontrar: L´ogica Proposicional, que consiste en la definici´on de proposiciones y los valores de verdad que cada una tiene asociados. Se infiere in- formaci´on a trav´es de la generaci´on de proposiciones m´as complejas y los operadores de AND, OR, IMPLIES, EQUIVALENCE. L´ogica de Primer Orden, ampl´ıa la anterior, a˜nadiendo dos opera- dores m´as, el cuantificador Universal ∀ y el Existencial ∃. Adem´as los s´ımbolos pueden representar constantes, variables, predicados y funciones. KIF, lenguaje l´ogico basado en l´ogica de primer orden que fue crea- do con el objetivo de actuar como interlingua entre diferentes for- malismos y lenguajes de representaci´on. KIF dispone de su propia sintaxis y algunos a˜nadidos sem´anticos sobre la l´ogica de primer orden. L´ogica Descriptiva. Son las mas relacionadas con el desarrollo de las ontolog´ıas tal como se usan en la actualidad en la Web Sem´antica. La l´ogica descriptiva se basa en representar el conocimiento utilizan- do por una una terminolog´ıa o vocabulario del dominio (TBOX) y por otra un conjunto de afirmaciones (ABOX). Se pueden con- struir y existen razonadores que permiten razonar sobre las TBOX y ABOX, pudiendo determinar por ejemplo si el contenido de la TBOX es factible, o qu´e relaciones est´an incluidas en otras. Lenguajes Basados en Marcos (Frames) Estos lenguajes son similares a los lenguajes de programaci´on orientados a objetos, en el sentido de que representan el conocimiento utilizando clases (marcos), atributos, objetos y relaciones, y utilizan relaciones de generalizaci´on y especializa- ci´on para representar la organizaci´on jer´arquica de los conceptos. Es importante mencionar que muchos de los lenguajes basados en marcos se pueden considerar como una sintaxis diferente de la l´ogica de primer
  • 226. A.2. INGENIER´IA DE ONTOLOG´IAS 205 orden y que por lo tanto no ofrecen m´as expresividad que ella. Esto implica, por otro lado, que tengan representaciones equivalentes en el lenguaje KIF visto en un punto anterior. La mayor´ıa de las herramientas de definici´on de ontolog´ıas utiliza estos lenguajes. Lenguajes Basados en Reglas Estos lenguajes han sido durante mucho tiempo posiblemente los m´as usados de todos, principalmente debido a su estrecha relaci´on con los Sistemas Expertos utilizados en Inteligencia Artificial. Estos lenguajes son f´aciles de entender debido a su sencillez conceptual y a su paralelismo con las estructuras de control m´as simples utilizadas en programaci´on. Una de las tendencias m´as recientes pasa por mezclar los conceptos de marcos y reglas, como en el caso de Jess, para disponer de lenguajes que permitan reunir la informaci´on de cada concepto y asociar a alguno de sus slots conjuntos de reglas. Este tipo de lenguajes han recibido tambi´en un fuerte impulso a partir de la aparici´on de la Web Sem´antica, ya que que se piensa en ellos como herramientas para definir servicios web. A.2.3.1. Lenguajes de Representaci´on de Ontolog´ıas Una vez definidos cada uno de los formalismos se har´a un breve repaso por los lenguajes m´as utilizados para representar ontolog´ıas [GP03a, Dui00, Su02, Sha06b]. Estos lenguajes aparecen a continuaci´on clasificados atendiendo a la naturaleza de la informaci´on que representan: Lenguajes usados tradicionalmente para la especificaci´on de Ontolog´ıas, entre estos encontramos: CycL, que usa l´ogica de primer orden, Loom, que usa l´ogica descriptiva, Ontolingua que se basa en marcos y en Kif, F-Logic, CML, OKBC, OCML, est´an basados en Marcos tambi´en. Lenguajes de Web est´andar para representar ontolog´ıas en la Web Se- m´antica. Estos lenguajes son RDF, RDFS, DAML+OIL y OWL. En general, todos est´an basados en l´ogica descriptiva y en los lenguajes basados en marcos. Existe un lenguaje muy reciente, el WSML (Web Service Modeling Language) que describe los servicios de la Web Sem´an- tica usando formalismos l´ogicos, y que est´a ganando en popularidad. Otros lenguajes Web, creados para la especificaci´on de ontolog´ıas como XOL (utiliza sintaxis XML y OKBC), SHOE (basado en macos y reglas), y OIL ( basado en marcos) Las ontolog´ıas pueden representarse utilizando cualquiera de estos forma- lismos, incluso podr´ıamos a˜nadir dos m´as como:
  • 227. 206 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS Modelos conceptuales para representar Bases de Datos. En estos forma- lismos, podr´ıamos incluir las bases de datos relacionales y las bases de datos orientadas a objetos (SQL, Modelos E-R, ..) Modelos de representaci´on del Software. En este formalismo incluiremos el UML como m´aximo exponente. Sin embargo, no todos los lenguajes conducen a la generaci´on de ontolog´ıas pesadas y los dos ´ultimos formalismos, concretamente, son m´as “pobres” seg´un algunos autores (ver apartado 2.3) a la hora de representar sem´antica en la informaci´on dada la naturaleza de la informaci´on que est´an destinadas a re- presentar. Las restricciones en este tipo de formalismos vendr´an ligadas al uso de alguno de los lenguajes anteriores, como el uso de reglas o l´ogica para completar la sem´antica de los mismos. Adem´as de todos estos lenguajes, otros mecanismos de representaci´on de ontolog´ıas han surgido al margen de estos. Son las herramientas de repre- sentaci´on de ontolog´ıas descritas en el apartado A.2.3.3. Estas herramientas, adem´as de ayudar a la hora de representar una ontolog´ıa, definen su propio modelo de datos cuando definen la informaci´on que dicha ontolog´ıa describe. De esta forma, la representaci´on de la ontolog´ıa est´a sujeta a la modelizaci´on que estas herramientas hacen. Sin embargo la gran mayor´ıa introducen la opci´on de exportar o traducir la realidad que representan en alguno de los lenguajes m´as populares, como OWL, KIF, RDF, etc. A.2.3.2. Lenguajes Est´andar de Web para Representar Ontolog´ıas La incorporaci´on, y en algunos casos aparici´on de estos lenguajes en la web surgi´o como necesidad de incluir significado a los documentos web estruc- turados que, representados en HTML o XML, carec´ıan del mismo para ser procesados computacionalmente. A continuaci´on expondremos brevemente las caracter´ısticas de los lengua- jes m´as com´unmente utilizados para la representaci´on de ontolog´ıas, sobre todo en la Web [Cha99, GP03b, Ech07a]. Dichos lenguajes se han conver- tido en est´andares, gracias a la propuesta y aceptaci´on por parte de la W3C1 [w3c06]. RDF - Resource Description Framework RDF [Cha01, W3C99] es un marco de trabajo o framework para describir e intercambiar metadatos, por tanto, no es un lenguaje ´unicamente, sino que es en s´ı mismo un modelo de datos. Est´a construido en base a las reglas siguientes: 1 Sitio web: www.w3c.com
  • 228. A.2. INGENIER´IA DE ONTOLOG´IAS 207 Recursos: Cualquier cosa que puede tener un URI, esto incluye a todas las p´aginas web, los elementos individuales de un documento XML, etc. Propiedades: Es un recurso que tiene un nombre y que puede usarse como una propiedad, por ejemplo el autor o el t´ıtulo. Sentencias: Consisten en la combinaci´on de un recurso, una propiedad y un valor. Estas tres partes se conocen como sujeto, predicado y el objeto de la sentencia. Otros elementos de la definici´on de una p´agina RDF estan brevemente descritos en la tabla A.1. Tabla A.1: Elementos de una p´agina RDF Elemento Descripci´on rdf:Statement Reificaci´on: Cuando se construyen sen- tencias utilizando otras sentencias rdf:RDF Cada documento RDF al estar basa- do en XML debe estar bien formado (Well-Formed RDF) y tener este ele- mento ra´ız. Espacio de Nombres http://www.w3.org/1999/02/22-rdf- syntax-ns# rdf:Description Declaraci´on de Recursos. Se usa como valor del atributo una referencia URI rdf:about Se refiere al recurso que esta fuera del documento rdf:ID Se refiere al recurso si esta dentro del documento rdf:datatype Usado para Valores de Datos si el valor no es un literal rdf:resource Especificaci´on de un Recurso como un Valor de Propiedad rdf:type Declara instancias rdf:Bag, rdf:Seq, y rdf:Alt Elementos contenedores - Las definiciones se pueden anidar
  • 229. 208 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS RDF Schema Es una extensi´on sem´antica de RDF [w3c06, Bac07]. La primera versi´on fue publicada en Abril de 1998 por la W3C, la ´ultima versi´on se publico en 2004. Los archivos RDFS son archivos RDF que tienen la misma estructura y sintaxis que la que se usa en RDF. A pesar de que aparece para enriquecer al anterior, ya que el RDF s´olo es capaz de representar instancias y las relaciones entre las mismas. No puede representar ni siquiera la estructura m´as fundamental de las ontolog´ıas, como son las clases, o hacer taxonom´ıas. El RDF(S) incorpora constructores que permiten especificar los elementos que muestra la tabla A.2. Tabla A.2: Elementos de una p´agina RDF Schema Elemento Descripci´on rdfs:Class Definici´on de clases rdfs:SubclassOf Definici´on de Jerarqu´ıas rdfs:subPropertyOf Especificaci´on de jerarqu´ıas de propiedades rdfs:domain Especificaci´on de dominio en las propiedades rdfs:range Especificaci´on de rangos en las propiedades rdfs:seeAlso, rdfs:isDefinedBy, rdfs:comment, rdfs:label Comentarios Espacio de Nombres http://www.w3.org/1999/02/22-rdf- syntax-ns. El RDF(S), no es demasiado expresivo, s´olo permite la representaci´on de conceptos, taxonom´ıas de conceptos y relaciones binarias. Concretamente, el RDF(S) no puede expresar [Bac07]: El ´ambito local de las propiedades. Por ejemplo, podemos decir que un profesor puede ense˜nar a un estudiante, pero no podemos especificar que un asistente s´olo puede ense˜nar a un estudiante no graduado. Clases Disjuntas. Combinaci´on booleana de clases, por ejemplo, que un HombreBelga en una intersecci´on de un Belga y un Hombre. Restricciones de cardinalidad.
  • 230. A.2. INGENIER´IA DE ONTOLOG´IAS 209 Caracter´ısticas de las propiedades, como la transitividad.. El OWL solventa estos problemas, manteniendo la compatibilidad con el RDF(S). OWL o OWL Web Ontology Language Lenguaje de Ontolog´ıas para la Web(OWL) [Ant03, Bac07, Bec07a] es un lenguaje de etiquetado sem´antico para publicar y compartir ontolog´ıas en la web. Se trata de una recomendaci´on del W3C, y puede usarse para representar ontolog´ıas de forma expl´ıcita, es decir, permite definir el significado de t´erminos en vocabularios y las relaciones entre aquellos t´erminos. OWL es una extensi´on del lenguaje RDF y emplea las tripletas de RDF, aunque es un lenguaje con m´as poder expresivo que ´este [Ech07a]. El OWL est´a dise˜nado para usarse cuando la informaci´on contenida en los documentos necesita ser procesada por programas o aplicaciones, en oposici´on a situaciones donde el contenido solamente necesita ser presentado a los seres humanos. OWL surge como una revisi´on al lenguaje DAML-OIL y es mucho m´as potente que ´este. Al igual que OIL, OWL se estructura en capas que difieren en la com- plejidad y puede ser adaptado a las necesidades de cada usuario, al nivel de expresividad que se precise y a los distintos tipos de aplicaciones existentes como motores de b´usqueda, agentes, etc. OWL propone tres tipos de lenguaje, puesto que identifica tres tipos de aplicaciones que el usuario puede desarrollar. As´ı aparecen los tres tipos de OWL, ordenados de mayor a menor complejidad: 1. OWL-Full. Desarrollado para aplicaciones que requieren mucha expre- sividad y libertad en la sintaxis RDF. As´ı pues es un conjunto que englo- ba a todos los dem´as lenguajes (RDF, OWL-DL,OWL-LITE). Permite incluso la re-definici´on del meta esquema del lenguaje mismo. Un doc- umento en RDF es equivalente a un documento OWL-FULL en cuanto a validez. Es muy flexible, pero nunca se podr´a razonar utilizando este lenguaje. 2. OWL-DL. Usado para aplicaciones que requieren expresividad y com- pletitud, y la habilidad del razonamiento. Comparte parte del lenguaje de OWL-Full, pero restringe el uso de algunas primitivas. Por ejemplo: las propiedades de Objetos y de tipos de datos est´an disjuntas, as´ı que no pueden compartir propiedades. No existen restricciones de cardinali- dad sobre propiedades transitivas. Adem´as los axiomas deben estar bien formados.
  • 231. 210 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS 3. OWL-LITE. Desarrollado para aplicaciones que requieren simplicidad y rapidez en la ejecuci´on. Es un subconjunto de OWL-DL y es el m´as utilizado por las herramientas de construcci´on de ontolog´ıas. OWL-LITE prohibe el uso de los atributos: owl:oneOf, owl unionOF (excepto en los constructores de clases y clases que tengan nombre tras la intersecci´on), owl:complementOf, owl:hasValue, owl:disjointWith, owl:DataRange. Un documento en OWL contiene los elementos resumidos en la tabla A.3. A.2.3.3. Herramientas de Ontolog´ıas El establecer una metodolog´ıa y un lenguaje de representaci´on de on- tolog´ıas no es suficiente para manipular las mismas. Es necesaria la creaci´on de herramientas que faciliten al usuario o al desarrollador dicha manipulaci´on. Es por este motivo que se han desarrollado un gran n´umero de herramien- tas al respecto. Estas herramientas pueden clasificarse siguiendo dos criterios diferentes: El mecanismo de representaci´on en el que est´an basadas, o la fi- nalidad que tengan las mismas. En cuanto al primer criterio nos encontramos con (para mayor detalle ir a G´omez-P´erez et al. [Cor06]): Herramientas que se corresponden o representan directamente utilizando un lenguaje de representaci´on de ontolog´ıas (OilEd, RdfEdit, SWOOP, etc.) Herramientas integradas, cuya caracter´ıstica principal es tener una arqui- tectura extensible y su representaci´on del conocimiento es independiente de cualquier lenguaje (Protege, WebOde, OntoEdit, etc.). Dependiendo de la finalidad que tengan estas herramientas, se han clasifi- cado en (clasificaci´on extendida a la dada por G´omez-P´erez [GP03b]): Herramientas de desarrollo o representaci´on de ontolog´ıas. Herramientas de evaluaci´on de ontolog´ıas. Herramientas de integraci´on y alineamiento de ontolog´ıas. Herramientas para anotar ontolog´ıas. Herramientas de consulta e inferencia. Herramientas de evoluci´on y versionado. Herramientas de generaci´on de ontolog´ıas (learning tools).
  • 232. A.2. INGENIER´IA DE ONTOLOG´IAS 211 Herramientas de integraci´on con bases de datos. Las herramientas de representaci´on de ontolog´ıas, permiten la definici´on de las mismas siguiendo el ciclo de vida de desarrollo. Estas herramientas, se caracterizar´an por la capacidad para seguir una metodolog´ıa concreta, o bien seguir cada una de las opciones del ciclo de vida de una ontolog´ıa, desde la definici´on de la ontolog´ıa, creaci´on de instancias, traducci´on a un lenguaje de representaci´on formal y mantenimiento. La mayor´ıa de estas herramientas se basan el el formalismo de representaci´on de marcos (frames). A continuaci´on se presentan las herramientas de representaci´on de on- tolog´ıas m´as conocidas. Entre las herramientas que se exponen, est´an aquellas que ´unicamente se crean para poder editar o definir ontolog´ıas en un lenguaje determinado y herramientas que son una herramienta de construcci´on de on- tolog´ıas en s´ı mismas que guian al usuario en la elaboraci´on de las mismas. Un resumen m´as detallado de estas herramientas lo podemos encontrar en cualquiera de estas referencias [Dui00, Su02, GP03a, You06] y en las propias p´aginas de descarga de cada una de ellas. Prot´eg´e [atSUSoM06, Knu]. Esta herramienta tiene su propio modelo de representaci´on de ontolog´ıas, no obstante, proporciona mecanismos para importar y exportar ontolog´ıas en los lenguajes m´as comunes de representaci´on. Es una herramienta que trabaja en modo local y la in- formaci´on se puede guardar en documentos de texto o en una base de datos. Protege incluso aporta una herramienta especial para trabajar directamente con ontolog´ıas de tipo OWL. Adem´as, permite que toda la comunidad incorpore nuevas aplicaciones a la herramienta mediante la creaci´on de extensiones o plug-ins, para ello pone a disposici´on de los usuarios una API que gestiona su propio modelo de datos. Esta herra- mienta, permite manipular cualquier aspecto de la ontolog´ıa, incluyendo la definici´on de metadatos. Adem´as incluye opciones para permitir el trabajo colaborativo. Actualmente es la herramienta l´ıder con un 68.2 % de usuarios [Car07]. WebODE [otTUoMS07, Arp01].Herramienta que permite representar on- tolog´ıas tambi´en siguiendo su propio modelo de representaci´on de datos. Dichas ontolog´ıas ser´an almacenadas en una base de datos. Proporciona herramientas para importar y exportar ontolog´ıas en lenguajes est´andar como OWL, y RDF. No soporta la gesti´on de metadatos. Se usa a trav´es de un navegador Web y permite gestionar casi todas las fases del desarro- llo de una ontolog´ıa, concretamente se basa en la metodolog´ıa methon- tology.
  • 233. 212 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS OntoEdit [Ont07a]. Herramienta de edici´on de ontolog´ıas que apoya el desarrollo y mantenimiento de las mismas utilizando medios gr´aficos en un entorno web. Esta herramienta representa gr´aficamente las ontolog´ıas, las almacena y posteriormente manipula en una base de datos relacional. Su interfaz permite incorporar plugins y exporta a la mayor´ıa de lengua- jes de ontolog´ıas. Est´a basado en la metodolog´ıa On-To-Knowledge. KAON [Obe04, Obe03]. Editor de ontolog´ıas para su creaci´on y mante- nimiento, a trav´es de un navegador web. S´olo representa RDF(s). Alma- cena la informaci´on en una base de datos. WebOnto [Uni07a]. Representa las ontolog´ıas usando una interfaz gr´afica a trav´es de la web usando de diagramas. Permite el trabajo colaborativo pero no permite crear o modificar metadatos. Dispone en abierto de una base de ontolog´ıas para reutilizar. OilEd [Bec07b]. Editor de ontolog´ıas que usa el lenguaje OIL (precursor del OWL). No es una herramienta que permita desarrollar todo el proceso de vida de desarrollo de una ontolog´ıa, pero permite definir axiomas, importar y exportar a la mayor´ıa de los lenguajes conocidos. OntoLingua [Uni07d]. Permite realizar trabajo colaborativo, navegar, crear, editar, modificar, utilizar y reutilizar ontolog´ıas a trav´es de un navegador web. Dispone tambi´en de librer´ıas. Chimaera [Uni07b]. Software que guia al usuario para crear y mantener ontolog´ıas distribuidas a trav´es de la web. Su objetivo principal es el de combinar ontolog´ıas y analizar una o varias. Soporta la carga de bases de conocimiento en diferentes formatos, resolviendo conflictos de nombres, permite navegar entre ontolog´ıas, editar t´erminos, etc. DL-Workbench [Org07]. Plataforma de edici´on de ontolog´ıas que consta de tres m´odulos: una API para definir los metamodelos (que describen los formalismos ontol´ogicos), una interfaz para definir ontolog´ıas basadas en los metamodelos (implementado como una extensi´on (plug-in) de la plataforma Eclipse). El ´ultimo m´odulo personaliza la interfaz de usuario. Usa el lenguaje DAML+OIL, permite la gesti´on de varias ontolog´ıas, y la integraci´on de las mismas con otros datos en una aplicaci´on distribuida o independiente. OntoStudio [Ont07b]. Herramienta de desarrollo de ontolog´ıas profesion- al y que da soluciones basadas en la administraci´on de ontolog´ıas. Basado en un dise˜no modular que soporta la incorporaci´on de extensiones (plug- ins). Utiliza el Eclipse como entorno. Incorpora herramientas para hacer
  • 234. A.2. INGENIER´IA DE ONTOLOG´IAS 213 correspondencias con documentos, archivos y aplicaciones. Tiene editor de reglas. Soporta visualizaci´on, y tiene interfaz Web. WSMO Studio [wg08] Entorno que permite representar ontolog´ıas para la Web Sem´antica.Admite extensiones (plug-ins) y esta implementado para el entorno Eclipse. Adem´as esta orientado a la creaci´on de servicios en la Web Sem´antica, generar anotaciones, etc. POWL [Aue07], Plataforma de desarrollo de la Web Sem´antica. Editor para generar ontolog´ıas en OWL y RDF, permite trabajo colaborativo y desarrollo distribuido de ontolog´ıas. Es una soluci´on de c´odigo abierto basada en Web. Apollo [Uni07c]. Editor de ontolog´ıas que las organiza las ontolog´ıas jer´arquicamente.Permite incluir plugins. Representa la informaci´on uti- lizando el lenguaje OCLM, y CLOS ´unicamente. No exporta a ning´un lenguaje. Todos las herramientas anteriores son entornos de gesti´on de ontolog´ıas com- pletos y generalistas, que con mayor o menor funcionalidad permiten realizar un gran n´umero operaciones b´asicas en el proceso de desarrollo de las mis- mas. Existen otras herramientas que cubren solamente algunos aspectos de este proceso de desarrollo (por lo que siguen encajando en la clasificaci´on de Herramientas para el Desarrollo de Ontolog´ıas). Podemos encontrar en este nuevo grupo desde simples editores, traductores a otros lenguajes, o clientes para incluir contenidos en la Web Sem´antica, entre otras. A continuaci´on se muestran algunas de estas herramientas, Como editores encontramos: RDFedt. Permite generar documentos RDFS. IsaViz. Permite generar ontolog´ıas en RDFS, mediante interfaz visual, y gr´aficos. OntoLingua. Permite realizar trabajo colaborativo, herramientas de tu- tor´ıa, librer´ıas, y ontolog´ıas reutilizables. Se usa a trav´es de un navegador Web. ICOM. Herramienta que puede usarse para la representaci´on de conoci- miento en una base de datos o en una ontolog´ıa. Representa la informa- ci´on usando XML o UML. k-Infinity. S´olo representa ontolog´ıas en RDF con un editor gr´afico. Al- macena la informaci´on en una BD.
  • 235. 214 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS OntoSaurus. Representa la informaci´on en el lenguaje LOMM. Tiene una interfaz web pero no tiene visualizaci´on gr´afica. No exporta en lenguajes web. SWOOP. Herramienta que permite representar-visualizar ontolog´ıas en OWL. Lleva incluido un programa que valida la especie de OWL con la que se trabaje. Amaya. Es un editor web, para crear ontolog´ıas. Proporciona un espacio para la colaboraci´on y permite representar lenguajes web como RDF, y otros. Como traductores: DOE. Herramienta que permite exportar e importar varios formatos. No tiene interfaz de usuario. Medius VOM. La representaci´on de ontolog´ıas se realiza mediante di- agramas UML, permite importarlas y exportarlas en lenguajes Web est´andar. LinkFactory. No tiene interfaz, pero permite soporte multiusuario, expor- tar e importar en los lenguajes web est´andar. Almacena la informaci´on en una BD. Como clientes de la Web Sem´antica: DBIN. Es un cliente que permite construir y publicar, un espacio sem´anti- co personal donde hay reglas definidas por el usuario, m´etricas de confi- anza y filtros. Permite la generaci´on de anotaciones. Schema Web. Directorio de esquemas en RDF, OWL, etc. para que los desarrolladores trabajen con RDF. Proton, plataforma creada para realizar anotaciones sem´anticas, indexa- do y recuperaci´on de informaci´on. Desarrollo para la ontolog´ıa KIMO, incluida en el proyecto KIM. Existen otro tipo de herramientas para la gesti´on/representaci´on de on- tolog´ıas, como Sesame, Inkling, rdfDB, Redland, JENA y Cerebra, que son herramientas para almacenar ontolog´ıas y consultarlas. Algunas de estas, in- cluso proporcionan una API, que permite utilizar sus propios m´etodos para desarrollar una herramienta propia de gesti´on. La mayor´ıa de estas APIs per- miten manipular ontolog´ıas definidas en un lenguaje como RDF(S) u OWL.
  • 236. A.2. INGENIER´IA DE ONTOLOG´IAS 215 Algunas de estas interfaces son Sesame [Kam07], JENA [Pro07] o OWLAPI [Bec07a]. Sin embargo las herramientas de representaci´on de ontolog´ıas m´as gene- ralistas, tienen la ventaja con respecto a otros mecanismos de representaci´on, como los lenguajes, la facilidad de uso, de aprendizaje gracias a la intuitivi- dad de la herramienta, la posibilidad de visualizaci´on de la informaci´on en forma de diagramas, o de manera organizada, la posibilidad de la definici´on de las ontolog´ıas a trav´es de una interfaz visual y de marcos. Estas ventajas, convierten en favoritos estos mecanismos a la hora de definir ontolog´ıas, con respecto a aquellos que consisten en la definici´on de las mismas utilizando un editor de texto para representar la informaci´on en el lenguaje de definici´on pertinente. Herramientas como Chimaera, FCA-merge y iPROMPT (Protege), On- toBuilder, OntoStudio (KAON2) se usan para unificar ontolog´ıas o integrar- las, entrar´ıan dentro de las consideradas Herramientas de Integraci´on y Alin- eamiento. Las Herramientas de Anotaci´on son aquellas que se usan para anotar on- tolog´ıas, las mas conocidas son AeroDamL, COHSE, MnM y OntoAnnotate, SMORE, etc. Adem´as de todas estas herramientas, existen otro conjunto de ellas que per- miten razonar o deducir informaci´on representada en las mismas, algunas de estas herramientas son: Racer, FaCT ++, F-OWL, Pellet, Jena, OWLJessKB, etc. Con respecto a las Herramientas para la Evaluaci´on, usadas para validar la consistencia de la ontolog´ıa, existen algunas p´aginas web como la de Won- derWeb [Bec07c] y otras herramientas como ODEval, u OntoManager [Har05]. Las Herramientas para Generar Ontolog´ıas ser´ıan aquellas que a partir de una informaci´on ya existe (ya sean textos, esquemas, BD) nos permiten generar una nueva. Con respecto a textos, podemos encontrar: Asium, LTG, OntoLearn, SOAT, TextStorm, Text-to-Onto, TERMINAE, Camaleon, etc. (Un resumen m´as detallado se encuentra en et al. [GP04]). La generaci´on de ontolog´ıas utilizando una BD estar´ıa detallada en la secci´on 2.3. Las Herramientas de Evoluci´on y Versionado, sirven para representar aque- lla parte de la realidad que est´a continuamente cambiando y es necesaria en- tonces, una buena gesti´on de las versiones que se van obteniendo de la misma. G´omez-P´erez et al. en [Cor06] hace un repaso por las herramientas m´as popu- lares en este ´ambito, como el plugin KAON [Obe03] y el algoritmo PromptDiff implementado en la API con el mismo nombre. Adem´as tambi´en existen en algunas herramientas de prop´osito general que controlan el versionado de las detalladas previamente.
  • 237. 216 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS En cuanto a las herramientas que permiten la Interacci´on con BBDD, son tan numerosas y est´an tan relacionadas con la tem´atica de esta investigaci´on que se pueden encontrar de forma detallada en la secci´on 2.3. A.2.4. T´ecnicas de Manipulaci´on de Ontolog´ıas Alrededor del concepto de ontolog´ıa, existen un gran n´umero de opera- ciones, que permiten la manipulaci´on de las mismas, de tal forma que puedan relacionarse entre ellas, definir nuevas, compartir informaci´on, extender su definici´on, refinarla, etc. Todas estas t´ecnicas, que forman parte de la ingenier´ıa ontol´ogica, tienden a resultar confusas, y a veces en la literatura se no deja claro cual es su funci´on. A continuaci´on se har´a un repaso por todas ellas para clarificar el uso de estos t´erminos en este trabajo [Ehr07]: Mapeo (Mapping) Trata de relacionar conceptos similares o relaciones de diferentes fuentes usando relaciones de equivalencia [Car07]. Es la m´as utilizada, puesto que su uso fundamentalmente es la consulta de diferen- tes ontolog´ıas. Un mapeo entre ontolog´ıas representa una funci´on entre las mismas. La ontolog´ıa original no se cambia pero se a˜naden acciones adicionales de mapeo que expresen los conceptos, relaciones o instancias en t´erminos de la ontolog´ıa secundaria. Estos mapeos se almacenan en un lugar diferente y podr´an usarse s´olo en una direcci´on. El uso t´ıpico de un mapeo es en una consulta sobre una ontolog´ıa que se reescribe y maneja sobre otra ontolog´ıa. Las respuestas entonces son mapeadas de nuevo. Mientras que la alineaci´on identifica la relaci´on entre las on- tolog´ıas, los mapeos se centran en la representaci´on y la ejecuci´on de las relaciones para una cierta tarea. Tiene ciertas similitudes con el concepto de correspondencia como veremos a continuaci´on. Correspondencia (Matching) Proceso de buscar relaciones o correspon- dencias entre entidades en diferentes ontolog´ıas. Estas correspondencias, a veces se denominan mapeos en algunos textos [Euz07]. La diferen- cia m´as significativa con el proceso de Mapeo es que el mapeo es como una alineaci´on pero que esta orientada y dirigida, o sea que mapea las entidades de una ontolog´ıa a al menos otra entidad de otra ontolog´ıa, tambi´en puede verse como una colecci´on de reglas de mapeo todas ori- entadas en una direcci´on. Integraci´on (Integrating) Consiste en juntar, extender o especializar una ontolog´ıa usando otras que hay disponibles. Es decir, para integrar una o m´as ontolog´ıas tienen que ser utilizadas para formar una nueva. Los conceptos originales son adoptados, y posiblemente extendidos, pero su
  • 238. A.2. INGENIER´IA DE ONTOLOG´IAS 217 origen se mantiene (por ejemplo a trav´es del espacio de nombres). Las ontolog´ıas son integradas, no est´an completamente mezcladas. Este con- cepto se utiliza fundamentalmente si las ontolog´ıas provienen de diferen- tes dominios. A trav´es de la integraci´on, la ontolog´ıa final, cubrir´a un dominio mayor. Las operaciones m´as comunes en esta pr´actica son la uni´on y la intersecci´on. Mezcla (Merging) Toma diferentes ontolog´ıas del mismo campo y crea una nueva unificada. En este caso, la nueva ontolog´ıa reemplazar´a a las ori- ginales. Esto requiere de una adaptaci´on y extensi´on considerable. Los elementos individuales de las ontolog´ıas originales se presentan dentro de la nueva ontolog´ıa, pero no pueden volver a sus fuentes. El alineamiento es un paso previo a esta t´ecnica, puesto que detecta la coincidencia de elementos. Alineaci´on (Alignment) , consiste en traer dos o m´as ontolog´ıas en un consenso mutuo y hacerlas consistentes y coherentes. Es decir, dadas dos ontolog´ıas, alinear una ontolog´ıa con otra significa que para cada entidad (concepto, relaci´on o instancia) en la primera ontolog´ıa, trataremos de encontrar una entidad correspondiente que tenga el mismo significado en la segunda ontolog´ıa. Es entonces un Alineamiento una relaci´on de igualdad uno-a-uno [Ehr07]. Mediaci´on (Mediation) Es el nivel m´as alto para conciliar diferencias en- tre ontolog´ıas heterog´eneas con el objetivo de conseguir la interoperaci´on entre las fuentes de datos anotadas con ellas y las aplicaciones que usan estas ontolog´ıas. La mediaci´on incluye el descubrimiento y la especifi- caci´on de alineamientos ontolog´ıas, adem´as del uso de estas alineaciones para ciertas tareas como el mapeado para una reescritura de una consul- ta y la transformaci´on de la instanciaci´on. Adem´as el termino mediaci´on incluye la mezcla de ontolog´ıas. Combinaci´on (Combining) Es cuando dos o m´as ontolog´ıas diferentes se utilizan para una tarea en la que su relaci´on mutua es relevante. La relaci´on de combinaci´on puede ser de cualquier tipo, no ´unicamente de identificaci´on. Adem´as no se da informaci´on acerca de como se establece la relaci´on. Transformaci´on (Transformation) Cuando se transforma una ontolog´ıa su sem´antica cambia para hacerla compatible con los nuevos prop´ositos. Por ejemplo, las relaciones entre las entidades de la primera ontolog´ıa y aquellas de la segunda se a˜naden a la primera.
  • 239. 218 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS Traducci´on (Translating) Este es el caso de traducir una ontolog´ıa repre- sentada en un lenguaje a otro. La sem´antica debe ser preservada, aunque cambia la sintaxis. Versionado (Versioning) Es el proceso de ir aplicando modificaciones a una ontolog´ıa e ir guardando los resultados parciales que se van obteniendo. Conciliaci´on (Reconciliation) Es el proceso que permite armonizar los contenidos de dos o m´as ontolog´ıas, t´ıpicamente requiere cambios en uno de los lados incluso en los dos. En este caso no se combinan las on- tolog´ıas, sino que co-evolucionan. La conciliaci´on de ontolog´ıas puede ser llevada a cabo con el prop´osito de mezclar dos ontolog´ıas o bien hacerlas independientes. Recortado (Pruning) Es el proceso de recortar partes de una ontolog´ıa para formar una nueva m´as especializada. A veces, se parte de una on- tolog´ıa m´as gen´erica o de alto nivel, y a partir de la misma se van re- alizando operaciones de poda para obtener la ontolog´ıa adecuada a la realidad que se desea representar. Aprendizaje(Learning) Es el proceso de obtener una ontolog´ıa, a trav´es de m´etodos o herramientas, de forma autom´atica o semiautom´atica. Las fuentes de datos de las cuales se puede extraer una ontolog´ıa aplicando t´ecnicas de aprendizaje, son textos, esquemas, contenidos web, bases de datos, etc.
  • 240. A.2. INGENIER´IA DE ONTOLOG´IAS 219 Tabla A.3: Elementos de una p´agina OWL Elemento Descripci´on Prefijo xmlns:owl Espacio de Nombres http://www.w3.org/2002/07/owl# owl:class Identificador de clase. En OWL- FULL es igual que rdfs:class) owl:oneOf enumeraci´on de individuos owl:allValuesForm, owl:someValuesFrom, Restricci´on de valores en un propiedad owl:cardinality, owl:minCardinality, owl:maxCardinality Restricci´on de Cardinalidad en una propiedad owl:intersectionOf, owl:unionOf, owl:complementOf Descripciones que usan expre- siones booleanas owl:subClassOf, owl:equivalentClass, owl:disjointWith Axiomas de Clases owl:ObjectProperty Propiedades de objeto owl:DatatypeProperty Propiedades de tipo de datos owl:equivalentProperty, owl:inverseOf, owl:equivalentProperty Axiomas de propiedades para las relaciones entre propiedades owl:FucntionalProperty y owl:InverseFuctionalProperty Axiomas de propiedades para la cardinalidad owl:SymmetricProperty y owl:TransitiveProperty Axiomas de propiedades para car- acter´ısticas l´ogicas owl:sameAs, owl:differentFrom Especifican la identidad de los in- dividuos rdfs:Literal Tipos de datos:literales owl:OneOf tipos de datos enumerados owl:versionInfo, rdfs:label, rdfs:comment, rdfs:seeAlso, rdfs:isDefinedBy Propiedades de anotaci´on owl:imports, owl:priorVersion, owl:backwardCompatibleWith, owl:incompatibleWith Propiedades de la ontolog´ıa
  • 241. 220 AP´ENDICE A. CONCEPTOS B ´ASICOS DE ONTOLOG´IAS
  • 242. Ap´endice B Extensiones Difusas al Modelo Relacional de BD B.1. Modelo Generalizado para Bases de Datos Rela- cionales Difusas (GEFRED) A continuaci´on se expone brevemente los fundamentos planteados en GEFRED. B.1.1. Fundamentos Te´oricos de GEFRED Representaci´on de Datos Imprecisos Definici´on B.1. Sea D un dominio de discurso, ˜P(D) el conjunto de dis- tribuciones de posibilidad definidas sobre D, entre las que se incluyen aquellas que describen los valores DESCONOCIDO y NO APLICABLE. Considere- mos tambi´en el valor NULL. El dominio difuso generalizado se define como DG donde DG ⊆ ˜P(D) ∪ NULL. Un dominio difuso generalizado es un conjunto formado por elementos que pueden ser: 1. un escalar (por ejemplo, Comportamiento = bueno, que se representa mediante la distribuci´on de posibilidad {1/buena}), 2. un n´umero (por ejemplo, Edad = 27, que se representa mediante la dis- tribuci´on de posibilidad {1/27}), 3. un conjunto de asignaciones escalares posibles (por ejemplo, Compor- tamiento = {bueno, malo}, que se representa por la distribuci´on de posi- bilidad {1/good, 1/bad}), 221
  • 243. 222 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR 4. un conjunto de asignaciones num´ericas posibles (por ejemplo, Edad = {20, 21}, que se representa mediante la distribuci´on de posibilidad {1/20, 1/21}), 5. una distribuci´on de posibilidad construida sobre un dominio escalar (por ejemplo, Aptitud = {0,6/buena, 0,7/mala}), 6. una distribuci´on de posibilidad construida sobre un dominio num´eri- co (por ejemplo, Edad = {0,3/20, 0,5/21}, n´umeros difusos o etiquetas ling¨u´ısticas), 7. un n´umero real en en intervalo [0, 1], que se refiere al grado de acopla- miento (por ejemplo, Calidad = 0,9), 8. un valor DESCONOCIDO con distribuci´on de posibilidad {1/u : ∀u ∈ U}, 9. un valor NO APLICABLE con distribuci´on de posibilidad {0/u : ∀u ∈ U}, 10. un valor NULL con distribuci´on de posibilidad NULL = {1/UNDEFINED, 1/NULL} Definici´on B.2. Una Relaci´on Difusa Generalizada, R, es un par de conjun- tos (H, B), definidos como sigue: H es el conjunto llamado “cabecera” y describe la estructura de la relaci´on mediante un conjunto de ternas atributo-dominio-compatibilidad (donde el ´ultimo es opcional), H = {(AG1 : DG1[, CAG1 ]), . . . , (AGn : DGn[, CAGn ])} donde a cada atributo Aj, le subyace un dominio difuso generalizado, no necesariamente distinto, Dj, j ∈ [1, n]. Cj es el llamado atributo de compatibilidad y toma valores en [0, 1]. B es el conjunto llamado “cuerpo” y est´a formado por una serie de tuplas generalizadas difusas distintas, donde cada tupla est´a compuesta por un conjunto de ternas atributo-valor-grado (donde este ´ultimo es opcional), B = {{(AG1 : ˜di1[, ci1], . . . , (AGn : ˜din[, cin])}} con i = 1, . . . , m y donde m es el n´umero de tuplas de la relaci´on, ˜dij representa el valor del dominio que toma la tupla i sobre el atributo Aj y cij es el grado de compatibilidad asociado a este valor.
  • 244. B.1. GEFRED 223 Los operadores de comparaci´on tienen que ser flexibilizados de modo que sea posible comparar dos valores que no son exactamente iguales. Definici´on B.3. Sea U el dominio de discurso considerado. Se llama com- parador extendido θ a cualquier relaci´on difusa definida sobre U y expresada como sigue: θ : U × U → [0, 1] θ(ui, uj) → a con ui, uj ∈ U y a ∈ [0, 1]. Definici´on B.4. Sea U un dominio de discurso, D un dominio difuso con- struido sobre el mismo y θ un comparador extendido definido sobre U. Con- sideremos una funci´on Θθ definida como sigue: Θθ : D × D → [0, 1] Θθ( ˜d1, ˜d2) → [0, 1] Se dice que Θθ es un comparador difuso generalizado sobre D inducido por el comparador extendido θ, si cumple: Θθ ( ˜d1, ˜d2) = θ(d1, d2), ∀d1, d2 ∈ U donde ˜d1 y ˜d2 representan las distribuciones de posibilidad {1/d1} y {1/d2} inducidas, respectivamente, por los valores d1 y d2. Manejo de Datos Imprecisos Definici´on B.5. Sea R una relaci´on difusa generalizada como la de la defini- ci´on B.2 y X un subconjunto de H definido como sigue: x ⊆ H, x = {(As : Ds[, Cs ]) : s ∈ S, s ∈ S ; S, S ⊆ {1, . . . , n}} Entonces, se llama proyecci´on difusa generalizada de R sobre X, y se nota por PX(R), a una relaci´on difusa generalizada de la forma: PX(R) = HP = X BP = {(As : ˜dis[, cis ])} (B.1) donde s ∈ S, s ∈ S y S, S ⊆ {1, . . . , n}. Definici´on B.6. Sea R una relaci´on difusa generalizada como la de la defini- ci´on B.2, ˜a ∈ D una constante, Θθ un comparador difuso generalizado y γ un “umbral de cumplimiento”. Entonces, se llama selecci´on difusa genera- lizada sobre la relaci´on R inducida por Θθ compuesto con ˜a y el atributo
  • 245. 224 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR Ak, k ∈ {1, . . . , n} y cualificada por γ, y se nota por SΘθ(Ak,˜a)≥γ(R) a la relaci´on difusa generalizada de la forma: SΘθ(Ak,˜a)≥γ(R) =    HS = {(A1 : D1[, CA1 ]), . . . , (An : Dn[, CAn ])} BS = {{(A1 : ˜dr1[, cr1], . . . , (Ak : ˜drk[, crk]), . . . , (An : ˜drn[, crn])}} (B.2) con crk = Θθ ( ˜drk, ˜a) ≥ γ (B.3) donde r = 1, . . . , m con m el n´umero de tuplas de la selecci´on. B.1.2. Representaci´on Relacional de un Dominio Generalizado Difuso: FIRST Representaci´on de la Informaci´on Imprecisa Los elementos que forman parte del tratamiento impreciso pueden ser re- presentados de diversas maneras. De ese modo, una distribuci´on de posibilidad normalizada puede representarse mediante par´abolas, hip´erbolas, etc. Sin em- bargo, la implementaci´on FIRST [Med94a, Gal99] y su servidor de consultas imprecisas, construidos sobre el modelo GEFRED [Med94b], asume la repre- sentaci´on trapezoidal descrita por cuatro puntos que se muestra en la figura B.1. Esta simplificaci´on se explica en funci´on de la contradicci´on que supone representar datos intr´ınsecamente imprecisos mediante distribuciones de posi- bilidad definidas de forma altamente precisa, que adem´as a˜naden el factor del incremento del coste computacional. Datos difusos o con tratamiento difuso Los valores que pueden formar parte de un dominio generalizado difuso pueden dividirse en dos grupos: 1. Datos precisos: tambi´en llamados crisp o cl´asicos. Seg´un se muestra en la figura B.2 y dado que lo que se almacena son datos cl´asicos, el alma- cenamiento depender´a directamente de la capacidad de representaci´on del SGRBD sobre el que se aplique la implementaci´on. 2. Datos imprecisos: tambi´en llamados fuzzy o difusos. Se corresponden con datos de dos subtipos recogidos en las figuras B.3 y B.4: Datos imprecisos sobre un referencial ordenado: que engloban a to- dos aquellos datos descritos mediante una distribuci´on de posibili- dad construida sobre un conjunto referencial discreto o continuo or- denado (con una relaci´on de orden definida). A este tipo pertenecen
  • 246. B.1. GEFRED 225 a b dg 1 0 a b dg 1 0 A) Forma Trapezoidal B) Forma Triangular ab dg 1 0 C) Forma Intervalar Figura B.1: Posibles Representaciones trapezoidales de una distribuci´on de posibilidad los valores de tipo 6 que aparece en la definici´on de dominio difuso generalizado B.1 (p´agina 221). Para su representaci´on recurriremos a: Distribuci´on de Posibilidad Trapezoidal: cuya funci´on de pertenen- cia viene descrita por cuatro puntos [α, β, γ, δ] que se muestran en la figura B.1 apartado A. Aquellos valores que est´en en el intervalo [β, γ] pertenecen al conjunto difuso descrito por la distribuci´on trapezoidal con grado de pertenencia 1. Etiqueta ling¨u´ıstica: estos se refieren a un concepto impreciso intro- ducido por Zadeh [Zad75] definido mediante una distribuci´on de posibilidad. Valores Aproximados: sea n un valor del dominio subyacente, el concepto impreciso aproximadamente n se construye a par- tir de un valor llamado margen el cual nos permite constru-
  • 247. 226 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR 1 Bajo Mediano Alto Muy Alto Aprox . 1.65 0 0 165 190150... Valores Almacenados Valores Consultados Figura B.2: Tipo difuso 1 0 165 190150... Valores Consultados yAlmacenados Valores Consultados y Almacenados Bajo Alto Aprox . 1.65 1 0 Figura B.3: Tipo difuso 2
  • 248. B.1. GEFRED 227 Simpatico Agradable Reservado Desagradable 0,8 0.7 0.5 0.3 0.1 0 Consultado yAlmacenado Figura B.4: Tipo difuso 3. Valores que pueden tomar las relaciones de simil- itud. ir una distribuci´on de posibilidad triangular de la forma [n − margen, n, n, n + margen], como se muestra en la figura B.1. Intervalos de posibilidad: los ´unicos valores que pertenecen al con- junto difuso con grado 1 son aquellos del dominio subyacente que est´an en el intervalo [n, m], por lo que se representa median- te una distribuci´on con los siguientes par´ametros [n, n, m, m] que se puede ver en la figura B.1 apartado C. Esta repre- sentaci´on permite asumir la extensi´on que Grant [Gra80] hace del modelo relacional para representar valores intervalares co- mo valor posible de un atributo. Datos imprecisos con analog´ıa sobre referencial no ordenado: que engloban a todos aquellos datos difusos cuyo dominio subyacente es un conjunto discreto no ordenado sobre el que se define una relaci´on de semejanza o similitud entre cada par de valores del mismo. Los datos que pueden representarse en este grupo son: Escalares Simples: este tipo est´a representado por una ´unica pareja de datos en la que el ´unico valor de posibilidad es {1/d}, lo que quiere decir que el ´unico valor posible es d con grado de posibilidad 1 (normalizaci´on). Distribuci´on de Posibilidad sobre Escalares: este tipo se le asocia una representaci´on del tipo {(p1, d1), . . . , (pn, dn)} en la que a cada valor del dominio subyacente se le asigna un grado de pertenencia al conjunto difuso. Hay que proporcionar una representaci´on para los tres valores especiales Null, Unknown y Undefined cuyas distribuciones de posibilidad se ven en la figura B.5.
  • 249. 228 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR 0 1 0 1 UNKNOWN UNDEFINED Figura B.5: Distribuciones de posibilidad de los valores Unknown y Unde- fined Para recoger todos los valores que se pueden formar parte de un do- minio generalizado difuso Medina [Med94b], y Galindo [Gal99] posteriormente, plantearon tres tipos de atributos en su implementaci´on FIRST del modelo GEFRED, sobre el sistema gestor relacional de bases de datos Oracle R . A grandes rasgos, estos atributos son: Tipo difuso 1: representa datos precisos que pueden ser consultados de forma imprecisa. Tipo difuso 2: representa datos imprecisos pertenecientes a un dominio difuso construido sobre un referencial ordenado y que pueden ser con- sultados de forma imprecisa. Tipo difuso 3: representa datos imprecisos pertenecientes a un dominio difuso construido sobre un referencial discreto no ordenado, sobre el que se define una relaci´on de similitud, y que pueden ser consultados de forma imprecisa. En el Modelo Relacional los atributos toman valores en dominios de valo- res at´omicos (enteros, reales, cadenas de caracteres, caracteres, . . . ) que son las unidades m´ınimas de informaci´on. Dicho modelo no especifica los domin- ios, pero cualquier Sistema Gestor de Bases de Datos construido sobre este paradigma (excepci´on hecha de aquellos que poseen caracter´ısticas de ori- entaci´on a objetos, que no es nuestro caso) usa ´unicamente valores at´omicos. En el caso de los atributos de tipo difuso 1, no es necesaria ninguna estruc- tura adicional para la representaci´on de valores, ya que no es la representaci´on lo que se flexibiliza, sino la consulta.
  • 250. B.1. GEFRED 229 En el caso de los atributos de tipo 2 y tipo 3, no es s´olo la consulta la que se flexibiliza, sino tambi´en la representaci´on de valores. Galindo propone en [Gal99] una estructura para la representaci´on de atributos de los tipos 2 y 3, que pueden verse en las tablas B.1 y B.2. Tipos de valor Atributos de tabla para valores de tipo difuso 2 FT F1 F2 F3 F4 DESCONOCIDO 0 NULL NULL NULL NULL NO DEFINIDO 1 NULL NULL NULL NULL NULL 2 NULL NULL NULL NULL CLASICO 3 d NULL NULL NULL ETIQUETA 4 FUZZY ID NULL NULL NULL INTERVALO[n, m] 5 n NULL NULL m APROX(d) 6 d d − margen d + margen margen TRAPEZOIDE[α, β, γ, δ] 7 α β γ δ Tabla B.1: Representaci´on para atributos de tipo 2 En la tabla B.1, el atributo FT almacena el tipo de valor y los atributos F1, F2, F3 y F4 se usan para almacenar los par´ametros de cada valor. Los valores NULL que aparecen en esta tabla representan valores inaplicables. Tipos de valor Atributos de tabla para valores de tipo difuso 3 FT FP1 F1 . . . FPn Fn DESCONOCIDO 0 NULL NULL . . . NULL NULL NO DEFINIDO 1 NULL NULL . . . NULL NULL NULL 2 NULL NULL . . . NULL NULL SIMPLE 3 p d . . . NULL NULL DISTRIBUCI´ON 4 p1 d1 . . . pn dn Tabla B.2: Representaci´on para atributos de tipo 3 En la tabla B.2, el atributo FT almacena el tipo de valor y los pares de atributos (pn, dn) representan que el valor dn del dominio tiene un grado de posibilidad pn. Los valores NULL que aparecen en esta tabla representan valores inaplicables. De este modo, cuando se quiera representar un atributo de tipo 2 en una relaci´on, ser´an necesarias cinco atributos de tipo b´asico. Para representar un atributo de tipo 3, ser´an necesarias 2 × n + 1 atributos de tipo b´asico, donde n es el n´umero de valores que forman el dominio en cuesti´on. Comparadores difusos generalizados En la literatura pueden encon- trarse diversos m´etodos de comparaci´on de n´umero difusos, los cuales pueden
  • 251. 230 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR clasificarse en dos categor´ıas: los que usan una funci´on que va del conjunto del n´umeros difusos a un conjunto ordenado y los que usan relaciones difusas para el proceso de comparaci´on. Las primer tipo pertenecen a las propues- tas recogidas en [Ada80, Yag78, Yag81]. Sobre el segundo tipo se encuentran diferentes aproximaciones en [Bal79, Bas77, Del88, Dub83]. GEFRED permite representar una amplia variedad de comparadores, sin embargo FIRST se centra en 15 comparadores, mostrados en la figura B.7 y se aplican a valores de dominios difusos construidos sobre referenciales ordenados. Un desarrollo de todos ellos y su significado se desarrolla en [Gal99]. Grado de cumplimiento de una condici´on: umbral El grado de cumplim- iento de una consulta que implique comparadores difusos generalizados pertenece al intervalo [0, 1]. Sin embargo, el umbralizar una consulta permite hacer poda de todos aquellas tuplas que no superen dicho grado de cumplimiento. En el caso de un mecanismo de deducci´on orientado a tuplas, el grado obtenido desde el comienzo del c´alculo de predicados de una regla sometido a un umbral puede ayudar a realizar una poda importante durante la exploraci´on de las posibilidades. B.1.3. Base de Metaconocimiento Difuso (FMB) Toda la informaci´on adicional sobre la estructura de los dominios y los valores que puede tomar cada atributo construido sobre un dominio generali- zado difuso, as´ı como cualificadores para el acceso a estos atributos constituye lo que se conoce como Base de Metaconocimiento Difuso. En la figura B.6 se describen el diagrama de clases de dicha base de metaconocimiento. Las relaciones que constituyen dicha estructura tienen la siguiente finali- dad: FUZZY COL LIST: contiene la lista de aquellos atributos de tabla de la base de datos que son susceptibles de tratamiento difuso. Cada atributo queda descrito en esta por una referencia a la tabla a la que pertenecen (OBJ#) y columna en la que se almacenan (COL#), el tipo difuso de la columna (F TYPE), el n´umero de valores de la distribuci´on de posibil- idad si se trata de un atributo de tipo difuso 3 (LEN) y un comentario acerca del atributo (COM). FUZZY OBJECT LIST: almacena los objetos difusos que pertenecen al dominio del atributo en cuesti´on. Cada uno de los objetos est´an repre- sentados por la tabla y columna a cuyo dominio pertenecen (OBJ# y COL#), un identificador (FUZZY ID), un nombre (FUZZY NAME) y un tipo de objeto (FUZZY TYPE).
  • 252. B.2. EXTENSI ´ON L ´OGICA-DEDUCTIVA AL MODELO DE BDRD 231 FUZZY LABEL DEF: contiene informaci´on sobre las distribuciones de posibilidad trapezoidales que se asocian a etiquetas ling¨u´ısticas. Ca- da una de ellas est´a descrita por la tabla y columna a cuyo dominio pertenece (OBJ# y COL#), la etiqueta a la que se asocia (FUZZY ID) y los par´ametros que la definen α, β, γ y δ. FUZZY APPROX MUCH: contiene los par´ametros margen y much para cada atributo de tipo difuso 1 o 2 los cuales se usan para la comparaci´on de valores dentro del dominio difuso. Para cada columna (OBJ#,COL#) se almacenan dos atributos (MARGEN, MUCH). FUZZY NEARNESS DEF: contiene los valores de similitud entre cada par de valores posible en el dominio discreto de valores escalares que se asocia a un atributo de tipo difuso 3. A cada par de valores posi- ble (FUZZY ID1, FUZZY ID2) del dominio discreto de escalares de un atributo de tipo difuso 3 (OBJ#, COL#) hay asociado un grado de compatibilidad (DEGREE). FUZZY COMPATIBLE COL: contiene informaci´on sobre aquellos atri- butos de tipo difuso 3 que comparten dominio con otro atributo difuso del mismo tipo, de modo que no sea necesario volver a definir todos los valores de dicho dominio y sus grados de compatibilidad. Para cada atributo difuso de tipo 3 que comparte dominio discreto de escalares con otro atributo (OBJ#1, COL#1) se almacena la referencia al atributo con el que comparte dominio (OBJ#2, COL#2). FUZZY QUALIFIERS DEF: contiene el umbral m´ınimo de satisfacci´on para cada cualificador (QUALIFIER) definido sobre una etiqueta lin- g¨u´ıstica (FUZZY ID) que pertenece al dominio de un atributo difuso (OBJ#, COL#). B.1.4. Lenguaje SQL Difuso (FSQL): consulta imprecisa Una vez definido el dominio generalizado difuso es necesario ampliar los lenguajes relacionales que gestionan estos dominios as´ı como las relaciones en el seno del modelo relacional. En nuestro caso, nos centraremos en una ampliaci´on del lenguaje SQL. La extensi´on del SQL para permitir la representaci´on de datos difusos comprende tanto el Lenguaje de Definici´on de Datos (DDL) como el Lenguaje de Manipulaci´on de Datos (DML), dando lugar a la creaci´on y extensi´on de las sentencias que se exponen en la tabla B.3. Esta sintaxis puede verse con detalle en [Bla00b, Bla00a, Bla01].
  • 253. 232 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR FUZZY_LABEL_DEF OBJ#: NUMBER( FK) COL#: NUMBER( FK) FUZZY_ID: NUMBER(3)( FK) ALFA: NUMBER BETA: NUMBER GAMMA: NUMBER DELTA: NUMBER FUZZY_NEARNESS_DEF OBJ#: NUMBER COL#: NUMBER FUZZY_ID1:NUMBER(3)(FK) FUZZY_ID2:NUMBER(3)(FK) DEGREE: NUMBER(2) FUZZY_OBJECT_LIST OBJ#: NUMBER( FK) COL#: NUMBER( FK) FUZZY_ID: NUMBER(3) FUZZY_NAME: VARCHAR2(30) FUZZY_TYPE: NUMBER(1) FUZZY_COL_LIST OBJ#: NUMBER COL#: NUMBER F_TYPE: NUMBER(1) LEN: NUMBER COM: VARCHAR(100) FUZZY_COMPATIBLE_ COL OBJ1#: NUMBER(FK) COL1#: NUMBER(FK) OBJ2#: NUMBER(FK) COL2#: NUMBER(FK) FUZZY_APROX_MUCH OBJ#: NUMBER( FK) COL#: NUMBER( FK) MARGIN:NUMBER MUCH: NUMBER FUZZY_QUALIFIERS_DEF OBJ#: NUMBER( FK) COL#: NUMBER( FK) FUZZY_ID: NUMBER(3)(FK) QUALIFIER: NUMBER(3) Figura B.6: Estructura relacional de la FMB
  • 254. B.2. EXTENSI ´ON L ´OGICA-DEDUCTIVA AL MODELO DE BDRD 233 Tabla B.3: Resumen de FSQL Tipo Sentencia Descripci´on DDL Create Table Crea una relaci´on difusa DDL Create Label Crea una etiqueta DDL Create Nearness Crea los valores de un dominio difuso tipo 3 DDL Alter Table Cambia la definici´on de una relaci´on difusa DDL Alter Label Cambia la definici´on de una etiqueta DDL Alter Nearness Cambia la definici´on de un dominio difuso tipo 3 DDL Drop Table Borra de una relaci´on difusa DDL Drop Label Borra de una etiqueta DDL Drop Nearness Borra de un dominio difuso de tipo 3 DML Select realiza consultas difusas DML Insert inserta tuplas en una relaci´on difusa DML Delete borra tuplas de una relaci´on difusa B.2. Extensi´on L´ogica-Deductiva al Modelo de BDRD B.2.1. Fundamentos Te´oricos para la Representaci´on del Mo- delo L´ogico y L´ogico Difuso para Bases de Datos Rela- cionales La teor´ıa de bases de datos esta muy ligada con la L´ogica, especialmente a la hora de construir consultas, definir vistas o restricciones de integridad [Gal84]. Sobre las bases de datos deductivas se pueden definir dos tipos de relaciones b´asicas [Bla01]: Relaci´on Extensiva en el sentido del Modelo Relacional Cl´asico consisten en un par de conjuntos (R,r) donde R es un conjunto de atributos que define la estructura de la relaci´on y r es un conjunto de tuplas que define el contenido de la relaci´on. Relaci´on Intensiva se trata de un par de conjuntos (R,I ) donde R es el conjunto de atributos que definen la estructura de la relaci´on e I es un conjunto de f´ormulas l´ogicas, denominado Generador de Instancias, que permite obtener el contenido de la relaci´on. Las reglas en el Generador de Instancias I tienen una estructura diferente dependiendo de si se trata del caso cl´asico o difuso. Una propuesta para el esquema de reglas en el modelo cl´asico deductivo lo introdujo Medina et al.
  • 255. 234 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR [Med97] y Blanco et al. [Bla00a]. Se estableci´o que cada regla en el conjunto I de la base de datos cl´asica deductiva tuviera la siguiente estructura: P(X1, X2, . . . , Xn) ←− Q1(Y1,1, Y1,2, . . . , Y1,n1 ) ∧ Q2(Y2,1, Y2,2, . . . , Y2,n2 )∧ ∧ . . . ∧ Qm(Ym,1, Ym,2, . . . , Ym,nm ) (B.4) El predicado P, cuyos hechos son calculados, se denomina cabeza de la regla y la f´ormula l´ogica a la derecha del :- se denomina cuerpo de la regla (se trata de reglas tipo Prolog). Adem´as, cada regla tiene impuestas las siguientes restricciones: 1. Cada variable en la cabecera de la regla aparezca por lo menos una vez en el cuerpo de la regla, y 2. Cada variable en el cuerpo de la regla aparezca en el predicado de la cabecera de la regla o en cualquier otro predicado del cuerpo de la regla. Aplicando estos conceptos al modelo relacional extendido difuso GEFRED se extienden algunos de los conceptos expuestos [Bla01, Bla02a, Bla03a, Bla03b]: Definici´on B.7. Una Relaci´on Extensiva Difusa es una Relaci´on Difusa Ge- neralizada desde el punto de vista del modelo GEFRED [Med94b], definido en el apartado anterior, es decir, un par (H, B) donde H equivale al esquema o cabecera de la relaci´on y B es la instancia o cuerpo. En nuestro caso, nos centraremos en el caso en el que, cuando un valor de dominio acopla con un atributo dentro de una tupla, lo hace con grado 1, es decir, la expresi´on para la cabeza y el cuerpo de la relaci´on son: H = {(AG1 : DG1 [, CAG1 ]), . . . , (AGn : DGn [, CAGn ])} B = {(AG1 : ˜di1 [, 1]), . . . , (AGn : ˜din [, 1])} (B.5) Definici´on B.8. Una Relaci´on Intensiva Difusa es un par (H, I) donde: H es el conjunto llamado cabecera, que describe la estructura de la relaci´on como un conjunto fijo de ternas atributo-dominio-compatibilidad (siendo este ´ultimo opcional), H = {(A1 : D1[, C1]), (A2 : D2[, C2]), . . . , (An : Dn[, Cn])} donde a cada atributo Aj le subyace un dominio difuso generalizado, no necesariamente distinto, Dj con j ∈ [1, n]. Cj es un atributo de compatibilidad que toma valores en el intervalo [0, 1].
  • 256. B.2. EXTENSI ´ON L ´OGICA-DEDUCTIVA AL MODELO DE BDRD 235 I es el conjunto llamado generador de instancia, que est´a constituido por una serie de reglas orientadas a datos difusos, las cuales permiten el c´alculo de la instancia de la relaci´on. Estas reglas se desarrollar´an en los siguientes apartados del presente cap´ıtulo. La generalizaci´on de la definici´on de regla en el generador de instancias I sirve para la representaci´on de reglas cl´asicas y adem´as reglas flexibles. En [Bla03a, Bla01] se detalla el proceso de generalizaci´on de la regla hasta obtener la Regla Generalizada con grado de acoplamiento que permite la representaci´on de dichas reglas para deducir con datos flexibles. Definici´on B.9. Se llama regla generalizada con grado de acoplamiento a la regla cuya expresi´on es la siguiente: ˜P(X1, X2, . . . , Xn, γ ˜P ) ← ˜Q1(Y1,1, Y1,2, . . . , Y1,n1 , γ ˜Q1 ) ∧ . . . ∧ ∧ ˜Qm(Ym,1, Ym,2, . . . , Ym,nm , γ ˜Qm ) ∧ Ψ (B.6) con Ψ definida como sigue: Ψ ≡ ≥ (Θ= i,j,k(Xi, Yj,k), αi,j,k) ≥ (Θ= j,k,l,p(Yj,k, Yl,p), βj,k,l,p) φj,k,l,p(Θθ j,k,l,p(Yj,k, Yl,p), γj,k,l,p) (B.7) donde γ ˜P es una funci´on grado de acoplamiento construida en base a los grados de acoplamiento de las variables y a los grados de acoplamiento de los hechos obtenidos. B.2.2. La Representaci´on Relacional de las Reglas Generali- zadas Difusas: FREDDI Extendido La arquitectura FREDDI fue propuesto por Medina et al. en [Med97, Pon96, Pon97] como un mecanismo para unificar un sistema de consulta de- ductivo con un sistema de consulta difuso, ambos construidos sobre un sistema gestor de bases de datos relacional. Este conjunto de relaciones permit´ıa al- macenar la definici´on de un predicado como una disyunci´on de una o varias reglas. Cada una de las reglas se defin´ıa como una conjunci´on de predicados y comparadores. Representaci´on de Informaci´on Deductiva Una relaci´on intensiva puede verse como [Bla01, Bla02a, Bla03a, Bla03b]: Una relaci´on existente con su propio esquema, pero cuya instancia ha de ser calculada en funci´on de la instancia de los predicados que intervienen en el cuerpo de sus reglas en el instante de ser consultada, o bien
  • 257. 236 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR Una relaci´on temporal que se construye en el momento de la consulta y que no posee entidad m´as all´a del alcance de dicha consulta. Una relaci´on extensiva, por el contrario, no necesita una representaci´on concreta dado que trata de una relaci´on ordinaria, o relaci´on difusa que ya fue expuesta en el apartado anterior. La representaci´on de las reglas l´ogicas vendr´a dada por su estructura, di- vidi´endose en sus predicados y variables y almacenando el orden en el que se encuentran y el grado de acoplamiento que se especifique. Por otro lado el motor de inferencia ha de ser un m´odulo externo o in- terno SGBDR (dependiendo o no si permite su inclusi´on en el mismo) que estar´a implementado en un lenguaje de programaci´on l´ogico. B.2.3. Base de Metaconocimiento Deductivo: Base de Reglas (RB) Tal y como se explic´o anteriormente, la base de metaconocimiento permite la representaci´on de datos de mayor complejidad puedan ser representados en el modelo relacional. La representaci´on de la informaci´on deductiva est´a for- mada por dos bases de Metaconocimiento, la FMB descrita en el apartado B.1.3 y la RB o Base de Reglas que a continuaci´on se describe, y que permite la representaci´on de las relaciones intensivas y las reglas generalizadas con grado de acoplamiento difuso. Las diversas relaciones que forman parte de la RB aparecen en la figura B.7 en forma de diagrama de clases [Bla01, Bla02a, Bla03a, Bla03b]. Estas tablas tienen el siguiente cometido: INTENSIONAL TABLE DESCRIPTION: almacena los predicados in- tensivos (TABLE ID) definidos como la disyunci´on de reglas Pi (RULE- ID). RULE DESCRIPTION: describe cada una de las reglas Pi (identificada mediante TABLE ID y RULE ID) como una secuencia de predicados extensivos e intensivos y comparaciones concatenados con el operador de conjunci´on. Cada predicado puede aparecer negado y puede aparecer varias veces en la misma regla. El par (PRED ID, RULE ID) identifi- ca a la regla descrita, PRED ID establece qu´e predicado aparece en la posici´on OCC NUMBER de la regla, si est´a negado o no (NEGATED) y su tipo (0 para extensivo, 1 para intensivo y 2 para comparaci´on). PREDICATE DESCRIPTION: describe el orden de las variables en cada uno de los predicados Ki. La misma variable puede aparecer m´as de
  • 258. B.2. EXTENSI ´ON L ´OGICA-DEDUCTIVA AL MODELO DE BDRD 237 DED_INT_TABLE_DESCRIPTION TABLE_ID : NUMBER RULE_ID: NUMBER DED_RULE_DESCRIPTION TABLE_ID : NUMBER (FK) RULE_ID: NUMBER (FK) PRED _ID: NUMBER OCC_NUMBER: NUMBER NEGATED NUMBER(1) TYPE: NUMBER(1) DED_PREDICATE_DESCRIPTION TABLE_ID : NUMBER (FK) RULE_ID: NUMBER (FK) PRED _ID: NUMBER (FK) OCC_NUMBER: NUMBER (FK) VAR_ID: NUMBER COL_ID: NUMBER SOURCE_COL: NUMBER(FK) DED_COMPARISION _DESCRIPTION TABLE_ID: NUMBER (FK) RULE_ID: NUMBER (FK) PRED_ID: NUMBER (FK) OCC_NUMBER: NUMBER (FK) VAR_ID1: NUMBER VAR_ID2: NUMBER COMP_OP: NUMBER THOLD: NUMBER 0 ® Extensive 1 ® Intensional 2 ® Comparision 0 ® = 1 ® <> 2 ® < 3 ® > 4 ® <= 5 ® >= 6 ® FEQ 7 ® FGT 8 ® FGEQ 9 ® FLT domain DED_COMPARISION _DESCRIPTION TABLE_ID : NUMBER (FK) RULE_ID: NUMBER (FK) PRED _ID: NUMBER (FK) OCC_NUMBER: NUMBER (FK) VAR_ID1: NUMBER VAR_ID2: NUMBER COMP_OP: NUMBER THOLD: NUMBER 10 ® FLEQ 11 ® MGT 12 ® MLT 13 ® NFEQ 14 ® NFGT 15 ® NFGT 16 ® NFGET 17 ® NFLT 18 ® NFLEQ 19 ® NMGT 20 ® NMLT Figura B.7: Cat´alogo de datos deductivos
  • 259. 238 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR una vez en cada predicado pero varias apariciones se distinguen por su posici´on dentro del predicado. Una variable VAR ID ocupa una posici´on COL ID dentro de un predicado PRED ID que aparece en una posici´on dada OCC NUMBER de una regla RULE ID que define a un predicado intensivo TABLE ID. COMPARISON DESCRIPTION: describe las condiciones, tipo especial de predicados, que s´olo poseen dos variables y su tipo es uno de los siguientes: =, =, ≤, <, ≥, >, FEQ, FGT, FGEQ, FLT, FLEQ, MGT, MLT, NFEQ, NFGT, NFGEQ, NFLT, NFLEQ, NMGT y NMLT. Una condici´on compara dos variables (VAR ID1 y VAR ID2), aparece en una posici´on dada (OCC NUMBER) de una regla (RULE ID) que define a un predicado (TABLE ID). En nuestro caso, la columna PRED ID no es de utilidad (ya que la condici´on queda totalmente identificada por la posici´on que ocupa en la regla) pero se ha mantenido por cuestiones de uniformidad. La arquitectura FREDDI extendida es la que permite flexibilizar la representaci´on de las reglas difusas y aumentar el n´umero de comparadores difusos tal y como se ve en la figura B.7. B.2.4. Sintaxis Extendida Deductiva de FSQL Al igual que ocurr´ıa con el FSQL, es decir, al lenguaje de manejo flexible para consultar valores precisos e imprecisos, el DSQL: Deductive SQL (o SQL Deductivo), es el lenguaje de consulta que permite realizar deducciones [Bla01, Bla00b]. Este lenguaje permite crear y manipular nuevas estructuras (DDL). En la tabla B.4 se encuentran las cabeceras de estas sentencias. En cuanto a la manipulaci´on de datos, o DML, se extiende ´unicamente la funcionalidad de la sentencia SELECT pero a nivel interno no en la sintaxis (m´as detalle en la sintaxis en [Bla01, Bla02a, Bla03a]). Tabla B.4: Resumen de DFSQL Tipo Sentencia Descripci´on DDL Create Intensional Table crea tablas intensivas DDL Create Rule define y almacena una regla en la BD DDL Delete Rule elimina una regla previamente creada DDL Drop Intensional Table borra una tabla intensiva
  • 260. B.3. MINER´IA DE DATOS EN EL MODELO RELACIONAL 239 B.3. Miner´ıa de Datos en el Modelo Relacional B.3.1. Ampliaci´on Te´orica de GEFRED para el Manejo de M´ultiples Tipos de Datos (GEFRED*) Se va a proceder a la definici´on de GEFRED* que est´a basado en GEFRED (definido en B.1.1) de tal manera que la definici´on del dominio difuso genera- lizado va a tener un sentido m´as universal [Car03a]. Con ello se pretende: No restringir la definici´on a ning´un dominio en concreto, Formalizar la representaci´on de tipos de datos complejos en el sentido de requerir mas de un atributo cl´asico. Definici´on B.10. Sean una serie de dominios D1, D2, ..., Dn, tal que cada Di (con i= 1,2,...,n) es un dominio at´omico en el sentido cl´asico de las Bases de Datos Relacionales y adem´as esa serie de atributos conjuntamente implica una caracter´ıstica importante y variable que tiene una entidad. Se define entonces dominio complejo y se nota como D al dominio descrito por D1 ×D2 ×...×Dn siempre y cuando esos dominios D1, D2, ..., Dn modelen conjuntamente una caracter´ıstica importante y variable que tiene una entidad Definici´on B.11. Sea D un dominio complejo, Π(D ) el conjunto de dis- tribuciones de posibilidad definidas sobre D, entre las que se incluyen aquellas que describen los valores Unknown y Undefined. Se considera tambi´en el val- or Null. el dominio Difuso Generalizado Complejo se define como DG donde DG ⊆ Π(D ) ∪ Null Los atributos que se definan sobre el dominio difuso generalizado complejo podr´an tomar cualquier valor simple, excluyente o distribuci´on de posibilidad. Dicho dominio puede implicar tanto dominios precisos, como difusos de cual- quier naturaleza, siendo un caso particular los tipos de datos reflejados en la definici´on B.1. La gesti´on de los tipos de datos va a ser posible mediante la definici´on de una serie de operaciones especiales a realizar sobre los ele- mentos del dominio, que permitir´an incorporar significado a la representaci´on de los datos, en definitiva, para que se consiga el objetivo de modelar m´as certeramente la realidad. En cualquier caso, todas estas capacidades de repre- sentaci´on encontrar´an en el comparador difuso generalizado complejo (que se definir´a m´as adelante), el mecanismo mediante el que modelar su actuaci´on. Definici´on B.12. Una relaci´on difusa generalizada compleja R es un par de conjuntos (H, B), definidos como sigue:
  • 261. 240 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR H es el conjunto llamado cabecera y describe la estructura de la relaci´on mediante un conjunto de ternas atributo complejo-dominio complejo- compatibilidad (donde el ´ultimo es opcional), H = {(AG1 : DG1[, CAG1 ]), . . . , (AGn : DGn[, CAGn ])} donde a cada atributo Aj, le subyace un dominio difuso generalizado cinokehi, no necesariamente distinto, Dj, j ∈ [1, n]. Cj es el llamado atributo de compatibilidad y toma valores en [0, 1]. B es el conjunto llamado cuerpo y est´a formado por una serie de tuplas generalizadas difusas distintas, donde cada tupla est´a compuesta por un conjunto de ternas atributo-valor-grado (donde este ´ultimo es opcional), B = {{(AG1 : ˜d i1[, ci1], . . . , (AGn : ˜d in[, cin])}} con i = 1, . . . , m y donde m es el n´umero de tuplas de la relaci´on, ˜dij representa el valor del dominio que toma la tupla i sobre el atributo Aj y cij es el grado de compatibilidad asociado a este valor. Definici´on B.13. Sea U el dominio complejo de discurso considerado. Se llama comparador extendido θ a cualquier relaci´on difusa definida sobre U y expresada como sigue: θ : U × U → [0, 1] θ (ui, uj) → a con ui, uj ∈ U y a ∈ [0, 1]. Definici´on B.14. Sea U un dominio complejo de discurso, D un dominio di- fuso complejo construido sobre el mismo y θ un comparador extendido definido sobre U . Consideremos una funci´on Θ θ definida como sigue: θ θ : D × D → [0, 1] Θ θ ( ˜d1, ˜d2) → [0, 1] Se dice que Θ θ es un comparador difuso generalizado complejo sobre D in- ducido por el comparador extendido complejo θ , si cumple: Θ θ ( ˜d1, ˜d2) = θ(d1, d2), ∀d1, d2 ∈ U donde ˜d1 y ˜d2 representan las distribuciones de posibilidad {1/d1} y {1/d2} inducidas, respectivamente, por los valores complejos d1 y d2.
  • 262. B.3. MINER´IA DE DATOS EN EL MODELO DE BDRD 241 Definici´on B.15. Se llama proyecci´on difusa generalizada compleja de R sobre X , y se nota por P X(R ), a una relaci´on difusa generalizada compleja de la forma: P X(R ) = H P = X B P = {(As : ˜d is[, cis ])} (B.8) donde s ∈ S, s ∈ S y S, S ⊆ {1, . . . , n}. Definici´on B.16. Sea R una relaci´on difusa generalizada compleja como la de la definici´on B.12, ˜a ∈ D una constante, Θ θ un comparador difuso generalizado y γ un umbral de cumplimiento. Entonces, se llama selecci´on difusa generalizada compleja sobre la relaci´on R inducida por Θ θ compuesto con ˜a y el atributo Ak, k ∈ {1, . . . , n} y cualificada por γ, y se nota por S Θ θ (Ak, ˜a )≥γ(R ) a la relaci´on difusa generalizada de la forma: S Θ θ (Ak, ˜a )≥γ(R ) =    H S = {(A1 : D1[, CA1 ]), . . . , (An : Dn[, CAn ])} B S = {{(A1 : ˜d r 1[, cr 1], . . . , (Ak : ˜d rk[, crk]), . . . , (An : ˜d rn[, crn])}} (B.9) con crk = θ θ (˜d rk, ˜a ) ≥ γ (B.10) donde r = 1, . . . , m con m el n´umero de tuplas de la selecci´on. B.3.2. Representaci´on de M´ultiples Tipos de Datos en el Mo- delo Relacional(FIRST*) Estructura de los Tipos de Datos FIRST* [Car03a] es la interfaz que proporciona acceso a m´ultiples tipos de datos, definidos en el modelo GEFRED*, con objeto de realizar tareas de miner´ıa de datos sobre un SGBDR. FIRST* est´a basado en la arquitectura FIRST que permite la manipulaci´on de datos difusos, lo que proporciona al sistema dicha caracter´ıstica tambi´en. Dentro de un SGBDR cl´asico, una serie de atributos del mismo implicar´an un dominio difuso generalizado complejo si modelan conjuntamente una carac- ter´ıstica importante y variable que tiene una entidad y adem´as permiten alg´un tipo de tratamiento difuso. FIRST* a˜nade un nuevo tipo de datos a los tres que ya se hab´ıan definido en FIRST, el tipo difuso 4, que representa a la serie de atributos cl´asicos que determinan un dominio difuso generalizado complejo y que, por tanto, pueden ser consultados de forma imprecisa. Se trata de un supertipo puesto que contiene la definici´on de los otros 3, y esta formado por:
  • 263. 242 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR Atributos de datos que contienen la informaci´on en s´ı. Por ejemplo si se trata de representar una distribuci´on trapezoidal [α, β, γ, δ] con las mismas caracter´ısticas que un tipo difuso 2 estos atributos se correspon- der´ıan con los F1, F2, F3, F4 (v´ease tabla B.1) de la representaci´on de dicho atributo. Atributos de metadatos, contienen informaci´on que permiten entender los atributos de datos. Este tipo de atributos no siempre son necesarios. Siguiendo con el ejemplo anterior, este atributo se corresponder´ıa con la columna FT de la tabla B.1 que indica si los atributos de datos contienen un valor Null, Unknown, Undefined, un trapecio, etc. Comparadores Difusos Generalizados Complejos Para representar un dominio difuso generalizado complejo debe ser posible que los atributos permitan alg´un tipo de tratamiento difuso. Esto se lleva a cabo sobre los atributos difusos de tipos 4 mediante la definici´on de al menos uno de los comparadores difusos usados en FIRST. Por tanto el usuario debe definir los comparadores difusos que crea necesarios para cada atributo de tipo 4 del que se vaya a hacer un tratamiento difuso. La sem´antica del comparador puede ser completamente subjetiva a quien lo defina o al problema a resolver. Para los comparadores que no tienen un referencial ordenado, los comparadores pueden tener un significado cualitativo m´as que cuantitativo. Lo ´unico que es necesario establecer es las restricciones de los comparador difusos para que tengan un significado coherente para un mismo tipo de datos difuso 4 [Car03a]. B.3.3. Base de Metaconocimiento Difuso*(FMB*) Toda la informaci´on adicional sobre la estructura de los dominios y valo- res que puede tomar cada atributo construido sobre un dominio generalizado difuso complejo constituye lo que se conoce como Base de Metaconocimiento Difuso* (FMB*) [Car03a]. Este toma m´as importancia si cabe, en FIRST* que en el anterior modelo, debido a que va a hacer posible tanto la definici´on, como el tratamiento de los tipos difuso 4. Adem´as de las estructuras que ya formaban parte de FIRST para el tra- tamiento de los tipos de datos difusos 1, 2 y 3, a las cuales se le realizan algunas modificaciones para adaptarlas al modelo. Se a˜naden nuevas estruc- turas relacionales que posibilitan la definici´on y tratamiento del tipo difuso 4.
  • 264. B.3. MINER´IA DE DATOS EN EL MODELO DE BDRD 243 Las funciones de los comparadores difusos que definen el comportamiento para los distintos tipos de datos difuso 4 son a˜nadidas a la base de FMB*. La representaci´on de estas funciones es: CDEG (A fcomp B, {constanteA1 , constanteA2 , . . . , constanteAn fcomp }, {constanteB1 , constanteB2 , . . . , constanteBn fcomp }) → [0, 1] Las funciones de representaci´on definen la visualizaci´on para los distintos tipos de datos difuso 4. Su estructura es muy parecida a la de los comparadores, y es la siguiente: FSHOW (A, {constanteA1 , constanteA2 , . . . , constanteAn fcomp }) A continuaci´on se exponen cada una de las tablas de la FMB que han sido ampliadas para utilizar el tipo difuso 4: FUZZY COL LIST: contiene la lista de aquellos atributos de tabla de la base de datos que son susceptibles de tratamiento difuso. A˜nade en el atributo F TYPE un 4 para los tipos difuso 4. FUZZY OBJECT LIST: almacenan los objetos difusos que pertenecen al dominio de atributo en cuesti´on. A˜naden en el atributo FUZZY TYPE un 5 para las etiquetas ling¨u´ısticas definidas para un tipo de dato difuso 4 en la tabla DMFSQL LABEL DEFINITION El resto de tablas que forman parte ´unica y exclusivamente de la FMB* y por tanto solo se utilizan para atributos difusos de tipo 4 son (ver figura B.8): DMFSQL COL COL: contiene la lista de aquellos atributos de la tabla de la base de datos que forman parte de, lo que se ha llamado, un do- minio difuso generalizado complejo. Este dominio se ha implementado, tanto con atributos de datos, como de metadatos, aunque ambos son definidos de igual forma en esta tabla. Cada uno de estos dominios ven- dr´a cualificado por un ´unico atributo existente en la tabla y definido por el par: referencia a la tabla a la que pertenecen (OBJ#) y columna en la que se almacenan (COL#). En el resto de tablas de la FMB cada uno de los tipos difusos 4 vendr´an caracterizados por este ´unico atributo. Los atributos integrantes del dominio complejo vendr´an definidos por el par: referencia a la tabla a la que pertenecen (OBJ#) y columna en la que se almacenan (COL2#). Mediante un atributo adicional, y por cuestiones de implementaci´on, se establece un orden en cada uno de estos atribu- tos integrantes del dominio complejo (ORDER#). En definitiva, en esta tabla se especifica la representaci´on interna del atributo difuso tipo 4. DMFSQL LABEL DEFINITION : contiene informaci´on sobre las eti- quetas ling¨u´ısticas definidas para los tipos difusos 4. Cada una de ellas
  • 265. 244 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR DMFSQL _LABEL_DEFINITION OBJ #: NUMBER( FK) COL #: NUMBER( FK) FUZZY_ID : NUMBER(3)( FK) ORDER# : NUMBER(2) ( FK) LABEL_VALUE: VARCHAR2 (2000) DMFSQL _COL _COL OBJ #: NUMBER( FK) COL #: NUMBER( FK) ORDER# : NUMBER(2) COL2 #: NUMBER DMFSQL _FUNCTIONS FUN# :VARCHAR2 (100) PKG #: NUMBER DMFSQL _COL _PAR OBJ #: NUMBER( FK) COL #: NUMBER( FK) FUZZY_COMP : VARCHAR2 (5)( FK) PAR# : NUMBER(2) PAR_VALUE: VARCHAR2 (2000) PAR_TYPE: VARCHAR2 (1) DMFSQL _FUNCTIONS_ COL OBJ #: NUMBER( FK) COL #: NUMBER( FK) FUZZY_COMP :VARCHAR2 (5) PKG #: NUMBER( FK) FUN#: VARCHAR2 (100)( FK) DMFSQL _LOG SESSIONID : NUMBER INDICE : NUMBER(10) LINEA : VARCHAR2 (2000) Figura B.8: Estructura relacional de la extensi´on de la FMB para manejo de m´ultiples datos
  • 266. B.3. MINER´IA DE DATOS EN EL MODELO DE BDRD 245 est´a descrita por la tabla y columna a cuyo dominio pertenece (OBJ# y COL#), la etiqueta a la que se asocia (FUZZY ID) y los par´ametros que la definen (LABEL VALUE) siguiendo un cierto orden (ORDER#). DMFSQL FUNCTIONS: en esta tabla se define la referencia de las fun- ciones tanto que implementan a los distintos comparadores difusos de los atributos difusos de tipo 4, como las funciones de representaci´on de los mismos. Dichas funciones vienen referenciados por el identificador del paquete (PKG#) y de la funci´on dentro del mismo (FUN#). DMFSQL FUNCTIONS COL: contiene la definici´on para cada atributo difuso tipo 4, prototipado, por la tabla a la que pertenece (OBJ#) y la columna (COL#), y para cada comparador difuso (FUZZY COMP) la funci´on que se le asocia, encontr´andose ´esta en el paquete (PKG#) e identific´andose de forma univoca (FUN#) dentro del citado paquete. Los comparadores difusos posibles son los de la figura B.7. Tambi´en es posible especificar, mediante esta tabla, la funci´on de representaci´on que se quiere usar para el atributo difuso de tipo 4, es decir, como se quiere visualizar el mismo en las sentencias SELECT. Para ello, el campo con el comparador difuso (FUZZY COMP) debe tener el valor ’FSHOW’. DMFSQL COL PAR: contiene la informaci´on de los par´ametros adi- cionales para construir las llamadas a funciones que implica cada tipo difuso 4 respecto a cada comparador. Como se ha comentado, es tremen- damente ´util para la reusabilidad de la codificaci´on de las funciones ya implementadas en la FMB. As´ı, para un atributo difuso tipo 4 de- terminado (OBJ#, COL#) y para un comparador difuso que impli- ca (PAR VALUE) y en el orden establecido (PAR#), el valor de los par´ametros de PAR TYPE tendr´a valor C para un dominio de tipo car´acter, N para num´erico y D para fechas. B.3.4. Ampliaci´on de FIRST* para el Data Mining T´ecnicas de Miner´ıa de Datos Definidas Una vez implementado el Interfaz Difuso para Sistemas Relacionales para el manejo de m´ultiples tipos de datos (FIRST*), se ha obtenido la imple- mentaci´on de un modelo de BDRD sobre un SGBDR en el que el tratamiento difuso de la diversidad de dominios susceptibles de ser tratados por un sistema de Miner´ıa de Datos est´a resuelto. Una vez solucionado el problema de gestionar la informaci´on, cualquiera que sea un forma, se va proceder a implementar una interfaz que permite utilizar FIRST* como base a la aplicaci´on de distintas t´ecnicas de Miner´ıa de
  • 267. 246 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR Datos en el marco del modelo de BDRD ya implementado. Dicha interfaz se denominar´a DmFIRST y permite realizar las operaciones de [Car00, Car03b, Car98, Car99]: Clustering: donde se propone una forma de obtenci´on de la matriz de distancias de la poblaci´on. Caracterizaci´on: incluye una t´ecnica que permite especificar el nivel de abstracci´on al que se quiere describir los datos tal y como se consideraba deseable en los sistemas de DM. Clasificaci´on difusa: donde se propone dos formas de obtener la clasi- ficaci´on difusa, bas´andose en los centroides obtenidos tras la caracteri- zaci´on o usando los vecinos m´as cercanos. Dependencias difusas entre atributos: donde se propone un concepto de dependencias, llamadas dependencias globales difusas que constituye el marco com´un que integra tanto las dependencias difusas como las dependencias graduales difusas. B.3.5. Base de Metaconocimiento Difuso para Miner´ıa de Datos (DMFMB) Los problemas que producidos al utilizar estos los servidores de FSQL cuando se realizan tareas de DM no se pueden resolver con el uso de sentencias simples en mayor´ıa de los casos (y en ´ultima instancia de SQL). Es por esto que se introduce un nuevo esquema, dmFIRST que va ha definir un nuevo tipo de objeto que no existe ni en FSQL ni en SQL que se denomina “proyecto” y que tiene como misi´on: Servir de soporte para guardar las condiciones iniciales, resultados inter- medios y finales del proceso de DM a realizar. Englobar l´ogicamente una serie de resultados intermedios, en forma de tablas, en dicho proceso de DM. Estos resultados intermedios estar´an encaminados a agilizar el proceso de DM iterativo ya que el tener estos datos precalculados har´a que ante determinados refinamientos de los requerimientos del proceso de DM, la respuesta del sistema sea m´as o menos inmediata. La base de Metaconocimiento dmMB queda formada ahora por la FMB completa de FIRST y unas nuevas estructuras relacionales que posibilitan el tratamiento del objeto proyecto comentado (ver figura B.9):
  • 268. B.3. MINER´IA DE DATOS EN EL MODELO DE BDRD 247 DMFSQ L_PROYECT PROYECT _NAME : VARCHAR2 (50) OWNER#: VARCHAR2 (30) OBJ#: NUMBER STATUS_ CLUS : VARCHAR2 (1) NUM _CLUS : NUMBER(4) NUM _REG_TAB: NUMBER(8) NUM _REG_LEVEL: NUMBER(4) NUM _LEVEL_ OPT1 _VILA _H3: NUMBER(4) NUM _LEVEL_OPT_ VILA _ABS: NUMBER(4) NUM _LEVEL_ OPT3 _MED : NUMBER(4) OBJ#_TAB_ CLUS : NUMBER OBJ#_TAB_ CEN : NUMBER STATUS_ FGD: VARCHAR2 (1) THOLD _ANT_ FDG: NUMBER(3,2) THOLD _CON_ FGD: NUMBER(3,2) CONFIDENCE_ FGD: NUMBER(3,2) SUPORT _FGD: NUMBER(3,2) DEF _TABLE_SPACE: VARCHAR2 (500) TRACE_LEVEL: NUM ER(1) PATH_TRACE_FILE: VARCHAR2 (150) NAME_TRACE_FILE: VARCHAR2 (50) DMFSQL _COL _LIST PROYECT _NAME : VARCHAR2 (50)( FK) COL _TYPE : VARCHAR2 (1) COL #: NUMBER WEIGHT_ CLU : NUMBER(10,9) FUZZY_COMP_ CLU : VARCHAR2 (5) LOG_ OPER _CLU : VARCHAR2 (3) ABSTRACTION_LEVEL_ CEN : VARCHAR2 (1) FUZZY_COMP_ CEN : VARCHAR2 (5) LOG_ OPER _CEN : VARCHAR2 (5) FUZZY_COMP_ CLA : VARCHAR2 (5) LOG_ OPER _CLA : VARCHAR2 (5) WEIGHT_ CLA : NUMBER(10,9) FUZZY_COMP_ FGK: VARCHAR2 (5) THOLD _FGD: NUMBER(3,2) Figura B.9: Estructura relacional de la DmFMB DMFSQL PROJECT: contiene la informaci´on general sobre los proyec- tos de DM. Se identifica de forma un´ıvoca el proyecto y se da un identi- ficativo al propietario. Se establece la tabla de origen de datos (OBJ#) y el estado actual del proceso de clustering especificado en la tabla 9, si el estado es C, entonces se especifican el n´umero de clusters obtenidos tras el proceso (NUM CLUS). STATUS CLUS contendr´a valor es C se trata de un tipo car´acter, si es N de tipo num´erico y si es D de tipo fecha. NUM REG TAB, indica el n´umero de filas en la tabla id tabla orig pro- yecto, NUM REG LEVEL indica el numero de posibles alfa-cortes que se pueden hacer dentro del dendograma. Los atributos (NUM LEVEL- opt1 vila h3), (NUM LEVEL opt2 vila abs), (NUM LEVEL opt3 med) almacenan el nivel del dendograma al que se obtiene una partici´on ´opti- ma basado en H3, absoluta y media. Se almacenar´a un identificativo de la ´ultima tabla generada con una partici´on en concreto de la poblaci´on dentro del proceso de clustering en el atributo OBJ# TAB CLUS, y un identificativo de la ultima tabla de centroides generada, que caracterizan a los distintos grupos existentes en la tabla anterior en OBJ# TAB CEN. STATUS FGD es el estado del proceso de obtenci´on de DGDs, si su val- or es C se trata de un tipo car´acter, si es N de tipo num´erico y si es D de tipo fecha. THOLD ANT FGD y THOLD CON FGD son los umbrales alfa y beta. CONFIDENCE FGD la confianza obtenida de la
  • 269. 248 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR DGD y el soporte estar´a en SUPPORT FGD. En DEF TABLE SPACE est´an las especificaciones f´ısicas para el almacenamiento de las distin- tas tablas que se generen como resultado de la ejecuci´on del proyecto. TRACE LEVEL, PATH TRACE FILE, NAME TRACE FILE: son de uso interno del servidor para gestionar trazas de ejecuci´on que tienen co- mo objeto devolver resultados intermedios a aplicaciones cliente, depu- raci´on de errores, etc. DMFSQL COL LIST: contiene la informaci´on sobre las distintas colum- nas trascendentes para el proceso de DM de la tabla con el origen de datos del proyecto (ID TABLA ORIG PROYECTO). Se identifica de manera ´unica el proyecto de DM con (PROYECT NAME). El atributo (COL TYPE) indica el tipo de procesamiento de DM para la columna (COL#), si su valor es C se trata de Clasificaci´on, clustering o carac- terizaci´on, si es A su dominio es el antecedente dentro del ´ambito de las DGDs y si es Q se trata del consecuente dentro del ´ambito de las DGDs. En (WEIGHT CLU) se almacena el peso por el que se pondera la colum- na para clustering. FUZZY COM CLU es el comparador difuso de igual- dad (FEQ o NFEQ) que se le va a aplicar a la columna para la obtenci´on de la matriz de distancias en el proceso de clustering. En el caso de que el comparador difuso no sea sim´etrico, se indica en LOG OPER CLU el operador l´ogico que se va a usar para obtener una comparaci´on sim´etrica dentro del proceso de clustering. (puede ser AND si se quiere usar una T-norma u OR si se quiere usar una t-conorma). FUZZY COM CEN y LOG OPER CEN se usan igual que en el caso anterior, para el c´alculo de centroides. FUZZY COM CLA y LOG OPER CLA se utilizan para el proceso de clasificaci´on y WEIGHT CLA almacena el peso por el que se pondera la columna para clasificaci´on. FUZZY COMP FGD es el com- parador difuso de la Tabla 7 que se le va a aplicar a la columna para la obtenci´on de la DGD donde los umbrales alfa y beta se almacenar´an en THOLD FGD para cada columna del antecedente y consecuente. Toda la Base de metaconocimiento que permite la utilizaci´on de t´ecnicas de DM, se encuentra representada en la figura B.10. B.3.6. Sintaxis Extendida para Operaciones de DM: DMFSQL FSQL como se ha mencionado con anterioridad no cumple los requisitos m´ınimos para ser considerado un lenguaje propiamente de DM. Con objeto de solucionar este hecho, se ha extendido FSQL, cre´andose el dmFSQL que resuelve las tareas de DM.
  • 270. B.3. MINER´IA DE DATOS EN EL MODELO DE BDRD 249 FUZZY_OBJECT_LIST OBJ #: NUMBER( FK) COL #: NUMBER( FK) FUZZY_ID : NUMBER(3) FUZZY_NAME: VARCHAR2 (30) FUZZY_TYPE: NUMBER(1) FUZZY_ COL _LIST OBJ #: NUMBER COL #: NUMBER F_TYPE: NUMBER(1) LEN: NUMBER COM : VARCHAR (100) DMFSQL _LABEL_DEFINITION OBJ #: NUMBER( FK) COL #: NUMBER( FK) FUZZY_ID : NUMBER(3)( FK) ORDER# : NUMBER(2) ( FK) LABEL_VALUE: VARCHAR2 (2000) DMFSQL _COL _COL OBJ #: NUMBER( FK) COL #: NUMBER( FK) ORDER# : NUMBER(2) COL2 #: NUMBER DMFSQL _FUNCTIONS FUN# :VARCHAR2 (100) PKG #: NUMBER DMFSQL _COL _PAR OBJ #: NUMBER( FK) COL #: NUMBER( FK) FUZZY_COMP : VARCHAR2 (5)( FK) PAR# : NUMBER(2) PAR_VALUE: VARCHAR2 (2000) PAR_TYPE: VARCHAR2 (1) DMFSQL _FUNCTIONS_ COL OBJ #: NUMBER( FK) COL #: NUMBER( FK) FUZZY_COMP :VARCHAR2 (5) PKG #: NUMBER( FK) FUN#: VARCHAR2 (100)( FK) DMFSQ L_PROYECT PROYECT _NAME : VARCHAR2 (50) OWNER#: VARCHAR2 (30) OBJ#: NUMBER STATUS_ CLUS : VARCHAR2 (1) NUM _CLUS : NUMBER(4) NUM _REG_TAB: NUMBER(8) NUM _REG_LEVEL: NUMBER(4) NUM _LEVEL_ OPT1 _VILA _H3: NUMBER(4) NUM _LEVEL_OPT_ VILA _ABS: NUMBER(4) NUM _LEVEL_ OPT3 _MED : NUMBER(4) OBJ#_TAB_ CLUS : NUMBER OBJ#_TAB_ CEN : NUMBER STATUS_ FGD: VARCHAR2 (1) THOLD _ANT_ FDG: NUMBER(3,2) THOLD _CON_ FGD: NUMBER(3,2) CONFIDENCE_ FGD: NUMBER(3,2) SUPORT _FGD: NUMBER(3,2) DEF _TABLE_SPACE: VARCHAR2 (500) TRACE_LEVEL: NUM ER(1) PATH_TRACE_FILE: VARCHAR2 (150) NAME_TRACE_FILE: VARCHAR2 (50) DMFSQL _COL _LIST PROYECT _NAME : VARCHAR2 (50)( FK) COL _TYPE : VARCHAR2 (1) COL #: NUMBER WEIGHT_ CLU : NUMBER(10,9) FUZZY_COMP_ CLU : VARCHAR2 (5) LOG_ OPER _CLU : VARCHAR2 (3) ABSTRACTION_LEVEL_ CEN : VARCHAR2 (1) FUZZY_COMP_ CEN : VARCHAR2 (5) LOG_ OPER _CEN : VARCHAR2 (5) FUZZY_COMP_ CLA : VARCHAR2 (5) LOG_ OPER _CLA : VARCHAR2 (5) WEIGHT_ CLA : NUMBER(10,9) FUZZY_COMP_ FGK: VARCHAR2 (5) THOLD _FGD: NUMBER(3,2) DMFSQL _LOG SESSIONID : NUMBER INDICE : NUMBER(10) LINEA : VARCHAR2 (2000) Figura B.10: Estructura relacional de la Base de Metaconocimiento para el DM Este lenguaje consta de las siguientes partes: El DDL de DmFSQL permi- tir´a la consulta y la modificaci´on de las estructuras en las que se almacenan los datos, y va a consiste en las operaciones sobre el proyecto que se muestran en la tabla B.5. El DML de DmFSQL permite la consulta y la modificaci´on de los datos almacenados en la base de datos. B´asicamente consiste en extender el comando SELECT MINING para que pueda utilizar las distintas t´ecnicas de DM, que se ven en la tabla B.5. La descripci´on completa de la sintaxis ´ıntegra de estas sentencias puede verse en [Car03a, Car03b].
  • 271. 250 AP´ENDICE B. EXTENSIONES AL MODELO DE BDR Tabla B.5: Resumen de DMFSQL Tipo Sentencia Descripci´on DDL CREATE MINING Crea un nuevo proyecto DDL ALTER MINING Modifica un proyecto DDL DROP MINING Borra un proyecto DDL GRANT MINING Da permiso para la gesti´on de un proyecto a un usuario DDL REVOKE MINING Elimina los permisos previ- amente concedidos para la gesti´on de un proyecto a un usuario DML CLUSTERING Para el proceso de clustering y caracterizaci´on DML CLASIFICATION Para el proceso de clasifi- caci´on DML FGLOBAL DEPENDENCIES Para la obtenci´on de depen- dencias globales difusas entre atributos
  • 272. Ap´endice C Base de Datos de Suelos C.1. Descripci´on del Esquema de la Base de Datos La base de datos de suelos describe la informaci´on acerca de las carac- ter´ısticas que tienen los suelos recopilada a trav´es de encuestas realizadas a agricultores. Esta Base de Datos ha sido desarrollada gracias al proyecto ”Fuzzy-KIM, un Sistema de Miner´ıa de Datos con Ayuda Inteligente basa- do en T´ecnicas de Soft-Computing (Plan Nacional I+D)”, cuya referencia es CICYT TIC2002-04021-C02-02, llevado a cabo en entre los a˜nos 2002-2005 y financiado por el Ministerio de Ciencia y Tecnolog´ıa. La base de datos de suelos, tiene como particularidad que la mayor´ıa de los datos que la componen son de car´acter difuso, es decir, los valores de los diferentes campos, son descritos dependiendo de su contenido, con etiquetas ling¨u´ısticas o valores discretos sobre un referencial no ordenado. Al realizar la base de datos con este tipo de datos se ha facilitado la tarea de realizar la encuesta al encuestado, dado que este tipo de informaci´on confiere flexibilidad a la hora rellenar datos en el formulario. C.1.1. Descripci´on de Clases A continuaci´on se describe el dise˜no conceptual de la BD de suelos. Para realizar este dise˜no se ha utilizado un diagrama de clases de UML, mostrado en la figura es C.1. Las clases principales de que est´a compuesta esta BD y la informaci´on que representa est´a descrita a continuaci´on y en la tabla C.1 donde se especifica con m´as detalle el contenido sem´antico de algunos de los atributos de esta BD: Localizaci´on: Describe el lugar exacto del suelo del que se trate y las caracter´ısticas propias del suelo en esta localizaci´on. Los atributos se 251
  • 273. 252 AP´ENDICE C. BASE DE DATOS DE SUELOS Color Codigo_color: Autonumérico Estructura Codigo_es: numeric Tipo_es:TD3 Clase_es:TD3 Grado_es:TD3 Vegetacion:TD3 Material: TD3 Grado_De: TD3 Humedad Hue_hume:TD3 value_hu:TD3 croma_hu:TD3 Seco value_SE:TD3 croma_SE:TD3 hue_SE:TD3 Localización latitud: numeric longitud : numeric orientacion :TD3 fisiografia :TD3 pendiente:TD3 altitud:TD2 altitud_gr: numeric profundidad:TD2 profundidad_gr:numeric Tmedia:TD2 Tmedia_gr: numeric Pmedia:TD2 Pmedia_gr: numeric Fao:TD3 Fao_Reduc:TD3 Analiticos codigo_a:numeric Arena: TD2 Arena_gr: numeric Arcilla:TD2 Arcilla_gr: numeric Co:TD2 Co_gr: numeric PH:TD2 PH_gr: numeric Fe:TD2 Fe_gr: numeric Agua_UTI:TD2 Agua_gr: numeric CEC:TD2 CEC_gr: numeric Identificacion Cod_Perf: numeric Cod_ecol:numéric Cod_hori: numeric Bibliografía biblio:CadenadeTexto autores:cadenadeTexto Figura C.1: Diagrama de Clases de la BD de Suelos encuentran descritos en la tabla C.2. Estructura: Describe las caracter´ısticas generales de la estructura del suelo. La descripci´on de las caracter´ıstica est´a en la tabla C.3. Anal´ıticos: Describen las caracter´ısticas anal´ıticas o composici´on del sue- lo. La descripci´on de los atributos de esta clase se encuentra en la tabla C.4. Identificaci´on: Describe los c´odigos de identificaci´on ecol´ogicos, de perfil y horizonte relacionados con los suelos. Las propiedades se describen en la tabla C.5. Bibliograf´ıa: Describe las fuentes que realizaron las encuestas. La com- posici´on de esta clase se describe en la tabla C.6. Color: Describe el color que tiene el suelo. Las propiedades de esta clase y de sus subclase est´an descritas en la tabla C.7.
  • 274. C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 253 Humedad: Describe el color que tiene el suelo cu´ando est´a h´umedo. Seco: Describe el color que tiene el suelo cu´ando est´a seco. C.1.2. Paso a Tablas: Modelo Relacional A partir del diagrama en UML de la figura C.1 obtenemos la siguiente descripci´on de tablas del modelo relacional extendido que soporta datos difu- sos. Esta descripci´on se representa utilizando los tipos de datos y estructuras del lenguaje SQL para especificar los tipos de datos y restricciones que hay definidos sobre los datos cl´asicos, y FSQL para los difusos. Estructura ( Codigo_es NUMERIC PRIMARY KEY, Tipo_es FTYPE3(1), Clase_es FTYPE3(1), Grado_es FTYPE3(1), Vegetacion FTYPE3(1), Material FTYPE3(1), Grado_de FTYPE3(1), ) Anal´ıticos ( Codigo_a NUMERIC PRIMARY KEY, Arena FYTPE2 (10,40) FLOAT (2), Arena_gr NUMERIC(4,2), Arcilla FYTPE2 (5,50) FLOAT (2), Arcilla_gr NUMERIC(4,2), Co FYTPE2 (5,20) FLOAT (2), Co_gr NUMERIC(4,2), PH FYTPE2 (1,10) FLOAT (2), PH_gr NUMERIC(4,2), Fe FYTPE2 (0.5, 2) FLOAT (2), Fe_gr NUMERIC(4,2), Agua FYTPE2 (0.5, 2) FLOAT (2), Agua_gr NUMERIC(4,2), CEC FYTPE2 (5, 20) FLOAT (2), CEC_gr NUMERIC(4,2), ) Identificaci´on (
  • 275. 254 AP´ENDICE C. BASE DE DATOS DE SUELOS cod_perf NUMERIC, cod_ecol VARCHAR(2), cod_hori NUMERIC, PRIMARY KEY (cod_perf,col_ecol,cod_hori)) Bibliograf´ıa ( biblio VARCHAR(14), autor VARCHAR(8), PRIMARY KEY (biblio, autor) ) Color ( Codigo_c NUMERIC PRIMARY KEY, hue_hume FTYPE3(1), value_hu FTYPE3(1), croma_hu FTYPE3(1), hue_se FTYPE3(1), value_se FTYPE3(1), croma_se FTYPE3(1)) Localizaci´on ( latitud NUMERIC NOT NULL, longitud NUMERIC NOT NULL, orientaci´on FTYPE3(1) , fisiograf´ıa FTYPE3(1) ONLY LABEL, pendiente FTYPE2(5,20) FLOAT (2) ONLY LABEL, altitud FYTPE2 (0.5, 2) FLOAT (2) , altitud_gr NUMERIC(4,2), profundidad FYTPE2 (0.5, 2) FLOAT (2), profundidad_gr NUMERIC(4,2), Tmedia FYTPE2 (4, 10) FLOAT (2) NOT UNKNOWN NOT UNDEFINED, Tmedia_gr NUMERIC(4,2), Pmedia FYTPE2 (0.5, 2) FLOAT (2), Pmedia_gr NUMERIC(4,2), Fao FTYPE3(1), tipo_hori FTYPE(3), Fao_reduc FTYPE3(1), codigo_es REFERENCES estructura(codigo_es), codigo_a REFERENCES analiticos(codigo_a), codigo_c REFERENCES color(codigo_color),
  • 276. C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 255 biblio VARCHAR(14), autor VARCHAR(8), cod_perf NUMERIC, cod_ecol VARCHAR(2), cod_hori NUMERIC, PRIMARY KEY (latitud,longitud) FOREIGN KEY (bib lio,autor) REFERENCES Bibliograf´ıa(biblio,autor), FOREIGN KEY (cod_perf,cod_ecol,cod_hori) REFERENCES Identificacion(cod_perf,cod_ecol,cod_hori)) Dado que se tratan como claves ajenas en la tabla Localizaci´on todos los atributos de las tablas Bibliograf´ıa e Identificaci´on, estas tablas se suprimi- r´an de la definici´on de la BD. De esta manera tambi´en se eliminar´an de la definici´on de la estructura Localizaci´on todas las referencias a dichas tablas, es decir las claves ajenas a Bibliograf´ıa y a Identificaci´on. C.1.3. Etiquetas Ling¨u´ısticas para los TD2 En esta base de datos se han transformado los atributos num´ericos, nor- malmente identificados en la BD por el nombre del atributo seguido de ¨ gr¨, por otros atributos de car´acter difuso con el mismo nombre pero sin dicha extensi´on. Estos atributos est´an definidos bajo un referencial ordenado pero los valores que van a contener estar´an formados fundamentalmente por eti- quetas ling¨u´ısticas cuyos valores se muestran en las tablas que se describen a continuaci´on. Los atributos de la tabla Analiticos, definen sus etiquetas ling¨u´ısticas de- pendiendo del atributo en las siguientes tablas: Arena est´a descrita en la tabla C.13, Arcilla en la C.14, Co en la C.15, Carbonat en la C.16, Ph en la C.17, Agua Uti en la C.18, Fe en la C.19, CEC en la C.20. Con respecto a la tabla Localizaci´on encontramos los atributos: PMedia descrita en la C.8, Tmedia en la C.9, Altitud en la C.10, Profundi en la C.11, pendiente en la C.12. Por ´ultimo el atributo Clase es en la C.21 en Estructura.
  • 277. 256 AP´ENDICE C. BASE DE DATOS DE SUELOS Tabla C.1: Atributos de la base de datos de color de suelos, agrupados de acuerdo a su sem´antica Grupo sem´antico Atributo Comentarios Estaciones ambientales Mesoambiente Son combinaciones multidimensionales de fac- tores ambientales que definen espacios m´as o menos homog´eneos de influencia en el desarro- llo posterior del suelo. A los factores ambien- tales se les ha denominado factores formadores del suelo. Factores formadores Altitud Los factores formadores no forman parte del individuo suelo y no son partes o componentes de su estructura. Son factores ambientales gen- erales, susceptibles de ser medidos, que act´uan como agentes causales de los procesos edafo- gen´eticos que conducen al desarrollo del suelo. Precipitaci´on media anual Temperatura media anual Material original Horizontes Tipo de horizonte Expresan las caracter´ısticas de zonas ho- mog´eneas dentro del suelo y son resultado final de una serie de procesos edafogen´eticos y de la actuaci´on de los agentes (factores) formadores. Componentes % Arena Los componentes y propiedades son carac- ter´ısticas, morfol´ogicas o anal´ıticas, suscep- tibles de ser medidas o descritas en cada horizonte; pueden actuar como diagn´osticos del mismo. En el aspecto de la g´enesis, las propiedades son consecuencia de los compo- nentes. % Arcilla % Carbono org´anico % Hierro libre Propiedades Value Chroma Hue
  • 278. C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 257 Tabla C.2: Descripci´on de las propiedades la clase Localizaci´on Atributo Tipo Descripci´on latitud Num´erico(11) Posici´on geogr´afica longitud Num´erico(11) Posici´on geogr´afica orientaci´on Categ´orico Orientaci´on del lugar (NSEO) fisiograf´ıa Categ´orico Fisiograf´ıa del lugar (ladera, llano, etc.) pendiente Num´erico(FDT2) Tipo de pendiente (llano, de escal´on, en cues- ta,etc.) altitud Num´erico (FDT21) Altitud del terreno en valor difuso altitud gr Num´erico(4,2) Altitud del terreno en valor preciso medio profundidad Num´erico (FDT2) Profundidad media efectiva del terreno en valor difuso profundidad gr Num´erico(4,2) Profundidad media efectiva del terreno en valor precio Tmedia Num´erico (FDT2) Temperatura media anual del lugar en valor difuso Tmedia gr Num´erico(4,2) Temperatura media anual del lugar en valor pre- ciso Pmedia Num´erico (FDT2) Precipitaci´on media anual del lugar en valor difuso Pmedia gr Num´erico(4,2) Precipitaci´on media anual del lugar en valor pre- ciso Tipo hori Categ´orico Tipo de horizonte FAO Red Categ´orico Descriptores del suelo de la FAO pero reducido el no de variables tras la aplicaci´on de un proceso Tabla C.3: Descripci´on de las propiedades de la clase Estructura Atributo Tipo Descripci´on Codigo es Num´erico C´odigo autonum´erico de la tabla Tipo es Categ´orico Tipo de estructura de suelo(granular, migajosa, etc.) Clase es Num´erico (FDT2) Clase de estructura de suelo (fina, media, com- pacta,etc.) Grado es Categ´orico Grado de la estructura (fr´agil, fuerte, etc.) Vegetaci´on Categ´orico Tipo de Vegetaci´on del suelo (bosque, cultivo, re- gad´ıo,etc.) Material Categ´orico Tipo de material Original del suelo (´acido , calc´areo, roca, etc.) Grado de Categ´orico Grado de Erosi´on del suelo
  • 279. 258 AP´ENDICE C. BASE DE DATOS DE SUELOS Tabla C.4: Descripci´on de las propiedades de la clase Anal´ıticos Atributo Tipo Descripci´on Codigo a Num´erico C´odigo autonum´erico de la tabla Arena Num´erico (FDT2) Cantidad de Arena del suelo en valor difuso Arena gr Num´erico(4,2) Porcentaje de Arcilla del suelo en valor preciso Arcilla Num´erico (FDT2) Cantidad de Arcilla del suelo en valor difuso Arcilla gr Num´erico(4,2) Porcentaje de Arena del suelo en valor preciso Co Num´erico (FDT2) Cantidad de Carbono Org´anico del suelo en valor di- fuso Co gr Num´erico(4,2) Porcentaje de Carbono Org´anico del suelo en valor preciso PH Num´erico (FDT2) Cantidad de PH del suelo en valor difuso PH gr Num´erico(4,2) Porcentaje de PH del suelo en valor preciso Fe Num´erico (FDT2) Cantidad de Hierro Total del suelo en valor difuso Fe gr Num´erico(4,2) Porcentaje de Hierro Total del suelo en valor preciso Agua Num´erico (FDT2) Cantidad de Agua ´Util del suelo en valor difuso Agua gr Num´erico(4,2) Porcentaje de Agua ´Util del suelo en valor preciso CEC Num´erico (FDT2) Cantidad de CEC del suelo en valor difuso CEC gr Num´erico(4,2) Porcentaje de CEC del suelo en valor preciso Tabla C.5: Descripci´on de las propiedades de la clase Identificaci´on Atributo Tipo Descripci´on Cod ecol Num´erico C´odigo ecol´ogico Cod per Num´erico C´odigo de Perfil Cod hori Num´erico C´odigo de horizonte Tabla C.6: Descripci´on de las propiedades de la clase Bibliograf´ıa Atributo Tipo Descripci´on biblio Cadena(14) Identificador del lugar donde se encuentra el lugar de la encuesta autores Cadena(8) Identificador del encuestador Tabla C.7: Descripci´on de las propiedades de la clase Color y sus subclases Atributo Clase Tipo Descripci´on Codigo Color Color Num´erico Identificador del Registro hue hume H´umedo Categ´orico Valor del Hue del Color en entorno h´umedo value hu H´umedo Categ´orico Valor del color de suelo en entorno h´umedo croma hu H´umedo Categ´orico Valor del cromado del suelo en entorno h´ume- do value se Seco Categ´orico Valor del color de suelo en entorno seco croma se Seco Categ´orico Valor del cromado del suelo en entorno seco hue se Seco Categ´orico Valor del Hue del Color en entorno seco
  • 280. C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 259 Tabla C.8: Etiquetas ling¨u´ısticas (Atributo PMEDIA) Etiqueta α β γ δ Baja 183 183 315 490 Media 490 664 731 818 Alta 818 905 1287 1287 Tabla C.9: Etiquetas ling¨u´ısticas (Atributo TMEDIA) Etiqueta α β γ δ Baja 0 0 6.5 8.5 Media 8.5 10.5 12.5 14.7 Alta 14.7 16.9 21.0 21.0 Tabla C.10: Etiquetas ling¨u´ısticas (Atributo ALTITUD) Etiqueta α β γ δ Baja 65 65 380 860 Media 860 1341 1460 1700 Alta 1700 1940 3020 3020 Tabla C.11: Etiquetas ling¨u´ısticas (Atributo PROFUNDI) Etiqueta α β γ δ Baja 2 2 12 17 Media 17 22 28 37 Alta 37 45 66 66 Tabla C.12: Etiquetas ling¨u´ısticas (Atributo PENDIENT) Etiqueta α β γ δ Flat 0 0 1 2 Gently sloping 2 3 4 5 Sloping 5 6 9 10 Strongly sloping 10 11 14 15 Moderately steep 15 16 29 30 Steep 30 31 59 60 Very steep 60 61 100 100 Tabla C.13: Etiquetas ling¨u´ısticas (Atributo ARENA) Etiqueta α β γ δ Baja 0.4 0.4 21.2 30.6 Media 30.6 40.0 48.9 56.4 Alta 56.4 63.9 91 91
  • 281. 260 AP´ENDICE C. BASE DE DATOS DE SUELOS Tabla C.14: Etiquetas ling¨u´ısticas (Atributo ARCILLA) Etiqueta α β γ δ Baja 1.31 1.31 10.0 15.0 Media 15.0 20.0 26.0 33.1 Alta 33.1 40.1 69.5 69.5 Tabla C.15: Etiquetas ling¨u´ısticas (Atributo CO) Etiqueta α β γ δ Baja 0 0 0.37 0.57 Media 0.57 0.77 1.40 1.94 Alta 1.94 2.48 19.5 19.5 Tabla C.16: Etiquetas ling¨u´ısticas (Atributo CARBONAT) Etiqueta α β γ δ Baja 0.00 0.00 8.2 15.75 Media 15.75 23.3 31.0 46.4 Alta 46.4 61.8 85.60 85.60 C.1.4. Relaciones de Similitud de los TD3 En cuanto a las variables de Tipo Difuso 3, se han de definir las etiquetas que forman cada una de ellas y la relaci´on que existe entre dichas etiquetas mediante tablas de similitud. A continuaci´on se describe dicha informaci´on. As´ı tendremos en la tabla Estructura: Tipo Es descrita en las tablas en la C.38 y C.39, Grado es en la C.40, Vegetacion en la y C.28, Material en la C.29 y C.30, y Grado de en la C.31. En la tabla Color encontramos: hue hume descrito en la tabla C.32, value hu en la C.33, croma hu en la C.34, hue se en la C.35, value se en la C.36 y croma se en la C.37. Por ´ultimo en la tabla Localizaci´on: Orientaci´on esta descrita en la tabla C.25, fisiograf´ıa en la C.26, tipo hori en la C.24 y fao reduc en las tablas C.22 y C.23
  • 282. C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 261 Tabla C.17: Etiquetas ling¨u´ısticas (Atributo PH) Etiqueta α β γ δ Baja 0.37 0.37 5.60 6.35 Media 6.35 7.10 7.50 7.85 Alta 7.85 8.20 8.90 8.90 Tabla C.18: Etiquetas ling¨u´ısticas (Atributo AGUA) Etiqueta α β γ δ Baja 0.06 0.06 0.8 1.1 Media 1.1 1.40 1.70 2.0 Alta 2.0 2.30 8.6 8.6 Tabla C.19: Etiquetas ling¨u´ısticas (Atributo FE) Etiqueta α β γ δ Baja 0.0 0.0 0.9 1.25 Media 1.25 1.60 2.1 2.9 Alta 2.9 3.7 5.70 5.70 Tabla C.20: Etiquetas ling¨u´ısticas (Atributo CEC) Etiqueta α β γ δ Baja 0.26 0.26 6.54 9.01 Media 9.01 11.48 17.21 25.11 Alta 25.11 33.0 53.20 53.20 Tabla C.21: Etiquetas ling¨u´ısticas (Atributo CLASE ES) Etiqueta α β γ δ Very fine 0 0 0.75 1.0 Fine 1.0 1.25 1.75 2.0 Medium 2.0 2.25 4.75 5.0 Coarse 5.0 5.25 9.75 10.0 Very coarse 10.0 10.25 20.0 20.0
  • 283. 262 AP´ENDICE C. BASE DE DATOS DE SUELOS Tabla C.22: Relaciones de similitud (Atributo FAOREDUC) FAOREDUC 2 3 4 5 6 7 8 9 10 11 12 13 1 0.3 0.3 0.5 0.3 0.3 0.3 0.3 0.5 0.3 0.5 0.3 0.5 2 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.5 0.3 3 0.3 0.5 0.3 0.3 0.5 0.3 0.3 0.3 0.3 0.3 4 0.3 0.3 0.3 0.3 0.5 0.3 0.5 0.3 0.5 5 0.3 0.3 0.5 0.3 0.3 0.3 0.3 0.3 6 0.3 0.3 0.3 0.3 0.3 0.3 0.3 7 0.3 0.3 0.3 0.3 0.3 0.3 8 0.3 0.3 0.3 0.3 0.3 9 0.3 0.5 0.3 0.5 10 0.3 0.3 0.3 11 0.3 0.5 12 0.3 Tabla C.23: C´odigos para el atributo FAOREDUC Valor clave Arenosol 1 Cambisol 2 Chernozems 3 Fluvisol 4 Kastanozems 5 Litosol 6 Luvisol 7 Phaeozems 8 Regosol 9 Rendzina 10 Solonchack 11 Xerosol 12 Yermosol 13 Tabla C.24: Relaciones de similitud (Atributo TIPO HOR) TIPO HOR Ah Ap Bk Bt Btk Bw Bwk C Ck A 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 Ah 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 Ap 0.3 0.3 0.3 0.3 0.3 0.3 0.3 Bk 0.3 0.3 0.3 0.3 0.3 0.3 Bt 0.3 0.3 0.3 0.3 0.3 Btk 0.3 0.3 0.3 0.3 Bw 0.3 0.3 0.3 Bwk 0.3 0.3 C 0.3
  • 284. C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 263 Tabla C.25: Relaciones de similitud (Atributo ORIENTAC) ORIENTAC NE E SE S SW W NW N 0.4 0.4 0.4 0.4 0.4 0.4 0.4 NE 0.4 0.4 0.4 0.4 0.4 0.4 E 0.4 0.4 0.4 0.4 0.4 SE 0.4 0.4 0.4 0.4 S 0.4 0.4 0.4 SW 0.4 0.4 W 0.4 Tabla C.26: Relaciones de similitud (Atributo FISIOGRA) FISIOGRA Fondo ladera Ladera Cima Meseta Llano 0.5 0.2 0.2 0.2 F. lad. 0.2 0.2 0.2 Ladera 0.2 0.2 Cima 0.5 Tabla C.27: Relaciones de similitud (Atributo VEGETACI) V EGETACI 2 3 4 5 6 7 8 1 0.5 0.5 0.2 0.2 0.2 0.2 0.2 2 0.5 0.2 0.2 0.2 0.2 0.2 3 0.2 0.2 0.2 0.2 0.2 4 0.5 0.5 0.5 0.5 5 0.5 0.5 0.5 6 0.5 0.5 7 0.5 Tabla C.28: C´odigos para el atributo VEGETACI Valor clave Bosque natural 1 Bosque de repoblaci´on 2 Matorral alto 3 Herb´acea 4 Matorral bajo degradado 5 Cultivo arbolado 6 Cultivo herb´aceo 7 Regad´ıo 8
  • 285. 264 AP´ENDICE C. BASE DE DATOS DE SUELOS Tabla C.29: Relaciones de similitud (Atributo MATERIAL) MATERIAL 2 3 4 5 6 7 8 9 1 0.2 0.2 0.2 0.5 0.2 0.2 0.2 0.0 2 0.2 0.2 0.2 0.5 0.2 0.2 0.0 3 0.2 0.2 0.2 0.2 0.2 0.0 4 0.2 0.2 0.2 0.2 0.0 5 0.2 0.2 0.2 0.0 6 0.2 0.2 0.0 7 0.2 0.0 8 0.0
  • 286. C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 265 Tabla C.30: C´odigos para el atributo MATERIAL Valor clave ´Acido coluvial 1 ´Acido aluvial 2 ´Acido sobre mat. compacto 3 ´Acido sobre mat. no compacto 4 Calc´areo coluvial 5 Calc´areo aluvial 6 Calc´areo sobre mat. compacto 7 Calc´areo sobre mat. no compacto 8 Roca volc´anica 9 Tabla C.31: Relaciones de similitud (Atributo GRADO) GRADO Moderate Severe Slight 0.5 0.5 Moderate 0.5
  • 287. 266 AP´ENDICE C. BASE DE DATOS DE SUELOS Tabla C.32: Relaciones de similitud (Atributo HUE HUME) HUE HUME 1.25YR 2.5YR 3.75YR 6.75YR 7.5YR 8.75YR 10YR 1.25Y 2.5Y 5Y 10Y 10R 0.3 0.3 0.3 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0 1.25YR 0.3 0.3 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0 2.5YR 0.3 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0 3.75YR 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.0 6.75YR 0.5 0.3 0.3 0.3 0.3 0.1 0.0 7.5YR 0.3 0.3 0.3 0.3 0.1 0.0 8.75YR 0.3 0.3 0.3 0.1 0.0 10YR 0.3 0.3 0.1 0.0 1.25Y 0.3 0.1 0.0 2.5Y 0.1 0.0 5Y 0.0 Tabla C.33: Relaciones de similitud (Atributo VALUE HU) V ALUE HU 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 8 2 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2 2.5 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2 3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2 3.5 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2 4 0.3 0.3 0.3 0.3 0.3 0.3 0.2 4.5 0.3 0.3 0.3 0.3 0.3 0.2 5 0.3 0.3 0.3 0.3 0.2 5.5 0.3 0.3 0.3 0.2 6 0.3 0.3 0.2 6.5 0.3 0.2 7 0.2
  • 288. C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 267 Tabla C.34: Relaciones de similitud (Atributo CROMA HU) CROMA HU 0.5 1 1.5 2 2.5 3 3.5 4 5 6 7 8 0 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2 0.2 0.2 0.2 0.5 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.2 0.2 0.2 0.2 1 0.3 0.3 0.3 0.3 0.3 0.3 0.2 0.2 0.2 0.2 1.5 0.3 0.3 0.3 0.3 0.3 0.2 0.2 0.2 0.2 2 0.3 0.3 0.3 0.3 0.2 0.2 0.2 0.2 2.5 0.3 0.3 0.3 0.2 0.2 0.2 0.2 3 0.3 0.3 0.2 0.2 0.2 0.2 3.5 0.3 0.2 0.2 0.2 0.2 4 0.2 0.2 0.2 0.2 5 0.2 0.2 0.2 6 0.2 0.2 7 0.2 Tabla C.35: Relaciones de similitud (Atributo HUE SECO) HUE SECO 2.5YR 3.75YR 5YR 6.75YR 7.5YR 8.75YR 10YR 1.25Y 2.5Y 5Y 10R 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 2.5YR 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.1 3.75YR 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.1 5YR 0.3 0.3 0.3 0.3 0.3 0.3 0.1 6.75YR 0.5 0.3 0.3 0.3 0.3 0.1 7.5YR 0.3 0.3 0.3 0.3 0.1 8.75YR 0.3 0.3 0.3 0.1 10YR 0.3 0.3 0.1 1.25Y 0.3 0.1 2.5Y 0.1
  • 289. 268 AP´ENDICE C. BASE DE DATOS DE SUELOS Tabla C.36: Relaciones de similitud (Atributo VALUE SE) V ALUE SE 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 3 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 4 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 4.5 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 5 0.3 0.3 0.3 0.3 0.3 0.3 0.3 5.5 0.3 0.3 0.3 0.3 0.3 0.3 6 0.3 0.3 0.3 0.3 0.3 6.5 0.3 0.3 0.3 0.3 7 0.3 0.3 0.3 7.5 0.3 0.3 8 0.3 Tabla C.37: Relaciones de similitud (Atributo CROMA SE) CROMA SE 1 1.5 2 2.5 3 3.5 4 4.5 5 6 7 7.5 8 0 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 1 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3 1.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3 2 0.5 0.5 0.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3 2.5 0.5 0.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3 3 0.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3 3.5 0.5 0.5 0.5 0.3 0.3 0.3 0.3 4 0.5 0.5 0.3 0.3 0.3 0.3 4.5 0.5 0.3 0.3 0.3 0.3 5 0.3 0.3 0.3 0.3 6 0.3 0.3 0.3 7 0.5 0.5 7.5 0.5 Tabla C.38: Relaciones de similitud (Atributo TIPO ES) TIPO ES 2 3 4 5 6 7 8 9 1 0.4 0.4 0.4 0.4 0.2 0.2 0.2 0.2 2 0.4 0.4 0.4 0.2 0.2 0.2 0.2 3 0.4 0.4 0.2 0.2 0.2 0.2 4 0.4 0.2 0.2 0.2 0.2 5 0.2 0.2 0.2 0.2 6 0.2 0.2 0.2 7 0.2 0.2 8 0.2
  • 290. C.1. DESCRIPCI ´ON DEL ESQUEMA DE LA BASE DE DATOS 269 Tabla C.39: C´odigos para el atributo TIPO ES Valor clave Granular 1 Migajosa 2 Subangular blocky 3 Angular blocky 4 Prismatic 5 Platy 6 Rock structure 7 Massive 8 Single grain 9 Tabla C.40: Relaciones de similitud (Atributo GRADO ES) GRADO ES Weak Moderate Strong Very Weak 0.3 0.3 0.3 Weak 0.3 0.3 Moderate 0.3
  • 291. 270 AP´ENDICE C. BASE DE DATOS DE SUELOS C.2. Cuerpo de la Base de Datos En esta secci´on se visualizan algunos de los datos que hay contenidos en la BD Difusa de Suelos, que pueden ser ´utiles a la hora de ejemplificar cualquier implementaci´on desarrollada en esta tesis. A continuaci´on se muestra el con- tenido de algunas de estas tablas. El contenido completo de la BD se adjunta en el archivo denominado bdfuzzy que se proporciona con la tesis en formado CD-ROM. Tabla C.41: Tabla Color, parte de su contenido Codigo c hue hume value hu croma hu hue se value se croma se 1 10YR 3.0 1 10YR 5 1 2 10YR 3.0 1 10YR 5 1 5 2,5YR 8 0 2,5YR 7 2 16 7,5YR 4 0 7,5YR 6 4 26 10YR 2 0 10YR 3 3 28 10YR 2 0 10YR 4 1 . . . . . . . . . . . . . . . . . . . . . Tabla C.42: Tabla Estructura, parte de su contenido codigo es tipo es clas es grado es vegetacion material grado de 1 PLATY FINE WEAK 5 3 2 MIGAJOSA VERY FINE WEAK 5 3 5 MASSIVE 5 7 16 MASSIVE 5 7 SLIGHT 26 MIGAJOSA MEDIUM MODERATE 3 3 SEVERE 28 SINGLE GRAIN 5 1 MODERATE . . . . . . . . . . . . . . . . . . . . .
  • 292. C.2. CUERPO DE LA BASE DE DATOS 271 Tabla C.43: Tabla Anal´ıticos, parte de su contenido codigo a arena arcilla Co PH Fe Agua CEC 1 alta baja baja baja alta media baja 2 alta baja media baja media media baja 5 baja media baja alta alta alta baja 16 alta baja baja baja alta media baja 26 alta baja alta baja media baja media 28 alta baja baja baja alta baja baja . . . . . . . . . . . . . . . . . . . . . . . . Tabla C.44: Tabla Localizaci´on, parte de su contenido latitud longitud orientaci´on fisiograf´ıa pendiente altitud . . . 41045 5478 SW LADERA STEEP baja . . . 41135 5598 NW LADERA STEEP baja . . . 4103 5705 NW LADERA GENTLY SLOPING baja . . . 41082 5675 LLANO FLAT baja media . . . 40963 5636 N LADERA STEEP media . . . 41049 5578 LLANO FLAT baja . . . . . . . . . . . . . . . . . . . . . . . . . . . profundidad Tmedia Pmedia Fao Reduc biblio autor . . . . . . media baja alta REGOSOL TABERNAS PEREZ . . . . . . baja baja alta REGOSOL TABERNAS PEREZ . . . . . . media baja alta XEROSOL TABERNAS PEREZ . . . . . . baja baja alta XEROSOL TABERNAS PEREZ . . . . . . media baja media REGOSOL TABERNAS PEREZ . . . . . . media baja alta FLUVISOL TABERNAS PEREZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . codecol codhori codperf codigo es codigo a codigo c . . . SE 1 1 1 1 1 . . . SE 2 2 2 2 2 . . . SE 5 3 5 5 5 . . . SE 16 7 16 16 16 . . . SE 26 10 26 26 26 . . . SE 28 11 28 28 28
  • 293. 272 AP´ENDICE C. BASE DE DATOS DE SUELOS
  • 294. Bibliograf´ıa [Ada80] J. M. Adamo. Fuzzy decision trees. Fuzzy Sets and Systems, 4:207–219, 1980. [Aga05] P. Agarwal. Ontological considerations in giscience. Interna- tional Journal of Geographical Information Science, 19(5):501– 536(36), May 2005. [An04] Y. An, A. Borgida y John Mylopoulos. Refining semantic mappings from relational tables to ontologies. En Val Tannen Christoph Bussler y Irini Fundulaki, editores, Semantic Web and Databases, Second International Workshop, SWDB 2004, tomo 3372, p´aginas 84–90. Springer, 2004. [Ank07] A. Ankolekar, M. Kr¨otzsch, T. Tran y D. Vrandecic. The two cultures: mashing up web 2.0 and the semantic web. En WWW ’07: Proceedings of the 16th international conference on World Wide Web, p´aginas 825–834. ACM, New York, NY, USA, 2007. ISBN 978-1-59593-654-7. [Ant03] G. Antoniou y F. van Harmelen. Handbook on Ontologies in Information Systems, cap´ıtulo Web Ontology Language: OWL, p´aginas 67–92. Springer-Verlag, 2003. [Apa05] A. S. Aparcio, O. L. M. Farias y N. dos Santos. Applying on- tologies in the integration of heterogeneous relational databas- es. En AOW ’05: Proceedings of the 2005 Australasian Ontology Workshop, p´aginas 11–16. Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 2005. ISBN 1-920-68240-6. [Arp01] J. C. Arperez, O. Corcho, M. Fernandez-L´opez y A. G´omez- P´erez. Webode: a scalable workbench for ontological engineer- ing. En K-CAP ’01: Proceedings of the 1st international con- ference on Knowledge capture, p´aginas 6–13. ACM Press, New York, NY, USA, 2001. ISBN 1-58113-380-4. 273
  • 295. 274 BIBLIOGRAF´IA [Ast04] I. Astrova. Reverse engineering of relational databases to on- tologies. En Proceedings of the 1st Europan Semantic Web Sym- posium (ESWS), LNCS, tomo 3053, p´aginas 327–341. 2004. [Ast05] I. Astrova. Towards the semantic web - an approach to reverse engineering of relational databases to ontologies. En Advances in Databases and Information Systems: 9th East-European Con- ference, ADBIS 2005, p´aginas 111–122. September 2005. [atSUSoM06] Stanford Medical Informatics at the Stanford University School of Medicine. Protege. http://protege.stanford.edu/, January 2006. [Aue07] S. Auer. powl. a web based platform for collaborative semantic web development. http://powl.sourceforge.net/overview.php, 2007. [Aum05] D. Aumueller, H. Do, S. Massmann y E. Rahm. Schema and ontology matching with coma++. En SIGMOD ’05: Proceed- ings of the 2005 ACM SIGMOD international conference on Management of data, p´aginas 906–908. ACM Press, New York, NY, USA, 2005. ISBN 1-59593-060-4. [Baa04] F. Baader, I. Horrocks y U. Sattler. Handbook on Ontologies, cap´ıtulo Description Logics, p´aginas 1–28. Springer, 2004. [Bac07] D. Bui Bach. Import/Export of OWL Ontologies into/from DOGMA. Master of computer science, Vjire Universiteit Brus- sel. Faculty of Science. Departament of Computer Science. Se- mantic Technology and Applications Lab, 2006-2007. [Bal79] J. F. Baldwin y N. C. F. Guild. Comparison of fuzzy sets on the same decision space. Fuzzy Sets and Systems, 2:213–233, 1979. [Bal84] J. F. Baldwin y S. Q. Zhou. A fuzzy relational inference lan- guage. Fuzzy Sets and Systems, (14):155–174, 1984. [Bar03] J. Barrasa, O. Corcho y A. G. . Perez. Fund finder: A case study of database to ontology mapping. En In International Semantic Web Conference, number 2870 in Lecture Notes in Computer science,, p´aginas 17–22. Springer-Verlag., 2003.
  • 296. BIBLIOGRAF´IA 275 [Bas77] S. M. Bass y H. Kwakernaak. Rating and ranking of multiple- aspect alternatives using fuzzy sets. Automatica, 13:47–58, 1977. [Bec] S. Bechhofer, F. van Harmelen, J. Hendler, I. Horrocks, D. L. Mcguinness, P. F. Patel-Schneider y L. A. Stein. Owl web on- tology language reference. Informe t´ecnico, W3C. [Bec07a] S. Bechhofer. Api for owl ontologies. http://owl.man.ac.uk/api/readme.html, 2007. [Bec07b] S. Bechhofer y G.˜Ng. Oiled. http://oiled.man.ac.uk/, April 2007. [Bec07c] S. Bechhofer y R. Volz. Wonderweb owl ontology validator. http://www.mygrid.org/OWL/Validator, 2007. [Ben06] S. M. Benslimane, D. Benslimane, M. Malki, Y. Amghar y H. Saliah. Acquiring OWL ontologies from data-intensive web sites. En ACM, editor, The Sixth International Conference on Web Engineering (ICWE’06), p´aginas 361–368. julio 2006. [Biz03] C. Bizer. D2r map - a database to rdf mapping language. En In 12th Intl World Wide Web Conf , p´aginas 17–22. 2003. [BL01] T. Berners-Lee, J. Hendler y O. Lassila. The semantic web. Scientific American, 284(5):28–37, May 2001. [BL06] T. Berners-Lee, W. Hall, J. A. Hendler, K. O’Hara, N. Shadbolt y D. J. Weitzner. A framework for web science. Foundations and Trends R in Web Science, 1(1), 2006. [Bla00a] I. Blanco, J. C. Cubero, O. Pons y M. A. Vila. An implementa- tion for fuzzy relational databases. En G. Bordogna y G. Passi, editores, Recent Research Issues on the Management of Fuzzi- ness in Databases, Studies in Fuzziness and Soft Computing, p´aginas 183–207. Physica-Verlag, 2000. [Bla00b] I. Blanco, N. Mar´ın, O. Pons y M. A. Vila. An extension of data description language (ddl) for fuzzy data handling. En Larsen, Kacprzyk, Zadrozny, Andreasen y Christiansen, editores, Flex- ible Query Answering Systems, Recent Advances, Advances in Soft Computing, p´aginas 54–64. Physica-Verlag, 2000.
  • 297. 276 BIBLIOGRAF´IA [Bla01] I. Blanco. Deducci´on en Bases de Datos Relationales Difusas. Tesis Doctoral, E. T. S. I. Inform´atica, Universidad de Granada, Spain, 2001. [Bla02a] I. Blanco, M. J. Mart´ın-Bautista, O. Pons y M. A. Vila. A mechanism for deduction in a fuzzy relational database. En Proceedings of the 9th Information Processing and Management of Uncertainty in Knowledge-based Systems IPMU 2002 Con- ference, p´aginas 291–298. Annecy, France, July 2002. [Bla02b] I. Blanco, D. S´anchez, J.M. Serrano, M.A. Vila y J. Fuzzy- queries 2+, una herramienta para la integraci´on de consultas flexibles, c´alculo de agregaciones y res´umenes, y extracci´on de conocimiento. En Actas del XI Congreso Espa˜nol sobre tec- nolog´ıas y L´ogica Fuzzy (ESTYLF02), p´aginas 337–342. 2002. [Bla03a] I. Blanco, M. J. Martin-Bautista, O. Pons y M. A. Vila. A mechanism for deduction in a fuzzy relational database. In- ternational Journal of Uncertainty, Fuzziness and Knowledge- Based Systems, 11:47–66, September 2003. [Bla03b] I. Blanco, O. Pons, J. M. Serrano y M. A. Vila. Deduction in a gefred database using datalog. En International Conference in Fuzzy Logic and Technology EUSFLAT 2003, p´aginas 550–553. September 2003. [Bla04] I. Blanco, C. Martinez-Cruz, J.M. Serrano y M. A. Vila. Servi- dor de bases de datos relacionales difusas para deducci´on y miner´ıa de datos. En Actas del XII Congreso Espa˜nol Sobre Teconolog´ıas y L´ogica Fuzzy, p´aginas 135–141. 2004. [Bla05a] I. Blanco, C. Martinez-Cruz, J.M. Serrano y M.A. Vila. A first approach to multipurpose relational database server. Mathware and Soft Computing, 12(2-3):129–153, 2005. [Bla05b] I. Blanco, C. Mart´ınez-Cruz, N. Mar´ın y M. A. Vila. About the use of ontologies for fuzzy knowledge representation. En Inter- national Conference in Fuzzy Logic and Technology EUSFLAT 2005, p´aginas 106–111. September 2005. [Bla07] I. Blanco, C. Mart´ınez-Cruz y M. A. Vila. Handbook of Re- search on Web Information Systems Quality, cap´ıtulo Looking for Information in Fuzzy Relational Databases accessible via the
  • 298. BIBLIOGRAF´IA 277 Web, p´aginas Chapter XVIII,300–324. Idea Group Reference, 2007. [Bla08a] I. Blanco, C. Martinez-Cruz y M. A. Vila. Arquitectura para la integraci´on de esquemas relacionales difusos basada en on- tolog´ıas: una aplicaci´on para la web. En Actas del XIV Congreso Espa˜nol sobre tecnolog´ıas y L´ogica Fuzzy (ESTYLF08), p´aginas 651–656. 2008. [Bla08b] I. J. Blanco, M. A. Vila y Carmen Martinez-Cruz. The use of ontologies for representing database schemas of fuzzy informa- tion. International Journal of Intelligent Systems, 23(4):419– 445, February 2008. [Bor97] P. Borst, H. Akkermans y J. Top. Engineering ontologies. Int. J. Hum.-Comput. Stud., 46(2-3):365–406, 1997. ISSN 1071-5819. [Bos88] P. Bosc, M. Galibourg y G. Hamon. Fuzzy querying with sql: Extensions and implementation aspects. Fuzzy Sets and Sys- tems, 28:333–349, 1988. [Bre04] M. Breu y Y. Ding. Modelling the world: Databases and on- tologies. Whitepaper by IFI, Institute of Computer Science, University of Innsbruck, 2004. [Bre07] C. Brewster y K. O’Hara. Knowledge representation with on- tologies: Present challenges–future possibilities. International Journal of Human-Computer Studies, 65(7):563–568, July 2007. [Bro02] J. Broekstra, A. Kampman y F. van Harmelen. Sesame: A Generic Architecture for Storing and Querying RDF and RDF Schema. En I. Horrocks y J. Hendler, editores, The Semantic Web - ISWC 2002. First International Semantic Web Confer- ence, Sardinia, Italy, June 9-12, 2002, Proceedings, tomo 2342 de LNCS, p´aginas 54–68. Springer, 2002. [Bro06] S. Brockmans, P. Haase y P. Hitzler. A metamodel and uml profile for rule-extended owl dl ontologies. En J. Domingue Y. Sure, editor, The Semantic Web: Research and Applications: 3rd European Semantic Web Conference, ESWC 2006, tomo 4011, p´aginas 303–316. 2006. [Buc82a] B. P. Buckles y F. E. Petry. Fuzzy Information and Decision Processes, tomo 2, cap´ıtulo Fuzzy Databases and their Appli- cations, p´aginas 361–371. North-Holland, Amsterdam, 1982.
  • 299. 278 BIBLIOGRAF´IA [Buc82b] B. P. Buckles y F. E. Petry. A fuzzy representation of data for relational databases. Fuzzy Sets and Systems, (7):213–226, 1982. [Buc84] B. P. Buckles y F. E. Petry. Extending the fuzzy database model with fuzzy numbers. Information Sciences, 34:145–155, 1984. [Buc89] B. P. Buckles, F. E. Petry y H. S. Sachar. A domain calculus for fuzzy relational databases. Fuzzy Sets and Systems, 29:327–340, 1989. [Cal05] C. Calero, F. Ruiz, A. Baroni, F. Brito e Abreu y M. Piatti- ni. An ontological approach to describe the sql:2003 object- relational features. Computer Standards and Interfaces Jour- nal, p´aginas 1–28, 2005. [Cal06] C. Calero y M. Piattini. An Ontological Approach to SQL:2003, cap´ıtulo Ontological Engineering: Principles, Methods, Tools and Languages, p´aginas 49–102. Springer-Verlag, 2006. [Car98] R. A. Carrasco, J. Galindo, M.C. Aranda, J.M. Medina y M.A. Vila. Classification in databases using a fuzzy query language. En 9th International Conference on Management of Data, CO- MAD’98. 1998. [Car99] R. A. Carrasco, J. Galindo, M.A. Vila y J.M. Medina. Cluster- ing and fuzzy classification in a financial data mining environ- ment. En 3rd International ICSC Symposium on Soft Comput- ing, SOCO’99, p´aginas 713–720. 1999. [Car00] R. A. Carrasco, J. Galindo, M.A. Vila y J.C. Cubero. Fsql: a tool for obtaining fuzzy dependencies. En 8th Internation- al Conference on Information Processing and Management of Uncertainty in Knowledge-Based Systems, IPMU’2000, p´aginas 1916–1919. 2000. [Car03a] R. A. Carrasco. Lenguajes e Interfaces de Alto Nivel para Data Mining con Aplicaci´on Pr´actica a Entornos Financieros. Tesis Doctoral, E. T. S. I. Inform´atica, Universidad de Granada, Spain, 2003. [Car03b] R. A. Carrasco, M. A. Vila y J. Galindo. Fsql: a flexible query language for data mining. Enterprise information systems IV , p´aginas 68–74, 2003.
  • 300. BIBLIOGRAF´IA 279 [Car07] J. Cardoso. The semantic web vision: Where are we? IEEE Intelligent Systems, 22(5):84–88, 2007. ISSN 1541-1672. [Cas07] P Casanovas, N. Casellas, C. Tempich, D. Vrandecic y R. Ben- jamins. Opjk and diligent: ontology modeling in a distributed environment. Artificial Intelligence and Law, 15(2):171–186, June 2007. ISSN 0924-8463. [Cha99] B. Chandrasekaran, J.R. Josephson y V.R. Benjamins. What are ontologies, and why do we need them? IEEE Intelligent Systems, p´aginas 20–26, January/February 1999. [Cha01] P. A. Champin. RDF Tutorial. http://www710.univ- lyon1.fr/ champin/rdf-tutorial/, April 2001. [Cha07] P. A. Champin, G.J. Houben y Ph. Thiran. Cross: An owl wrapper for reasoning on relational databases. En C. Parent, K.D. Schewe, Veda C. Storey y Bernhard Thalheim, editores, ER, tomo 4801 de Lecture Notes in Computer Science, p´aginas 502–517. Springer, 2007. ISBN 978-3-540-75562-3. [Che92] G. Q. Chen, j. Vandenbulcke y E. E. Kerre. A general treatment of data redundancy in a fuzzy relational data model. Journal American Society of Information Sciences, 43(3):304–311, 1992. [Che99] G. Q. Chen. Fuzzy Logic in Data Modeling; Semantics, Con- straints and Database Desing. kluwer Academic Publisher, 1999. [Cho06] N. Choi, I.Y. Song y H. Han. A survey on ontology mapping. SIGMOD Rec., 35(3):34–41, 2006. ISSN 0163-5808. [Cod70] E. F. Codd. A relational model of data for large shared data banks. Communications of the ACM , 13(6):377–387, 1970. [Cod79] E. F. Codd. Extending the database relational model to capture more meaning. ACM Transactions on Database Systems, 4:262– 296, 1979. [Cod86] E. F. Codd. Missing information (applicable and inapplicable) in relational databases. ACM SIGMOD Record, 15(4), 1986. [Cod87] E. F. Codd. More commentary on missing information in rela- tional databases. ACM SIGMOD Record, 16(1), 1987.
  • 301. 280 BIBLIOGRAF´IA [Cod90] E. F. Codd. The Relational Model for Database Management, Version 2. Reading Mass. Addison-Wesley, 1990. [Cod07] E. F. Codd. Relational database: A practical foundation for productivity. ACM Turing award lectures, p´agina 1981, 2007. [Cor06] O. Corcho, M. Fern´andezL´opez y A. G´omezP´erez. Ontologies for Software Engineering and Software Technology, cap´ıtulo Ontological Engineering: Principles, Methods, Tools and Lan- guages, p´aginas 49–102. Springer-Verlag, 2006. [Cul03] N. Cullot, C. Parent, S. Spaccapietra y Christelle Vangenot. Ontologies: A contribution to the dl/db debate. En Isabel Cruz y Vipul Kashyap, editores, First International Workshop on Semantic Web and Databases (VLDB workshop). September 2003. [Del88] M. Delgado, J. L. Verdegay y M. A. Vila. A procedure for ranking fuzzy numbers using fuzzy relations. Fuzzy Sets and Systems, 26:49–62, 1988. [Doa02] A. Doan, J. Madhavan, P. Domingos y A. Halevy. Learning to map between ontologies on the semantic web. En The Eleventh International WWW Conference. Hawaii,, 2002. [Dou06] D. Dou y P. LePendu. Ontology-based integration for relational databases. En SAC ’06: Proceedings of the 2006 ACM sympo- sium on Applied computing, p´aginas 461–466. ACM Press, New York, NY, USA, 2006. ISBN 1-59593-108-2. [Dub83] H. Dubois y H. Prade. Ranking fuzzy numbers in the setting of possibility theory. Information Sciences, 30:183–224, 1983. [Dui00] A. J. Duineveld, R. Stoter, M. R. Weiden, B. Kenepa y V. R. Benjamins. Wondertools? a compartive study of ontological engineering tools. International Journal of Human-Cumputer Studies, 52(6):1111–1133, Jun 2000. [Ech07a] P. Echarte. La web sem´antica. http://www.lawebsemantica.com/contents/webSemantica/ ontologias4.html, 2007. [Ech07b] P. Echarte. T´ecnicas y lenguajes para la representaci´on del conocimiento.
  • 302. BIBLIOGRAF´IA 281 http://www.eslomas.com/index.php/archives/2006/12/14/ tecnicas-y-lenguajes-para-la-representacion-del-conocimiento/, 2007. [EG06] H. El-Ghalayini, M. Odeh y R. McClatchey. Engineering con- ceptual data models from domain ontologies: A critical evalua- tion. CoRR, abs/cs/0601119, 2006. Informal publication. [Ehr07] M. Ehrig. Ontology Alignment. Bringing the Semantic Gap.. Springer, 2007. [Eis04] A. Eisenberg, J. Melton, K. G. Kulkarni, J-E Michels y Fred Zemke. Sql: 2003 has been published. SIGMOD Record, 33:119– 126, 2004. [Eri07] Ulric Eriksson. Libsbd: Database library for supporting mul- tiple database management. http://siag.nu/libsdb/, January 2007. [Euz07] J. Euzenat y P. Shvaiko. Ontology Matching. Springer, 2007. [Fen04] D. Fensel. Ontologies: Silver Bullet for Knowledge Management and Electronic Commerce. Springer-Verlag, Berlin, 2nd edici´on, 2004. [Fin05] T. Finin, J. Mayfield, A. Joshi, R. S. Cost y C. Fink. Informa- tion retrieval and the semantic web. En HICSS ’05: Proceed- ings of the Proceedings of the 38th Annual Hawaii International Conference on System Sciences (HICSS’05) - Track 4, p´agina 113.1. IEEE Computer Society, Washington, DC, USA, 2005. ISBN 0-7695-2268-8-4. [fSIIT03] International Organization for Standardization (ISO). Informa- tion Technology. Database language sql. parts 1 to 4 and 9 to 14. 9075-1:2003 to 9075-14:2003 International Standards, (Standard No. ISO/IEC 9075:2003), September,2003. [fSIIT99] International Organization for Standardization (ISO). Infor- mation Technology. Ansi/iso/iec international standard (is) database language sql part 2: Foundation (sql/foundation). ISO/IEC 9075-2:1999 (E), September, 99. [Fuk79] S. Fukami, M. Umano, M. Muzimoto y H. Tanaka. Fuzzy databases retrieval and manipulation language. IEICE Tech- nical Reports, 78(233):65–72, 1979.
  • 303. 282 BIBLIOGRAF´IA [Gae06] D. Gaevic, D. Djuric, V. Devedic y B. Selic. Model driven architecture and ontology development. Springer, 2006. [Gal84] H. Gallaire, J. Minker y J. M. Nicholas. Logic and databases: A deductive approach. Computing Surveys, 16(2):153–185, June 1984. [Gal99] J. Galindo. Tratamiento de la Imprecisi´on en Bases de Datos Relacionales: Extensi´on del modelo y adaptaci´on de los SGBD actuales. Tesis Doctoral, Department of Computer Science and Artificial Intelligence, University of Granada, Espa˜na, 1999. [Gal05a] A. Gal, G. Modica, H. Jamil y A. Eyal. Automatic ontology matching using application semantics. AI Mag., 26(1):21–31, 2005. ISSN 0738-4602. [Gal05b] A. Gali, C.X. Chen, K.T. Claypool y R. Uceda-Sosa. From ontology to relational databases. Shan Wang et all(Eds.): Con- ceptual Modeling for Advanced Application Domains, LNCS, 3289:278–289, 2005. [Gal06] J. Galindo, A. Urrutia y M. Piattini. Fuzzy Databases Modeling, Design and Implementation. Idea Group Publishing, 2006. [Gen06] J. Gennick. SQL Pocket Guide. O’Reilly, 2006. [Gen07] J. Gennari, M.˜Nguyen y A. Silberfein. Datagenie. http://protege.cim3.net/cgi-bin/wiki.pl?DataGenie, March 2007. [Geo05] D. George. Understanding structural and semantic heterogene- ity in the context of database schema integration. En Journal of the Dept. of Computing, 4, p´aginas 29–44. IEEE Computer Society, UCLan, May 2005. ISBN 1476-9069. [Gob03] C. Goble. Guest editorial: the semantic web: an evolution for a revolution. Comput. Networks, 42(5):551–556, 2003. ISSN 1389-1286. [Gog05] J. A. Goguen. Data, schema, ontology and logic integration. Logic Journal of the IGPL, 13(6):685–715, November 2005. ISSN 1367-0751. [GP03a] A. G´omez-P´erez, M. F´ernandez-L´opez y O. Corcho-Garc´ıa. Metodologies, tools and languages for building ontologies. where
  • 304. BIBLIOGRAF´IA 283 is their meeting point? Data and Knowledge Engineering, (46):41–64, 2003. [GP03b] A. G´omez-P´erez, M. F´ernandez-L´opez y O. Corcho-Garc´ıa. On- tological Engineering. Springer-Verlag New York, Inc., 2003. [GP04] A. G´omez-P´erez y D. Manzano-Macho. An overview of methods and tools for ontology learning from texts. Knowl. Eng. Rev., 19(3):187–212, 2004. ISSN 0269-8889. [Gra80] J. Grant. Incomplete information in a relational database. Fun- damenta Informaticae, 3:363–378, 1980. [Gru93] T. R. Gruber. Toward principles for the design of ontolo- gies used for knowledge sharing. Technical Report KSL 93-04, Knowledge Systems Laboratory, Standford University, 1993. [Gr¨u95] M. Gr¨uninger y M. Fox. Methodology for the design and evalua- tion of ontologies. En IJCAI’95, Workshop on Basic Ontological Issues in Knowledge Sharing, April 13, 1995. 1995. [Gua95] N. Guarino. Formal ontology, concept analysis and knowledge representation. International Journal of Human and Computer Studies, 43(5/6):625–640, 1995. [Gua98] N. Guarino. Formal ontologies and information systems. En Proc. of FOIS98, p´aginas 3–15. 1998. [H¨u05] B. H¨usemann y G. Vossen. Ontology engineering form a database perspective. En S. Grumbach, L. Sui y V. Vianu, editores, ASIAN 2005, LNCS 3818, p´aginas 49–63. Springer- Verlag, 2005. [Hai05] D. Hong Hai. Schema Matching ans Mapping-Based Data In- tegration. Tesis Doctoral, Interdisciplinary Center for Bioin- formatics and Department of Computer Science. University of Leipzig. Germany, 2005. [Ham04] A. Hameed, A. Preece y D. Sleeman. Handbook on Ontologies, cap´ıtulo Ontology Reconciliation, p´aginas 231–250. Springer, 2004. [Har05] J. Hartmann, P. Spyns, A. Giboin, D. Maynard, R. Cuel, M. C. Su´arezFigueroa y Y. Sure. Deliverable d1.2.3 methods for ontol- ogy evaluation. document identifier: Kweb/2004/d1.2.3/v1.3. Informe t´ecnico, Knowledge Web Consortium, 2005.
  • 305. 284 BIBLIOGRAF´IA [Hen02] J. Hendler, T. Berners-Lee y E. Miller. Integrating applica- tions on the semantic web. Journal of the Institute of Electrical Engineers of Japan, 122(10):676–680, October 2002. [Her02] M. C. P´erez Hern´andez. Explotaci´on de los c´orpora textuales informatizados para la creaci´on de bases de datos terminol´ogicas basadas en el conocimiento. Estudios de Ling¨u´ıstica Espa˜nola (ELiEs), http://elies.rediris.es/elies18/, 2002. [Hol02] C.W. Holsapple y K. D. Joshi. A collaborative approach to ontology design. Commun. ACM , 45(2):42–47, 2002. ISSN 0001-0782. [hom06] Ontology Engineering homepage. http://www.aifb.uni- karlsruhe.de/WBS/cte/ontologyengineering/, 2006. [Hu96] J. Hu, D.˜Nicholson, C. Mungall, A. L. Hillyard y A. L. Archibald. Webintool: a generic web to database interface build- ing tool. En DEXA ’96: Proceedings of the 7th International Workshop on Database and Expert Systems Applications, p´agi- na 285. IEEE Computer Society, Washington, DC, USA, 1996. ISBN 0-8186-7662-0. [Imi96] T. Imielinski y Heikki Mannila. A database perspective on knowledge discovery. Communications of the ACM , 39(11):58– 64, 1996. [Jar] M. Jarrar y R. Meersman. Scalability and knowl- edge reusability in ontology modeling. cite- seer.ist.psu.edu/jarrar02scalability.html. [Jar02] M. Jarrar y R. Meersman. Formal ontology engineering in the dogma approach. En Robert Meersman y Zahir Tari, editores, CoopIS/DOA/ODBASE, tomo 2519 de Lecture Notes in Com- puter Science, p´aginas 1238–1254. Springer, 2002. ISBN 3-540- 00106-9. [Jea06] S. Jean, G. Pierra y Y. AitAmeur. Domain ontologies: A database-oriented analisys. En Proceedings of the Web Infor- mation Systems and Technologies (WEBIST’2006). April 2006. [Jur99] I. Jurisica, J. Mylopoulos y E. Yu. Using ontologies for knowl- edge management: An information systems perspective. En Proceedings of 62nd Annual Meeting of the American Society for Information Science (ASISI99), p´aginas 482–496. 1999.
  • 306. BIBLIOGRAF´IA 285 [Jur07] D. Juric y Z. Skocir. Building owl ontologies by analyzing re- lational database schema concepts and wordnet semantic rela- tions. En The 9th International Conference on Telecommuni- cations. ConTEL 2007. June 13-15 2007. [KAC05] Espirit Proyect 8145 KACTUS. The kactus. http://www.swi.psy.uva.nl/projects/NewKACTUS/ Re- ports.html, April 2005. [Kal03] Y. Kalfoglou y M. Schorlemmer. Ontology mapping: the state of the art. The Knowledge Engineering Review, 18(1):1–31, 2003. [Kam07] Arjohn Kampman y Jeen Broekstra. Sesame. http://www.openrdf.org/, 2007. [Kas99] V. Kashyap. Design and creation of ontologies for environmen- tal information retrieval, 1999. [KBS] Inc. Knowledge Based System. Idef. integrated definition meth- ods. http://www.idef.com/IDEF5.html. [Kni94] K. Knight y S. K. Luk. Building a large-scale knowledge base for machine translation. En Proceedings of the Twelfth Nation- al Conference on Artificial Intelligence.Seattle.Washington.. AAAI Press, 1994. [Knu] H. Knublauch. An ai tool for the real world. knowledge modeling with prot`eg`e. Informe t´ecnico, http://www.javaworld.com/javaworld/jw-06-2003/jw-0620- protege.html. [Kot04] K. Kotis, G. A. Vouros y J. Padilla Alonso. Hcome: tool- supported methodology for collaboratively devising living on- tologies. En Christoph Bussler, Val Tannen y Irini Fundulaki, editores, Semantic Web and Databases, Second International Workshop, SWDB 2004,Toronto, Canada, tomo 3372, p´aginas 29–30. Springer-Verlag, 2004. [Kot06] K. Kotis y A. Vouros. Human-centered ontology engineering: The hcome methodology. Knowl. Inf. Syst., 10(1):109–131, 2006. ISSN 0219-1377. [Kup06] A. Kupfer, S. Eckstein, K.˜Neumann y B. Mathiak. Handling changes of database schemas and corresponding ontologies. En
  • 307. 286 BIBLIOGRAF´IA J. F. Roddick, V. R. Benjamins, S. S. Cherfi, R. H. L. Chiang, C. Claramunt, R. Elmasri, F. Grandi, H. Han, M. Hepp, M. D. Lytras, V. B. Misic, G. Poels, I. Song, J. Trujillo y C. Vangenot, editores, ER (Workshops), tomo 4231 de Lecture Notes in Com- puter Science, p´aginas 227–236. Springer, 2006. ISBN 3-540- 47703-9. [Las02] O. Lassila y D. McGuinness. The role of frame-based rep- resentation on the semantic web. dsl-01-02. Informe t´ecnico, Knowledge Systems Laboratory. Stanford University. Stanford. California, 2002. [Lau04] H. Lausen y M. Stolberg. Semantic web portals - state of the art survey. Informe t´ecnico, DERI, digital Enterprise Research Institute. Technical Report 2004-04-03, April 2004. [Len95] D.B. Lennat. Cyc: a large-scale investment in knowledge infras- tructure. Communications of the ACM , 33(8):33–38, 1995. [Lub07] L. Lubyte y S. Tessaris. Extracting ontologies from relational databases.krdb research centre technical report krdb07-4. In- forme t´ecnico, Faculty of Computer Science, Free University of Bozen-Bolzano, Italy, 2007. [Ma00] Z. Ma, W. J. M., Zhang y W. Y. Ma. Semantic measure of fuzzy data in extended possibility-based fuzzy relational databas- es. International Journal of Intelligent System, 15(8):705–716, 2000. [Ma05] Z. Ma. Fuzzy Database Modeling with XML. Springer, 2005. [Ma06] Z. Ma. Fuzzy Database Modeling of Imprecise and Uncertain Engineering Information. Springer, 2006. [McC05] R. McCool. Rethinking the semantic web, part i. IEEE Internet Computing, p´aginas 86–88, Nov-Dec 2005. [McC06] R. McCool. Rethinking the semantic web, part ii. IEEE Inter- net Computing, p´aginas 93–96, Jan-Feb 2006. [Med94a] J. M. Medina. Bases de Datos Relacionales Difusas: Modelo Te´orico y Aspectos de su Implementaci´on. Tesis Doctoral, De- partamento de Ciencias de la Computaci´on e Inteligencia Artifi- cial, E.T.S. de Ingenier´ıa Inform´atica, Universidad de Granada, Espa˜na, 1994.
  • 308. BIBLIOGRAF´IA 287 [Med94b] J. M. Medina, O. Pons y M. A. Vila. Gefred. a generalized mod- el of fuzzy relational databases. Information Sciences, 76(1- 2):87–109, 1994. [Med95] J. M. Medina, M. A. Vila, J. C. Cubero y O. Pons. Towards the implementation of a generalized fuzzy relational database model. Fuzzy Sets and Systems, 75:273–289, 1995. [Med97] J. M. Medina, O. Pons, J. C. Cubero y M. A. Vila. Freddi: A fuzzy relational deductive database interface. International Journal of Intelligent Systems, 12:597–613, 1997. [Mee01a] R. Meersman. Ontologies and databases: More than a fleeting resemblance. Information Technology and Management. Ed. Springer, Rome Workshop , Luiss Publications(6):97–122, 2001. [Mee01b] R. Meersman. Ontologies and databas- es: More than a fleeting resemblance. cite- seer.ist.psu.edu/article/meersman01ontologies.html, 2001. [Men01] E. Mena y A. Illarramendi. Ontology-based query processing for global information systems. Kluwer Academic Publishers, Norwell, MA, USA, 2001. ISBN 0-7923-7375-8. [Miz95] R. Mizoguchi, J. Vanwelkenhuysen y M. Ikeda. Task ontology for reuse of problem solving knowledge. En Mars N (ed) To- wards Very Large Knowledge Bases: Knowledge Building and Knowledge Sharing (KBKS’95), p´aginas 46–57. University of Twente, Enschede, The Netherlands, IOS Press, 1995. [Myl07] J. Mylopoulos. Ontologies. http://www.cs.toron- to.edu/ jm/2507S/Notes04/Ontologies.pdf, 2007. [Nec91] R.˜Neches, R. Fikes, T. Finin, T. Gruber, R. Patil, T. Senator y W. R. Swartout. Enabling technology for knowledge sharing. AI Mag., 12(3):36–56, 1991. ISSN 0738-4602. [Nic05] A. De Nicola, R.˜Navigli y M. Missikoff. Innovation and Knowl- edge Economy: Issues, Applications, Case Studies, cap´ıtulo Building an eProcurement Ontology with UPON methodolo- gy, p´aginas 177–184. IOS Press, 2005. [Noy04] N. F. Noy. Handbook on Ontologies, cap´ıtulo Tools for Mapping and Merging Ontologies, p´aginas 366–384. Springer, 2004.
  • 309. 288 BIBLIOGRAF´IA [Obe03] D. Oberle, S. Staab, R. Studer y R. Volz. Kaon server demonstrator. WonderWeb Deliverable D7, 2003. Http://wonderweb.semanticweb.org. [Obe04] D. Oberle, R. Volz, B. Motik y S. Staab. An extensible on- tology software environment. En Steffen Staab y Rudi Studer, editores, Handbook on Ontologies, International Handbooks on Information Systems, cap´ıtulo III, p´aginas 311–333. Springer, 2004. [Ont07a] Ontoprise. Ontoedit datasheet 2003. http://electronic- office.de/pdf/ontoprise/ontoedit data sheet.pdf, 2007. [Ont07b] Ontoprise. Ontostudio. http://www.ontoprise.de/content/ e1171/e1249/index eng.html, April 2007. [Ora07] Oracle. Isqlplus web enviroment. http://150.214.108.124/isqlplus, January 2007. [Org07] Open Cascade Organizacion. Dl-workbench. http://projects.opencascade.org/dl-workbench/, April 2007. [otTUoMS07] Ontological Engineering Group (OEG) of the Technical Uni- versity of Madrid (Spain). Webode ontology engineering plat- form. http://webode.dia.fi.upm.es/WebODEWeb/index.html, December 2007. [Pan03] Z. Pan y J. Heflin. Dldb: Extending relational databases to support semantic web queries. En Workshop on Practical and Scaleable Semantic Web Systms, ISWC 2003, p´aginas 109–113. 2003. [Par04] WP8 Partners. Deliverable d8.1. state of the art and state of the practice including initial possible research orientations. Informe t´ecnico, Network of Excellence - Contract no.: IST-508 011, 2004. [Par05] E. Pardede y J. Wenny Rahayu. Impact of new sql standard to database modeling. Encyclopedia of Information Science and Technology. IDEA Publishing, p´aginas 488–494, 2005. [PdL05] C. P´erez de Laborda y S. Conrad. Relational.owl: a data and schema representation format based on owl. En CRPIT ’43: Proceedings of the 2nd Asia-Pacific conference on Conceptual
  • 310. BIBLIOGRAF´IA 289 modelling, p´aginas 89–96. Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 2005. ISBN 1-920-68225-2. [Pet96] F. E. Petry. Fuzzy Databases: Principles and Applications. In- ternational Series in Intelligent Technologies. Kluwer Academic Publishers, 1996. [Pon96] O. Pons, J. M. Medina, J. C. Cubero y A. Vila. An architec- ture for a deductive fuzzy relational database. En Z.W. Ras y M. Michaliewicz, editores, Foundations of Intelligent Systems, tomo 1079 de Lectures Notes in Artificial Intelligence. Springer, 1996. [Pon97] O. Pons, J. M. Medina, J. C. Cubero y M. A. Vila. Flexible Query Answering Systems, cap´ıtulo A fuzzy deductive relation- al database. Kluwer Academic Publishers, 1997. [Pra84a] H. Prade. Lipski’s approach to incomplete information databas- es restated and generalized in the setting of zadeh’s possibility theory. Information Sciences, 9:27–42, 1984. [Pra84b] H. Prade y C. Testemale. Generalizing database relational alge- bra for the treatment of incomplete/uncertain information and vague queries. Information Sciences, (34):113–143, 1984. [Pra87a] H. Prade y C. Testemale. Analysis of Fuzzy Information, to- mo 2, cap´ıtulo Representation of Soft Constraints and Fuzzy At- tribute Values by means of Possibility Distributions in Databas- es. CRC Press, 1987. [Pra87b] H. Prade y C. Testemale. Fuzzy relational databases: Represen- tational issues and reduction using similaruty measures. Jour- nal of American Society for Information Sciences, 38(2):118– 126, 1987. [Pro07] HP Labs Semantic Web Programme. Jena/ a semantic web framework for java. http://jena.sourceforge.net/, 2007. [Raj88] K. V. S. V.˜N. Raju y A. K. Majumdar. Fuzzy functional de- pendencies and lossless join decomposition of fuzzy relational database systems. ACM Transactions on Database Systems, 13(2):129–166, 1988.
  • 311. 290 BIBLIOGRAF´IA [Rib06] R. Ribeiro, F. Batista, J. P. Pardal, N. J. Mamede y H. S. Pinto. Cooking an ontology. En J´erˆome Euzenat y John Domingue, editores, AIMSA, tomo 4183 de Lecture Notes in Computer Sci- ence, p´aginas 213–221. Springer, 2006. ISBN 3-540-40930-0. [Rol05] M.M. Rold´an y J. F. Aldana Montes. A tool for storing owl using database technology. En Bernardo Cuenca Grau, et al. (Eds.). Proceedings of the OWLED ’05 Workshop on OWL: experiences and Directions, Galway, Ireland, November 11-12, 2005, tomo 188, p´aginas 1–10. CEUR-Workshop Proceedings, septiembre 2005. [Rui06] F. Ruiz y J. R. Hilera. Ontologies for Software Engineering and Software Technology, cap´ıtulo Using Ontologies in Software Engineering and Technology, p´aginas 49–102. Springer-Verlag, 2006. [Run89] E. A. Rundensteiner, L. W. Hawkes y W. Bandler. On nearness measures in fuzzy relational data models. International Journal Approximate Reasoning, (3):267–298, 1989. [Sch99] G. Schreiber y R. de Hoog. Knowledge Engineering and Man- agement: The CommonKADS Methodology. MIT Press, 1999. ISBN 0-262-19300-0. 472 pages. [Sha06a] N. Shadbolt, Berners T. Lee y W. Hall. The semantic web revisited. Intelligent Systems, IEEE [see also IEEE Intelligent Systems and Their Applications], 21(3):96–101, 2006. [Sha06b] R. Sharman, R. Kishore y R. Ramesh. Ontologies: A Hand- book of Principles, Concepts and Applications in Information Systems (Integrated Series in Information Systems). Springer- Verlag New York, Inc., Secaucus, NJ, USA, 2006. ISBN 0387370196. [She89] S. Shenoi y A. Melton. Proximity relations in the fuzzy rela- tional databases. Fuzzy sets and Systems, 31(3):285–296, 1989. [She05] A. Sheth, C. Ramakrishnan y C. Thomas. Semantics for the se- mantic web: The implicit, the formal and the powerful. Journal on Semantic Web and Information Systems, 1(1):1–18, Jan- March 2005.
  • 312. BIBLIOGRAF´IA 291 [Spy02] P. Spyns, R. Meersman y M. Jarrar. Data modelling versus ontology engineering. En SIGMOD Record, p´aginas 12–17. September 2002. [Sta04] S. Staab y R. Studer. Handbook on Ontologies. Springer, 2004. [Ste98] G. Steve, A. Gangemi y D. Pisanelli. Integrat- ing medical terminologies with onions methodology. http://saussure.irmkant.rm.cnr.it, 1998. [Sto02] L. Stojanovic, N. Stojanovic y R. Volz. Migrating data-intensive web sites into the semantic web. En SAC ’02: Proceedings of the 2002 ACM symposium on Applied computing, p´aginas 1100– 1107. ACM, New York, NY, USA, 2002. ISBN 1-58113-445-2. [Stu98] R. Studer, VR. Benjamins y D. Fensel. Knowledge engineer- ing: Principles and methods. IEEE Transactions on Data and Knowledge Engineering, 25(1-2):161–197, 1998. [Su02] X. Su y L. Ilebrekke. A comparative study of ontology languages and tools. En CAiSE 2002, p´aginas 761–765. 2002. [Sur04] Y. Sure, S. Staab y R. Studer. Handbook on Ontologies, cap´ıtu- lo On-To-Knowledge Methodology, p´aginas 117–132. Springer, 2004. [Sur06] Y. Sure, C. Tempich y D. Vrandecic. Semantic Web Technolo- gies, trends and research in ontology-based systems, cap´ıtulo Ontology Engineering Methodologies, p´aginas 171–190. Wiley, 2006. [Swa96] B. Swartout, R. Patil, K. Knight y T. Russ. Toward distributed use of large-scale ontologies. En the 10th Workshop on Knowl- edge Acquisition. Banff, Canada, 1996. [Tij05] Y. A. Tijerino, D. W. Embley, D. W. Lonsdale, Y. Ding y G.˜Nagy. Towards ontology generation from tables. World Wide Web, 8(3):261–285, 2005. ISSN 1386-145X. [Tri06] Q. Trinh, K. Barker y R. Alhajj. Rdb2ont: A tool for gen- erating owl ontologies from relational database systems. En AICT/ICIW , p´agina 170. 2006. [Uma80] M. Umano, S. Fukami, M. Mizumoto y K. Tanaka. Retrieval processing from fuzzy databases. Informe t´ecnico, IECE, Jap´on, 1980.
  • 313. 292 BIBLIOGRAF´IA [Uma82a] M. Umano. Freedom-o: A fuzzy database system. En M. Gupta y E. Sanchez, editores, Fuzzy Information and Decision Process- es, p´aginas 339–347. North-Holland, Amsterdam, Pub. Comp., 1982. [Uma82b] M. Umano. Fuzzy Information and Decision Processes, cap´ıtu- lo FREEDOM-0: A Fuzzy Database System, p´aginas 339–347. North Holland Pub. Co., 1982. [Uma94] M. Umano y S. Fukami. Fuzzy relational algebra for possibility- distribution-fuzzy-relational model of fuzzy data. Journal of Intelligent Information Systems, 3:7–28, 1994. [Unc04] M. Unchold y M. Gruninger. Ontologies and semantics for seamless connectivity. SIGMOD Record, 33(4):58–64, 2004. [Uni07a] Open University. Webonto. http://kmi.open.ac.uk/projects/webonto/, 2007. [Uni07b] Stanford University. Chimaera, April 2007. [Uni07c] Stanford University. Chimaera. http://www.ksl.stanford.edu/software/chimaera/, April 2007. [Uni07d] Stanford University. Ontolingua. http://www.ksl.stanford.edu/software/ontolingua/, April 2007. [Upa05] S. R. Upadhyaya y P. S. Kumar. Eronto: a tool for extract- ing ontologies from extended e/r diagrams. En SAC ’05: Pro- ceedings of the 2005 ACM symposium on Applied computing, p´aginas 666–670. ACM, New York, NY, USA, 2005. ISBN 1- 58113-964-0. [Usc95] M. Uschold. Towards a methodology for building ontologies. citeseer.ist.psu.edu/uschold95toward.html, 1995. [Usc96] M. Uschold y M. Gr¨uninger. Ontologies: principles, methods, and applications. Knowledge Engineering Review, 11(2):93– 155, 1996. [vH97] G. van Heijst, Ath. Schereiber y BJ. Wielinga. Using explicit on- tologies in kbs development. International Journal of Human- Computer Studies, (45):193–292, 1997.
  • 314. BIBLIOGRAF´IA 293 [Vys06] E. Vysniauskas y L.˜Nemuraite. Transforming ontology repre- sentation from owl to relational database. Information Tech- nology and Control, 35(3A):333–343, 2006. [W3C99] W3C Recommendation, http://www.w3.org/RDF/. Resource Description Framework (RDF), february 1999. [w3c06] World wide web consortium. http://www.w3.org/, 2006. [wg08] ESSI WSMO working group. Wsmo studio. http://www.wsmostudio.org/, January 2008. [Wik07] Wikipedia. Looking for: Ontology. www.wikipedia.org, Decem- ber 2007. [Xu04] Z. Xu, X. Cao, Y. Dong y W. Su. Formal approach and auto- mated tool for translating er schemata into owl ontologies. En PAKDD, p´aginas 464–475. 2004. [Yab07] L. Yabloko y Next Generation Software. Ontobase plug-in for prot´eg´e. http://www.ontospace.net/pages/3/index.htm, April 2007. [Yag78] R. R. Yager. Ranking fuzzy subsets over the unit interval. En Proceedings of CDC, p´aginas 1435–1437. 1978. [Yag81] R. R. Yager. A procedure for ordering fuzzy subsets of the unit interval. Information Sciences, 24:143–161, 1981. [You06] S. Youn y D. McLeod. Ontology development tools for ontology- based knowledge management. IDea Group, 2006. [Zad65] L. A. Zadeh. Fuzzy sets. Information and Control, 83:338–353, 1965. [Zad75] L. A. Zadeh. The concept of a linguistic variable and its applica- tion to approximate reasoning. Information Sci., 8:(8) 199–248, 301–357, (9) 43–80, 1975. [Zem84] M. Zemankova y A. Kandel. Fuzzy Relational Databases - A Key to Expert Systems. Verlag TUV Rheinland, 1984. [Zem85] M. Zemankova y A. Kandel. Implementing imprecision in in- formation systems. Information Sciences, 37:107–141, 1985.
  • 315. 294 BIBLIOGRAF´IA [Zha07] J. Zhang. Ontology and the semantic web. En Proceedings of the North American Symposium on Knowledge Organization, tomo 1. 2007.