Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INFORMTICA
TESIS DOCTORAL
A mis padres
Agradecimientos
EEstas lneas que, aunque estn al principio de la memoria, se suelen escribir las ltimas, son
agradables de componer no slo porque se ve el trabajo de varios aos ya terminado, sino
tambin porque se elaboran mientras se recuerda que el camino no se ha andado en solitario.
Del mismo modo, tambin es emocionante reconocer que la tesis es, en parte, el resultado de
la fe en la persona que te gua. Por esta razn, debo empezar forzosamente mostrando mi
agradecimiento a la directora de este trabajo, Asuncin Gmez Prez. Ha sido incansable
revisora, oportuna consejera, psicloga y, en definitiva, apoyo tenaz y permanente.
En el apartado de atencin de dudas y observaciones, no pueden faltar: Natalia Juristo y
Juan Pazos, de quienes estoy agradecido por sus sugerencias despus de revisar la memoria
de la tesis; Nicola Guarino, que, muy amablemente, estuvo dispuesto a resolver dudas y
proporcionar ideas; Carlos Linares, por hacer el papel de enciclopedia informtica en los
primeros tiempos de este trabajo; los miembros de la Unidad Docente de Ingeniera del
Software, especialmente Hernn llariuzzi, pues me han aconsejado durante el desarrollo de
ODE, y han puesto a mi disposicin toda la documentacin tcnica que me ha hecho falta;
Alvaro Snchez Ladrn de Guevara, quien ha sido el consultor sobre estilo y lenguaje; los
profesores que he tenido en los cursos de mster y de doctorado, que han compartido conmigo
sus conocimientos; y aquellos que, en la prelectura, me dieron consejos, en pblico o en
privado.
Tambin debo agradecer su labor en este trabajo a: Mercedes Blzquez, Juan Manuel
Garca y scar Corcho, miembros del equipo de desarrollo del entorno software que da soporte
tecnolgico al mtodo presentado; y a Mara Dolores Rojas, Paloma Pinilla, Ester Mohedano y
el resto de las personas que han hecho posible la validacin de las ideas presentadas en esta
tesis.
Por otra parte, en la ayuda de los imprevistos y del da a da, deben estar necesariamente:
David Marn, Alberto Cruz, Socorro Bernardos, Araceli Jimnez, Julio Arprez y otros miembros
del Laboratorio de Inteligencia Artificial. Tampoco debo omitir a Lucio Rodrguez Czar, que me
ha ofrecido cualquier material que ha estado a su disposicin para facilitar el trabajo que ahora
presento.
Asimismo, puesto que una tesis doctoral requiere un trabajo con calma y sin precipitacin,
debo expresar mi reconocimiento a quienes me han ayudado a tener un trabajo que me ha
permitido, no slo satisfacer mi vocacin docente, sino tambin tener un respaldo econmico
suficiente como para no estar obligado a obtener resultados apresurados. En este punto debo
citar a: la Universidad Pontificia de Salamanca, Gustavo Lpez (el director del Departamento
de Electrnica y Comunicaciones de dicha universidad), Pepa Hernndez, Genoveva Lpez, y
el Laboratorio de Inteligencia Artificial. En este sentido, adems de ayuda, tambin he recibido
valiosos consejos de distintas personas, entre ellas Doa Pepita (la Seora) y Sofa Pinto, para
poder llegar a un punto de equilibrio entre economa y tiempo de dedicacin a la tesis.
Adems, en esta lista de agradecimientos, deben estar mis hermanas, Mara y Ana, mi
familia en general, los amigos, e incluso muchos conocidos, que han sido ese pblico que
anima como se anima a un deportista para ayudarle a decidir el juego a su favor.
Por ltimo, es decir, a mi entender en la ubicacin ms distinguida de los agradecimientos
Cunto con el principio), debo incluir a mis padres, quienes me han dado apoyo moral y, a veces,
econmico para hacerle frente a los momentos peores.
Resumen
Una ontologa proporciona una terminologa unificada, completa y coherente de un
determinado dominio que puede ser utilizada de manera consistente, precisa y adecuada en
diferentes aplicaciones.
Para construir ontologas, se han elaborado distintas metodologas en los ltimos aos. Sin
embargo, salvo METHONTOLOGY, ninguna de ellas propone y describe una etapa de
conceptualizacin. Esta situacin en el plano metodolgico se proyecta en el plano tecnolgico.
Los entornos de desarrollo de ontologas estn pensados para codificar las ontologas
directamente en los lenguajes de implementacin, sin realizar una etapa de conceptualizacin
previa. Esto origina que, durante el desarrollo de las ontologas, se aborden dos problemas
simultneamente, uno de modelizacin y otro puramente tecnolgico, pues quienes estn
desarrollando la ontologa analizan los conocimientos considerando, en todo momento, la
tecnologa que se utiliza para implementarlos.
Por otra parte, tal y como se ha comprobado en este trabajo, diferentes ontologas tienen
distintas necesidades de modelizacin; no obstante, los entornos software de desarrollo de
ontologas utilizan esquemas de modelizacin fijos y predeterminados.
Las aportaciones que se hacen en este trabajo para enmendar las carencias expuestas
anteriormente se pueden resumir en:
1. Elaboracin de un mtodo bi-fase de conceptualizacin flexible de ontologas. En
la primera fase se especifica, se conceptualiza, se formaliza y se implementa el esquema
de conceptualizacin que se va a seguir durante el desarrollo de la ontologa de dominio
y, en la segunda fase, se conceptualiza e implementa la ontologa de dominio siguiendo
el esquema descrito en la fase anterior.
Para llevar a cabo la conceptualizacin del esquema de conceptualizacin sobre el
cual se construir la ontologa de dominio, en este trabajo se propone un mtodo para
elaborar meta-modelos conceptuales que definan declarativamente esquemas de
conceptualizacin en el nivel de conocimientos. Adems, se ha elaborado un lenguaje
formal para formalizar los meta-modelos en el nivel simblico llamado LBIR
{Language for Building Intermedate Representations). Este lenguaje formal es tan
expresivo como la notacin utilizada para crear meta-modelos conceptuales.
Con el propsito de facilitar la construccin de meta-modelos, se propone un
esquema de conceptualizacin de referencia, al cual se pueden aadir o quitar
elementos de conceptualizacin segn las necesidades de modelizacin de una
ontologa concreta. Tal esquema de conceptualizacin est expresado formalmente en
LBIR, y permite modelizar los mismos componentes que la parte esttica de los
lenguajes clsicos de implementacin de ontologas.
Design
Environment
(ODE).
Este
entorno
software
automatiza
la
Abstract
An ontology provides an unified, complete and coherent terminology o a given domain that
can be used in a consistent, accurate and suitable way in different applications.
During the last years, different methodoogies have been elaborated for building ontologies.
Nevertheless, except METHONTOLOGY, there is no methodology proposing and describing a
conceptualisation phase. This situation at metliodological level is projected at technologica
leve!. Technologica environments for developing ontologies are thought for codifying ontologies
directly using implementation languages, without carrying out a previous conceptualisation
phase. This provokes that two problems are tackied simultaneously during the development of
an ontology, one of modeiisation and another purely technologica. Indeed, the knowledge is
analysed considering, all the time, the technology to be used for implementing this knowledge.
On the other hand, as it is presented in this work, different ontologies have different needs of
modeiisation. However, software environments for developing ontologies use fixed and
predetermined modeiisation schemas.
The contributions of this work for correcting the exposed shortages can be summarised in
the following way:
1. Elaboration of a bi-phase method for conceptuaiising ontologies. In the first phase,
the
specification,
conceptualisation,
formalisation
and
implementation
of
the
of
the
conceptualisation
schema. These
meta-models
define
IfDICE
1.
INTRODUCCIN
1.1
CONSTRUCCIN DE ONTOLOGAS EN EL NIVEL DE CONOCIMIENTOS
1.2
PROPUESTA DE UN ESQUEMA DE CONCEPTUALIZACIN EXPRESIVO
1.2.1 OBTENCIN DEL ESQUEMA DE REFERENCIA
1.2.2 EXPRESIVIDAD DEL ESQUEMA DE REFERENCIA
1.3
PROPUESTA DE UN MTODO BI-FASE DE CONCEPTUALIZACIN
1.4
ORGANIZACIN DE LA MEMORIA
2. ESTADO DE LA CUESTIN
2.1
INTRODUCCIN
2.2
COMPONENTES DE LAS ONTOLOGAS
2.3
METODOLOGAS PARA EL DESARROLLO DE ONTOLOGAS Y SUS
PROPUESTAS PARA CONCEPTUALIZAR
2.3.1 CYC
2.3.2 METODOLOGA DE USCHOLD YKING
2.3.3 METODOLOGA DE GRNINGER Y FOX.
2.3.4 EL ENFOQUE DE AMAYA BERNARAS Y SUS COLABORADORES
2.3.5 LA METODOLOGA BASADA EN SENSUS
2.3.6 METHONTOLOGY
2.3.7 CONCLUSIONES, ORIENTADAS A LA CONCEPTUALIZACIN, SOBRE LAS
METODOLOGAS
2.4
ENTORNOS SOFTWARE PARA EL DESARROLLO DE ONTOLOGAS
2.4.1 CYC
2.4.2 ELONTOLINGUASERVER
2.4.3 ONTOSAURUS
2.4.4 TADZEBAO-WEBONTO
2.4.5 PROTEGE 2000
2.4.6 EVALUACIN DE LOS ENTORNOS SOFTWARE PARA EL DESARROLLO DE
ONTOLOGAS
2.4.7 CONCLUSIONES SOBRE LOS ENTORNOS SOFTWARE
2.5
LOS LENGUAJES CLSICOS PARA LA IMPLEMENTACIN DE ONTOLOGAS
2.5.1 ONTOLINGUA
2.5.2 EL LENGUAJE UTILIZADO EN EL OKBC
2.5.3 OCML
2.5.4 FLOGIC
2.5.5 LOOM
2.5.6 SNTESIS SOBRE LA EXPRESIVIDAD DE LOS LENGUAJES
2.6
CONCLUSIONES SOBRE EL ESTADO DE LA CUESTIN
3. PLANTEAMIENTO
3.1
INTRODUCCIN
3.2
VOCABULARIO
3.3
VISIN GENERAL DE LA SOLUCIN PROPUESTA
3.4
APORTACIONES PRINCIPALES DEL TRABAJO
3.5
HIPTESIS DE TRABAJO
4. DESCRIPCIN DETALLADA DE LA SOLUCIN
4.1
INTRODUCCIN
4.2
ESPECIFICACIN DEL ESQUEMA DE CONCEPTUALIZACIN
4.2.1 INTRODUCCIN
4.2.2 ANLISIS DE LA EXPRESIVIDAD DE LOS ESQUEMAS
4.2.2.1 INTRODUCCIN
4.2.2.2 ENTRADAS
4.2.2.3 PRODUCTOS OBTENIDOS
4.2.2.4 PROCEDIMIENTO PARA LLEVAR A CABO LA TAREA
4.2.2.5 QUINES INTERVIENEN EN LA TAREA
1
3
9
9
10
11
14
17
19
21
22
22
23
24
25
26
27
29
30
30
30
31
31
32
32
36
37
37
38
38
39
39
40
41
45
47
47
48
52
55
57
58
58
58
60
60
61
61
61
62
LBIR
147
4.5.2.3.2 Extensin propuesta para el modelo entidad-relacin
147
4.5.2.4 PROCEDIMIENTO PARA LLEVAR A CABO LA TAREA
148
4.5.2.5 QUINES INTERVIENEN EN LA TAREA
150
4.5.2.6 EJEMPLO DE GENERACIN DE UN ESQUEMA ENTIDAD RELACIN A
PARTIR DE UN META-MODELO EN LBIR
150
4.5.3 DISEO DEL ESQUEMA DE DATOS
152
4.5.3.1 INTRODUCCIN
152
4.5.3.2 ENTRADAS
152
4.5.3.3 PRODUCTOS OBTENIDOS
152
4.5.3.4 PROCEDIMIENTO PARA LLEVAR A CABO LA TAREA
153
4.5.3.4.1 Reglas de generacin de las tablas y las vistas del esquema relacional
153
4.5.3.4.2 Ejemplo de generacin de tablas y las vistas del esquema relacional
155
4.5.3.4.3 Generacin de las reglas de consistencia expresadas en lgebra relacional
156
4.5.3.4.4 Ejemplo de generacin de las reglas de verificacin de la consistencia en lgebra
relacional
157
4.5.3.4.5 Propiedades del esquema relacional obtenido a partir de cualquier meta-modelo
en LBIR
158
4.5.4 IMPLEMENTACIN DEL ESQUEMA DE DATOS
159
4.5.4.1 INTRODUCCIN
159
4.5.4.2 ENTRADAS
159
4.5.4.3 PRODUCTOS OBTENIDOS
159
4.5.4.4 PROCEDIMIENTO PARA LLEVAR A CABO LA TAREA
159
4.5.4.5 QUINES LLEVAN A CABO LA TAREA
160
4.5.5 CONCLUSIONES SOBRE LA IMPLEMENTACIN DEL ESQUEMA DE
CONCEPTUALIZACIN.
160
4.6
CONCEPTUALIZACIN DE LA ONTOLOGA DE DOMINIO
160
4.6.1 INTRODUCCIN
160
4.6.2 ENTRADAS
161
4.6.3 PRODUCTOS A OBTENER
162
4.6.4 PROCEDIMIENTO PARA LLEVAR A CABO LA TAREA
162
4.6.5 QUINES INTERVIENEN EN LA TAREA
163
4.7
IMPLEMENTACIN DE LA ONTOLOGA DE DOMINIO
163
4.7.1 INTRODUCCIN
163
4.7.2 ESTUDIO DEL LENGUAJE DESTINO.
163
4.7.2.1 INTRODUCCIN
163
4.7.2.2 ENTRADAS
163
4.7.2.3 PRODUCTOS OBTENIDOS
163
4.7.2.4 PROCEDIMIENTO PARA LLEVAR A CABO LA TAREA
165
4.7.2.5 QUINES INTERVIENEN EN LA TAREA
165
4.7.3 ESPECIFICACIN DE LAS REGLAS DE GENERACIN DE CDIGO
165
4.7.3.1 INTRODUCCIN
165
4.7.3.2 ENTRADAS
165
4.7.3.3 PRODUCTOS OBTENIDOS
165
4.7.3.3.1 DESCRIPCIN
165
4.7.3.3.2 EJEMPLO BREVE
166
4.7.3.4 PROCEDIMIENTO PARA LLEVAR A CABO LA TAREA
170
4.7.3.5 QUINES LLEVAN A CABO LA TAREA
170
4.7.4 CONSTRUCCIN DEL TRADUCTOR CONCEPTUALIZACIN-IMPLEMENTACIN... 170
4.7.4.1 INTRODUCCIN
170
4.7.4.2 ENTRADAS
171
4.7.4.3 PRODUCTOS A OBTENER
171
4.7.4.4 PROCEDIMIENTO PARA LLEVAR A CABO LA TAREA
171
4.7.4.5 QUINES LLEVAN A CABO LA TAREA
171
4.7.4.6 GENERACIN DE CDIGO
171
4.7.5 CONCLUSIONES SOBRE LA IMPLEMENTA CIN DE LA ONTOLOGA DE DOMINIO 171
4.8
172
172
174
176
177
179
199
209
213
ANEXOS
I VISIN GENERAL DEL LENGUAJE ONTOLINGUA
1-3
LIKIF
1-3
1.2 EL LENGUAJE ONTOLINGUA
1-3
1.2.1 ELEMENTOS DEL LENGUAJE
1-4
1.2.2 FORMATO DE UNA ONTOLOGA EN ONTOUNGUA
1-6
II EJEMPLO DE CONCEPTUALIZACIN CON EL ESQUEMA DE REFERENCIA
II-3
i n GRAMTICAS DE LOS CAMPOS, LOS VRTICES Y LOS ARCOS
III-3
m . l GRAMTICAS DE LOS CAMPOS DE LAS TABLAS
III-3
III.2 GRAMTICAS DE LOS VRTICES Y DE LOS ARCOS DE LOS GRAFOS
III-IO
IV GRAMTICA DE LAS REGLAS DE CONSISTENCIA
IV-3
V EL ESQUEMA DE REFERENCIA EN LBIR
V-3
VI PATRONES DE TRADUCCIN DEL ESQUEMA DE REFERENCIA A ONTOLINGUA.... VI-3
VLl GENERACIN DE LA CABECERA DE LA ONTOLOGA
VI-3
VI.2 GENERACIN DE LAS CLASES
VI-4
VI.3 GENERACIN DE RELACIONES
VI-6
Vl.3.1
GENERACIN DE RELACIONES A PARTIR DE ATRIBUTOS DE INSTANCIA
VI-6
Vl.3.2
GENERACIN DE RELACIONES A PARTIR DE LOS ATRIBUTOS DE CLASE.
VI-8
VI.3.3
GENERACIN DE RELACIONES A PARTIR DE LAS RELACIONES BINARIAS
VI-8
VI.4 GENERACIN DE AXIOMAS
VI-9
VI.5 GENERACIN DE FUNCIONES
VI-11
VI.6 GENERACIN DE INSTANCIAS
VI-12
VI.6.1
GENERACIN DE INSTANCIAS A PARTIR DE LA TABLA DE INSTANCIAS
VI-12
VI.6.2
GENERACIN DE INSTANCIAS A PARTIR DLAS CONSTANTES
VI-13
VI.7 TRADUCCIN DE LAS EXPRESIONES
VM4
1. INTRODUCCIN
Captulo 1. Introduccin
Captulo 1. Introduccin
Dominio de la
aplicacin (N)
T,
Modelos
conceptuales (C)
\
\
T
Modelos
\ formalizados (I^
Tj
<
Dominio de la
aplicacin (I).
Figura 1.1. Modelo de proceso esencial del software (adaptado de Gmez Prez y colegas [Gmez Prez
et al.; 97] y de Blum [Blum, 96])
Captulo 1. Introduccin
en: sistemas de agentes [Luke et al.; 97]; sistemas de gestin de conocimientos [Domingue et
al.; 00]; plataformas de comercio electrnico [McGuinness, 99], [Fensel, 00]; generacin de
lenguaje natural [Aguado et al.; 98]; extraccin de informacin a partir de textos [AussenacGilles et al.; 00], [Maedche et al.; 00]; etc.
Para construir ontologas, se han propuesto distintas metodologas en los ltimos aos: la
metodologa utilizada en el desarrollo de Cyc [Lenat et al.; 90], la de Uschold y King [Uschold et
al.; 95], la de Grninger y Fox [Grninger et al.; 95], la de Bernaras y sus colaboradores
[Bernaras et al.; 96], la metodologa utilizada en SENSUS [Swartout et al.; 97], y
METHONTOLOGY [Fernndez et al.; 97], [Gmez Prez, 98a], [Fernndez Lpez et al.; 99],
que es la metodologa para desarrollo de ontologas
elaborada en el Laboratorio de
de
ontologas
no
haya,
generalmente,
una
fase
de
conceptualizacin.
Captulo 1. Introduccin
Captulo 1. Introduccin
Este ejemplo muestra que a menos que la persona que examine el cdigo est muy
familiarizada con el lenguaje Ontolingua, entender las definiciones y escribir otras nuevas es
casi imposible y, aun teniendo xito en esta tarea, se necesitara mucho esfuerzo para llevarla
a cabo. El problema no es entender que la densidad a 20 -C es igual al peso atmico dividido
por el volumen atmico a esos mismos 20 -C, sino escribir esto en el lenguaje destino. Por
consiguiente, algo que es aparentemente muy sencillo en el nivel de conocimientos, es muy
complicado cuando se expresa en el nivel de implementacin, si no se est familiarizado con el
lenguaje. Por ello, las ontologas son construidas exclusivamente por ingenieros que son
buenos conocedores de los lenguajes en que stas se implementan. Como estos ingenieros no
son necesariamente entendidos en el dominio, el esfuerzo en la adquisicin de conocimientos
puede ser muy elevado.
Se puede decir, por tanto, que a pesar de que uno de los propsitos ms importantes para
la construccin de ontologas es el de aliviar el problema del enorme coste que supone la
adquisicin en los SS.BB.CC, este objetivo slo se consigue parcialmente.
Para atenuar los inconvenientes derivados de la construccin de ontologas en el nivel
simblico, en este trabajo se presenta un mtodo de conceptualizacin de ontologas, en el
nivel de conocimientos, que permite la utilizacin de elementos de conceptualizacin (EE.CC)
grficos y tabulares que son fciles de entender, y de manejar por personas no conocedoras de
los lenguajes de implementacin de ontologas.
Ahora bien, esta manera de conceptualizar tiene, al menos, dos inconvenientes: es
necesario, tal y como se muestra en la
Captulo 1. Introduccin
Adquisicin
^r
Conceptualizacin
^r
Formalizacin
^r
+
^f
Implementacin
Figura 1.2.a
Adquisicin
Adquisicin
V
Conceptualizacin
--i
ConL.ptujI/iLion
Implementacin
Implementacin
r)
F igura 1.2 .b
Captulo 1. Introduccin
90], Epikit, IDL de CORBA [Mowbray et al.; 95], PROLOG, CLIPS y KIF puro) [Farqhuar et al.
96].
Por otra parte, en la evaluacin de ontologas, en ODE se harn aportes importantes con
respecto a los entornos software de desarrollo de ontologas ms conocidos actualmente. En
general, en los entornos software actuales, se hace una pobre evaluacin en el nivel simblico;
sin embargo, con ODE, la evaluacin se llevar a cabo en el nivel de conocimientos. De
hecho, ODE comprobar una gran cantidad de reglas de verificacin de la consistencia del
modelo conceptual por lo que los errores en la conceptualizacin no se arrastran a la
implementacin. Adems, los entendidos del dominio de una ontologa cualquiera podrn
validar el modelo conceptual de dicha ontologa, dado que les resulta comprensible.
Para acotar el alcance de este trabajo, el mtodo se ha aplicado a ontologas de dominio,
es decir, ontologas especficas para un dominio concreto [van Heist et al.; 97], como puede
ser: qumica, geologa, comercio electrnico, etc.; en contraste con ontologas de aplicacin, es
decir, aquellas que contienen las definiciones necesarias para modelizar los conocimientos
requeridos para una aplicacin particular; en contraste tambin con las ontologas genricas,
es decir, aquellas que definen trminos para muchos campos (por ejemplo, estado, evento,
accin, etc.); y en contraste con ontologas de representacin, o lo que es lo mismo, aquellas
que describen las primitivas de representacin {clase, subclase de, instancia, etc.) que se usan
para representar el resto de las ontologas. Adems, el mtodo se ha aplicado para modelizar
conocimientos estticos.
Captulo 1. Introduccin
10
Captulo 1. Introduccin
desarrollar ontologas, por ejemplo XML [Bray et al, 98] o RDF [Lassila et al, 99], porque son
menos expresivos que los lenguajes tradicionales [Corcho et al.; 00].
En el presente trabajo se mostrar que el esquema de referencia puede modelizar los
mismos componentes que la unin de la parte esttica de los lenguajes clsicos de desarrollo
de ontologas.
1.3 PROPUESTA
DE
UN
CONCEPTUALIZACIN
MTODO
BI-FASE
DE
A lo largo de la investigacin que ahora se presenta, se ha pretendido elaborar un mtodo bifase de conceptualizacin flexible, a la medida y computable utilizando meta-modelos
definidos de manera explcita y declarativa. En este apartado 1.3 se exponen estas
caractersticas del mtodo.
En primer lugar, aunque es cierto que el esquema de referencia es cada vez ms estable, y
es muy expresivo e intuitivo, la utilizacin de un esquema prefijado sin posibles modificaciones
tiene los siguientes inconvenientes:
1. No es seguro que el esquema de referencia vaya a ser definitivo. Cabe la posibilidad de
que nuevas necesidades de modelizacin provoquen cambios en el esquema.
2. No todos los EE.CC con todos sus componentes se necesitan para todas las ontologas.
La experiencia a lo largo del trabajo que aqu se presenta ha mostrado que la utilizacin
de elementos superfluos pueden hacer engorrosa la conceptualizacin.
En consecuencia, se ha decidido dar la posibilidad de definir esquemas de conceptualizacin
a la medida. Se tiene as un mtodo flexible, pues se adapta a las necesidades de
modelizacin de cada ontologa.
La definicin de esquemas de conceptualizacin se hace de manera explcita, por lo que se
tienen las ventajas que se presentan a continuacin:
1. Se facilita a construccin de ontologas parparte de diferentes grupos. El hecho de que
haya un acuerdo en los EE.CC a utilizar y la manera de utilizarlos facilita la integracin
de componentes de conocimientos construidos por distintos grupos.
2. La reutilizacin de ontologas es ms sencilla. Al estar explcitos los mecanismos de
modelizacin, se pueden identificar de manera clara y precisa las similitudes y
diferencias entre meta-modelos de ontologas de dominio.
3. Se posibilita la realizacin de una conceptualizacin computable. Para ello tambin se
exige que los esquemas de conceptulazacin se tengan de manera formal.
Asimismo, para independizar la definicin de los esquemas del programa que los procesa,
estos esquemas se definen de manera declarativa. De esta manera, es posible construir un
11
Captulo 1. Introduccin
NIVEL DE
CONOCIMIENTOS
NP/ELSIMBOUCO
Especificacin
(en lenguaje
natural)
Conceptualizacin
(con tablas y
grifos)
Formalizacin
(utilizando
LBIR)
Implementacin
(en SQL)
Especificacin
(en lenguaje
natural)
Conceptualizacin
(con tablas y
grafos)
Formalizacin
(p.e. marcos)
Implementacin
(p.e. Ontolingua)
Ahora bien, las tablas y grafos utilizados para especificar meta-modelos conceptuales no las
puede procesar directamente un computador. Por consiguiente, para poder darle soporte
tecnolgico a la elaboracin y manipulacin de meta-modelos, es necesario expresarlos en un
lenguaje formal. Esto ha provocado que en este trabajo se haya elaborado un lenguaje formal
para
especificar
meta-modelos,
el
LBIR
{Language
for
Building
Intermedate
Representations). Se mostrar en este trabajo que LBIR tiene la misma expresividad que el
mtodo de especificacin de meta-modelos conceptuales que utiliza tablas y grafos. Para
procesar LBIR, tambin se utilizar ODE, que puede transformar un meta-modelo expresado
en LBIR en un esquema de datos computable, lo cual ha llevado a superar una dificultad
tecnolgica importante, pues en los sistemas clsicos, el esquema de datos se elabora,
prcticamente siempre, en tiempo de diseo, mientras que en ODE se hace en tiempo de
implementacin. Por otra parte, como este esquema de datos sigue el modelo relacional (se
implementa en SQL), se ha hecho otro aporte tecnolgico importante, esta vez dentro del
campo de las ontologas, que consiste en almacenar las ontologas en bases de datos
relacinales, en vez de utilizar ficheros ASCII, que es lo que utilizan los entornos anteriores a
ODE. Tal y como se explicar ms adelante, el almacenamiento en bases de datos
relacinales tiene ventajas importantes. No obstante, aunque en este trabajo se proponga la
utilizacin de bases de datos relacinales, LBIR es independiente de la tecnologa utilizada en
el almacenamiento de ontologas, es decir, diferentes grupos pueden utilizar el mismo esquema
12
Captulo 1. Introduccin
en LBIR, que es computable, y usar una tecnologa distinta para procesarlo y guardar las
ontologas.
Se puede decir, por tanto, que segn este planteamiento, las ontologas de dominio tienen
las fases de especificacin y conceptualizacin (en el nivel de conocimientos), y de
formalizacin e implementacin de ontologas (en el nivel simblico) tanto en el plano de la
modelizacin de esquemas de conceptualizacin, como en el plano de la ontologa a
desarrollar.
El mtodo bi-fase propuesto tiene las caractersticas que se han establecido al principio del
apartado, pues:
1. La notacin utilizada en los pasos de la primera fase del mtodo permiten la definicin de
esquemas de manera declarativa y explcita. Adems, se tienen estos esquemas
expresados de manera formal.
2. La flexibilidad est garantizada por el hecho de tener una primera fase de definicin del
esquema de conceptualizacin que permite su adaptacin a cada ontologa.
Tal y como se ha dicho anteriormente, de las caractersticas anteriores se deduce: que la
conceptualizacin sea computable; que el mtodo sea flexible; y que se pueda tener un
software, tambin flexible, que d soporte tecnolgico al mtodo.
En la Figura 1.3, las fases de especificacin y de formalizacin de ontologas aparecen sin
resaltar. En el primer caso se debe a que la especificacin de la ontologa no se considera
dentro de la conceptualizacin, sino como una fase distinta. En el segundo caso se debe a que,
tal y como se ha dicho en el punto 1.1, ODE permite pasar directamente de la
conceptualizacin de ontologas a su implementacin, es decir, se elaboran modelos
conceptuales computables.
al lenguaje
Ontolingua
[F-arquhar et al.; 96] cualquier ontologa descrita segn el esquema de referencia. De esta
forma, cuando se conceptualiza segn este esquema, y se desea tener la ontologa en
Ontolingua o en cualquiera de los lenguajes para los que hay traductores desde Ontolingua, no
se requiere la etapa de formalizacin. Se puede decir, por tanto, que una visin general de
ODE es la que se presenta en la Figura 1.4. El mdulo LBIR recibe la especificacin de metamodelos en LBIR elaborada por personas que son, al mismo tiempo, entendidas en
conceptualizacin y conocedoras del LBIR. Este mismo mdulo genera un esquema de datos
en SQL. Por otra parte, el mdulo que permite conceptualizar el dominio de la ontologa (Core)
da la posibilidad de que una persona que no conozca el lenguaje en que se va implementar la
ontologa la conceptualice siguiendo uno de los meta-modelos. Adems, el Core almacena las
ontologas conceptualizadas siguiendo el esquema SQL obtenido del meta-modelo elegido, y
da la posibilidad de traducir la ontologa a Ontolingua.
Tanto el mtodo aqu presentado, como el entorno software, se han probado con la
construccin de 13 ontologas, en el proyecto europeo IST-1999-10589 MKBEEM, la iniciativa
13
Captulo 1. Introduccin
Especificacin de
meta-modelo en
LffiR
Respuesta del
procesamiento del
modelo
Procesamiento
deLBIR
Cdigo Ontolingua
META-MODELOS
EN SQL
ONTOLOGAS EN
SQL
1.4ORGANIZACIN DE LA MEMORIA
Las partes de que consta esta memoria, adems de la bibliografa y los anexos, sern las
siguientes:
2. Estado de la cuestin. Se mostrar la situacin actual en el rea del desarrollo de
ontologas
desde
el
punto
de
vista
metodolgico
(haciendo
hincapi
en
la
14
Captulo 1. Introduccin
Se
sintetizar
la
contribucin
de
este
trabajo
dentro
de
la
conceptualizacin de ontologas.
7. Lneas futuras. Donde se expondrn los trabajos que pueden surgir a partir del actual.
15
2.ESTADO DE LA CUESTIN
17
2.1
INTRODUCCIN
A la hora de estudiar cualquier rea del conocimiento, es conveniente tener en mente sus
fundamentos bsicos, sus contribuciones metodolgicas y tecnolgicas, las notaciones
utilizadas, y las aplicaciones del rea. De todos estos aspectos, se han incluido los siguientes:
1. Dentro de los fundamentos bsicos, se han presentado los componentes de las
ontologas. A la hora de identificar estos componentes, se tomarn como base los
identificados por Gruber [Gruber, 93], que coinciden en bastante medida con los que
aparecen
en
las
ontologas
codificadas
utilizando
los
lenguajes
clsicos
de
19
Componentes de las
ontologas
APORTACIONES
DEL TRABAJO
Estudio de la
expresividad de los
elementos de
conceptualizacin
propuestos
Metodologas para el
desarrollo de
ontologas y sus
propuestas para
conceptu alizar
Mtodo flexible de
coneptualizacin de
ontologas
Entornos software
para el desarrollo de
ontologas
El entorno de
desarrollo ODE para
construir ontologas
en el nivel de
conocimientos
Lenguajes para la
implementacin de
ontologas
Estudio de la
expresividad de los
elementos de
conceptualizacin
propuestos
20
2.2
Teniendo en cuenta la clasificacin de Gruber [Gruber, 93], y teniendo en cuenta tambin los
tipos de definiciones que se contemplan en distintos lenguajes de implementacin de
ontologas, los componentes ms relevantes que suelen tener las ontologas son los siguientes:
a. Las clases son colecciones de objetos del dominio. Dentro del rea de las ontologas, a
veces, a las clases se les llama conceptos.
b. Las meta-clases son clases que tienen como instancias otras clases. Por ejemplo, si
persona es, no slo subclase de animal, sino tambin instancia de clase, entonces se
dice que clase es una meta-clase.
c. Las particiones son conjuntos de clases que no tienen instancias comunes. Obsrvese
que aqu el concepto de particin es ligeramente distinto al definido en el campo
matemtico, pues en las particiones de clases en las ontologas no se exige la
exhaustividad.
d. Las clases en la ontologa se organizan normalmente en taxonomas. Algunas de las
relaciones ms utilizadas para construir estas taxonomas son las siguientes:
d.1. Subclase de. Se dice que una clase Ci es subclase de otra Cz si cualquier instancia
de Ci tambin lo es de ^.
d.2. Particin disjunta. Una particin disjunta de una clase es un conjunto de subclases
que forman una particin.
d.3. Particin exhaustiva. Una particin exhaustiva de una clase es un conjunto de
subclases que abarca toda la clase, es decir, que no hay ninguna instancia de la
clase padre que no sea de ninguna de las subclases de la particin.
A veces, este concepto de taxonoma acaba diluyendo el de ontologa [Studer et al.;
98], pues a veces las taxonomas son consideradas como ontologas.
e. Los atributos son propiedades que describen las clases. Puede haber atributos de clase
y atributos de instancia. Los primeros son aquellos que toman valores particulares en las
instancias, mientras que los segundos son aquellos que toman valor en los conceptos,
pues los describen de manera global. Se dice, adems, que un atributo es polimrfico si
tiene una definicin distinta en cada uno de los conceptos en que est definido.
f. Los atributos pueden tener facetas, que son propiedades de los atributos. Entre las
facetas que suelen proporcionar los lenguajes, se encuentran: el valor por defecto, el
tipo, las restricciones de cardinalidad, la documentacin (que permite incluir una
descripcin del atributo en lenguaje natural), y la definicin operacional (que permite
asociar una frmula, una regla, etc. para hallar el valor del atributo).
21
g. Las relaciones representan interacciones entre conceptos del dominio. Se pueden definir
como colecciones de ernas.
h. Las funciones son un caso especial de relaciones en que el n-simo elemento de la
relacin depende de manera unvoca de los n-1 elementos precedentes.
i. Los axiomas se utilizan para las sentencias del modelo que son siempre verdad.
j.
2.3 METODOLOGAS
PARA
EL DESARROLLO
DE
ONTOLOGAS
Y
SUS
PROPUESTAS
PARA
CONCEPTUALIZAR
En este apartado se presentar brevemente metodologa de Cyc [Lenat et al.; 90]; la de
Uschold y King [Uschold et al.; 95]; la de Grnigner y Fox [Grninger et al..; 95]; la propuesta
por Bernaras y sus colaboradores [Bernaras et al.; 96]; la metodologa basada en SENSUS
[Swartout et al.; 97]; y METHONTOLOGY [Fernndez et al.; 97], [Gmez Prez, 98a],
[Fernndez Lpez et al.; 99].
2.3.1 CYC
El principal objetivo de los creadores de Cyc es construir una BC enorme con conocimientos de
sentido comn. La BC de Cyc puede ser considerada como una ontologa, pues puede ser til
como sustrato para la construccin de sistemas inteligentes diferentes y tambin como base
para su comunicacin e interaccin. La BC de Cyc est siendo construida llevando a cabo las
siguientes fases [Lenat et al.; 90]:
a. La primera fase propone codificar manualmente los conocimientos explcitos e implcitos
que aparecen en las fuentes de conocimientos sin ayuda de sistemas de aprendizaje y
lenguaje natural.
b. La segunda fase propone la codificacin de conocimientos asistida por herramientas que
utilicen conocimientos ya almacenados en la BC de Cyc. Esta situacin se dar cuando
las herramientas para analizar lenguaje natural y de aprendizaje automtico tengan la
capacidad de procesar grandes cantidades de conocimientos de sentido comn.
c. La tercera fase delega en las herramientas la mayor parte del trabajo. Las personas slo
22
recomendarn las fuentes a leer, y explicarn las partes ms difciles del texto.
Para cada fase, se llevarn a cabo dos tareas:
1. Desarrollo de una ontologa de representacin de conocimientos que contenga las
primitivas de representacin que se van a utilizar (predicados, objetos, funciones, etc.).
2. Representacin del resto de conocimientos utilizando estas primitivas.
Segn esta metodologa, los conocimientos se codifican directamente en el lenguaje de Cyc
(llamado CycL, y que combina marcos con lgica) sin hacer un diseo previo. Por lo tanto, ni
hay conceptualizacin, ni hay diseo, segn la documentacin publicada hasta ahora.
23
En lo referente al enfoque del medio hacia fuera, segn los casos de prueba que exponen
Uschold y Grninger, se llega a un equilibrio en control del nivel de detalle, reconocimiento de
los aspectos comunes de los conceptos, y estabilidad del modelo.
En esta metodologa se hace el paso directo de la adquisicin a la codificacin, por lo tanto,
no hay una etapa de conceptualizacin.
Escenarios
u
o
>
Preguntas
de
suflciencia
informales
>
Consultas de
suciencia
formales
Terminologa
formal
0
O
Como una vinculacin
de problemas de
consistencia con los axiomas
de la ontologa
Identiflcar de la manera
ms intuitiva posible
aplicaciones y soluciones
Identificar consultas:
Respuestas: axiomas
a^..^..
definiciones formales
Cuestiones: terminologa
Teoremas
de
completitud
O
bajo las cuales
o Condiciones
las soluciones de las
o cuestiones son completas
o
Definidos como sentencias de
primer orden que utilizan los
predicados de la ontologa
KIF
ubjetos
Axiomas
formales
_, ^^
Constantes
Atributos
^ Funciones
Relaciones-" '^ Predicados
>
Figura 2.2. Metodologa propuesta por Grninger y Fox [Gmez Prez, 98b]
Mtodo flexible para la conceptualizacin de ontologas
24
no se puede afirmar
que
la metodologa
proponga
una
etapa
de
conceptualizacin.
2.3.4 EL ENFOQUE DE
COLABORADORES
AMAYA
BERNARAS
SUS
Los trabajos de Bernaras y sus colaboradores se encuadran dentro del proyecto Esprit
KACTUS [KACTUS, 96]. Uno de los objetivos del proyecto KACTUS fue investigar la factibiiidad
de la reutilizacin en sistemas tcnicamente complejos y el papel de las ontologas para
sustentar esta reutilizacin [Schreiber et al.; 95].
Este enfoque de desarrollo de ontologas viene condicionado por el desarrollo de
aplicaciones. As, cada vez que se construye una aplicacin, se construye la ontologa que
representa los conocimientos necesarios para la aplicacin. En caso de que durante el
desarrollo de la aplicacin se decida reutilizar conocimientos de otras aplicaciones, las
ontologas de dichas aplicaciones se modificarn para hacerlas compatibles entre s, y se
incorporarn a la ontologa de la nueva aplicacin (Figura 2.3). Segn los autores, la
interseccin de las ontologas de las aplicaciones reutilizadas es la parte de ambas ontologas
que ms posibilidades tiene de volverse a utilizar en otros sistemas.
Bernaras y colegas consideran, de manera implcita, una etapa de conceptualizacin que se
lleva a cabo de manera similar a la conceptualizacin de cualquier SBC, pues las ontologas
surgen, en esta metodologa, abstrayendo las BB.CC de estos sistemas. No obstante, no se da
ninguna gua de cmo conceptualizar, ni tampoco se da ninguna justificacin ni a favor ni en
contra, slo se obtienen algunas conclusiones sobre la modelizacin, en general, a partir de la
experiencia de los autores. Por ejemplo, se identifica la oposicin entre el concepto de
usabilidad y de reusabilidad, puesto que las ontologas con conocimientos ms abstractos son
ms reutilizables que aquellas que contienen conocimientos ms concretos; pero es necesario
aadirles a las primeras ms conocimientos cuando se usan en las aplicaciones. Esto provoca
que, cuando se modifica la ontologa de una aplicacin para incorporarla en otra aplicacin, la
medida en que se generalicen sus conocimientos ser causa directa de la medida de su
utilidad y de su reusabilidad.
25
Reutilizacin de
las aplicaciones
AyB
Ontologa
construida
parala
aplicacin A
Interseccin
entre
dos
ontologas
Ontologa
construida
para la
aplicacin B
No se puede
reutilizar ninguna
ontologa
Ontologa
construida
partiendo
de cero
26
W"^
<>
3. Incluir los caminos de las semillas a la raz
<Si
^d
^
TM-mino de SENSUS
Smilla
Camino a la raz
Padre frecuente
Trmino en un sub-rbol
Ontologa de
un dominio
particular,
por ejemplo,
campaas
militares
areas
Ontologa de otro
dominio particular, por
ejemplo, planificacin
de transporte
Figura 2.5. Enlace de trminos de dominios concretos a SENSUS (adaptado de [Swartout et al; 97])
En esta metodologa no hay una propuesta tan siquiera de diseo de ontologas de dominio.
Se Implementan directamente en el lenguaje seleccionado una vez que se ha obtenido el
esqueleto de la ontologa de domino mediante la poda.
2,3.6 METHONTOLOGY
Esta metodologa ha sido elaborada en el LIA. El marco de referencia [Fernndez et al.; 97],
Mtodo flexible para la conceptualizacin de ontologas
27
Planificacin
05
Especifcacin
:1.
Garanta de calidad
Actividades de desarrollo
>
Implementacin -
Mantenimiento
Actividades de soporte
Adquisicin de conocimientos
Integracin
Evaluacin
Uocumentacion
Administracin de la configuracin
28
Metodologa
Cyc
Uschold y King
Grninger y Fox
fBrnaras%t^ali- i""'"'ir **&;'""' ',.::"""'tf^~"
mtmti^mmmf
.;
SENSUS
- '"jig^"':.^!
""'''""'"'
[>'"" "j"
No
No
conceptual
metodologa
proponga
una etapa de
29
2.4.1 CYC
La tecnologa desarrollada en el proyecto Cyc permite construir ortologas a partir de una gran
BC de sentido comn (htp://www.cyc.com), conocida como la ortologa Cyc. Dicha tecnologa
est siendo comercializada por la empresa Cycorp. La ontologa est escrita en el lenguaje
CycL, que es, esencialmente, un lenguaje basado en marcos y en lgica de predicados que no
es estrictamente de primer orden. Tambin se dispone de un motor de inferencias que realiza
deduccin lgica (incluyendo modus ponens y modus tolens) combinada con otros mecanismos
de inferencia (herencia mltiple, clasificacin automtica, etc.). Con el objetivo de mejorar la
inferencia, Cyc restringe los dominios de bsqueda mediante las micro-teoras, que muestran
conocimientos de distintos dominios desde diferentes puntos de vista. Actualmente, el sistema
funciona como un servidor al que se puede acceder a travs de cualquier navegador WWW.
30
Stanford. La importancia de este entorno radica no slo en su gran aceptacin, sino tambin en
que ha influido notablemente en el enfoque que se le ha dado al desarrollo de otros servidores,
sobre todo Ontosaurus [Swartout et al.; 97].
El Ontolingua Sen^er permite [Farquhar et al.; 96]: edicin y construccin de ontologas en
Ontolingua desde cualquier navegador Web {http://www-ksl-svc.stanford.edu:5915 o http.V/kslservices-lia.dia.fi.upm.es:5915); anlisis sintctico de ontologas; traduccin a otros lenguajes,
por ejemplo, Loom [MacGregor, 90], Epikit, IDL de CORBA [Mowbray et al.; 95], PROLOG,
CLIPS y KIF puro; acceso a una biblioteca de ontologas; desarrollo cooperativo y distribuido de
ontologas, aunque con algunos inconvenientes, por ejemplo, no hay notificacin de cambios,
es decir, no se sabe cul de los usuarios ha hecho cada modificacin; posibilidad de acceso a
fas ontologas a travs de las aplicaciones remotas mediante el protocolo OKBC [Chaudri et al.;
97] {Open Knowledge Base Connectivity) {http://www.ai.sri.com/~okbc), basado en el GFP
{Generic Frame Protocol) [Karp et al.; 95]; y ayuda para desarrollar ontologas en el nivel
simblico.
2.4.3 ONTOSAURUS
Ha sido desarrollado en el ISI {Information Sciences Institute) inspirndose en el Ontolingua
Serven Ontosaurus [Swartout et al.; 97] es un sen/idor Web {http://sevak.isi.edu:8300/
loom/shuttle.html) [Mallery, 94] al que se puede acceder a travs de cualquier navegador, y que
representa los conocimientos en LOOM [MacGregor, 90]. Permite la traduccin de LOOM a
Ontolingua, KIF y a C++. Al poseer el traductor a Ontolingua, se tiene la posibilidad de traducir
las ontologas a todos los lenguajes del Ontolingua Server Por otra parte, la traduccin a C++
facilita la integracin de las ontologas con otros sistemas, pues es un lenguaje hoy en da muy
extendido. Tambin permite el desarrollo distribuido de ontologas, aunque no es posible en
todo momento saber qu cambios se han producido en las ontologas y quines son los
responsables de estos cambios.
2.4.4 TADZEBAO-WEBONTO
Esta herramienta, desarrollada en el Knowledge Media Institute de la Open Universitiy de
Milton Keynes, permite construir ontologas utilizado el lenguaje OCML {Operational
Conceptual Modelling Language) [Motta, 98], que est inspirado en Ontolingua. En lo que al
motor de inferencias se refiere, permite: comprobar las restricciones en las cardinalidades de
las relaciones, encadenamiento de reglas hacia delante y hacia atrs, bsqueda en
profundidad con y sin vuelta atrs, herencia, etc. El sistema, al igual que los hasta ahora
descritos, consta de un servidor al que es posible conectarse a travs de un navegador WWW
{http.//webonto.open.uc.uk}; sin embargo, al contrario de lo que ocurre en Ontolingua y en
Ontosaurus, la puesta en marcha del cliente suele durar bastante tiempo; pero las operaciones
que se realizan sobre las ontologas son muy rpidas. En este entorno, se facilita que los
usuarios puedan discutir sobre las ontologas sin tener que estar fsicamente juntos.
31
b)
c)
d)
e)
f)
g)
1
Duineveld y colegas [Duinieveld et al.; 99] identifican la caracterstica inversa, es decir, instalacin
local; sin embargo, en esta tesis se prefiere evaluar la instalacin del entorno en red.
32
h)
i)
j)
b)
contienen
todas
las
instancias
de
la
clase
descomponer
(descomposicin exhaustiva).
c)
C.2)
d)
e)
f)
g)
33
h)
i)
3. Caractersticas sobre el trabajo en cooperacin. Dado que uno los aspectos esenciales
de las ontologas es el consenso, es importante tener en cuenta el trabajo en
cooperacin. Dentro de las caractersticas sobre esta faceta, se encuentran:
a)
b)
c)
d)
Visin de los cambios que hacen otros usuarios. Esta caracterstica concierne a la
manera en que cada usuario ve los cambios que llevan a cabo los dems usuarios.
e)
f)
La Tabla 2.2 presenta la evaluacin para los entornos software de los apartados anteriores
(salvo Cyc, que no es de libre distribucin). A la hora de rellenar la tabla, se utiliza el smbolo +
para significar el valor "bueno", O para el valor "razonable", y - para el valor "malo" {no good); y,
para ciertas caractersticas, tambin se utilizan los valores s o no. Cuando no se sabe algn
valor, se pone una interrogacin cerrada (?).
34
Ontolingua
Ontosaurus
(*)
WebOnto
Protege 2000
(*)
CARACTERSTICAS GENERALES
Claridad de la interfaz de usuario
Velocidad de actualizacin
Instalacin en red
No
Verificacin de la consistencia
- Existencia de la verificacin
- Nivel de verificacin
no
no
no
no
no
no
no
Ontologas de ejemplo
Mecanismos de bloqueo
S (RDF)
Tabla 2.2. Evaluacin de los entornos software de desarrollo de ontologas segn el marco, aqu
ampliado, publicado por Duineveld y colegas [Duineveld et al.; 99]
Mtodo flexible para la conceptualizacin de ontologas
35
Algunas de las conclusiones obtenidas en [Duineveld et al.; 99] son (algunas de ellas estn
reflejadas en la tabla): (1) las interfaces de usuario son generalmente fciles de manejar; (2) los
sistemas locales son mucho ms rpidos que los que trabajan en red; (3) no suele haber
buenos mecanismos de ayuda al usuario; (4) a la herencia mltiple se le da un soporte correcto
en todos los entornos; (5) la facilidad con que se crean las descomposiciones disjuntas y
exhaustivas vara de unos entornos a otros; (6) en general, se hace verificacin de muchos
tipos de errores sintcticos, pero de pocos tipos de errores semnticos, por ejemplo, la
comprobacin de que una particin se ajusta a la restriccin de ser disjunta; (7) los entornos
software no suelen incluir ayuda sobre cmo construir ontologas, aparte de qu software se
utilice; y (8) la mayor parte de los entornos no permiten ver las modificaciones que llevan a
cabo los dems usuarios. Esto ltimo dificulta bastante la construccin de ontologas en
cooperacin.
36
Adems, al menos en lo que a los entornos software de libre acceso se refiere, en general
poseen interfaces intuitivas y fciles de manejar, pero no permiten el trabajo eficiente. Por
ejemplo, a veces no tienen una secuencia de formularios adecuada para que una parte
importante de la informacin introducida en unos se pueda copiar en otros.
Por otra parte, generalmente, los entornos almacenan las ontologas en ficheros ASCII.
Por lo tanto, puede ser interesante estudiar la posibilidad de otras alternativas de
almacenamiento que eviten problemas de consistencia, redundancia, dependencia del nivel
fsico, etc. y, al mismo tiempo, garanticen el poder de inferencia que tienen los lenguajes que
se utilizan en el desarrollo de ontologas.
2.5.1 ONTOLINGUA^
Ontolingua es un lenguaje basado en KIF y en la Frame Ontology. Es el lenguaje para la
construccin de ontologas que utiliza el Ontolingua Server.
KIF [Genesereth et al.; 92] {Knowledge Interchange Formaf) s una versin prefija del
clculo de predicados de primer orden, con extensiones para mejorar su expresividad como:
definicin de trminos, representacin de meta-conocimientos, definicin de funciones y
relaciones, especificacin de conjuntos, y razonamiento no montono. Algunos de los tipos de
objetos primitivos son los conjuntos, las listas, las relaciones y las funciones.
La Frame Ontology [Gruber, 93] es una ontologa escrita en KIF 3.0 donde se expresan a
travs de relaciones de segundo orden los conocimientos y las convenciones usadas al
representar conocimientos utilizando el formalismo de marcos. Proporciona definiciones
formales sobre las primitivas de representacin ms usadas en dicho formalismo como son:
subclase-de {subclass-of), particiones de clases {subclass-partition), meta-clases, etc. Como
estos trminos se pueden utilizar para hacer otras ontologas, la Frame Ontology es una
ontologa de representacin de conocimientos.
Ein el anexo I se hace una descripcin ms detallada de Ontolingua, por ser el lenguaje seleccionado para
implementar ontologas con ODE.
Mtodo flexible para la conceptualizacin de ontologas
37
2.5.3 OCML
OCML [Motta, 99], el lenguaje utilizado por el entorno Tadzebao-WebOnto [Domingue, 98],
permite representar relaciones, funciones, reglas, clases, instancias y procedimientos. La
sintaxis utilizada es casi igual que la de Ontolingua, aunque Tadzebao-WebOnto tiene motor de
inferencias.
Para representar las taxonomas, en OCML slo se dispone de la primitiva bsica subclase
de. Sin embargo, de una manera indirecta, se podran definir las primitivas correspondientes a
las particiones. Ahora bien, no es posible incluir caractersticas de razonamiento que
aprovechen estas definiciones, pues habra que definir axiomas de segundo orden, para que
los que no se puede hacer deduccin con el motor de inferencias de Tadzebao-WebOnto.
Adems de las primitivas de representacin para construir ontologas, OCML da la
posibilidad de modelizar tareas y mtodos para utilizarlos en mtodos de resolucin de
38
2.5.4 FLOGIC
IFLogic [Kifer et al, 95] {Frame Logic) no es un lenguaje creado expresamente para la
especificacin de ontologas, sino que inicialmente se cre como una aproximacin a la
orientacin a objetos desde la perspectiva de la lgica, especialmente aplicado a las bases de
datos orientadas a objetos y a la vez deductivas. Posteriormente fue utilizado en el campo de la
Inteligencia Artificial en general, y en el rea de los lenguajes basados en marcos y de las
ontologas en particular.
Presenta al mismo tiempo la mayora de los aspectos estructurales de los lenguajes
orientados a objetos y de los lenguajes basados en marcos, concretamente, algunas de sus
caractersticas principales son: la creacin de objetos complejos, herencia, tipos polimrficos y
encapsulacin.
Permite definir conceptos, taxonomas, atributos y axiomas, que se representan con una
sintaxis mixta de lgica de predicados de primer orden y orientacin a objetos. Las particiones
se deben especificar a travs de axiomas. En lo referente a las relaciones, no son elementos
bsicos del lenguaje. Esto es paradjico debido a que tiene la lgica de primer orden como uno
de sus orgenes. Ahora bien, se pueden modelizar relaciones, al igual que ocurre con OKBC,
utilizando marcos. Por otra parte, las funciones se pueden crear bien utilizando marcos, bien
utilizando mtodos para las clases, que los proporciona el lenguaje. En este caso, los mtodos
tienen el mismo sentido que en la programacin orientada a objetos, es decir, especifican los
mecanismos de paso de mensajes entre objetos.
2.5.5 LOOM
LOOM [MacGregor, 90] est basado en el sistema de representacin de conocimientos KLONE [Brachman et al.; 85] y es, por tanto, un lenguaje de lgica descriptiva. LOOM no fue
originalmente creado para la especificacin de ontologas; sin embargo, sus caractersticas
para la representacin de conocimientos han sido aprovechadas para tal fin.
Se trata, de un lenguaje expresivo para la especificacin declarativa de modelos basada en
la clasificacin, junto con un lenguaje de consultas que permite aprovechar todas las
caractersticas de la lgica de primer orden. A su vez, el lenguaje de modelizacin est
compuesto por dos lenguajes: un lenguaje de definicin (basado en marcos) y otro de asercin
(basado en la lgica de primer orden). El lenguaje de definicin es el que permite definir
explcitamente: conceptos, particiones (tanto disjuntas como exhaustivas), relaciones, axiomas,
instancias de relaciones, procedimientos y reglas. Las funciones pueden ser entendidas en
este lenguaje como un caso especial de relaciones.
39
2.5.6
SNTESIS
La Tabla 2.3, basada en el estudio de Corcho y Gmez Prez [Corcho et al.; 00], muestra qu
Ontolingua
OKBC
OCML
Flogic
LOOM
CONCEPTOS (clases)
Particiones
Meta-clases
TAXONOMAS
Subclase de
Subclase en una
particin
disjunta
+/-
+/-
Subclase en una
particin
exhaustiva
+/-
+/-
ATRIBUTOS
Atributos
instancia
de
Atributos
clase
de
Polimorfismo
FACETAS
Valor
defecto
por
Tipo
Restricciones de
cardinalidad
Definicin
operacional
+/-
+/-
Relaciones
+/-
+/-
+/-
+/-
RELACIONES
FUNCIONES
Funciones
+/AXIOMAS
Axiomas
+/INSTANCIAS
Instancias
INSTANCIAS DE RELACIONES
Instancias
relaciones
de
+/REGLAS
Reglas
produccin
de
PROCEDIMIENTOS
Procedimientos
Tabla 2.3. Expresividad de los lenguajes clsicos de implementacin de ontologas (basada en [Corcho et
al.; 00]
40
componentes de las ontologas define cada lenguaje. El smbolo "+" significa que un lenguaje
puede representar explcitamente un determinado tipo de componente de una ontologa, los
smbolos "+/-", que puede representarlo, aunque no de manera explcita, y el smbolo "-", que
no puede representarlo ni explcita ni implcitamente.
Se puede comprobar que todos ellos definen conceptos, atributos, axiomas e instancias. Sin
embargo, no todos permiten crear relaciones de manera explcita, y algunos de ellos no
permiten la creacin, al menos de manera explcita, de particiones. La mayora de los lenguajes
no dan la posibilidad de utilizar reglas ni procedimientos.
Tambin es importante tener en cuenta que la sintaxis de estos lenguajes no puede
cambiarse, por tanto, no dan la posibilidad de que cada usuario pueda adaptarlos segn las
necesidades de representacin de cada ontologa. Por ejemplo, FLogic no puede ser adaptado,
sin cambiar la definicin misma del lenguaje, para que se puedan especificar relaciones de
manera explcita.
2.6
Ein este captulo de estado de la cuestin se han identificado los componentes de las
ontologas para as poder estudiar la expresividad de los lenguajes analizados posteriormente,
y de los EE.CC que se van a proponer en captulos posteriores; a continuacin, se ha hecho
una breve exposicin sobre las metodologas para el desarrollo de ontologas; luego, se ha
hecho una descripcin y un anlisis de los entornos de desarrollo de ontologas; y la ltima
seccin ha estado dedicada a los lenguajes de implementacin de ontologas, haciendo el
anlisis de lenguajes fundamentalmente desde el punto de vista de la expresividad.
Por una parte, se ha pretendido que el estado de la cuestin ayude a comprender en
captulos posteriores cules son los aportes metodolgicos y tecnolgicos de este trabajo. Por
otra parte, este captulo proporciona una sntesis de lenguajes de implementacin
que
41
modelos
conceptuales
computables
conlleva
el
hacer
propuestas
42
PLANO METODOLGICO
Falta de propuestas de una etapa de conceptualizacin
No se construyen modelos conceptuales computables
Esquemas de modelizacin:
a) fijos y predeterminados
b) no explcitos
c) no declarativos
d) no computables
PLANO TECNOLGICO
Las ontologas se codifican direc lamente en un lenguaj de implementacin
No se utilizan modelos conceptuales computables
Los esquemas de representacin son fijos y predeterminados
y estn embebidos en el programa
Las ontologas se guardan en ficheros ASCII
43
3. PLANTEAMIENTO
45
3.1
Captulo 3. Planteamiento
INTRODUCCIN
Una vez que se ha expuesto cul es la situacin actual del desarrollo de ontologas tanto desde
el punto de vista metodolgico, como desde el punto de vista tecnolgico, se presentarn en
este captulo los aportes metodolgicos y tecnolgicos que luego se desarrollarn en el
captulo 4; tambin se presentar el vocabulario bsico utilizado, y las suposiciones bajo las
cuales se ha elaborado la solucin propuesta.
3.2
VOCABULARIO
llamar
47
Captulo 3. Planteamiento
etc.).
3.3
NIVEL DE
CONOCIMIENTOS
NIVEL SIMBLICO
QU HAY QUE
MODELIZAR:
ESQUEMA DE
CONCEPTUALIZACIN
Especificacin
(en lenguaje
natural)
Conceptualizacin
(con tablas y
grafos)
Formalizacin
(utilizando
LBIR)
Implementacin
{en SQL)
Especificacin
(en lenguaje
natural)
Conceptualizacin
(con tablas y
grafos)
Formalizacin
(p.e. marcos)
Implementacin
(p.e. Onlolingua)
48
Captulo 3. Planteamiento
aplicar a varios modelos conceptuales de ontologas, las cuales pueden ser, o no, del mismo
dominio.
Doa
Reglas de verificacin de la
consistencia
Tablas y grafos
^r
QK>*D
Gua en el
orden
1 Rellnese..
2 Rellnese..
MODELO
CONCEPTUAL DE
LA ONTOLOGA 1
MODELO
CONCEPTUAL DE
LA ONTOLOGA 2
MODELO
CONCEPTUAL DE
LA ONTOLOGA n
49
Captulo 3. Planteamiento
implementacin
del
esquema
de
conceptualizacin,
se
puede
realizar
50
Captulo 3. Planteamiento
FASO 3.
FORMALIZACIN DEL
ESQUEMA DE
CONCEPTUALIZACIN
Necesidades
modclizacin
dominio
de
del
>ca
Meta-modelo en LBIR
define table...
define graph ...
define consistency .
PASO 4. IMPLEMENTACIN
DEL ESQUEMA DE
CONCEPTUALIZACIN
cx><a
Figura 3.3. Entradas y productos de los pasos del mtodo de conceptualizacin
51
Captulo 3. Planteamiento
No
Paso 6. Implementacin de la
ontologa de dominio
Paso 5. Conceptualizacin de
la ontologa de dominio
3.4
Con este trabajo se pretende hacer aportes metodolgicos y tecnolgicos dentro del rea de
desarrollo de ontologas. Los aportes metodolgicos se harn en los siguientes puntos
(vase la Figura 3.5):
1. Para resolver
el problema
de
la falta
de propuestas
en
la etapa
de
52
Captulo 3. Planteamiento
APORTES
LAGUNA
PLANO METODOLGICO
PLANO METODOLGICO
Mtodo de cpnceptualizacin
"-"tfc
n s mnHplns rhnr.entiiale': s n n rnmniitahlp-"!
Esquemas de modelizacin
a) fijos y predeterminados I.: r:'^-""F,.j>.. -i > . .
b) no explcitos
c) no declarativos
|d) no computables
PLANO TECNOLGICO
PL iNO TE 7N0LOG1CO
Posibilidad de esquemas a la
a) medida y
b) explcitos
c) declarativos
i
d) definidos de marsera formal
r^
Figura 3.5. Relacin entre los aportes del trabajo y las lagunas detectadas en el estado de la cuestin
53
[Meches et al.; 91] no se aproveche completamente, ya que, por ejemplo, tal y como se
ha dicho en la introduccin, los entendidos en el dominio tan siquiera entienden las
ontologas desarrolladas en los lenguajes de implementacin [Aguado et al.; 98].
Adems, las mismas personas encargadas de desarrollar ontologas se encuentran con
inconvenientes
tan
importantes
como
el
hecho
de
tener
que
enfrentarse
manualmente
los
modelos
conceptuales
en
cdigo
de
54
55
56
4.DESCRIPCIN DETALLADA DE LA
SOLUCIN
57
4.1
INTRODUCCIN
En los siguientes apartados se mostrarn los detalles de cada uno de los pasos del mtodo de
conceptualizacin flexible. Para cada paso se describir cada tarea que hay que realizar, es decir,
cada asignacin de trabajo bien definida para uno o ms miembros del proyecto.
Se podr comprobar que las descripciones de las tareas estn muy pormenorizadas. Esto se
debe fundamentalmente a que este mtodo est pensado para utilizar un soporte software. De
hecho, se ha desarrollado ODE (presentado en la seccin 4.8) para dar soporte a gran parte de las
tareas del mtodo.
un esquema de
conceptualizacin anterior, que se pueda adaptar un esquema anterior, o que haya que especificar
un esquema empezando desde cero. En consecuencia, este primer paso del mtodo incluye las
siguientes tareas (Figura 4.2):
1. Anlisis de la expresividad de los esquemas. A partir de las necesidades de modelizacin,
se analiza cul de los esquemas de conceptualizacin utilizados con anterioridad se ajusta
mejor a las necesidades de modelizacin de la nueva ontologa.
2. Elaboracin desde cero de una especificacin. En caso de que ninguno de los esquemas de
conceptualizacin anteriores pueda satisfacer, tan siquiera modificndolo, las necesidades
de modelizacin de la nueva ontologa, se especifica un nuevo esquema.
3. Modificacin de un esquema. Si hay algn esquema que satisface parcialmente las
necesidades de conceptualizacin de la ontologa, pero no totalmente, se modifica dicho
esquema de conceptualizacin. Obsrvese que a esta tarea tambin se puede llegar
despus
de detectar
nuevas
necesidades
de
modelizacin
cuando
ya se
est
59
conceptuallzando el dominio.
En los siguientes apartados se presentar cada una de las tareas. La descripcin de cada tarea
constar de: una introduccin para dar una explicacin general; una descripcin de sus entradas,
una descripcin de los productos obtenidos; una exposicin de cmo se lleva a cabo la tarea; y una
presentacin de quines tienen que llevarla a cabo.
No
Paso 5. Conceptualizacin de
la ontologa de dominio
Paso 6. Implementacin de la
ontologa de dominio
Figura 4.1. Relacin de la especificacin del esquema de conceptualizacin con respecto al resto del mtodo
60
Paso 2.
Conceptualizacin
del esquema de
conceptualizacin
PASO 1.
ESPECIFICACIN DEL
ESQUEMA DE
CONCEPTUAUZACIN
*
Paso 3.
Formalizacin del
esquema de
conceptualizacin
Tarea
Elaboracin
cero
de
especificacin
Paso 4.
Implementacin del
esquema de
conceptualizacin
1.2.
desde
Tarea
1.3.
Modificacin de una
especificacin
Reutilizacfn de un
esquema de
conceptualizcin
No
ic-
Paso 5. Conceptualizacin de
la ontologa de dominio
Paso 6. Implementacin de la
ontologa de dominio
Figura 4.2. Tareas de la especificacin del esquema de conceptualizacin dentro del mtodo
INTRODUCCIN
61
4.2.2.2
ENTRADAS
4.2.2.3
PRODUCTOS OBTENIDOS
4.2.2.4
Las acciones que hay que llevar a cabo para determinar cul de los escenarios de
conceptualizacin es el que se da para la ontologa a construir son los que se presentan a
continuacin:
Accin 1. Seleccin de un esquema de conceptualizacin candidato. La recomendacin para
este paso es partir del esquema de referencia que es el ms expresivo de los hasta
ahora utilizados. No obstante, tambin es posible tomar como esquema candidato
uno de los utilizados en ontologas de dominios similares al de la ontologa a
desarrollar.
Accin 2. Estudio de la adecuacin del esquema de conceptualizacin candidato. Se eligen
algunos de los trminos candidatos a formar parte de la ontologa, y se estudia en
qu medida es posible e intuitivo conceptualizarlos utilizando el esquema
seleccionado en el paso anterior. En caso de que el esquema de conceptualizacin
no sea adecuado, se puede volver a la accin 1 para probar con otro esquema.
Accin 3. Decisin sobre el escenario. Dependiendo del estudio del paso anterior, se propone
la elaboracin de un esquema nuevo (seccin 4.2.3), la modificacin del candidato
(seccin 4.2.4) o pasar directamente a la conceptualizacin de la ontologa de
62
INTRODUCCIN
En caso tener que especificar desde el principio un esquema de conceptualizacin para la nueva
ontologa, es necesario hacer una descripcin en lenguaje natural de las EE.CC a utilizar, de sus
campos si son tablas, de sus arcos y vrtices si son gratos, de las reglas de verificacin de la
consistencia dentro de cada EC y entre EE.CC, y del orden recomendado para rellenar los EE.CC.
A modo de ejemplo, se ha aadido al final de este apartado la descripcin de un caso prctico
(seccin 4.2.3.4).
4.2.3.2
ENTRADAS
La justificacin de que ningn meta-modelo anterior es til para la nueva ontologa (apartado
4.2.2.3), y documento con las necesidades de modelizacin de la nueva ontologa.
4.2.3.3
PRODUCTOS A OBTENER
63
b)
Elaborar un glosario de trminos que incluya, junto con sus descripciones, los conceptos,
las instancias, las relaciones, los atributos y las constantes.
Una vez que se ha conceptualizado la ontologa, es necesario asegurarse de que todos
los trminos del glosario estn descritos en alguno de los EE.CC posteriores.
c)
Elaborar una tabla de trminos a importar con los nombres de los trminos que se
importan, las ontologas de donde se obtienen, los nombres de los servidores donde estn
estas ontologas, y los nombres que reciben los trminos en la ontologa que se est
construyendo.
d)
Construir un rbol de clasificacin de conceptos que los organice segn las relaciones:
subclase de, subclase en una particin disjunta, subclase en una particin exhaustiva, etc.
Cuando se ha construido el rbol de clasificacin de conceptos, hay que verificar que
todos los conceptos estn el glosario de trminos.
e)
Dibujar un diagrama de relaciones binarias para todas aquellas relaciones que tengan
origen en algn concepto de la ontologa que se est construyendo. Este diagrama
proporciona una gua para integrar ontologas, ya que si el concepto C1 est relacionado
mediante la relacin R con el concepto C2 que est en otra ontologa, entonces la
ontologa que se est desarrollando deber incluir la ontologa que contiene C2.
Una vez que se ha terminado de construir el diagrama de relaciones binarias, hay que
comprobar que las relaciones cuyo origen es un concepto del rbol de clasificacin de
conceptos estn en el glosario de trminos, pues son relaciones definidas en la ontologa.
Tambin hay que comprobar que todos aquellos conceptos o relaciones que no aparezcan
en el glosario de trminos tienen que aparecer en la tabla de trminos a importar.
f)
Hacer un diccionario de conceptos que contenga todos los conceptos que aparezcan en el
rbol, sus instancias, sus atributos de clase y de instancia, las relaciones binarias en las
que dichos conceptos estn como origen, y los sinnimos y abreviaturas. Los atributos de
instancia son aquellos que sirven para describir instancias particulares, por ejemplo el peso
es especfico de cada persona; por otra parte, los atributos de clase describen los
conceptos de forma global, por ejemplo la edad mxima de jubilacin en los distintos
oficios y profesiones hace referencia a conceptos, no a instancias particulares de stos.
Una vez que se ha construido el diccionario de conceptos, hay que verificar que los
conceptos aparecen en el rbol de clasificacin de conceptos; que todos los conceptos del
rbol de clasificacin de conceptos aparecen en el diccionario de conceptos; que los
atributos de ciase y de instancia, as como las instancias estn en el glosario de trminos; y
64
Realizar una tabla de relaciones binarias para cada una de las relaciones reflejadas en el
diccionario de conceptos. Para cada relacin se especificar: su nombre, el nombre del
concepto origen, el nmero mnimo y mximo de veces que puede aparecer una instancia
del concepto origen en la relacin (cardinalidad), el concepto destino, las propiedades
matemticas (propiedad transitiva, reflexiva, etc.), la relacin inversa y las referencias a las
fuentes utilizadas. Obsrvese que tanto el concepto destino como la relacin inversa
pueden ser trminos de otra ontologa; en ese caso, hay que importar la ontologa a la que
pertenezcan.
Cuando se han rellenado las tablas de relaciones binarias, hay que comprobar que hay
consistencia dentro de las mismas tablas de tal manera que el origen de cada relacin sea
el destino de su inversa, y al contrario. Adems, hay que verificar la consistencia con otros
EE.CC, pues es necesario comprobar que cualquier relacin descrita en una tabla de
relaciones aparece en el diccionario de conceptos en la misma fila que el concepto que
aparece en el campo 'concepto origen'; y que todas las relaciones que aparecen en el
diccionario de conceptos estn descritas en alguna tabla de relaciones.
h)
Elaborar una tabla de atributos de instancia para cada uno de los atributos de instancia que
aparezcan en el diccionario de conceptos. Debe incluir: su nombre; el concepto al que
pertenece; el tipo de valor; la unidad de medida si es un atributo numrico; la precisin en
caso, tambin, de valores numricos; el intervalo de valores; el valor por defecto; el nmero
mximo y mnimo de valores que puede tomar (cardinalidad); los atributos de instancia, de
clase y constantes que se utilizan para deducir su valor; los atributos que pueden ser
deducidos utilizando el valor del atributo que se est definiendo; las frmulas que se
pueden utilizar para hallar el valor del atributo; y las referencias utilizadas para describirlo.
Cuando se han rellenado las tablas de atributos de instancia, hay que comprobar la
regla que dice: un atributo Ai aparece en el campo 'deducido de los atributos de instancia'
de la tabla de otro atributo A2 si y slo si A2 aparece en el campo 'para deducir' de la tabla
de Al. En lo referente a las comprobaciones con otros EE.CC, es necesario verificar que
todos los atributos se encuentran en el diccionario de conceptos en la misma fila que el
concepto que aparece en el campo 'concepto'; y que todos los atributos de instancia del
diccionario de conceptos estn descritos en alguna tabla de atributos de instancia.
i)
Realizar una tabla de atributos de clase por cada uno de los atributos de clase del
diccionario de conceptos. Deber aparecer en ella: el nombre del atributo, el concepto al
que pertenece, el tipo de valor, la unidad de medida, la precisin, la cardinalidad, los
atributos de instancia que pueden ser deducidos a partir de l, y las referencias a las
65
k)
Hacer una tabla de axiomas lgicos por cada uno de los que se quieran utilizar para
describir los conceptos a travs de expresiones en lgica de primer orden. Sus campos
sern: el nombre del axioma; la descripcin en lenguaje natural; el concepto al que
describe; los atributos, relaciones, constantes y variables que intervienen en la expresin;
la expresin en lgica de primer orden; y las referencias a las fuentes.
Cuando se han rellenado las tablas de axiomas, hay que verificar que las constantes,
variables, atributos, instancias y conceptos que aparecen en la expresin son los mismos
que aparecen en los campos 'constantes referidas', 'variables', 'atributos referidos',
'instancias referidas' y 'conceptos referidos'. Adems hay que comprobar, a su vez, que las
constantes que aparecen en estas tablas estn en la tabla de constantes, que las
instancias estn en la tabla de instancias, que los atributos estn en las tablas de atributos
de clase o de atributos de instancia, y que los conceptos estn en el diccionario de
conceptos.
I)
Elaborar una tabla de frmulas por cada una de las que aparezcan en las tablas de
atributos de instancia. Sus campos sern: el nombre, el concepto al que se refiere, el
atributo que deduce, la expresin de la frmula, la descripcin en lenguaje natural, los
atributos y las constantes que intervienen, la precisin, las restricciones para aplicarla (es
una expresin en lgica de primer orden), y las referencias.
Una vez que se han rellenado las tablas de frmulas, hay que comprobar que el atributo
66
Elaborar una tabla de instancias para cada instancia del diccionario de conceptos. Cada
tabla incluir: el nombre de la instancia, los atributos con los valores conocidos en la
instancia, y estos valores\
Cuando se ha rellenado esta tabla, se debe comprobar que todos los atributos de
instancia estn en el diccionario de conceptos en la misma fila que el concepto que
aparece en el campo 'nombre del concepto' o en la misma fila que uno de las superclases
de este concepto.
El orden en que se deben empezar a rellenar los EE.CC es el siguiente: (1) ficha de descripcin
general; (2) glosario de trminos, y lista de trminos a importar; (3) rbol de clasificacin de
conceptos; (4) diagrama de relaciones; (5) diccionario de conceptos; (6) tablas de relaciones,
tablas de atributos de clase, tablas de atributos de instancia, y tabla de constantes; (7) tabla de
axiomas lgicos, y tablas de frmulas; (8) rboles de clasificacin de atributos; y (10) tabla de
instancias. Este orden slo implica que unos EE.CC se empiezan a rellenar antes que otros, pero
no que haya que terminar de rellenar unos antes de empezar con otros. Es decir, se admiten
concurrencias dentro de una deseada secuencialidad.
' En el ejemplo del anexo II, la tabla de instancias tiene tambin una columna de relaciones, que se ha omitido
aqu para mostrar ms adelante el control de cambios
67
INTRODUCCIN
68
b)
c)
d)
69
cual, pero que se llegue a un consenso. Este consenso tambin deber estar
documentado indicando qu peticin de cambios lo ha provocado.
SOBRE
UN
En este apartado, se han realizado dos cambios en el esquema de conceptualizacin del caso
prctico de la tarea de elaboracin de un esquema desde cero (apartado 4.2.3). Se trata de la
incorporacin de las tablas de concepto-atributo de clase-valor, y del aadido de la columna
'relacin' a la tabla de atributos de instancia. Es decir, por una parte, se propone realizar una tabla
de concepto-atributo de clase-valor para cada uno de los conceptos en los que tomen valores los
atributos de clase. Incluir: el nombre del concepto, los atributos de clase, y los valores que toman
dichos atributos. Por otra parte, para cada instancia l^ de la ontologa para la que se conozca su
instancia destino t va una relacin R, habr una fila en la tabla de instancias que conecte l^ va la
relacin f con/2.
Primero, la persona encargada del desarrollo de una determinada ontologa detecta un
problema en el meta-modelo que est utilizando y rellena el formulario de la
Figura 4.4. A continuacin, un miembro del grupo propone los cambios que se muestran en el
formulario de la Figura 4.5, y enva los dos formularios, el rellenado por la persona encargada de
conceptualizar el dominio de la ontologa, y el rellenado por l mismo, al comit de cambios. Una
vez que el comit de cambios ha examinado los problemas que tiene el meta-modelo y las
soluciones que se proponen, da el visto bueno para que se lleve a cabo la modificacin o la
rechaza. Despus, la persona que propuso los cambios u otro miembro del grupo lleva a cabo las
modificaciones concretas en la especificacin del esquema anterior.
70
Atributo de clase
Valor
Por otra parte, para poder establecer cules son las instancias de relaciones,
se aadir una nueva columna a la tabla de instancias, llamada 'relacin'. As,
cuando una instancia A est relacionada a travs de una relacin R con otra
instancia i, siendo h el origen e Ij el destino, habr una fila en la tabla de
instancias de la siguiente manera:
Instancia
Ii
Atributo
--
Relacin
Valor
Fecha
7 de noviembre de 1999
71
4.3
CONCEPTUALIZACIN
CONCEPTUALIZACIN
DEL
ESQUEMA
DE
Una vez que se tiene en lenguaje natural la especificacin del esquema de conceptualizacin, se
lleva a cabo su conceptualizacin elaborando un meta-modelo que debe describir, utilizando tablas,
y gratos, el esquema de conceptualizacin que se vaya a seguir en la construccin de la ontologa
concreta. Al igual que sucede con la especificacin del esquema, a la hora de hacer su
conceptualizacin, se pueden dar los siguientes escenarios: que se pueda reutilizar completamente
un meta-modelo anterior, que se pueda adaptar un meta-modelo anterior, o que haya que
especificar un meta-modelo empezando desde cero. As, segn se muestra en la Figura 4.6, las
tareas que incluye este paso son las siguientes:
1. Elaboracin desde cero de un meta-modelo. En caso de que en la especificacin se haya
decidido la elaboracin de un esquema de conceptualizacin nuevo, ser necesario realizar
el meta-modelo correspondiente.
2. Modificacin de un meta-modelo anterior Si en la especificacin se ha decidido modificar un
esquema de conceptualizacin, es necesario tambin modificar su meta-modelo.
En los siguientes apartados se presentarn estas dos tareas, y se terminar con un apartado de
conclusiones sobre la conceptualizacin del esquema de conceptualizacin.
72
INICIO
Escenario
CONCEPTVAUZACIN
DEL ESQUEMA D
CONCEPTVAUZACIN
Tarea 2.1. Elaboracin desde
cero de un meta-modelo
No
Paso 5. Conceptualizacin de
la ontologa de dominio
Paso 6. Implementacin de la
ontologa de dominio
T
Figura 4.6. Tareas de la conceptualizacin del esquema de conceptualizacin dentro del mtodo
INTRODUCCIN
En caso tener que realizar desde el principio un meta-modelo para la nueva ontologa, es
necesario hacer una descripcin muy detallada, aunque fcil de entender, de las EE.CC a utilizar,
de sus caractersticas, y las reglas de verificacin de la consistencia dentro de cada EC y entre
EE.CC. Dado que se trata de una tarea densa, se ha aadido al final de este apartado la
descripcin de un caso prctico (seccin 4.3.1.6).
73
4.3.1.2
ENTRADAS
4.3.1.3
PRODUCTOS A OBTENER
4.3.1.3.1
74
tipos de arcos que pueden entrar o salir de un vrtice que se ajuste a este tipo; cuntos
arcos de cada tipo pueden entrar en cada tipo de vrtice, o cuntos pueden salir de l.
2. Un conjunto de regias de consistencia entre EE.CC y dentro de cada EC, as para cada regla
de consistencia se dar una descripcin en lenguaje natural y otra formal.
3. Un orden en la conceptualizacin. Aunque no se exige que la persona encargada de
conceptualizar el donninio siga un orden estricto a la hora de rellenar las distintos EE.CC, el
meta-modelo s debe establecer de manera clara qu orden es el que se aconseja.
Nombre_campo_l
Nombre_campo_2
Nombre_canipo_3
Trmino_l
Trmino_2
Trmino_3
Trmino 4
Trmino 5
Trmino 5
Trmino 7
Trmino 8
Trmino 9
A.2. Tablas verticales. Tienen dos columnas, la primera para los nombres de los campos, y
la segunda para los valores que toman esos campos. Cuando se est conceptualizando
75
una ontologa concreta, se puede utilizar ms de una tabla vertical del mismo tipo
(vanse los ejemplos de la Tabla 4.2, y de la Tabla 4.2).
Nombre_campo_l
Trmino 1
Nombre_campo_2
Trmino 2
Nombre_cainpo_3
Trmino 3
Nombre_campo_l
Trmino 4
Nombre_canipo_2
Trmino 5
Nonibre_cainpo_3
Trmino 6
Arco de tipo 1
Arco de tipo 2
Vrtice de tipo 1
Vrtice de tipo 2
76
horizontales como verticales, y los formatos de los vrtices y los arcos de los gratos. Por otra parte,
en el anexo III se encuentra una descripcin formal de estos formatos basada en gramticas libres
del contexto.
B. 1)
Cada valor que haya en una celda de un campo de una tabla, bien sea horizontal, bien sea vertical,
debe ajustarse a uno de los siguientes formatos:
a. Descripcin: se utiliza generalmente para explicaciones con un nmero grande de caracteres
en lenguaje natural. En una descripcin, se puede utilizar cualquier cadena de caracteres
ANS
b. Texto: es como el formato descripcin; pero el texto est limitado a 255 caracteres. Se
distingue entre campos con esta limitacin y campos que no la tienen, pues, en caso de
tener campos que puedan tomar valores de gran longitud, no se podrn hacer
comparaciones entre distintos valores de estos campos, ya que requerirn muchos recursos.
Se utiliza para anotaciones cortas en lenguaje natural, por ejemplo, referencias a la
bibliografa.
c. Trmino: se utiliza para el vocabulario a describir en la ontologa y para trminos importados
de otras ontologas. Un trmino empieza por una letra, y puede contener letras, dgitos o
espacios.
d. Variable: su formato es igual que el de trmino; sin embargo, el formato variable es utilizado
generalmente para las variables de expresiones lgicas.
e. Cardinalldad es til para restringir, inferior y superiormente, el nmero de elementos de una
coleccin que pueden estar asociados a cada elemento de otra. La cardinalldad puede ser
(0,1),(1,1),(0,n)(1,n).
f. Expresin aritmtica, es el ms adecuado para las operaciones matemticas. Se pueden
usar los operadores de multiplicacin, divisin, suma y resta, y se puede hacer referencia a
cualquier funcin matemtica. Segn este formato, para representar expresiones aritmticas,
se utiliza notacin infija. Un ejemplo de expresin aritmtica puede ser
expt(x, y) + 3* sin(x)
donde expt(x, y) es x'.
g. Expresin lgica. Permite construir expresiones en lgica de primer orden utilizando los
operadores de negacin, conjuncin, disyuncin, implicacin, doble implicacin, adems del
cuantificador universal y el existencial. Un ejemplo de expresin lgica puede ser:
77
B.2)
Los identificado res de los vrtices (por ejemplo, vrtice 1, en la Figura 4.7) y de los arcos (por
ejemplo, arco 1) siguen el formato trmino de las tablas.
C) Propiedades que hay que definir sobre los elementos de conceptualizacin
En este apartado se describirn las propiedades que hay que definir en un meta-modelo sobre los
campos de las tablas, as como las caractersticas que hay que definir cuando se crean gratos.
C. 1)
Las caractersticas que hay que considerar a la hora de definir cada campo de un EC tabular son
las siguientes:
1. Si el campo es principal. Son campos principales aquellos que se pretende que sirvan para
identificar cada fila de la tabla (si la tabla es horizontal), o cada tabla entre varias del mismo
tipo (si la tabla es vertical). Sobre los campos principales, se deben satisfacer las siguientes
condiciones:
a)
Todos los campos principales tienen que tomar valores en todas las filas (o en todas las
tablas si se trata de un tipo de tabla vertical).
b)
c)
n, se establece que son principales el campo y el campo 2, entonces se puede decir que la
Tabla 4.4 se ha rellenado respetando esta definicin, pues (a) el campo y el campo 2
toman valores en todas las celdas, (b) no hay mltiples valores en ninguna celda de estos
campos y (c) no se repiten combinaciones de valores de los campos principales en
diferentes filas. En el caso de tener definido un tipo de tablas verticales, tambin con: campo
78
Principales
ii
campo 1
1
campo 2
3
campo 3
5
campo 4
4
7
3
3
5
6
8
Principales
Campo 1
Campo 1
Campo 1
Campo 2
Campo 2
Campo 2
Campo 3
Campo 3
5
7
6
Campo 3
8
9
Campo 4
Campo 4
3
5
Campo 4
Figura 4.8. Ejemplos de tablas verticales del mismo tipo con dos campos principales
2. Si el campo est asociado a otro (aplicable slo a tablas horizontales). En algunos casos,
hay parejas de campos asociados, en las que, dentro de la misma fila, existe una relacin
entre valores de ambos campos. Para establecer esta relacin de valores, no slo hay que
definirla en el meta-modelo indicando que ambos campos estn asociados, sino que,
adems, cuando se rellene la tabla en la conceptualizacin de una ontologa concreta, ser
necesario poner los valores de un campo alineados con los del otro. As, por ejemplo, si se
define una tabla con campo 1, campo 2 y campo 3, y se establece que el campo 3 est
asociado con el campo 2, entonces la Tabla 4.5 se ajusta a la definicin, pues cada valor del
campo 3 est alineado con un valor del campo 2.
79
Asociados
Campo 1
Caibpo 2
Canijo 3
3
4
5
4
4
3
4
6
2
1
3. La multiplicidad mnima y mxima. Es la cantidad mnima y mxima de valores con los que
puede ser rellenado un determinado campo en cada tabla. Por ejemplo, la Tabla 4.5 se
ajusta necesariamente a una definicin en que el campo 2 y el campo 1 deben tener
multiplicidad n, mientras que el campo 1 tendr multiplicidad 1.
4. Posible repeticin. Si se trata de un tipo de tabla horizontal, con esta propiedad se establece
si el campo puede tomar un mismo valor en varias filas distintas de la misma tabla. Por
ejemplo, la Tabla 4.5 se ajusta necesariamente a una definicin de un EC tabular en que los
valores del campo 2 pueden repetirse pues, de hecho, tanto en la primera fila de esta tabla
como en la segunda, uno de los valores del campo 2 es 4.
Por otra parte, si la posible repeticin se define sobre un tipo de tabla vertical, con esta
propiedad se establece si el campo puede tomar un mismo valor en varias tablas del mismo
tipo. Por ejemplo, las tablas de la Figura 4.8 se ajustan necesariamente a una definicin de
un EC tabular en que los valores del campo 1 se pueden repetir y, de hecho, el valor 1 se
repite en la primera y en la ltima tabla de la figura.
C.2)
Propiedades sobre los tipos de vrtices y los tipos de arcos de los gratos
80
campo 1
1
campo 2
3
campo 3
5
campo 4
4
7
3
6
8
9
Tablas del tipo T2
Campo A
Campo A
Campo A
Campo B
Campo B
Campo B
Campo C
5
7
Campo C
3
4
6
Campo C
8
9
Figura 4.9. Ejemplo de relacin de elementos de conceptualizacin a travs de una regla de verificacin de la
consistencia
81
Grafos
Tablas verticales
Se expresan como
Tablas horizontales
W
Utilizan
Son
Figura 4.10. Descripcin formal de las reglas de verificacin de la consistencia basndose en matrices
Estas transformaciones no se deben entender como una indicacin para el procesamiento de los
82
EE.CC, sino que se deben entender como una especificacin precisa de su significado.
En los puntos que vienen a continuacin, se mostrar cmo hacer estas transformaciones,
cules van a ser las operaciones sobre matrices que van a hacer falta para definir las reglas de
verificacin de la consistencia, la especificacin de las reglas de consistencia utilizando matrices, y
su expresividad.
D. 1)
Un conjunto de tablas verticales del mismo tipo puede dar lugar a una tabla horizontal. Para ello
Celda columna de valores de cada tabla vertical se transforma en una fila de la tabla horizontal
(vase la Figura 4.11).
Nombre..campo_l
Tnnino 1
Nombre_campo_l
Tnnino 4
Nombre_campo_l
Trmino 7
Nombre..campo_2
Trmino 2
Nombre_campo_2
Trmino 5
Nombre_campo_2
Trmino 8
Nombre.,campo_n
Trmino 3
Nombre_campo_n
Tnnino 6
Nombre_campo_n
Tnnino 9
h
W
Nombre_campo_l
Nombre_campo_2
Nombre_campo_n
Tnnino 1
Trmino 2
Trmino 3
Tmiino 4
Trmino 5
Trmino 6
^
^
lermino
Trmino i
Trmino 9
M
^
Figura 4.11. Transformacin en una tabla horizontal las tablas verticales del mismo tipo
D.2)
Al igual que ocurre con las tablas verticales, los grafos tambin se pueden transformar en tablas
horizontales. Una posibilidad, la utilizada en este trabajo, consiste en generar una tabla con cinco
campos, y tantas filas como enlaces haya entre vrtices a travs de arcos. As (Figura 4.12), el
primer campo representar, para cada enlace, el nombre del vrtice origen; el segundo, el tipo del
vrtice origen; el tercero, el tipo de arco que une los vrtices; el cuarto, presentar el nombre del
vrtice destino; y el quinto, el tipo de vrtice destino.
D.3)
Cualquier tabla horizontal se puede representar como una matriz de conjuntos haciendo
corresponder cada fila de la tabla con una fila de la matriz, y cada columna de la tabla con una
columna de la matriz (Figura 4.13). En consecuencia, las tablas verticales y los grafos tambin se
pueden representar de forma matricial, pues se pueden transformar en tablas horizontales.
83
Cuando una tabla tiene cannpos asociados, su transformacin en una representacin matricial
tiene el matiz de que los valores de cada celda de un campo de los que intervienen en la
asociacin forman parte de una lista (vase la Figura 4.14), pues los valores de campos asociados
pueden estar repetidos dentro de la misma celda y, adems, es relevante el orden de los valores
en una celda de un campo asociado a otro^.
Arco de tipo 1
Arco de upo 2
Vrtice de tipo 1
Vrtice de tipo 2
Nombre del
vrtice origen
Vrtice 1
Vrtice 2
Vrtice 2
Vrtice 4
Tipo de arco
Vrtice de tipo 1
Vrtice de tipo 2
Vrtice de tipo 2
Vrtice de tipo 1
Arco de tipo 2
Arco de tipo 1
Arco de tipo 1
Arco de tipo 2
Nombre_campo_l
Nombre_campo_2
Nombre_campo_n
Trmino 1
Trmino 2
Trmino 3
Trmino 4
Trmino 5
Trmino 6
Trmino 7
Trmino 8
Trmino 9
-^
Trmino 1
Trmino 2
Trmino 3
Trmino 4
Trmino 5
Trmino 6
.Trmino 7
Trmino 8
Trmino 9 .
Recuerdes que, en matemticas, los conjuntos no contienen elementos repetidos, y el orden de los elementos
es indiferente en la definicin de un conjunto.
84
Asociados
Campo 1
Campo 2
Campo 3
3
4
5
4
4
3
4
6
2
1
~\
(1)
([3,4,5])
{[4,4,3])
(2}
{[4,6])
{[2, 1])
V.
Figura 4.14. Transformacin de una tabla de con campos asociados en una matriz
D.4)
Operaciones sobre
matrices
A continuacin se define una serie de operaciones sobre matrices de conjuntos que sern tiles
para definir propiedades de los EE.CC y mantener la consistencia:
1. Unin de matrices. La unin de dos matrices M^ y M2 con n columnas da lugar a otra matriz
/W3 con n columnas tal que sus primeras filas son las filas de /W,, y las restantes son las de
A2 que no estn en M^. El orden en que estn las filas en /Wi y M2 se conservar en M3. La
notacin utilizada ser Ai unin M2. Un ejemplo es el de la Figura 4.15.
r {1}
Mi =
{3,4}
^{2}
{3}
{5,7}^
{2}
{3}
{5,6}
{6, 8,_gy
M3 = M^ unin M2 =
{3}
M2 =
{3,4}
{2}
Vi?, 3}
{8}
{1}
{3}
{5,7}
{3,4}
{2}
{3}
{2}
{5, 6}
{6, 8, 9}
{2}
{3}
{5}
{2,3}
{8}
(6,8}
{3}
{6,8X/
85
2. Proyeccin ordenada. La proyeccin ordenada de una matriz M sobre una serie de columnas
/i, 2,..., k es otra matriz cuyas columnas son la ii-sima, la 2-sima,..., la ik-sima de M en
el mismo orden en que aparecen en la serie. La notacin de esta operacin ser
M./i, M.2,..., M.k
pudiendo ir entre corchetes el nombre de la matriz o el nmero de las columnas si esto
facilita la legibilidad. En la Figura 4.16, se presenta un ejemplo de proyeccin en que se
construye la matriz Mt al tomar la columna 3 de Mi y la columna 1 de Mz-
(^
M4 = Mi.[3], M2.[1] =
{5, 7}
{2}"^
{3}
{3,4}
^ { 6 , 8, 9}
{2, 3 ) y
^{1}
{3}
{5,7}~\
r
Mi =
{3,4}
{2}
{3}
{2}
{5,6}
{6,8,9}
M5 =
{3,4}
{2}
{3}
J
cada Con}, est incluido en cada ConJ,. Por ejemplo, la segunda fila de la matriz Mi de la
Figura 4.18, es decir, ({3, 4}, {2}, {3}), est incluida en la en la tercera fila de la matriz Me de
la misma figura, es decir, ({3, 4}, (2), {3, 4, 5}).
2. Inclusin de matrices. Se dice que una matriz Mi est incluida en otra Me si y slo si toda fila
de Mi est incluida en al menos una de Me. Esta operacin se escribe como Mi is included in
86
MQ. En la Figura 4.18 aparece un ejemplo de inclusin de matrices. Se puede observar que
la primera fila de /Wi est incluida en la segunda de MQ, que la segunda de /Wi est incluida
en la tercera de M^, y la tercera de /Wi est incluida en la primera de /I4.
^{1}
{3,4}
Mi =
\^{2}
{3}
{5,7}"^
{2}
{5, 6}
{6, 8, 9}
{1}
{3}
{5,7}
{3, 4}
{2}
{3, 4, 5}
{1}
{4}
{6}
Ms =
{3}
{5,6}
{2}
{6,8,92^
D.5)
Una manera formal de expresar las reglas de consistencia de los EE.CC es a travs de inclusiones
de matrices, haciendo referencia a la representacin matricial de los EE.CC. Por ejemplo (Figura
4.19), si se desea expresar que todos los valores del campo 3 de cualquier tabla de tipo TI tienen
que estar en el campo Cde una tabla de tipo T2, se podr escribir de siguiente manera:
T1.[campo 3] is included in T2.[campo C]
TI .[campo 3] is included in
T2.[campo C]
campo 1
campo 2
campo 3
5
7
3
campo 4
4
3
6
1
9
Tablas del tipo 72
Campo A
Campo A
Campo A
Campo B
Campo B
Campo B
Campo C
5
7
Campo C
3
4
6
Campo C
8
9
87
Se Utiliza el ingls porque es el lenguaje qu se suele utilizar como lengua franca en los
proyectos internacionales, consiguientemente, es el idioma que permite una mejor comunicacin
entre las personas que intervienen, de una manera u otra, en la conceptualizacin.
En lo referente a la operacin de seleccin, slo se van a definir reglas formales con
selecciones para gratos, que es para lo que hasta ahora se ha utilizado esta operacin. Adems,
esta operacin siempre va ir acompaada de una proyeccin ordenada. La sintaxis que se va a
seguir, descrita de manera formal a travs de una gramtica libre del contexto en el anexo IV, es la
que se presenta a continuacin:
1. Grafo.TA.out.TV
para indicar que hay que seleccionar en la matriz del Grafo aquellas filas tales que
Tipo de arco] =TAy Tipo del vrtice origen] = TV
y que despus hay que proyectar sobre Nombre del vrtice origen; y
2. Grafo.TA.in.TV
para indicar que hay que seleccionar en la matriz del Grafo aquellas filas tales que
[Tipo de arco] =TAy Tipo del vrtice destino] = TV
y que despus hay que proyectar sobre Nombre del vrtice destino.
As, por ejemplo, una regla que diga: "en un grafo de tipo G, cualquier trmino que aparezca en un
vrtice de tipo Vdel que sale un arco de tipo A tiene que aparecer en el campo C de una tabla del
tipo T se puede expresar como:
G.A.out.Vis includedin T.C
En consecuencia, el grafo y la tabla de la Figura 4.20 satisfacen la regla.
88
Vrtice de tipo V
Arco de tipo A
Arco de tipo A
Vrtice de tipo V
5
1
7
3
3^-1^2
6
1
Figura 4.20. Ejemplo de una regla de verificacin de la consistencia de un grafo con una tabla
D.6)
La regla contiene una condicin. Por ejemplo, no se puede expresar de manera forma! la
regla que dice: "si la relacin inversa de una tabla de relaciones aparece en el glosario de
trminos, entonces tiene que aparecer en el campo 'nombre de la relacin' en otra tabla de
relaciones". Ntese que la comprobacin de si la relacin inversa tiene una tabla de
relaciones propia se hace dependiendo de si se da o no una determinada condicin.
ii)
La regla menciona una subcadena del valor del campo. Por ejemplo, la regla que dice: "en
una tabla de axiomas lgicos, cualquier constante de las que haya en el campo 'constantes
referidas' debe aparecer en la expresin del axioma". Obsrvese que una constante que
aparezca en la expresin del axioma ser una subcadena de dicha expresin.
iii)
La regla asume herencia. Por ejemplo, la regla que dice: "si en una tabla de atributos de
instancia aparece A como el nombre del atributo y C como el concepto, entonces A tiene
que aparecer en el diccionario de conceptos como uno de los atributos correspondientes al
89
concepto C o a una de sus superclases". Obsrvese que se asume que los atributos de un
concepto son aquellos que aparecen explcitamente como tales en el diccionario de
conceptos, y los que hereda de sus superclases.
iv)
La regla contiene una negacin. Un ejemplo puede ser la regla que dice: "si un atributo A^
sirve para deducir otro/A2, entonces/42 no sirve para deducir A " . .
90
4. Para cada uno de los tipos de tablas que aparecen en el glosario de EE.CC, se realizarn
las tablas que se describen a continuacin:
4.1.1. En caso de que sea necesario, una tabla de campos asociados. Habr una fila por
cada pareja de campos asociados.
4.1.2. Una tabla de descripcin de campos que, para cada campo, presentar las siguientes
caractersticas:
a) nombre del campo;
b) siglas que tambin servirn para identificar el campo;
c) descripcin en lenguaje natural. El smbolo "**" se utilizar para campos que ya
queden bien definidos con su nombre;
d. formato con el que tiene que ser rellenado (descripcin, texto, expresin aritmtica,
etc.);
e) una indicacin informando sobre si el campo es principal, o no;
f) multiplicidad mnima y mxima;
g) posible repeticin en la misma tabla si se trata de una tabla horizontal; y
h) posible repeticin del valor del campo en otras tablas del mismo tipo si se trata de
tablas verticales.
5. Para cada tipo de grafo, se elaborarn las siguientes tablas:
5.1. Una tabla de descripcin de arcos que contenga, para cada tipo de arco (tipo de arco),
la siguiente informacin:
a) su nombre;
b) sus siglas; y
c) su descripcin en lenguaje natural.
5.2. Una tabla de descripcin de vrtices con la siguiente informacin para cada tipo de
vrtice:
a) el nombre del tipo vrtice que se est describiendo;
b) las s/f/as;
c) la descripcin;
91
d) los tipos arcos que pueden entrar o salir de un vrtice que se ajuste a este tipo;
e) \a multiplicidad de entrada e estos arcos; ^
f) La multiplicidad de salida.
6. Dos tablas de reglas de verificacin de las referencias cruzadas por cada EC, una para las
referencias dentro de la misma EC, y otra para las referencias a otras EE.CC. La informacin
a considerar para cada regla de verificacin de la consistencia ser la siguiente:
a) Nombre con que se va a identificar la regla.
b) Campos y arcos fuentes en la regla, es decir, los campos de las tablas y los arcos de los
grafos cuya informacin hay que buscar en el mismo o en otros EE.CC para ver si se
verifica la regla.
c) Descripcin en lenguaje natural de la regla.
d) Descripcin formal de la regla segn se describe en 4.3.1.3.2D).
Las dos normas fundamentes que se hian de seguir a la hora de especificar reglas de
consistencia son:
a) mnima redundancia; y
b) las comprobaciones se deben hacer entre EE.CC lo ms cercanos posible dentro del
orden de la metodologa.
7. Cuando ya se han hecho varias tablas de verificacin de la consistencia, se debe hacer un
grafo de reglas de verificacin de la consistencia que relacione los EE.CC de tal manera que
tiene que haber un arco de cualquier elemento de conceptualizacin EC-\ a otro EC2 si y slo
si algn valor de EC^ tiene que estar en algn campo o vrtice de EC2. Este grafo servir
para tener una idea global de las dependencias entre EE.CC.
4.3.1.4
Los pasos para realizar la conceptualizacin del esquema de conceptualizacin son los que se
presentan en el diagrama de GANTT de la Figura 4.21. En esta figura, si una flecha une el principio
de un paso con el principio de otro, entonces el primero se debe empezar a hacer antes que el
segundo. Adems, si el final de un paso est ms a la izquierda que el final de otro, entonces el
primero debe acabar antes de que lo haga el segundo.
En lo concerniente al orden en que se van describiendo los EE.CC, se recomienda el orden en
que aparezcan en el diagrama de orden, de esta manera, es fcil tener una visin global de lo ya
92
4.3.1.5
La conceptualizacin del esquema de conceptualizacin la tiene que llevar a cabo una persona
entendida en conceptualizacin, aunque es conveniente que las personas encargadas de
conceptuaiizar el dominio participen dando su opinin sobre lo intuitivas y lo fciles de manejar que
son los EE.CC.
4.3.1.6
4.3.1.6.1
4.3.1.6.2
4.3.1.6.3
En la Figura 4.22 se muestra el diagrama con el orden de los EE.CC para el meta-modelo del caso
prctico.
93
Hacer ficha de
descripcin general
del esquema
Hacer glosario de
representaciones
intermedias
Hacer diagrama de
orden de
representaciones
intermedias
Hacer tabla de
descripcin de
campos
Hacer tabla de
campos asociados
Hacer tabla de
descripcin de
arcos
Hacer tabla de
descripcin de
vrtices
Tablas de reglas de
verificacin dentro
de cada RI
Tablas de reglas de
verificacin entre
EE.CC
Grafo de reglas de
verificacin de la
consistencia
94
Esquema 6
Julio de 1998.
Autores
Mariano Fernndez Lpez en colaboracin con Asuncin Gmez Prez, Mercedes Blzquez Cvico
y Juan Manuel Garca Pinar, que han documentado las reglas de verificacin de la consistencia en
[Blzquez, 97] y en [Garca Pinar, 98] respectivamente.
Se ha elaborando en el Laboratorio de Inteligencia Artificial (LIA) de la Facultad de Informtica (FI)
de la Universidad Politcnica de Madrid (UPM) la metodologa utilizada en el LIA para desarrollar
sistemas basados en conocimientos. Se ha comprobado su validez construyendo ontologas en
distintos dominios. Entre las ms relevantes se encuentran:
1. CHEMICALS [Fernndez, 96], [Gmez-Prez et al.; 96], [Femndez-Lpez et al.; 99], que
contiene conocimientos dentro del domino de los elementos qumicos y las estructuras
cristalinas.
2.
La Reference-Ontology [Arprez et al.; 98], una ontologa en el dominio de las ontologas que
juega el papel de una especie de pginas amarillas de ontologas. Recoge, describe y tiene
enlaces a ontologas ya disponibles, utilizando una organizacin lgica comn.
3.
Descripcin
Estas ontologas se han utilizado para construir aplicaciones, concretamente:
I.
(Onto)^gent [Arprez et al.; 98]. Un agente WWW sobre ontologas que utiliza la ReferenceOntology como una fuente de su conocimiento y recoge descripciones de ontologas que
satisfacen un conjunto de restricciones dado. (Est disponible en http://delicias.dia.fi.upm.es/
OntoAgent).
Chemical OntoAgent [Arprez et al.; 98]. Un agente WWW que facilita a los estudiantes el
aprendizaje de la qumica y la evaluacin de sus conocimientos. Una de sus fuentes de
conocimientos es CHEMICALS.
Ontogeneration [Aguado et al.; 98]. Es un sistema que utiliza una ontologa de dominio
(CHEMICALS) y otra lingstica (GUM [Bateman et al.; 95]) para generar texto en espaol
como respuesta a preguntas sobre qumica realizadas por estudiantes.
Bibliograa
M t o d o flexible p a r a la c o n c e p t u a l i z a c i n d e ontologas b a s a d o en m e t a - m o d e l o s
95
AC
ACC
Tipo de
elemento
Grafo
Grafo
Diagrama de relaciones
DR
Grafo
--
Diccionario de conceptos
DC
Tabla
Horizontal
FDG
Tabla
Vertical
Glosario de trminos
GT
Tabla
Horizontal
TTI
Tabla
Horizontal
Tabla de constantes
TC
Tabla
Horizontal
Tabla de instancias
TI
Tabla
Horizontal
TAC
Tabla
Vertical
TAI
Tabla
Vertical
TAL
Tabla
Vertical
Tablas de frmulas
TF
Tabla
Vertical
TR
Tabla
Vertical
Siglas
Descripcin
Urientacin
Muestran grficamente cmo se pueden obtener unos atributos a partir de otros o de constantes utilizando frmulas.
Organiza los conceptos segn las relaciones: subclase de, subclase en una particin disjunta, subclase en una particin exhaustiva, etc.
Contiene todas aquellas relaciones binarias que tengan origen en algn concepto de la ontologa que se est construyendo. Este diagrama
proporciona una gua para integrar ontologas, ya que si el concepto C est relacionado mediante la relacin R con el concepto C2 que est en
otra ontologa, entonces la ontologa que se est desarrollando deber incluir la ontologa que contiene C2. Haciendo una adaptacin de la
propuesta de Guarino [Guarino, 92], se considerarn relaciones binarias los papeles relacinales que desempeen las instancias (trabaja en,
emplea a, etc.), las relaciones de agregacin (por ejemplo, es parte de) y las relaciones de abstraccin y sus inversas (por ejempo, es superclase
de 0 es subclase de). stas ltimas se representarn en el rbol de clasificacin de conceptos en vez de hacerlo en el diagrama de relaciones
binarias. Sin embargo, las etiquetas (por ejemplo, el nombre), las cualidades (color, altura, etc.), los papeles y los trminos booleanos, es decir,
los que pueden tomar valor verdadero o falso (por ejemplo, vuela, tiene plumas, etc.), se considerarn atributos.
Contiene todos los conceptos que aparezcan en el rbol, sus instancias, sus atributos de clase y de instancia, las relaciones binarias en las que
dichos conceptos estn como origen, y los sinnimos y abreviaturas. Los atributos de instancia son aquellos que sirven para describir instancias
particulares, por ejemplo el peso es especfico de cada persona; por otra parte, los atributos de clase describen los conceptos de forma global, por
ejemplo la edad mxima de jubilacin en los distintos oficios y profesiones hace referencia a conceptos, no a instancias particulares de stos.
Tendr la siguiente informacin: el nombre de la ontologa; la hora y la fecha de creacin; los autores; y un campo de descripcin con el
propsito, una visin general de la misma y las fuentes utilizadas.
Incluye, con sus descripciones, los conceptos, las instancias, las relaciones, los atributos y las constantes.
Contiene el nombre de cada trmino importado, la ontologa a que pertenece, el servidor en que se encuentra, y el nombre que recibe en la nueva
ontologa.
Para cada constante especifica su nombre, el tipo de valor, el valor, la unidad de medida, los atributos que se pueden deducir a partir de ella, y las
referencias.
Para cada una de las instancias del diccionario de conceptos, incluir: el nombre de la instancia, los atributos con los valores conocidos en la
instancia, y los valores que toman dichos atributos.
Por cada uno de los atributos de clase del diccionario de conceptos, deber haber una tabla con: el nombre del atributo, el concepto al que
pertenece, el tipo de valor, la unidad de medida, la precisin, la cardinalidad, los atributos de instancia que pueden ser deducidos a partir de l, y
las referencias a las fuentes de donde se han obtenidos los conocimientos relativos al atributo.
Por cada uno de los atributos de instancia que aparezcan en el diccionario de conceptos, debe haber una tabla con: su nombre; el concepto al que
pertenece; el tipo de valor; la unidad de medida si es un atributo numrico; la precisin en caso, tambin, de valores numricos; el intervalo de
valores; el valor por defecto; las cardinalidades mxima y mnima; los atributos de instancia, de clase y constantes que se utilizan para deducir su
valor; los atributos que pueden ser deducidos utilizando el valor del atributo que se est definiendo; las frmulas que se pueden utilizar para
hallar el valor del atributo; y las referencias utiUzadas para describirlo.
Los axiomas lgicos describen los conceptos a travs de expresiones en lgica de primer orden. Sus campos sern: el nombre del axioma; la
descripcin en lenguaje natural; el concepto que describe; los atributos, relaciones, constantes y variables que intervienen en la expresin; la
expresin en lgica de primer orden; y las referencias a las fuentes.
Por cada frmula de las que aparezcan en las tablas de atributos de instancia se elaborar una tabla con los siguientes campos: el nombre, el
concepto al que se refiere, el atributo que deduce, la expresin de la frmula, la descripcin en lenguaje natural, los atributos y las constantes que
intervienen, la precisin, las restricciones para aplicarla (es una expresin en lgica de primer orden), y las referencias.
Para cada relacin de las que aparecen en el diccionario de conceptos, se construir una tabla con: su nombre, el nombre del concepto origen, la
cardinalidad del origen, el concepto destino, las propiedades matemticas (propiedad transitiva, reflexiva, etc.), la relacin inversa y las
referencias a las fuentes utilizadas. Obsrvese que tanto el concepto destino como la relacin inversa pueden ser trminos de otra ontologa; en
ese caso, hay que importar la ontologa a la que pertenezcan.
Tabla 4.7. Glosario de elementos de conceptualizacin del meta-modelo del caso prctico
96
Ficha de
descripcin
general
ir
Lista de
trminos a
importar
Glosario
de
trminos
rbol de
clasificacin
de conceptos
Diagrama de
relaciones
Diccionario
de conceptos
Tablas de
relaciones
Tablas de
atributos
de clase
Tablas de
atributos de
instancia
Tablas de
axiomas
lgicos
Tabla de
constantes
Tablas de
frmulas
rboles de
clasificacin
de atributos
Tabla de
instancias
97
Nombre
Siglas
Nombre
Fecha y hora de
creacin
FH
Autores
Descripcin
Formato
Descripcin
**
'
El momento en el que se ha
empezado a conceptualizar la
ontologa
Quines intervienen en el
desarrollo de la ontologa
Se explica el propsito, se
muestra una visin general de
la ontologa y las fuentes de
conocimientos utilizadas
Repeticin en la
misma tabla
No
No
No
(1,1)
No
No
(1,1)
No
No
(1,1)
Es principal
Identificador
Descripcin
Descripcin
Multiplicidad
(1,1)
Descripcin
B) Glosario de trminos
La Tabla 4.9 presenta la conceptualizacin de un glosario de trminos. Adems, la Tabla 4.10
presenta la conceptualizacin de las reglas de verificacin de la consistencia del glosario de
trminos con otros elementos de la conceptualizacin.
Campo
Descripcin
Siglas
Nombre
Descripcin
**
Descripcin en lenguaje
natural
Formato
Es principal
Identificador
Repeticin en la
misma tabla
No
No
No
Descripcin
Multiplicidad
(1,1)
(1,1)
Nombre
Regla GT-1
Campo fuente
Nombre
Descripcin formal
GT.nombre is included in
(DC.NC unin
DC.I unin
DC.AI unin
DC.AC unin
DC.R unin
TC.NC)
Tabla 4.10. Tabla de reglas de verificacin del glosario de trminos con otros elementos de
conceptualizacin
98
Ntese que tanto el nombre del trmino origen, como el nombre de la ontologa e, incluso, el
servidor son campos principales, pues puede darse el caso de poder importar el mismo
trmino, de la misma ontologa, pero de distinto servidor.
Campo
Nombre del
trmino en el
origen
Nombre de la
ontologa
Nombre del
servidor
Nombre del
trmino en el
destino
Siglas
NR
NO
NS
NT
Descripcin
Trmino que pertenece a otra
ontologa y que se utiliza en la
ontologa
que
se
est
desarrollando. En este campo
aparece con el nombre que recibe
en la ontologa de origen.
Ontologa a que pertenece el
trmino a importar
Servidor en que se encuentra la
ontologa
Aparece el trmino con el nombre
que se le da en la ontologa que se
est construyendo.
Formato
Es principal
Repeticin
en la misma
tabla
Multiplicidad
Identicador
(1,1)
Identificador
(1,1)
Identicador
(1,1)
Identificador
No
No
(1,1)
Regla TTI-1
Campo fuente
relacin
inversa de una tabla de
relaciones binarias;
Tabla 4.12. Tabla de reglas de verificacin de la lista de trminos a importar con otros elementos de
conceptualizacin
99
Arco
Siglas
Subclase de
SPD
SPE
Descripcin
Una clase C es una subclase de la clase padre P si y slo si cualquier instancia
de C es tambin instancia de P.
Una particin disjunta de una clase es un conjunto de sudases de la misma que
no tienen instancias comunes.
Una particin exhaustiva de una clase es un conjunto de subclases que abarca
toda la clase, es decir, que no hay ninguna instancia de la clase padre que no
sea de ninguna de las subclases de la particin.
Nudo'
Concepto
Siglas
C
Descripcin
**
Multiplicidades
de entrada
(0,n)
(O.n)
(0,n)
Multiplicidades
de salida
(0,n)
(0,n)
(0. n)
Tabla 4.14. Tabla de descripcin de campos de los nudos del rbol de clasificacin de conceptos
Regla
Regla ACC-1
Arco fuente
Subclase de
Subclase en una
particin disjunta
Subclase en una
particin exhaustiva
Regla ACC-1_1
Subclase de
Regla ACC-1 _2
Subclase de
Regla ACC-1_3
Subclase en una
particin exhaustiva
Regla ACC-1_4
Subclase en una
particin exhaustiva
Regla ACC-1_5
Subclase en una
particin disjunta
Regla ACC-1_6
Subclase en una
particin disjunta
Descripcin formal
ACC.S.out.Concepto is included in
GT.Nombre
ACC.S.in.Concepto is included in
GT.Nombre
ACC.SPE.out.Concepto is included in
GT.Nombre
ACC.SPE.in.Concepto is included i
GT.Nombre
ACC.SPD.out.Concepto is included in
GT.Nombre
ACC.SPD.in.Concepto is included in
GT.Nombre
Tabla 4.15. Tabla de reglas de verificacin en el rbol de clasificacin de conceptos con otros elementos
de conceptualizacin (1/2)
En este trabajo se ha preferido utilizar la palabra "nudo" en vez de "nodo" que es mucho ms habitual
en el lenguaje informtico. En realidad, cuando alguien que est hablando o escribiendo sobre informtica
menciona la palabra "nodo", se est refiriendo a un punto donde se unen varios ramales. Ahora bien,
segn la Real Academia Espaola [RAE, 92] y otras entidades y personas dedicadas al estudio del
lenguaje, "nudo" puede utilizarse con este significado, mientras que "nodo" no admite ninguna acepcin
que tenga un sentido semejante al comentado. La razn por la que se incurre tan a menudo en el error de
confundir ambas palabras es que en ingls, la lengua en la que se escriben la mayor parte de los textos de
informtica, node puede traducirse al castellano por "nodo" y por "nudo".
100
Arco fuente
Regla
Subclase de
Subclase en una
particin disjunta
Regla ACC-2
Subclase en una
particin exhaustiva
Regla ACC-2_1
Subclase de
Regla ACC-2_2
Subclase de
Regla ACC-2_3
Subclase en una
particin exhaustiva
Regla ACC-2_4
Subclase en una
particin exhaustiva
Regla ACC-2_5
Subclase en una
particin disjunta
Regla ACC-2_6
Subclase en una
particin disjunta
Descripcin formal
--
ACC.S.oul.Concepto is inctuded in
DC.NC
ACC.S.in.Concepto is included in
DC.NC
ACC.SPE.out.Concepto is included in
DC.NC
ACC.SPE.in.Conceplo is included in
DC.NC
ACC.SPD.out.Concepto is included in
DC.NC
ACC.SPD.in.Concepto is included in
DC.NC
Tabla 4.15. Tabla de reglas de verificacin en el rbol de clasificacin de conceptos con otros elementos
de conceptualizacin (2/2)
del
diagrama
de
relaciones
binarias
con
otros
elementos
de
la
conceptualizacin.
Obsrvese que, al ser posible la repeticin del nombre de la relacin en distintos conceptos
origen, se est estableciendo que las relaciones son locales a los conceptos.
Arco
Origen
Destino
Siglas
Descripcin
Parte del concepto que acta como sujeto del verbo que representa a la
relacin,, yj llega
a la relacin
n
Parte de la relacin y llega al concepto que acta como complemento del
verbo que representa a la relacin
Tabla 4.16. Descripciones de los tipos de arcos del diagrama de relaciones binarias
101
Nudo
Siglas
Concepto
Relacin
Descripcin
**
Arcos que
pueden
entrar o
salir
Origen
Destino
Asocia dos conceptos.
Se representa como un
verbo que puede ir
acompaado por un
complemento
o, Origen
tambin,
por
una
preposicin (trabaja en,
es parte de, etc.)
Destino
Multiplicidades
de entrada
Multiplicidades de salida
--
(0,n)
(1,1)
. .-
(1,1)
Arco fuente
R?glaDR-2 Destino
Descripcin formal
Descripcin en lenguaje natural
El origen de- una relacin debe estar bien en el rbol de DR.O.in.R is included in
ACC.S.in.Concepto unin
clasificacin de conceptos bien en la lista de trminos a
ACC.S.out.Concepto unin
importar. La razn por la que un concepto origen puede ser un
ACC.SPE.in.Concepto unin
trmino importado es la siguiente; toda relacin tendr una
ACC.SPE.out.Concepto unin.
inversa, y puede haber conceptos del diagrama que no estn en
ACC.SPD.in.Concepto unin ,
la ontologa, por consiguiente, estos conceptos importados
ACC.SPD.out.Concepto
sern destino de alguna relacin, pero origen de su inversa.
DR.D.out.R is included in
ACC.S.in.Concepto unin
ACC.S.out.Concepto unin
El destino de una relacin debe estar bien en el rbol de
ACC.SPE.in.Concepto unin
clasificacin de conceptos, bien en la lista de trminos a
ACC.SPE.out.Concepto unin
importar, pues el concepto destino puede, o no, pertenecer a la
ACC.SPD.in.Concepto unin
ontologa.
ACC.SPD.out.Concepto unin
TTl.m
Las relaciones cuyo concepto origen est en el rbol de
clasificacin de conceptos han de aparecer en el glosario de
trminos, mientras que las relaciones cuyo concepto origen est
en la tabla de trminos a importar tambin han de aparecer en
esta lista. (Todava no se puede expresar de manera formal
porque la comprobacin se hace sobre el glosario de trminos o
sobre la tabla de trminos a importar dependiendo de una
condicin).
Tabla 4.18. Tabla de reglas de verificacin en el diagrama de relaciones binarias con otros elementos de
conceptualizacin
102
F) Diccionario de conceptos
La Tabla 4.19 presenta la conceptualizacin de un diccionario de conceptos. Adems, la Tabla
4.20 presenta la conceptualizacin de las reglas de verificacin de la consistencia del
diccionario de conceptos con otros elementos de la conceptualizacin.
Segn las posibles repeticiones de valores, las relaciones y los atributos son locales a los
conceptos. Adems, tal y como ya se ha indicado en la conceptualizacin del rbol de
clasificacin de conceptos, existe herencia mltiple, pues la misma instancia puede estar en
varios conceptos.
Campo
Siglas
NC
S
A
Instancias
Atributos de clase
AC
Atributos de instancia Al
Relaciones
Repeticin en
la misma
tabla
No
No
No
Descripcin
Formato
Es principal
**
**
*#
Identificador
Identicador
Identificador
NO
No
Identificador
No
: (0, n)
Identificador
No
(O.n)
Identificador
No
(0,n)
Identificador
No
(0,n)
SI-
Multiplicidad
(1,1)
(0,n)
(0,n)
Nombre
Campo
fuente
Regla DC-1
Nombre del
concepto
Regla DC-2
Instancias
Regla DC-3
Instancias
Regla DC-4
Atributos de
clase
Descripcin formal
DC.NC is included in
ACC.S.in.Concepo unin
ACC.S.out.Conceplo unin
ACC.SPE.in.Concepto unin
ACC.SPE.out.Concepto unin
ACC.SPD.in.Concepto unin
ACC.SPD. out. Concepto
Tabla 4.20. Tabla de reglas de verificacin del diccionario de conceptos con otros elementos de
conceptualizacin (1/2)
103
Campo
fuente
Nombre
Regla DC-5
Nombre del
concepto
Atributos de
instancia
Atributos de
instancia
Regla DC-7
Nombre del
concepto
Relaciones
Regla-DC-8
Nombre del
concepto
Relaciones
Regla DC-9
Nombre del
concepto
Descripcin formal
Atributos de
clase
Regla DC-6
Tabla 4.20. Tabla de reglas de verificacin del diccionario de conceptos con otros elementos de
conceptualizacin (2/2)
Campo
Nombre de la
relacin
Concepto
origen
Siglas
Descripcin
Formato
Es principal
NR
**
Identificador
CO
Si la relacin R se
establece
entre
el
concepto C y el G,
entonces Ci es el origen.
Identficador
Multiplicidad
(l.I)
(1,1)
104
Campo
Cardinalidad
del concepto
origen
Siglas
eco
Concepto
destino
CD
Ptopiedades
matemticas
PM
Relacin
inversa
Referencias
RI
Descripcin
Formato
Descripcin
Es principal
Multiplicidad
No
(1,1)
(1.1)
No
(0,n)
No
S, como se ha dicho en la
entrada del "nombre de la
relacin", una relacin se
identifica por su nombre, el
concepto origen y el
concepto destino, con las
relaciones inversas ocurre
lo mismo.
(0,1)
No
105
Nombre
Campo fuente
Regla TR-1
Relacin
inversa
Regla TR-2
Relacin
inversa
Regla TR-3
Relacin
inversa
Descripcin formal
--
--
Tabla 4.22. Tabla de reglas de verificacin de las tablas de relaciones entre ellas
Nombre
Regla TR-4
Descripcin formal
Campo fuente
Descripcin en lenguaje natural
Nombre de la Si, en la relacin R que se est definiendo,
se especifica que el concepto origen es Co,
relacin
entonces, en el diccionario de conceptos, TR.NR, TR.CO is includedin DC.R, DC.NC
aparecer R como una de las relaciones
Concepto
correspondientes al concepto Co
origen
Tabla 4.23. Tabla de reglas de verificacin de las tablas de relaciones con otros elementos de
conceptualizacin
de
instancia
con otros
elementos
de
la
conceptualizacin.
Tal y como se puede observar en la multiplicidad del campo frmula, un atributo se puede
deducir utilizando frmulas diferentes. Por ejemplo, el peso atmico de un elemento qumico
que se puede obtener de diferentes maneras dependiendo de los datos que se tengan. Por otra
parte, los tipos de valores pueden ser, adems de los bsicos, operaciones aritmticas, e
incluso conceptos.
106
Campo
Siglas
Nombre del
atributo
Descripcin
Formato
Es
principal
**
Identificador
NA
Concepto
Tipo de valor
TV
Unidad de
medida
UM
Precisin
Intervalo de
valores
rv
Valor por
defecto
VD
Cardinalidad
Deducido de
los atributos
de instancia
Deducido de
los atributos
de clase
DAI
DAC
Deducido de
las constantes
DC
Frmulas
Para deducir
PD
Referencias
Se utiliza
numricos
en
atributos
Se
utiliza
en
atributos
numricos. Es la diferencia
mxima que puede haber entre
los valores exactos del atributo
y los que aparecen en la
ontologa
El valor mnimo y el mximo
que puede tomar el atributo
Es el valor que toma el
atributo mientras no se diga lo
contrario
Es
el
nmero
mnimo
(cardinalidad
mnima)
y
mximo
(cardinalidad
mxima) de valores que puede
tomar. Si la cardinalidad
mxima es "n", se supone que
no hay ninguna restriccin
sobre la misma.
Atributos de instancia que se
pueden utilizar para obtener el
valor del atributo en cuestin.
Atributos de clase que se
pueden utilizar para obtener el
valor del atributo en cuestin.
Constantes que se pueden
utilizar para obtener el valor
del atributo en cuestin.
Expresin
aritmtica
Repeticin en otra
tabla del mismo
tipo
S. Sin embargo, lo
que no se puede
repetir en otra tabla
de aibutos de
instancia es la
combinacin
del
nombre del atributo
con el concepto al
que pertenece
Multiplicidad
(M)
(1,1)
No
No
(1,1)
La multiplicidad
mnima es 1 si el
tipo de valor es
numrico y 0 en
caso contrario.
La
mxima
siempre es 1.
Expresin
aritmtica
No
Se da el mismo
caso que en la
unidad
de
medida.
Intervalo de
valores
No
(0,1)
Expresin
aritmtica
No
(0,1)
Cardinalidad
No
(1,1)
Identificador
No
(0,n)
Identificador
No
(0,n)
Identificador
No
(0,n)
No
No.
Pues
una
frmula slo puede
usarse para dar
valor a un atributo.
(0,n)
No
(O.n)
No
(0,1)
107
Nombre
Regla TAI-1
Regla TAI-2
Descripcin formal
Descripcin en lenguaje natural
Si un atributo A2 aparece en el
Nombre del atributo
campo "deducido de los atributos
de instancia" de la tabla de otro
TAINA, TAI.DAI is induded in TAI.PD, TAINA
Deducido
de
los atributo Al, entonces Ai deber
aparecer en el campo "para
atributos de instancia
deducir" de la tabla de A2.
Si un atributo A2 aparece en el
campo "para deducir" de la tabla de
Nonbre del atributo
otro atributo A, entonces Ai deber
TAINA, TAI.PD is induded in TAI.DAI, TAINA
aparecer en el campo "deducido de
Para deducir
los atributos de instancia" de la
tabla de A2.
Campo fuente
Tabla 4.25. Tabla de reglas de verificacin de las tablas de atributos de instancia entre ellas
Nombre
Regla TAI-3
Regla TAl-4
Regla TAI-5
Regla TAI-6
Regla TAl-7
Regla TAl-8
Campo fuente
Descripcin formal
Tabla 4.26. Tabla de reglas de verificacin de las tablas de atributos de instancia con con otros elementos
de conceptualizacin
108
Campo
Siglas
Descripcin
Formato
Es principal
**
Identificador
Repeticin en
otras tablas del
mismo tipo
S. Sin embargo, lo
que no se puede
repetir en otra tabla
de atributos de
clase
es
la
combinacin
del
nombre del atributo
con el concepto al
que pertenece
Multiplicidad
Nombre del
atributo
NA
Concepto
Concepto
al
que
pertenece el atributo
Identificador
Tipo de valor
TV
**
Texto
No
(1,1)
Unidad de
medida
UM
Precisin
Cardinalidad
Para deducir
PD
Referencias
Se utiliza en atributos
numricos
Se utiliza en atributos
numricos.
Es
la
diferencia mxima que
puede haber entre los
valores
exactos
del
atributo y los que
aparecen en la ontologa.
Es el nmero mnimo
(cardinalidad mnima) y
mximo
(cardinalidad
mxima) de valores que
puede
tomar.
Si
cardinalidad mxima es
"n", se supone que no
hay ninguna restriccin
sobre sta
De qu atributos de
instancia se pueden
obtener
sus
valores
utilizando el atributo de
clase en cuestin
Fuentes que se han
utilizado
en
la
adquisicin
de
conocimientos; libros,
entrevistas
con
el
entendido en el dominio,
otras ontologas, etc.
(1,1)
(1,1)
Expresin
aritmtica
No
La multiplicidad
im'nima es 1 si el
tipo de valor es
numrico y 0 en
caso contrario.
La
mxima
siempre es 1.
Expresin
aritmtica
No
Se da el mismo
caso que en la
unidad
de
medida.
Cardinalidad
No
(1.1)
Identificador
No
(0,N)
Texto
No
(0,1)
109
Nombre
Campo fuente
Nombre del atributo
Regla TAC-1
Concepto
Regla TAC-2
Tipo de valor
Regla TAC-3
Unidad de medida
Tabla 4.28, Referencias cruzadas de las tablas de atributos de clase con con otros elementos de
conceptualizacin
J) Tabla de constantes
La Tabla 4.29 presenta la conceptualizacin de una tabla de constantes. Adems, la Tabla 4.30
presenta la conceptualizacin de las reglas de verificacin de la consistencia de la tabla de
constantes con otros elementos de la conceptualizacin.
Campo
Nombre de la
constante
Siglas
NC
Descripcin
Formato
Es principal
Repeticin en
la misma
tabla
Multiplicidad
**
Identificador
No
(1,1)
Expresin
aritmtica
Expresin
aritmtica
Expresin
aritmtica
No
(1,1)
No
(1,1)
No
(1,1)
No
(0, n).
Tipo de valor
TV
**
Valor
Unidad de
medida
UM
**
Para inferir
Referencias
PI
Texto
No
110
Nombre
Regla TC-1
Campo
fuente
Nombre de la
constante
Regla TC-2
Tipo de valor
Regla TC-3
Unidad de
medida
Regla TC-4
Nombre de la
constante
Para inferir
Descripcin formal
Tabla 4.30. Tabla de reglas de verificacin de la tabla de constantes con otros elementos de
conceptualizacin
Campo
Nombre del
axioma
Siglas
NA
Descripcin
Concepto
descrito
CD
Conceptos
referidos
CR
Atiibutos
referidos
AR
Descripcin
Formato
Es principal
Repeticin en
otras tablas del
mismo tipo
Multiplicidad
**
Identicador
No
(1.1)
Descripcin
No
(1,1)
Identicador
No
(1,1)
Identiftcador
No
(0,n)
Descripcin en lenguaje
natural
Concepto que se describe a
travs del axioma
Conceptos,
aparte del
concepto descrito, que
intervienen en la expresin
formal del axioma
Atributos, de instancia o de
clase, que intervienen en la
descripcin formal del
axioma
Identificador
No
Tabla 4.31. Tabla de descripcin de campos de las tablas de axiomas lgicos (1/2)
111
Campo
Siglas
Relaciones
referidas
RR
Variables
Constantes
referidas
es
Instancias
referidas
IR
Expresin
Referencias
Descripcin
Relaciones binarias que
intervienen
en
la
descripcin formal del
axioma
Variables que intervienen
en la descripcin formal
del axioma
Constantes que intervienen
en la descripcin formal
del axioma
Instancias que intervienen
en la descripcin formal
del axioma
Expresin
lgica
en
notacin infija que describe
el axioma
Fuentes que se han
utilizado en la adquisicin
de conocimientos: libros,
entrevistas
con
el
entendido en el dominio,
otras ontologas, etc.
Formato
Es principal
Repeticin en
otras tablas del
mismo tipo
Multiplicidad
Identificador
No
Identificador
No
(0,n)
Identificador
No
(0,n)
Identificador
No
(0,n)
Expresin
lgica
No
No
(1,1)
Texto
No
(0,1)
Tabla 4.31. Tabla de descripcin de campos de las tablas de axiomas lgicos (2/2)
Nombre
Campo fuente
Regla TAL-1
Concepto descrito
Regla TAL-2
Conceptos referidos
Regla TAL-3
Atributos referidos
Regla TAL-4
Relaciones referidas
Regla TAL-5
Variables
Regla TAL-6
Constantes referidas
Regla TAL-7
Instancias referidas
Regla TAL-8
Expresin
Descripcin formal
-, . --
--
Tabla 4.32. Tabla de reglas de verificacin de las tablas de axiomas lgicos dentro de la misma tabla
112
Nombre
Campo fuente
Regla TAL-9
Concepto descrito
Regla TAL-10
Conceptos referidos
Regla TAL-11
Atributos referidos
Regla TAL-12
Relaciones referidas
Regla TAL-13
Constantes referidas
Regla TAL-14
Instancias referidas
Descripcin formal
TAL.CD in included in
DC.NC
TAL.CR is included in
DC.NC unin TTI.NT
TALAR is included in
TAI.NA unin TACNA
unin TTI.NT
TAL.RR is included in
TR.NR unin TTI.NT
TAL.CS is included in
TC.NC unin TTI.NT
TAL. IR is includd in
DC.I unin TTI.NT
Tabla 4.33. Tabla de reglas de verificacin de las tablas de axioinas lgicos con con otros elementos de
conceptualizacin
Campo
Nombre
dla
frmula
Concepto
Siglas
NF
Descripcin
Formato
Es principal
Repeticin
en tablas
del mismo
tipo
**
Identificador
(1,1)
(1,1)
Concepto
que
se
Identificador
describe con
la frmula
Multiplicidad
113
Campo
Siglas
Atributo
inferido
AI
Frmula
Descripcin
Atributos
bsicos
AB
Constantes
Precisin
Restricciones
RS
Referencias
Descripcin
Formato
Atributo que se
deduce
Identificador
utilizando
la
frmula
Expresin lgica.
Est formada por
una
expresin
Expresin
aritmtica ligada al
aritmtica que
atributo deducido a
describe
la
travs
del
frmula
predicado '=', por
eso
es
una
expresin lgica.
Descripcin en
Descripcin
lenguaje natural
Atributos,
de
clase
y
de
instancia,
utilizados en la
Identificador
frmula
para
deducir
el
"atributo
inferido"
Constantes que
se utilizan para
deducir
el Identificador
"atributo
inferido"
Se utiliza en
atributos
numricos. Es la
diferencia
mxima
que
Expresin
puede
haber
aritmtica
entre los valores
exactos
del
atributo y los
que aparecen en
la ontologa
Expresin lgica
que establece las
condiciones que
se deben dar Expresin lgica
para que se
pueda aplicar la
frmula.
Fuentes que se
han utilizado en
la adquisicin
de
conocimientos:
Texto
libros,
entrevistas con
el entendido en
el dominio, otras
ontologas, etc.
Es principal
Repeticin en
tablas del
mismo tipo
Multiplicidad
No
No
(1,1)
No
No
(1,1)
No
No
(1,1)
No
(l,n)
No
(0,n)
No
(0, 1)
No
(0,
1).
Las
restricciones
se
describen con una
expresin
de
lgica de primer
orden
No
(0,1)
114
Nombre
Campo fuente
Regla TF-1
Atributo deducido
Regla TF-2
Frmula
Regla TF-3
Atributos bsicos
Descripcin formal
--
--
Tabla 4.35. Tabla de reglas de verificacin de las tablas de frmulas entre ellas
Nombre
Campo fuente
Nombre de la frmula
Regla TF-4
Atributo inferido
Nombre de la frmula
Regla TF-5
Atributo inferido
Regla TF-6
Concepto
Nombre de la frmula
Regla TF-7
Atributos bsicos
Nombre de la frmula
Regla TF-8
Atributos bsicos
Regla TF-9
Constantes
Regla TF-10
Nombre de la frmula
Constantes
Regla TF-11
Restricciones
Descripcin formal
TF.AI, TF.NF is included in
TAINA. TAl.F
TF.AI, TF.NF is included in
ACA.Obtiene.out.F,
ACA.Obtiene.in.AI
TF. C is included in
DC.NC
TF.AB, TF.AI is included in
TAINA. TAl.DAI unin
TAINA, TAI.DAC
TF.AB, TF.NF is included in
ACA.SE.out.AI,
ACA.SE.in.F
TF. Constantes is included in
TC.NC
TF. C, TF.NF is included in
ACA.SE.out.C,
ACA.SE.in.F
Tabla 4.36. Tabla de reglas de verificacin de las tablas de frmulas con otros elementos de
conceptualizacin
115
Siglas
Se utiliza en
SE
Obtiene
Descripcin
Relaciona un atributo de instancia, un atributo de clase o una constante con la
frmula donde se utiliza.
Relaciona una frmula con el atributo de instancia cuyo valor permite obtener.
Tabla 4.37. Descripciones de los tipos de arcos de los rboles de clasificacin de atributos
Nudo
Siglas
Atributo de instancia
Atributo de clase
Constante
Frmula
AI
AC
Descripcin
Atributo
puede
deducido o
puede servir
deducir
atributo
instancia
que
ser
que
para Se utiliza en
otro
de
Obtiene
Atributo
que
puede servir para
deducir
un Se utiliza en
atributo
de
instancia
Obtiene
Constante
que
puede servir para
deducir
un Se utiliza en
atributo
de
instancia
Obtiene
Puede
utilizar
constantes,
atributos de clase
y atributos de
Se utiliza en
instancia,
y
permite
deducir
atributos
de
instancia
Obtiene
Multiplicidades de
entrada
Multiplicidades
de salida
(0,0)
(0,n)
(0,n)
(0,0)
(0,0)
(0, n)
(0,0)
(0,0)
(0,0)
(0,n)
(0,0)
(0,0)
(0,0)
(0,n)
(0,0)
(1,1)
Tabla 4.38. Tabla de descripcin de campos de los nudos de los rboles de clasificacin de atributos
Nombre
Regla ACA-1
Arco fuente
Se utiliza en
Descripcin en lenguaje
natural
Si un atributo Ai sirve para
deducir otro A2, entonces Ai no
sirve para deducir ^ 1 . (No se
puede formalizar, tiene una
negacin).
Descripcin formal
--
Tabla 4.39. Tabla de reglas de verificacin dentro de los rboles de clasificacin de atributos
116
Nombre
Arco fuente
Regla ACA-2
Se utiliza en
Regla ACA-3
Se utiliza en
Regla ACA-4
Obtiene
Descripcin en lenguaje
Descripcin formal
natural
Si un arco "se utiliza en"
relaciona un atributo (de clase o
de instancia) A con una frmula ACA.SE.out.AI, ACA.SE.in.F is included in
F, entonces A debe aparecer en
TF.AB, TF.F
el campo "atributos bsicos" de
la tabla de la frmula F.
Si un arco "se utiliza en"
relaciona una constante C con
una frmula F, entonces C debe ACA.SE.out.C, ACA.SE.in.F is included in
aparecer
en
el
campo
TF.C. TF.F
"constantes" de la tabla de la
frmula F.
Si un arco del modelo "obtiene"
relaciona una frmula F con un
atributo de instancia A, entonces ACA.O.out.F, ACA.O.in.Al is included in
A debe aparecer en el campo
TF.F, TF.AI
"atributo inferido" de la tabla de
la frmula F.
Tabla 4.40. Tabla de reglas de verificacin en los rboles de clasificacin de atributos con otros
elementos de conceptualizacin
N) Tabla de instancias
La Tabla 4.41 y la Tabla 4.43 presentan la conceptualizacin de una tabla de instancias.
Adems, la Tabla 4.43 presenta la conceptualizacin de las reglas de verificacin de la
consistencia de la tabla de instancias con otros elementos de la conceptualizacin''.
Campo 1
Campo 2
Atributo
Valor
Campo
Siglas
Nombre de la instancia NI
A
Atributo
V
Valor
Descripcin
Formato
Identificador
**
Atributos
de
instancia
que
Identificador
toman valores en
la instancia
Valores que toman
los atributos en la
Texto
instancia
Es principal
Repeticin
dentro de la
misma tabla
MultipUcidad
No
(1.1)
No
No
(0,n)
No
(0,1)
'* Si se consulta el anexo II, se podr comprobar que la tabla de instancias no se ajusta al formato
especificado en este apartado pues, como se ha dicho anteriormente, se pretende que el presente caso
prctico sirva como base, en un apartado posterior, para otro caso prctico sobre modificacin de metamodelos.
117
Nombre
Campo fuente
Regla TI-1
Nombre de la instancia
Regla TI-2
Atributo
4.3.1.6.5
118
iNiao
Paso 1. Especfcacidn del
esquema de conceptualizacin
CONCEPTUAUZACION
DEL ESQUEMA DE
CONCEPTUAUZACION
Tarea 2.1. Elaboracin desde
cero de un meta-modelo
No
Paso 5. Conceptualizacin de
la ontologa de dominio
Paso 6. Implementacin de la
ontologa de dominio
4.3.2.1
119
primero, una persona rellenaba un formulario sobre problemas del esquema. Despus, si
alguien entendido en conceptualizacin consideraba que se deban hacer cambios, entonces
elaboraba una propuesta de cambios que contena (4.2.4.2): el nombre del miembro del grupo
que haba hecho la propuesta, el nombre del esquema afectado por los cambios, la descripcin
en lenguaje natural de los cambios a realizar, y la fecha en que se haba hecho la propuesta. A
continuacin, si el comit de cambios los aprobaba, entonces se llevaban a cabo sobre la
especificacin del esquema de conceptualizacin.
En la tarea descrita en el presente apartado, se parte de la propuesta de cambios, de la
especificacin de stos, y del meta-modelo anterior. Para llevar a cabo los cambios sobre el
meta-modelo, alguien entendido en conceptualizacin elabora la siguiente documentacin:
Documento 1.
Documento 2.
Documento 3.
Documento 4.
Los cambios concretos en los tipos de tablas modificados. Para cada tipo
de tabla modificado, se deber incluir:
a) Cules son los cambios en los datos generales. Se deber advertir si
hay algn cambio en el nombre, las siglas, la orientacin, o en la
descripcin en lenguaje natural de la tabla.
b) Cules son los cambios en los campos. Se deber incluir:
b.1) Una tabla con las nuevas asociaciones entre campos.
120
b.2) Una tabla con los campos aadidos que tendr un formato similar
al de las tablas de descripcin de campos. Tendr: el nombre del
campo, sus siglas, una descripcin en lenguaje natural, el formato,
si el campo es principal o no, la posible repeticin en tablas del
mismo tipo (si se trata de un tipo de tabla horizontal) o en tablas
de distinto tipo (si se trata de un tipo de tabla vertical), y la
multiplicidad.
b.3) Una tabla que contenga, para cada uno de los campos
modificados, su nombre y una breve descripcin en lenguaje
natural explicando en qu consisten los cambios.
b.4) Una tabla que contenga, para cada uno de los campos eliminados,
su nombre y por qu se han borrado de un tipo de tabla del metamodelo.
c) Cambios en las reglas de verificacin de la consistencia. Se deber
incluir:
C.1) Dos tablas con las reglas de verificacin de la consistencia que
tian sido aadidas. La primera tabla ser para las reglas de
consistencia dentro del mismo EC, y la segunda ser para las
reglas de verificacin con otros EE.CC. Ambas tablas tendrn el
mismo formato que el de las tablas de reglas de verificacin: el
nombre, los campos fuente, la descripcin en lenguaje natural, y la
descripcin formal.
c.2) Una tabla con los reglas modificadas.
c.3) Una tabla que contenga las reglas borradas.
Documento 5.
Los cambios concretos en los tipos de grafos modificados. Para cada grafo
modificado, se debern incluir:
a) Cambios en los datos generales. Se deber advertir si hay algn
cambio en el nombre, las siglas, o en la descripcin en lenguaje
natural.
b) Cambios en los vrtices. Se deber incluir:
b.1) Una tabla con los tipos de vrtices aadidos que tendr un formato
similar al de las tablas de descripcin de vrtices, es decir, tendr:
el nombre del tipo de vrtice, las siglas, una descripcin en
lenguaje natural, los arcos que pueden entrar o salir de un vrtice
del tipo considerado, las multiplicidades de entrada, y las
121
multiplicidades de salida.
b.2) Una tabla con los tipos de vrtices modificados.
b.3) Una tabla donde aparezcan los tipos de vrtices eliminados.
c) Cambios en los arcos. Se deber incluir:
C.1) Una tabla con los tipos de arcos aadidos. Esta tabla tendr el
mismo formato que las tablas de descripcin de arcos, es decir,
tendr: el nombre del tipo de arco, las siglas, y una descripcin en
lenguaje natural.
C.2) Una tabla con los tipos de arcos modificados.
c.3) Una tabla que contenga con los tipos de arcos eliminados.
d) Cambios en las reglas de verificacin de la consistencia dentro del
grafo y con otros EE.CC. Se debern incluir en la documentacin las
reglas aadidas, modificadas y borradas:
Documento 6.
Documento 7.
Despus de elaborar esta documentacin, se enva al comit de cambios para que la revise.
En caso de que le d el visto bueno, se podr utilizar para conceptualizar ontologas.
4.3.2.2
En este apartado, se han realizado dos cambios en el meta-modelo del caso prctico de la
tarea de elaboracin de un meta-modelo desde cero (apartado 4.3.1.6) segn la propuesta de
cambios presentada en el caso prctico de la modificacin de la especificacin de un esquema
(4.2.5). Recurdese que se trataba de la incorporacin de las tablas de concepto-atributo de
clase-valor, y del aadido de la columna 'relacin' a la tabla de atributos de instancia (Figura
4.25). Es decir, por una parte, se propona realizar una tabla de concepto-atributo de clasevalor para cada uno de los conceptos en los que tomen valores los atributos de clase, la cual
incluir: el nombre de! concepto, los atributos de clase, y los valores que toman dichos
atributos. Por otra parte, para cada instancia /i de la ontologa para la que se conozca su
instancia destino k va una relacin R, habr una fila en la tabla de instancias que conecte l^
va la relacin R con 2.
122
Valor
Atributo de clase
Por otra parte, para poder establecer cules son las instancias de relaciones,
se aadir una nueva columna a la tabla de instancias, llamada 'relacin'. As,
cuando una instancia /i est relacionada a travs de una relacin R con otra
instancia h, siendo /i el origen e 2 el destino, habr una fila en la tabla de
instancias de la siguiente manera:
Instancia
I.
Atributo
--
Relacin
R
Valor
I2
Fecha
7 de noviembre de 1999
Figura 4,25. Propuesta de cambios en un esquema de conceptualizacin hecha en el caso prctico del
apartado 4.2.5
Documento 2.
presentan
los EE.CC
aadidos
modificados
respectivamente.
123
Esquema 8 (MODIFICADO)
Autores
Mariano Fernndez Lpez en colaboracin con Asuncin Gmez Prez, Mercedes Blzquez
Cvico y Juan Manuel Garca Pinar, que han documentado las reglas de verificacin de la
consistencia en [Blzquez, 97] y en [Garca Pinar, 98] respectivamente.
Se ha elaborando en el Laboratorio de Inteligencia Artificial (LIA) de la Facultad de Informtica
(FI) de la Universidad Politcnica de Madrid (UPM), la metodologa utilizada en el LIA para
desarrollar sistemas basados en conocimientos. Se ha comprobado su validez construyendo
ontologas en distintos dominios. Entre las ms relevantes se encuentran:
1. CHEMICALS [Fernndez, 96], [Gmez-Prez et al.; 96], [Femndez-Lpez et al.; 99], que
contiene conocimientos dentro del domino de los elementos qumicos y las estructuras
cristalinas.
2.
3.
Descripcin
Estas ontologas se han utilizado para construir aplicaciones, concretamente:
1. (Onto)^*gent [Arprez et al.; 98]. Un agente WWW sobre ontologas que utiUza la
Reference-Ontology como una fuente de su conocimiento y recoge descripciones de
ontologas que satisfacen un conjunto de restricciones dado. (Est disponible en
http://delicias.dia.fi.upm.es/OntoAgent).
Bibliografa
2.
Chemical OntoAgent [Arprez et al.; 98]. Un agente WWW que facilita a los estudiantes el
aprendizaje de la qumica y la evaluacin de sus conocimientos. Una de sus fuentes de
conocimientos es CHEMICALS.
3.
Ontogeneration [Aguado et al.; 98]. Es un sistema que utiliza una ontologa de dominio
(CHEMICALS) y otra hngstica (GUM [Bateman et al.; 95]) para generar texto en espaol
como respuesta a preguntas sobre qumica realizadas por estudiantes.
124
Siglas
Tipo de elemento
TCAV
Tabla
Orientacin
Horizontal
Descripcin
Para cada uno de los conceptos en los que
tomen valores los atributos de clase,
incluir: el nombre del concepto, los
atributos de clase, y los valores que toman
dichos atributos.
Diccionario de conceptos
Tabla de instancias
Documento 3.
Documento 4.
Regla DC-10
Atributos de
clase
125
Ficha de
descripcin
general
^r
Glosario
de
trminos
Lista de
trminos a
importar
rbol de
clasificacin
de conceptos
Diagrama de
relaciones
Diccionario
de conceptos
Tablas de
relaciones
Tablas de
atributos de
instancia
Tablas de
atributos
de clase
Tabla de
constantes
Tablas de
frmulas
Tablas de
axiomas
lgicos
1'
rboles de
clasificacin
de atributos
Tabla de
concepto de
clase-atributovalor
Tabla de
instancias
126
Campo dependiente
Valor
Campo
Siglas
NC
Atributo de clase
AC
Valor
Descripcin
Formato
Identificador
**
Atributos de clase
que toman valores Identificador
en el concepto
Valores que toman
los atributos de
Expresin
clase
en
el
aritmtica
concepto
Repeticin
dentro de la
misma tabla
S
(l.n)
No
(l,n)
Es principal
Multiplicidad
(1,1)
Nombre
Campo fuente
Regla TCV-1
Regla TCV-2
Atributo de clase
Regla TCV-3
Valor
127
Siglas
Tabla de instancias
Tipo de elemento
TI
Orientacin
Tabla
Descripcin
Para cada una de las instancias del
diccionario de conceptos, incluir: el
nombre de la instancia, los atributos
con los valores conocidos en la
instancia, las relaciones que tengan
como origen la instancia, los valores
que toman los atributos, y las
instancias destino de las relaciones.
Horizontal
Campo dependiente
Valor
Campo
Descripcin
Siglas
Relacin
Valor
Formato
Relaciones en las
que es origen la
Identificador
instancia, y sabe
cul es el destino.
Valores que toman
los atributos en la
instancia,
e
Texto
instancias que son
destino en las
relaciones.
Es principal
Repeticin
dentro de la
misma tabla
Multiplicidad
No
No
(0,n)
No
(0,1)
Regla TI-3
Campo fuente
Relacin
Descripcin formal
--
Documento 6.
128
Documento 3.7.
DEL
El primer aporte del presente apartado ha sido la descripcin precisa del proceso de
conceptualizacin de esquemas de conceptualizacin. Tambin se ha hecho una descripcin
precisa del producto a obtener, los meta-modelos. Una derivacin importante de esto ltimo
es, como se ver en el apartado siguiente, que la transformacin del modelo conceptual del
esquema de conceptualizacin en un modelo formal del esquema de conceptualizacin se
puede llevar a cabo sin tener que aadir al modelo formal informacin que no se halle en el
modelo conceptual.
Dentro de la descripcin del mtodo de elaboracin de meta-modelos, se ha definido de
manera formal un mecanismo para especificar reglas de la verificacin de la consistencia
129
entre tablas, entre grafos, y entre tablas y gratos. La sintaxis se ha especificado utilizando una
gramtica libre del contexto, y la semntica se ha descrito haciendo uso del concepto
matemtico de matriz. Este mecanismo de descripcin formal de reglas de verificacin de la
consistencia es, aunque sencillo, muy expresivo. De hecho, la mayor parte de las restricciones
de consistencia necesarias en los distintos casos de prueba se han podido representar
formalmente.
Como se ver en el captulo de evaluacin, este mecanismo de descripcin de
conceptualizaciones ha sido aplicado para ontologas de diferentes dominios y con
distintas necesidades de modelizacin. Consecuentemente, se puede afirmar que una
notacin basada en tablas y grafos se puede utilizar para modelizar conocimientos sobre la
modelizacin de conocimientos en ontologas. Es posible modelizar tablas y grafos con
diferentes formatos y con tipos de valores complejos, por ejemplo, expresiones aritmticas e,
incluso, frmulas de lgica de primer orden.
Adems, otro de los aportes importantes de la presente seccin es un mtodo de
modificacin de meta-modelos que permite controlar los cambios de una manera ordenada y
documentada.
Se han proporcionado ejemplos que muestran cmo, partiendo de la especificacin de un
esquema de conceptualizacin de ontologas concretas, se conceptualiza dicho esquema,
obteniendo un meta-modelo, se ha presentado el del esquema de referencia, que permite
herencia mltiple, subclases en particiones exhaustivas y disjuntas, atributos de clase y de
instancia locales a los conceptos, relaciones, tambin locales a los conceptos, y tipos de
valores que pueden ser conceptos.
Con el mecanismo aqu proporcionado de elaboracin de meta-modelos, se da la posibilidad
de tener esquemas de conceptualizacin flexibles, a la medida, explcitos y declarativos.
4.4
FORMALIZACIN
CONCEPTUALIZACIN
DEL
ESQUEMA
DE
4.4.1 INTRODUCCIN
La documentacin obtenida (meta-modelo) cuando se hace la conceptualizacin del esquema
de conceptualizacin es fcil de entender y de manipular por las personas; sin embargo, dicha
documentacin no est codificada de una manera adecuada para ser procesada por un
computador, portante, es necesario transformarla. El LBIR {Language for Building Intermediate
Representations) permite precisamente especificar formalmente meta-modelos de tal manera
que puedan ser procesados por un computador, por consiguiente, se lleva a cabo una
formalizacin del esquema de conceptualizacin; es decir, se formaliza el meta-modelo
resultado de la conceptualizacin. Como se ver en la siguiente seccin, esta formalizacin
permitir generar un esquema de datos en SQL que servir como base para que la
130
No
Paso 5. Conceptualizacin de
la ontologa de dominio
Paso 6. Implementacin de la
ontologa de dominio
Figura 4.28. Relacin de la formalizacin del esquema de conceptualizacin con respecto al resto del
mtodo
131
4.4.2 ENTRADAS
La entrada de esta tarea es la documentacin generada en el paso de conceptualizacin del
esquema de conceptualizacin (seccin 4.3), es decir, el meta-modelo especificado mediante
tablas y gratos.
4.4.3.1
Las caractersticas del LBIR deben ser las que se presentan a continuacin:
1. Ha de tener
la misma expresividad
que
la documentacin
generada en
la
conceptualizacin del esquema de conceptualizacin. Por lo tanto, sobre un metamodelo de conceptualizacin debe permitir describir los siguientes aspectos:
a) Para cada tipo de tabla se debe indicar: su nombre; sus siglas; su orientacin
(horizontal o vertical); la descripcin en lenguaje natural; el orden en la metodologa; y
cules son los campos principales. Adems, para cada campo, se representar: el
nombre; las siglas; el formato (trmino, descripcin, expresin aritmtica, etc.); si est
asociado con algn otro campo; la multiplicidad; y la repeticin.
b) Para cada tipo d grato se debe especificar: su nombre; sus siglas; su descripcin en
lenguaje natural; y el orden en la metodologa. Tanibin, para cada tipo de arco, hay
que definir el nombre, las siglas y la descripcin. Adems, para cada tipo vrtice, se
especificar: el nombre, las siglas, la descripcin, los tipos de arcos que pueden
entrar o salir de un vrtice que se ajuste a este tipo; la multiplicidad de entrada de
estos arcos; y la multiplicidad de salida.
c) Para cada regla de consistencia se dar una descripcin formal.
2. Su interpretacin ha de ser fcil de automatizar.
3. Ha de ser fcil de entender por las personas que se dediquen a la formalizacin de metamodelos.
4. Dado que hoy en da la lengua que predomina claramente en el mundo de la ciencia es
el ingls, sta ser la lengua utilizada para las palabras clave del lenguaje.
132
4.4.3.2
SINTAXIS DE LBIR
4.4.3.2.1
es decir, se nombra el meta-modelo, se definen los EE.CC (tablas y gratos), y se identifican los
campos de la ficha de descripcin general, que se asume necesaria para todos los metamodelos, y se supone tambin que debe ser siempre el primer EC a rellenar. En lo que
respecta a las especificaciones de los EE.CC, el formato de definicin de una tabla es tal y
como se presenta a continuacin:
define table tipo de tabla
logicalexp, arithmeticexp, intervalo list, que coinciden bsicamente con los formatos explicados
en la seccin 0; la repeticin del valor de un campo en la misma tabla o en tablas del mismo
tipo se indica con la palabra clave repeated seguida de yes o no; la multiplicidad se expresa
como (O, 1), (1, 1), (O, n) o (1, n); y en caso de que el campo dependa de otro, como ocurre con
133
el campo 'valor' de la tabla de instancias, que depende del campo 'atributo' y del campo
'relacin', se indica con la palabra clave associated y los nombres de estos campos de los
cuales depende. En lo referente a los gratos, stos se especifican como:
define graph nombre del grafo as siglas
definiciones de los arcos
definiciones de los vrtices
begin
lugar en el mtodo;
end graph;
siendo la definicin de cada arco como sigue:
define are nombre del arco as siglas
y siendo la definicin de cada vrtice como se presenta a continuacin:
define node tipo de vrtice as siglas
begin
type tipo de vrtice;
in: multiplicidades de entrada;
out: multiplicidades de salida;
end node;
donde el tipo de vrtice puede ser term, la multiplicidad de entrada de un arco sobre el vrtice
se escribe como
multiplicity restriccin
siendo la restriccin de la forma fO, 1), (1, 1), (O, n) o (1, n) etc., imponiendo as una condicin
sobre el nmero mnimo y mximo de arcos del tipo nombre de arco que pueden entrar en
cada vrtice del tipo vrtice. De la misma manera, la multiplicidad de salida se define como
muitiplicity restriccin
indicndose tambin una restriccin sobre el nmero mnimo y mximo de arcos del tipo
nombre de arco que pueden salir de cada vrtice del tipo vrtice.
Despus de la cabecera y de las definiciones de los EE.CC, se define cada regla de
verificacin de la consistencia de la siguiente manera:
define consistency nombre de la regla
description descripcin informal
begin
descripcin formal
end consistency;
134
4.4.3.2.2
Gramtica
GLBIR
<TLBIR,
i. Se tiene
TIBIR = {a,b,
c, d, e, f, g, h, i, j, k, I, m, n, , o, p, q, r, s. t, u, v, w, x, y, z, A, B, C, D, E, F,
G, H, I, J, K. L, M. N, O, P, Q, R, S. T, U, V, W. X, Y. Z, , . , , , , , , . .
, , -, O. 1, 2, 3, 4, 5, 6, 7, 8, 9, (, ) , [, ], ., el carcter 32 del ANS de la tabla
850}
ii. Adems,
Ni3\R = {<letra en espaol>, <guin>, <espacio>, <parntesis abierto,
cerrado,
<corchete abierto,
<corchete cerrado,
<parntesis
<punto>, <coma>,
<campo>,
PLBIR se
ha hecho una descripcin por pasos que van desde las reglas
Los objetos ms elementales que se consideran son ios caracteres ANS de la tabla
850 [DOS, 91]. Se tienen las siguientes reglas:
<carcter ANSI>
<letra en espaol>
:=alblcldlelflglhliljlkllllllmlnllolp
IqlrlsItlulvlwlxlylzIAIBICIDIEIFI
GIHIIIJIKILIMINIOIPIQIRISITIUIVI
WIXI
YIZIlllllIIII
<espacio>
<parntesis abierto
:= (
<parntesis cerrado>
:= )
<corchete abierto>
:= [
135
2.
<corchete cerrado>
:= ]
<punto>
:= .
<coma>
:= ,
<puntoycoma>
:= ;
<dos puntos>
:= :
<comillas>
:= "
<dgito>
:= 1 12 13 14 I 5 16 17 1819 I O
<continuacin>
<guin o espaco>
3.
4.
:= <guin> I <espacio>
:= {<carcter ANSI>}
:= <identificador>.<identificador>
6.
7.
136
8.
:= multiplicity (0,1)
I
multiplicity (1,1)
multiplicity (O, N)
multiplicity (1,N)
Los tipos bsicos, para los valores que pueden tomar ios campos lo constituyen las
palabras clave: "text", "description", "term", "variable", "cardinality", "logicalexp",
"arithmeticexp", "interval", "list":
<tipo de c a m p o
9.
description
text
term
variable
cardinality
logicalexp
arithmeticexp
interval
list
:= horizontal
I
vertical
10. Mediante las palabras clave "main field", la coma y los identificadores se especifica
cul o cules son los campos principales de una tabla:
<campo principal>
11. Con palabras clave, los tipos bsicos de los campos e idenficadores, se declaran los
campos:
<definicin de c a m p o
<s o no>
:= yes I no
137
tablas:
<definicin de tabla>
13. Utilizando palabras clave e identificadores se definen los tipos de arco de los gratos:
<definicin de a r c o
palabras
claves,
identificadores,
declaraciones
de
arcos
las
17. Con el punto y los identificadores tambin se definen los arcos de entrada sobre los
vrtices y los de salida:
<arco de entrada>
:= <dentificador>.<identificador>.in.<identificador>
138
o r c o de entrada>
:= <identificador>,<identificador>.out.<identificador>
donde el primer identificador es el acrnimo del grafo, el segundo el nombre del tipo
de arco y, el ltimo, el nombre del tipo de vrtice.
18. A partir de los campos, de los arcos de entrada y de los arcos de salida sobre los
vrtices, se pueden describir los componentes de las proyecciones ordenadas:
<componente >
21. A partir de las matrices y del operador de inclusin, se pueden obtener expresiones
lgicas que describen formalmente las reglas de consistencia:
<expresin lgica>
22. Las reglas de consistencia se definen con palabras clave, identificadores, texto y
expresiones lgicas:
<consistencia>
23. El cdigo LBIR est formado por una cabecera con datos generales del modelo,
definiciones de tablas y, opcionalmente, reglas de consistencia.
<codigo LBIR>
:= modal <identificador>
{<definicin de EC>}
[{<consistencia>}]
begin
{<identificador>}
end <identificador>.
En esta regla, los identificadores que aparecen entre el begin y el end se pueden
utilizar para especificar la ficha de descripcin general del modelo.
139
Puede haber tambin comentarios encerrados entre los smbolos "/*" y "7".
iv. El axioma es <cdigo LBIR>
Sobre esta sintaxis hay que imponer dos restricciones, que ningn campo de no posible
repeticin tenga formato descripcin, y que ninguna tabla vertical puede tener campos
asociados.
Los campos que aparecen al principio de la definicin del modelo (normalmente el nombre
de la ontologa, el autor, etc.) se considerarn dentro de una tabla a la que se aaden dos
campos ms que se llamarn: identificador de la ontologa, nombre del modelo, y forma de
conceptualizar {guiada o no guiada). Tendr las siguientes caractersticas:
1. El campo principal ser el identificador de la ontologa.
2. El formato de todos los campos ser descripcin, salvo para los campos aadidos a la
ficha, es decir: identificador de la ontologa, nombre del modelo, y forma de
conceptualizar, que sern de tipo trmino.
3. La tabla tendr una sola entrada y no podr estar repetida.
4. Todos los campos sern multivaluados menos los campos aadidos a la ficha.
5. Todos los campos sern opcionales menos los aadidos a la ficha.
Como se puede comprobar, se exige que los campos de la ficha de descripcin general
cumplan el mnimo de requisitos.
140
141
placed in DR;
main field [Nombre del concepto];
end table;
Las reglas que se van a mostrar son algunas de las que se establecen entre las
representaciones de los ejemplos anteriores, es decir, rbol de clasificacin de conceptos y
diccionario de conceptos.
define consistency [Regla A CC-2_ 1]
description "Cualquier trmino que aparezca en un nudo 'concepto' del que sale un arco
'subclase de' tiene que aparecer en el campo 'nombre del concepto' del diccionario de
conceptos"
begin
ACC.S.out.Concepto is included in DC.NC
end consistency
142
4.3.1.3
para
describir
meta-modelos,
sino
que,
adems,
permite
una
transformacin muy sencilla del modelo conceptual de alto nivel en el modelo formal de alto
nivel. Por otra parte, este lenguaje es fcil de entender y, al mismo tiempo, puede ser
procesado por un computador. De hecho, se ha especificado utilizando una gramtica libre del
contexto. Consiguientemente, con LBIR, no slo se puden modelizar los esquemas de
conceptualizacin de manera explcita y declarativa, sino que tambin tales esquemas son
directamente computables. Adems, este lenguaje es independente de la tecnologa que se
vaya a utilizar para almacenar las ontologas (ficheros ASCII, bases de datos relacinales,
etc.). Esto ltimo tiene la ventaja de que varios grupos pueden usar el mismo esquema
computable de conceptualizacin y, sin embargo, cada grupo puede utilizar la tecnologa de
almacenamiento que ms le conviene. No obstante, obliga a tener traductores de LBIR al
formato de representacin interna que se utilice, por ejemplo, el lenguaje de definicin de datos
del SQL. Por esta razn, en el apartado 4.5 se proponen las reglas de traduccin de LBIR en
SQL, que son las reglas que rigen el mdulo de procesamiento de LBIR de ODE (seccin 4.8).
En lo referente al tipo de conocimientos que mejor se modelizan con LBIR, se puede decir
que ste permite modelizar conocimiento esttico sobre EE.CC, encapsulando en la definicin
de cada EC su informacin sobre las caractersticas de los campos, los vrtices y los arcos, lo
que dota de una estructura bien ordenada a las especificaciones de los meta-modelos
realizadas en este lenguaje. LBIR tambin permite modelizar restricciones a travs de las
reglas de verificacin de la consistencia entre EE.CC del mismo tipo de tipos diferentes. Tal y
como se ha dicho en el apartado 4.3.1.3.2D), estas reglas tienen una sintaxis sencilla, son
fciles de entender y, al mismo tiempo, son muy expresivas. De hecho, la experiencia
elaborando meta-modelos en los ltimos aos ha comprobado que raras veces una restriccin
en las referencias cruzadas de los EE.CC no puede representarse utilizando la sintaxis del
lenguaje formal.
Adems de las restricciones fomnalizadas a travs de las reglas de verificacin de la
consistencia, se especifican otras restricciones a travs de los formatos de los campos.
Otra caracterstica de esta formalizacin es que no se tienen definidos mecanismos para
deducir unos conocimientos a partir de otros, salvo el cumplimiento o no de las reglas de
verificacin de la consistencia, y de las restricciones definidas en los formatos de los campos.
4.5
IMPLEMENTACIN
CONCEPTUALIZACIN
DEL
ESQUEMA
DE
4.5.1 INTRODUCCIN
Segn el mtodo bi-fase de conceptualizacin flexible, una vez que se tiene codificado en LBIR
el meta-modelo que se va a seguir en la conceptualizacin de la ontologa de dominio, es
143
ante
operaciones
no
autorizadas,
especialmente
las
que
implican
actualizaciones de la BD.
6. Se puede utilizar el SQL para acceder a los datos. Se trata de un lenguaje muy utilizado,
por lo que se facilita el acceso desde otras aplicaciones.
144
145
INICIO
PASO 4.
IMPLEMENTACIN DEL
ESQUEMA DE
CONCEPTUALIZACIN
Tarea 4.1. Anlisis del cdigo
LBIR
No
Paso 5. Conceptualizacin de
la ontologa de dominio
Paso 6. Implementacin de la
ontologa de dominio
Figura 4.29. Relacin de las tareas de implementacin del esquema de conceptualizacin con el resto del
mtodo de conceptualizacin
146
impiementacin del esquema de datos) se har una introduccin, se mostrarn cules son las
entradas y los productos obtenidos, se presentar el procedimiento para llevarlas cabo, y se
especificar quin (ms bien qu entorno software) tiene que realizarlas. La seccin terminar
con unas breves conclusiones referentes a este paso de impiementacin del esquema de
conceptualizacin.
INTRODUCCIN
4.5.2.2
ENTRADAS
4.5.2.3
PRODUCTOS OBTENIDOS
147
148
la.distintas ocurrencias.
3. Una tabla de atributos por cada entidad y cada relacin con atributos que tendr los
siguientes campos:
1) Dominio descrito mediante lenguaje natural o mediante una expresin formal.
2) Opcional, que valdr s/'en caso de que el atributo pueda no tomar ningn valor, y valdr
no en otro caso.
3) Multivaluado, donde se indicar si el atributo puede tomar ms de un valor en una misma
ocurrencia de la entidad o de la relacin.
4) Repeticin, que indicar si el valor del atributo se puede repetir en varias ocurrencias de
la entidad a que pertenece.
4. Una tabla de restricciones, donde se mostrarn las reglas que han de satisfacer los datos en
todo momento, aparte de las descritas en otras tablas (repeticin, multiplicidad, etc.). Tendr
un nombre para cada restriccin, su descripcin, su descripcin en lenguaje natural y, en
caso de que sea necesario, su descripcin formal.
4.5.2.4
Se parte de un meta-modelo representado en LBIR, y se pretende generar un modelo entidadrelacin que represente la misma informacin. Fruto de la experiencia desarrollando diferentes
prototipos de ODE, se proponen las siguientes transformaciones:
1. Por cada tabla del meta-modelo se crear una entidad que represente al concepto "erna
de esa tabla", siendo el conjunto de valores de cada entrada de la tabla las distintas
ocurrencias de la entidad, y siendo cada campo de la tabla un atributo de la entidad. En
concreto, las reglas para transformar las tablas en el modelo ER sern:
RT.1.
RT.2.
149
RT.4.
Si un campo C^ de una tabla tiene otro dependiente C2, se aplicarn las reglas
que se muestran a continuacin:
RT.4.1.
RT.4.2.
RT.4.4.
RT.4.7.
asociado,
no pudindose
repetir
en
diferentes
ocurrencias;
2. Por cada grato del meta-modelo se utilizarn las siguientes reglas:
RG.1.
Se crear una entidad cuyas ocurrencias sern los distintos vrtices del grafo.
150
Dicha entidad tendr como atributos el tipo y el nombre del vrtice, que sern
identificadores.
RG.2. Se crear una relacin de la entidad vrtice de ese grafo consigo misma que
tendr un atributo identificador: tipo de arco. La transformacin de las
multiplicidades que tienen los arcos en los vrtices se dejar para una versin
posterior del mtodo.
Las cardinalidades de las entidades en todas las relaciones generadas en
esta regla sern (O, n).
Segijn las reglas anteriores, el nico tipo de restriccin que se genera es aquella que impide
que el valor de un atributo aparezca en varias ocurrencias distintas de la misma entidad.
Fecurdese que las reglas de la verificacin de la consistencia no es necesario transformarlas
hasta la tarea de diseo.
4.5.2.5
Elsta tarea la puede realizar cualquiera utilizando el software adecuado, pues est pensada
para ser realizada automticamente.
4.5.2.6
En la Figura 4.30 y desde la Tabla 4.55 y a la Tabla 4.60 se muestra el modelo ER del rbol de
clasificacin de conceptos y del diccionario de conceptos del esquema de referencia, es decir,
ios EE.CC que aparecen en el ejemplo de la seccin 4.4.3.3.
(O.n)
EmaDC
Nombre del concepto
Sinnimos (N)
Abreviaturas (N)
Instancias (N)
Atributos de clase (N)
Atributos de instancia (N)
Relaciones (N)
C
Vrtice del ACC
Nombre del vrtice
TDO de vrtice
(O.n)
Tipo de arco
^ ^
^^^
Arc()del
^ . ^
A(: c
^ ' \ ,
^ y ^
Figura 4.30. Representacin grfica del modelo ER del rbol de clasificacin de conceptos y del
diccionario de conceptos del esquema de referencia
151
Entidad
que
identifica
ala
entidad
dbil
Es entidad dbil
EmaDC
No
--
No
--
Atributos
Atributos identificadores
Relacin
Cardinalidades
Atributos
Atributos
identifcadores
(0,n)
(0,n)
Tipo de arco
Tipo de arco
EmaDC
Nombre del
concepto
Sinnimos
Abreviaturas
Instancias
Atributos de clase
Atributos de
instancia
Relaciones
Opcional
Multivaluado
Repetido
No
No
No
S
S
S
S
S
S
S
S
No
No
S
S
Dominio
Dominio
Sigue la gramtica de <term>
Sigue la gramtica de <term>
Opcional
No
No
Multivaluado
No
No
Repetido
S
S
Tabla 4.58. Representacin tabular de los atributos de la entidad Vrtice del ACC
Dominio
Sigue la gramtica de <term>
Opcional
No
Multivaluado
No
Repetido
S
Tabla 4.59. Representacin tabular de los atributos de la relacin Arco del ACC
Restriccin
Descripcin informal
Un sinnimo no puede
No repeticin de los aparecer en ms de una
ocurrencia de la entidad
sinnimos
emaDC
Una abreviatura no
No repeticin de las puede aparecer en ms
de una ocurrencia de la
abreviaturas
entidad ema DC
Descripcin formal
lJnico(sinnimos, ema-DC)
lJnico(abreviaturas, ema-DC)
152
INTRODUCCIN
Una vez que se ha transformado el meta-modelo en LBIR en un esquema ER, el siguiente paso
consiste en transformar este ER en un esquema relaciona!. Mientras que las reglas de la
primera tarea son completamente propias, para elaborar las reglas de esta tarea se ha
aprovechado la circunstancia de que son muchos los libros de bases de datos que proponen
reglas de transformacin de un esquema ER en un esquema relacional (por ejemplo [Luque
Ruiz et al.; 97], [Lpez Ruiz, 98] y [Korth et al.; 93]). Estas reglas que aparecen en estos libros
son tiles para los analistas que deben disear bases de datos; sin embargo, esta conversin
en el presente mtodo bi-fase de conceptualizacin est pensada para ser realizada de manera
automtica, por lo tanto, ha sido necesario elaborar unas reglas ms detalladas que las que
aparecen en estos textos.
4.5.3.2
ENTRADAS
El esquema ER generado en la tarea de anlisis del cdigo LBIR, y las reglas de la verificacin
de la consistencia en LBIR. Recurdese que las reglas de verificacin de la consistencia no
sufren ninguna transformacin hasta este paso de generacin del diseo.
4.5.3.3
PRODUCTOS OBTENIDOS
153
b.6) El resto de las operaciones del lgebra relacional no son necesarias en esta versin
del nntodo.
4.5.3.4
En esta seccin se presentarn las reglas para obtener las tablas del esquema relacional a
partir del esquema ER; luego, se mostrar un ejemplo de aplicacin de estas reglas; a
continuacin se presentarn las reglas de generacin de las reglas de verificacin de la
consistencia en lgebra relacional; despus, se mostrar un ejemplo de aplicacin de estas
reglas; y, por ltimo, se expondrn las caractersticas del esquema relacional obtenido.
154
R.l.
Cada entidad del modelo ER modificado se transformar en una tabla del modelo
relacional, siendo su clave el conjunto de atributos identificadores. A las tablas de las
entidades dbiles se les aade como atributos la clave primaria de las entidades
fuertes de la que dependen, estos atributos pasan a ser una clave ajena y formarn
tambin parte de la clave principal si y slo si la entidad es dbil por identificacin.
R.2.
A las tablas del modelo relacional obtenidas de las entidades dbiles del ER hay que
aadirles otros atributos adems de su identificador siguiendo las reglas que se
presentan a continuacin:
R.2.1
R.2.2. Los atributos aadidos pasan a ser una clave ajena y a formar parte de la
clave principal de la tabla.
R.2.3. La clave ajena de la tabla del modelo relacional formar parte de la clave
principal si y slo si la entidad de la que se ha obtenido esta tabla es dbil por
identificacin en el modelo ER.
R.3.
R.4.
Cada relacin con atributos se transformar en una tabla que tendr como
identificadores los de las entidades que asocie y, adems, aquellos atributos de la
relacin que sean tambin identificadores. Los atributos heredados de las entidades
sern claves ajenas.
R.5.
R.6.
155
(0,n)
DC-Abreviaturas
Abreviaturas
(O.n)
DC-Instancias
Instancias
EmaDC
(0,n)
DC-Atributos de clase
Atributos de clase
DC-Atributos de instancia
Atributos de instancia
(O.n)
DC-Relaciones
Relaciones
(O.n)
C
Vrtice del ACC
Tipo de vitice
(O.n)
Tipo de arco
^
^ ^
<c
Arco del
ACC
^ \ ^
^ y ^
Figura 4.3 L Representacin grfica del modelo ER obtenido modificando el de la Figura 4.30
156
A) Tablas relacinales
Erna-DC(Nombre del concepto)
DC-Sinnimos(#Nombre del concepto, Sinnimos)
DC-Abreviaturas(#Nombre del concepto, Abreviaturas)
DC-lnstancias(#Nombre del concepto. Instancias)
DC-Atrbutos de clase(#Nombre del concepto. Atributos de clase)
DC-Atributos de instancia(#Nombre del concepto. Atributos de instancia)
DC-Relaciones(#Nombre del concepto. Relaciones)
Vrtice-del-ACC(Nombre del vrtice. Tipo de vrtice)
Arco-del-ACC(#Nombre-del-vrtice-del-aue-sale. #Tipo-de-vrtice-del-aue-sale. Tipo-de-arco.
#Nombre-del-vrtice-al-aue-entra. #Tipo-de-vrtice-al-aue-entra)
B) Vistas
Con las vistas se pretende que el usuario vea el contenido de la ontologa desde la perspectiva
de los EE.CC del meta-modelo que est utilizando, y no desde la perspectiva del
almacenamiento en las tablas generadas. As, por ejemplo, la vista sobre el diccionario de
conceptos es la reunin de todas las tablas en que se ha descompuesto.
Vista-DC = Erna-DC * DC-Sinnimos * DC-Abreviaturas * DC-Instancias * DC-Atributos de
clase * DC-Atributos de instanica * DC-Relaciones.
157
Cada proyeccin ordenada sobre una matriz asociada a un EC pasa a ser una
proyeccin en la tabla relacional (o en la vista) generada a partir dicha EC. Ntese
que en esta regla hay que imponer la restriccin de que el orden de los atributos es
relevante en la proyeccin del lgebra relacional.
R.2.
La unin de matrices asociadas a dos EE.CC pasa a ser la unin de sus tablas
relacinales (o vistas).
R.3.
La seleccin que, como se ha dicho, slo se utiliza en los grafos, pasa a ser una
seleccin del lgebra relacional.
R.4.
4.5.3.4.4
liNombre del vrtice del que sale ( C ' Tipo del vrtice del que sale = 'Concepto' /> Tipo de arco = 'Subclase de'
ACC))
(ArCO-Oel-
0.
Recurdese que ACC.S.out.Concepto significa que hay que seleccionar en la matriz del
rbol de clasificacin de conceptos aquellas filas tales que
[Tipo de arco] = [Subclase de] y [Tipo del vrtice origen] = [Concepto]
y que despus hay que proyectar sobre Nombre del vrtice origen.
158
4.
nInslancias(VSta'DC)
'Subclase de'
(ArCO-del-ACC))
uUNombre
159
INTRODUCCIN
Una vez que se tiene el esquema de datos diseado, es necesario transformarlo en un modelo
operativo en SQL, para ello es necesario utilizar una serie de reglas que son inmediatas.
4.5.4.2
ENTRADAS
Las tablas, las vistas y las expresiones en lgebra relacional generadas en la tarea anterior.
4.5.4.3
PRODUCTOS OBTENIDOS
4.5.4.4
R.2.
R.3.
Las operaciones del lgebra relacional tienen las equivalencias que se muestran en la
Tabla 4.61.
R4.
Algebra relacional
ncampos(R)
Ocondicin
\^)
Rus
SQL
SELECT DISTINCT campos FROM R
SELECT DISTINCT * FROM R
WHERE condicin
SELECT* FROM R
UNION
SELECT * FROM S
SELECT DISTINCT * FROM R
WHERE NOT EXISTS (SELECT * FROM S
WHERE A = E AND B = F AND C = G)
Tabla 4.61. Equivalencias de los operadores bsicos del lgebra relacional y el SQL (adaptado de
[Fernndez Lpez, 99b])
160
Otros detalles de la transformacin, como es por ejemplo el tipo de cada atributo, dependen del
gestor que se vaya a utilizar.
4.5.4.5
Est tarea tambin est pensada para que la realice un computador de manera automtica.
DEL
EEn esta seccin se ha presentado cmo transformar un meta-modelo en LBIR, que describe
cmo se conceptualiza el dominio de una ontologa en un esquema de datos computable. Se
aconseja, debido a las ventajas de las BB.DD.RR y del SQL, que los esquemas se
implementen en este lenguaje.
Se ha elaborado una serie de reglas que permiten transformar el meta-modelo LBIR en un
esquema ER, el esquema ER en un esquema relacional, y el esquema relacional en cdigo
SQL. Aunque el proceso de transformacin del ER en relacional se describe en diferentes
textos de BB.DD, en el presente trabajo se proponen reglas ms precisas que en estos textos,
pues mientras que en los libros de BB.DD este proceso se muestra para que sea aplicado por
los analistas, aqu se elabora para que lo lleve a cabo un computador.
Un aporte importante de la presente seccin es que se da la posibilidad de que haya un
soporte tecnolgico al mtodo flexible de conceptualizacin de ontologas basado en metamodelos, es decir, es posible, no slo desde el punto de vista metodolgico, sino tambin
desde el punto de vista tecnolgico, construir ontologas utilizando el meta-modelo que ms se
adecu a las necesidades de modelizacin de cada problema. Adems, gracias al enfoque
seguido, las ontologas se pueden guardar en bases de datos relacinales, y se da as la
posibilidad de aprovechar las ventajas de: independencia de los datos, minimizacin de la
redundancia y del espacio de almacenamiento, integridad de los datos, comparticin de datos,
seguridad de datos, y la posibilidad de acceder a las ontologas a travs de SQL.
Dado que en el da de hoy existe un software que realiza este proceso (ODE, vase la
seccin 4.8), se puede afirmar que LBIR se puede transformar en un modelo operativo. Esto ha
provocado una dificultad tcnica importante, ya que se permite la definicin de meta-modelos
distintos para distintas ontologas y, por tanto, los esquemas de bases de datos se generan en
tiempo de ejecucin, en vez de hacerlo en tiempo de diseo que es lo habitual.
4.6
4.6.1 INTRODUCCIN
Segn el mtodo bi-fase de conceptualizacin aqu expuesto, antes de llevar a cabo la
161
NIVEL DE
CONOCIMIENTOS
QUE HAY QUE
MODELIZAR:
ESQUEMA DE
CONCEPTUALIZACIN
QU HAY QUE
MODELIZAR:
ONTOLOGAS
NIVEL SIMBLICO
Especificacin
(en lenguaje
natural)
Conceptualizacin
(con tablas y
grafos)
Formalizacin
(utilizando
LBIR)
Implementacin
(en SQL)
Especificacin
(en lenguaje
natural)
Conceptualizacin
(con tablas y
grafos)
Formalizacin
(p.e. marcos)
Implementacin
(p.e. Ontolingua)
4.6.2 ENTRADAS
El meta-modelo que se va a utilizar, la documentacin de la adquisicin de conocimientos, y la
especificacin de la ontologa. El meta-modelo debe estar disponible tanto en forma de tablas y
grafos, como en SQL. El primer formato es para que las personas encargadas de
conceptualizar el dominio de la ontologa sepan los detalles de las normas a las que se deben
ajusfar. El segundo formato es para que el software utilizado sea til en este paso.
162
INICIO
No
Pas 5. Conceptualizcii) de
la ontologa de dominio '
CT Z^^
Paso 6. Implementacn de la
ontologa de dominio
Figura 4.33. Relacin de la conceptualzacin de la ontologa de dominio con el resto del mtodo de
conceptualzacin
163
4.7
4.7.1 INTRODUCCIN
El mtodo bi-fase de conceptualizacin aqu presentado propone que, una vez que se ha
conceptual izado el dominio de la ontologa, la conceptualizacin de este dominio se transforme
en cdigo en el lenguaje de implementacin en que se deba tener la ontologa. En este trabajo
se propone la traduccin automtica del modelo conceptual en un modelo de implementacin.
La automatizacin de la traduccin consta de las siguientes tareas: estudio del lenguaje
destino, especificacin de las reglas de traduccin, generacin del traductor conceptualizacinimplementacin, y generacin del cdigo en el lenguaje de implementacin utilizando el
traductor (Figura 4.34). Las dos primeras tareas se llevan a cabo slo si ya no existe el
traductor para el meta-modelo que se ha utilizado en la conceptualizacin.
En los siguientes apartados de esta seccin se presentarn con detalle cada una de las
tareas del paso de implementacin de la ontologa de dominio.
INTRODUCCIN
4.7.2.2
ENTRADAS
Cualquier documentacin sobre el lenguaje. Es importante contar con un manual que describa
la sintaxis del lenguaje y su significado de manera precisa.
4.7.2.3
PRODUCTOS OBTENIDOS
164
No
MPLEMEIsiTACIN DE LA
NTOLGA DE DOMINIO
del
Figura 4.34. Relacin de la implementacin de la ontologa de dominio con el resto del mtodo de
conceptualizacin
165
3. Mecanismos de razonamiento de que dispone el lenguaje, sobre todo con vistas a las
futuras aplicaciones de la ontologa.
4. Traductores a otros lenguajes. De esta forma se puede establecer en cierta medida la
usabilidad de la ontologa.
4.7.2.4
Los pasos recomendados son: primero, buscar ms documentacin en caso de que sea
necesario; despus estudiar el lenguaje, e incluso hacer alguna pequea ontologa de prueba
con l; y, por ltimo, elaborar el informe.
4.7.2.5
INTRODUCCIN
El objetivo de esta tarea es que las reglas de generacin queden especificadas de una manera
precisa. Por esta razn, la especificacin se debe ajusfar a unos patrones estrictos, aunque no
por eso dejen de ser intuitivos.
4.7.3.2
ENTRADAS
4.7.3.3
4.7.3.3.1
PRODUCTOS OBTENIDOS
DESCRIPCIN
Para cada componente del lenguaje destino (en Ontolingua, por ejemplo, clases, relaciones,
instancias, axiomas, etc.), se debe especificar:
1. Patrn del componente en el lenguaje destino. Se presentar una regla que describa el
patrn utilizado en la implementacin del componente a tratar. En esta regla se utilizarn
los siguientes smbolos especiales:
:=
Separador entre la parte izquierda y la parte derecha de una regla. Es decir, entre lo
que se pretende describir con la regla y su descripcin.
166
{}
[]
Las partes opcionales y las que se pueden repetir irn etiquetadas con nmeros para
hacer a ellas referencia y poder establecer las condiciones bajo las cuales puede
aparecer una estructura, o las veces que se puede repetir. Adems los trminos
especficos de la ontologa aparecern en cursiva, y las palabras clave en negrita.
Adems, se recomienda describir brevemente el significado de las palabras clave que
aparezcan en el patrn. De esta manera, aquellas personas que no conozcan bien el
lenguaje y que deseen consultar las reglas de traduccin, no tendrn que estar
consultando constantemente el estudio del lenguaje obtenido en la tarea anterior.
2. Correspondencia entre el lenguaje destino y el meta-modelo de conceptualizacin. Se
elaborar una tabla donde se relacionan los trminos usados en la fase de
implementacin (primera columna de la tabla) con los empleados en la conceptualizacin
(segunda columna).
3. Descripcin de las opciones y las repeticiones en el patrn de la definicin. Se elaborar
una tabla para explicar las condiciones que establecen cundo aparece cada estructura
que es optativa, y las veces que se repiten las estructuras que van entre llaves. La tabla
tendr dos columnas, la primera con las etiquetas que aparecen en las estructuras
opcionales y repetitivas, y la otra columna con una explicacin precisa de las condiciones
que rigen las veces que aparece el contenido de la estructura.
4. Ejemplo de una definicin que siga el patrn. Con el objetivo de aclarar el significado de
cada uno de los elementos descritos, se aconseja poner un ejemplo del tipo de definicin
que se est describiendo.
4.7.3.3.2
EJEMPLO BREVE
167
[(and]'
[(Individual concepto)]
{{superclase 7concepto)f
[(Superclass-Of subclases)]*
[(Has-lnstance "iconcepto instancias)f
[(Has-At-Most ? concepto atrbuto_o_relacin 1)1
(Has-One ? concepto atributo_o_relacin) T
(>= Value-Cardinality ? concepto atributo_o_relacin 0) f
(Has-Some Iconcepto atributo_o_retacin)f[)]^
[:ax\om-delf
[(Exhaustive-Subclass-Partition concepto {Seloi subclases-ex))f^
[(Disjoint-Subclass-Partition concepto {Setol subclases-disj))f [)f
[:class-slots
{{atributo__de_clase :value valores)^^^*
El significado de las palabras clave de Ontolingua y de la Frame Ontology utilizadas es el
siguiente:
i.
ii.
iii.
:Def expresa condiciones suficientes en las que los parmetros de la definicin son
variables libres (sin cuantificar).
iv.
V.
vi.
Has-at-most es una relacin entre una clase, una relacin y el nmero mximo de
veces que puede aparecer una instancia de la clase en la relacin.
X.
xi.
168
IMPLEMENTACIN
CONCEPTUALIZACIN
Concepto
Descripcin
Subclases
Instancias
Subclases-ex
Subclases-dis
Superclase
Atributo_o_relacin
Atributo_de_clase
Valores
Tabla 4.62. Significado de los smbolos ms elementales en la descripcin de las clases en Ontolingua y
su procedencia del esquema de referencia
169
NMERO DE
CONDICIN
EXPLICACIN
Tabla 4.63. Condiciones de las estructuras optativas y repetitivas en la definicin de las clases en
Ontolingua (1/2)
NMERO DE
CONDICIN
EXPLICACIN
10
11
12
13
14
Tabla 4.63. Condiciones de las estructuras optativas y repetitivas en la definicin de las clases en
Ontolingua (2/2)
170
4. Ejemplo de una definicin que siga el patrn. El siguiente ejemplo muestra la clase que
se generara aplicando la especificacin del patrn al concepto "elemento" del ejemplo
del anexo II:
;;; Elemento
(Define-Class Elemento (?Elemento)
" Es una sustancia formada por tomos con el mismo nmero de
protones."
:def
(and
(Superclass-Of Reactivo No-Reactivo)
(Has-One ? Nmero-Atmico Entero)
(Has-One ? Peso-Atmico Nmero-Real}
)))
4.7.3.4
F'rimero, para cada uno de los tipos de componentes que se mencionen en el meta-modelo a
traducir (conceptos, atributos, instancias, axiomas, etc.) se estudia qu aspectos hay que
traducir. Por ejemplo, para los atributos, puede ser interesante que aparezca en la traduccin:
la descripcin en lenguaje natural, para que el cdigo de la definicin se pueda entender; el
concepto al que pertenece el atributo; la cardinalidad; y el tipo de datos. Al mismo tiempo, hay
que identificar ios EE.CC de las que se pueden obtener los conocimientos a traducir. Despus,
se elaboran las reglas de traduccin, obteniendo as la documentacin descrita en el punto
4.7.3.3.
4.7.3.5
La tarea de especificar los patrones del lenguaje destino as como las relaciones entre los
componentes del lenguaje y los componentes del esquema de conceptualizacin deben llevarla
a cabo entendidos en la modelizacin de conocimientos. Es muy aconsejable que estos
entendidos sean los mismos que han realizado el estudio del lenguaje destino.
INTRODUCCIN
171
4.7.4.2
ENTRADAS
El conjunto de patrones del lenguaje destino, y las asociaciones entre los patrones y ios
componentes del meta-modelo.
En caso de que haya un traductor anterior, se debe estudiar la posibilidad de reutilizar el
anlisis, diseo e implementacin del traductor.
4.7.4.3
PRODUCTOS A OBTENER
4.7.4.4
4.7.4.5
Si el proceso se lleva a cabo de manera manual, lo deben realizar personas familiarizadas con
las tcnicas de ingeniera del software, con las herramientas para la construccin de
traductores, y entrenadas en la programacin.
4.7.4.6
GENERACIN DE CDIGO
LA
IMPLEMENTACIN
DE
LA
172
los lenguajes de implentacin puedan desarrollar ontologas. En este sentido, esta combinacin
metodologa-tecnologa supone un avance muy significativo con respecto a entornos anteriores
ampliamente utilizados (Ontolingy Sever [Farquhar et al.; 96], Ontosaurus [Swartout et al.; 97],
etc.).
Esta transformacin directa y automatizada de la conceptualizacin en la implementacin es
posible gracias a que la conceptualizacin, aun siendo muy cercana a las personas entendidas
en el dominio de la ontologa, est ceida a unas reglas precisas que hacen que "invada"
parcialmente el terreno de la formalizacin.
Por otra parte, Ontolingua permite aumentar las posibilidades de reutilizacin de las
ontologas, pues existe un entorno software de libre acceso, el Ontology Server, que genera
cdigo en otros lenguajes a partir de Ontolingua (Loom [MacGregor, 90], Epikit, IDL de CORBA
[Mowbray et al.; 95], PROLOG, CLIPS y KIF puro).
Para el futuro, se tiene previsto darle soporte tecnolgico a la tarea de generacin de
traductores a partir de especificaciones. Esto agilizar todava ms el proceso de construccin
de ontologas.
MTODO
DE
4.8.1 INTRODUCCIN
Mientras que en los apartados anteriores se han tratado fundamente los aportes del presente
trabajo en el plano metodolgico, en ste se presentarn los aportes en el plano tecnolgico.
Bsicamente, stos aportes tecnolgicos se han ido mostrando, de manera sucinta, a travs de
la exposicin del mtodo bi-fase de conceptualizacin, pues es fundamental conocer qu
tareas tienen soporte software y cules no para saber la mayor o menor facilidad que puede
tener la aplicacin del mtodo. No obstante, en esta seccin se mostrarn los aportes
tecnolgicos de una manera integrada, y se concretarn algunos aspectos, sobre todo los
referentes a la arquitectura general del sistema.
El mtodo de conceptualizacin de ontologas visto anteriormente propone que antes de
llevar a cabo la conceptualizacin de la ontologa de dominio, se haga una especificacin en
lenguaje natural, una conceptualizacin utilizando tablas y grafos, una formalizacin en LBIR, y
una implementacin en SQL del esquema de conceptualizacin que se va a seguir. Adems,
basndose en el hecho de que este esquema de conceptualizacin est descrito de manera
precisa, es posible automatizar
a la
implementacin.
Para darle soporte tecnolgico a este mtodo de conceptualizacin, se ha construido ODE
(Ontology Design Environmenf). Los pasos para los que ODE da soporte estn sombreados en
la Figura 4.35, aunque el paso de implementacin de la ontologa de dominio no est
173
compltamete automatizado, sino que slo existe el traductor que pasa del esquema de
referencia a Ontolingua [Farquhar et al.; 96]. Por tanto, las funciones que lleva a cabo ODE son
las que se presentan a continuacin:
NIVEL DE
CONOCIMIENTOS
QUEHAYQUE
MODEUZAR:
ESQUEMA DE
CONCEPTUALIZACIN
QUEHAYQUE
MODEUZAR:
ONTOLOGAS
NIVEL SIMBLICO
Especificacin
(en lenguaje
natural)
Conceptualizacin
(con tablas y
grafos)
Formalizacin
(utilizando
LBIR)
Implementacin
(en SQL)
Especificacin
(en lenguaje
natural)
Conceptualizacin
(con tablas y
grafos)
Formalizacin
(p.e. marcos)
Implementacin
(del esquema de
referencia a
Ontolingua)
174
175
Lectura
dato
usuario
PROCESAMIENTO DE LBIR
Mdulo controlador del procesamiento de LBIR
Escritura
para el
usuario
Escritura
para el
usuario
Generacin de
ER
Generacin
esquema
relacional
Generacin del
esquema SQL
Lectura
dato
usuario
Escritura
para el
usuario
Controlador de la
traduccin
Lectura
dato
fichero
Anotaciones
Esquemas
relacinales
Meta-modelos en
SQL
Generacin de cdigo
Escritura
en fichero
Conceptualizacin
Conceptualizaciones
Verificacin de
la consistencia
Escritura
para el
usuario
^^^T
176
DURANTE EL
Como metodologa de desarrollo de software, se ha utilizado Mtrica 2 [MAP, 90]. Las razones
para elegir esta metodologa han sido, en primer lugar, que describe de forma detallada qu se
debe documentar, cmo y cundo; y, en segundo lugar, porque es la metodologa exigida por
la administracin pblica espaola. Ahora bien, una variante importante que se ha hecho en
esta metodologa durante el desarrollo de ODE ha sido que se ha separado, por una parte, el
anlisis y el diseo globales del sistema y, por otra, el anlisis y el diseo detallados
[F-ernndez Lpez, 00]. De esta manera, se ha tenido la ventaja de tener una visin general del
sistema antes de empezar a desarrrollarlo de forma detallada.
Adems de la aplicacin de Mtrica 2, se ha seguido la recomendacin sobre planes de
calidad IEEE 829-1983 [IEEE, 83], la norma para la especificacin de requisitos IEEE 830-1998
[IEEE, 98], y las normas de interfaces de Microsoft (vase [Blzquez, 97]). Esto ltimo ha
facilitado que la interfaz de usuario de ODE sea intuitiva.
Por otra parte, con el propsito de poder construir ODE a la vez que se iba elaborando el
mtodo de conceptualizacin se ha utilizado un ciclo de vida basado en prototipos evolutivos.
En consecuencia, un cambio en el mtodo provoca la construccin, partiendo del anterior, de
un prototipo nuevo.
177
178
5. EVALUACIN DE LA SOLUCIN
179
5. EVALUACIN DE LA SOLUCIN
Utilizando ODE, el entorno tecnolgico que da soporte al mtodo bi-fase, se han construido 13
ontologas en diferentes dominios y con distintas necesidades de modelizacin (Tabla 5.1):
unas ontologas tienen gran cantidad de instancias, mientras otras no tienen ninguna; otras
tienen slo atributos de instancia, y otras tambin atributos de clase; las hay que no tienen
relaciones; y en unas ontologas se han utilizado axiomas, mientras que en otras no. En
consecuencia, se han utilizado 8 esquemas distintos de conceptualizacin de ontologas de
dominio (Tabla 5.2) adaptndose a estas necesidades de modelizacin, lo cual muestra la
Iflexibilidad del mtodo y del entorno software.
Como se puede comprobar, al principio, se iban aadiendo EE.CC al esquema anterior. Sin
embargo, cuando la cantidad de EE.CC ya ha sido abundante, se han ido borrando elementos
innecesarios y, de esta manera, se ha ido evitando que la conceptual izacin sea engorrosa. En
todo momento se ha considerado que el esquema de referencia era aquel que tuviera todos los
EE.CC identificados hasta el momento con sus reglas de verificacin d la consistencia dentro
de cada tipo de EC y entre EE.CC diferentes.
Por otra parte, para tener varios casos de prueba de elaboracin de meta-modelos desde
cero, y para estimar las posibilidades de aplicacin tanto del mtodo como de ODE a reas
distintas a la conceptualizacin de ontologas de dominio, se han realizado meta-modelos para
describir esquemas ER (vase la Tabla 5.2.10 y la Tabla 5.2.11), y para describir gratos
heterrquicos tal y como se utilizan en IDEAL [Gmez Prez et al.; 97] (vase la Tabla 5.2.12).
El meta-modelo que describe el modelo ER se ha servido para elaborar esquemas en el
dominio de la empresa, modelizando, por ejemplo, la entidad factura, la entidad fabricante, etc.
El meta-modelo de gratos heterrquicos se ha utilizado en el dominio de la catalogacin de
edificios artsticos. Una de las ventajas que se ha apreciado con la utilizacin de los metamodelos en tareas y esquemas entidad relacin ha sido la comprobacin de las reglas de la
verificacin de la consistencia.
Como muestra de la aplicablidad tanto del mtodo bi-fase como del entorno software, se
puede decir que se han utilizado dentro de los siguientes contextos:
1. El proyecto europeo IST-1999-10589 MKBEEM {Multilingual Knowledge Based
European Electronic Marketpiace), cuyo propsito consiste en desarrollar un sistema de
mercado electrnico en que cada proveedor pueda ofrecer los productos en su idioma, y
cada cliente pueda obtener informacin sobre estos productos en el suyo propio. Junto
con la UPM, participan: Franco Telecom, Sema Group, National Technical University o
Athens, Teclinical Researcti Centre of Finland, la Socit Nationale des Chemins de Fer
Frangais, etc.
183
Conceptos
Atributos de
clase
Atributos de
instancia
Relaciones
Constantes
Axiomas
Frmulas
Instancias
TOTAL
TRMINOS
Qumica
10
20
37
Qumica
16
22
27
103
173
15
20
27
103
169
78
12
47
102
239
Ontologas
23
70
lio
Unidades de medida
22
65
93
62
82
Silicatos
84
17
109
Hardware
Hardware el LIA
49
29
56
56
190
ELLOS Ontology
Catlogos de ropa
16
20
48
Tradezone Ontology
Catlogo de productos en
general
22
SNCF Ontology
Viajes y hoteles
13
37
69
FIDAL Ontology
Contratos
15
37
Dominio
Ontologa
Prototipo de CHEMICALS
CHEMICALS
[Fernndez Lpez el al.; 99]
La reestructuracin de (KA)^
[Blzquez et al.; 98]
Comunidad
Investigadora en adquisicin
de conocimientos
Reference Ontology
[Arprez et al.; 98]
Standard Units reestructurada
[Rojas, 98], [Gmez Prez et al.; 99]
Iones monoatmicos
[Rojas, 98], [Gmez Prez et al.; 99]
Silicatos
[Pinilla Ponz, 99]
Tabla 5.1. Componentes de cada ontologa construida aplicando el mtodo de conceptualizacin flexible
184
Nombre
del
esquema
Elementos de conceptualizacin
Esquema
base
Aadidos
Modifcados
Borrados
Reglas de
verificacin
Ontologas
desarrolladas
META-MODELOS ELABORADOS PARA LA CONCEPTUALIZACIN DE ONTOLOGAS BASNDOSE EN LOS ELEMENTOS DE CONCEPTUALIZACIN DE METHONTOLOGY
Diccionario de datos
(Nombre del concepto,
Sinnimos,
Acrnimos,
Instancias,
Atributos de clase.
Atributos de instancia)
rbol de clasiflcacin de conceptos
Esquema 1
[Gmez
Prez et al.;
96]
Tabla de constantes
(Nombre de la constante.
Descripcin,
Valor,
Unidad de medida.
Para inferir.
Referencias)
Prototipo
CHEMICALS
(contina)
185
de
Nombre
del
esquema
Esquema
base
Elementos de conceptualizacin
Aadidos
Modifcados
Borrados
Reglas de
verificacin
Ontologas
desarrolladas
Tablas de frmulas
(Nombre de la frmula.
Atributo inferido.
Frmula,
Descripcin,
Atributos bsicos de instancia.
Atributos bsicos de clase.
Constantes,
Precisin,
Restricciones,
Referencias)
Arboles de clasifcacin de atributos
Tablas de instancias
(Nombre de la instancia.
Descripcin,
Atributos,
Valores)
186
Nombre
del
esquema
Elementos de conceptualizacin
Esquema
Aadidos
Glosario de trminos
(Nombre,
Descripcin) por claridad
Esquema 2
[Fernndez,
96]
Esquema 1
Modificados
Borrados
Reglas de
verificacin
Ontologas
desarrolladas
2) rbol de clasificacin de
conceptos
3) Diccionario de datos
4) Tablas
instancia
de
atributos
de
43 reglas
CHEMICALS
[Fernndez Lpez
et al.; 99]
6) Tablas de constantes
7) Tablas de instancias
8) Tablas de axiomas lgicos
9) rboles de clasificacin de
atributos
187
Nombre
del
esquema
Esquema
base
Elementos de conceptualizacin
Aadidos
Ficha de descripcin general
(Nombre,
Fecha y hora de creacin,
Autores,
Descripcin) para tener ms
expresividad, para poder representar
la informacin general sobre la
ontologa
Esquema 3
(primer
Esquema 2
esquema de
referencia)
Modificados
a) Se cambia el nombre del
diccionario
de datos
por
diccionario de conceptos para
que el nombre de esta tabla sea
ms representativo
Reglas de
veriflcacin
de
Ontologas
desarrolladas
CHEMICALS
revisada
por
entendidos
qumica,
y
la
reestructuracin de
(KA)^ [Blzquez et
al.; 98], sta ltima
en el dominio de la
comunidad
cientfica de la
adquisicin
de
conocimientos
b) Se elimina el campo
"descripcin" del diccionario de
conceptos, de la tabla de
constantes, de la tabla de
Diagrama de relaciones "ad hoc", para
instancias, de las tablas de
tener ms expresividad
atributos de clase y de las tablas
de atributos de instancia. Para
Tabla de trminos a importar
que la descripcin slo aparezca
(Nombre del trmino en el origen.
en el glosario de trminos.
Nombre de la ontologa,
Servidor,
c) La tabla de axiomas se separa
Nombre del trmino en el destino)
en varias tablas y queda con los
para tener ms expresividad
siguientes campos para faciliar
permitiendo identificar los trminos a
la veriflcacin:
importar y su procedencia
Tablas de relaciones binarias
(Nombre de la relacin,
Concepto origen,
CardinaHdad del concepto origen.
Concepto destino.
Propiedades matemticas.
Relacin inversa.
Referencias) para no forzar una
representacin poco intuitiva al
representar las relaciones como
atributos
Borrados
La reestructuracin
de (KA)^ [Blzquez
et al.; 98], sta
ltima
en
el
dominio
de
la
comunidad
cientfica de la
adquisicin
de
conocimientos
Reference
Ontology [Arprez
etal.;98]
188
Nombre
del
esquema
Esquema
base
Elementas de conceptualizacin
Aadidos
Modifcados
Borrados
Reglas de
verifcacin
Ontologas
desarrolladas
atributos
de
Esquema 3
Tablas de frmulas
Arboles de clasifcacin
atributos
Tabla de instancias
de
Tabla de constantes
Esquema 4
3) rbol de clasificacin
conceptos
5) Diccionario de conceptos
de
59 reglas
Standard
Units
reestructurada [Rojas,
98], [Gmez Prez et
al.; 99]
Primer prototipo de
Iones monoatmicos
189
Nombre
del
esquema
Esquema
base
Elementos de conceptualizacin
Modificados
Aadidos
Borrados
Reglas de
verificacin
Ontologas
desarrolladas
Esquema 5
Esquema 4
3) rbol de clasificacin de
conceptos
4) Diagrama de relaciones "ad
hoc"
5) Diccionario de conceptos
6) Tablas de relaciones binarias
y tablas de atributos de clase
61 reglas
Iones monoatmicos
[Rojas, 98], [Gmez
Prez et al.; 99]
Silicatos [Pinilla Ponz,
99]
190
Nombre
del
esquema
Esquema
base
Elementos de conceptualizacin
Aadidos
Modificados
Borrados
Reglas de
verificacin
Ontologas
desarrolladas
(Se
utiliz
en
ontologas
posteriores
tomndolo
como
base
y
modificndolo)
191
Nombre
del
esquema
Esquema
base
Elementos de conceptualizacin
Aadidos
Modificados
Borrados
Reglas de
verificacin
Ontologias
desarrolladas
Esquema 7
Esquema 6
Tabla de instancias
(Instancia,
Atributo,
Relacin,
Valor)
3) rbol de clasificacin
conceptos
de
Tabla de constantes
4) Diccionario de conceptos
44 reglas
Hardware
Tablas de axiomas
Tablas de frmulas
Arboles de clasificacin
atributos
192
Nombre
del
esquema
Esquema
base
Elementos de conceptualizacin
Aadidos
Modificados
Borrados
Reglas de
verificacin
Ontologas
desarrolladas
de
Esquema 6
haciendo el
aadido del
esquema 7
Tabla de instancias
(Instancia,
Atributo,
Relacin,
Valor)
Prototipo de Ellos
Ontology
Prototipo
Tradezone
Ontology
de
5) Diccionario de conceptos
6) Tablas de relaciones binarias,
80 reglas
tablas de atributos de clase,
tablas de atributos de instancia y
tabla de constantes
Prototipo de SNCF
Ontology
Prototipo
de
FIDAL Ontology
(Todas dentro del
proyecto europeo
IST-1999-10589
MKBEEM
[MKBEEM, 00])
9) Tabla de concepto-atributo de
clase-valor
9) Tabla de instancias
193
Nombre del
esquema
Elementos de conceptualizacin
Esquema
base
Aadidos
Modiflcados
Borrados
Reglas de
verifcacin
Ontologas
desarrolladas
Tabla de entidades
(Nombre de la entidad,
Es entidad dbil.
Entidad que identifica a la entidad dbil.
Atributos,
Atributos identificadores)
Esquema de prueba
dentro del dominio
de la empresa
--
Tabla de relaciones
(Nombre de la relacin.
Entidades que asocia,
Cardinalidades,
Atributos,
Atributos identificadores)
--
37 reglas
4) Tabla de entidades
5) Tabla de relaciones y tabla de
atributos
Esquemas sobre la
conceptualizacin
de ontologas
6) Tabla de restricciones
(Contina)
194
Nombre del
esquema
Esquema
base
Elementos de conceptualizacin
Aadidos
Modificados
Borrados
Reglas de
verificacin
Ontologas
desarrolladas
Esquema de prueba
dentro del dominio
de la empresa
--
--
33 reglas
Esquemas sobre la
conceptualizacin
de ontologas
Tabla de restricciones
(Nombre de la restriccin.
Descripcin,
Entidades involucradas,
Relaciones involucradas.
Atributos involucrados,
Expresin)
195
Nombre del
esquema
Esquema
base
Elementos de conceptualizacin
Aadidos
Modificados
Borrados
Reglas de
verificacin
Ontologas
desarrolladas
Modelo
de
grafo
heterrquico
de tareas
--
Grafo heterrquico
2) Grafo heterrquico
17 reglas
196
Ontolingua
()
Ontosaurus
(*)
WebOnto
Protege 2000
ODE ()
(*)
CARACTERSTICAS GENERALES
Claridad de la interfaz de usuario
Velocidad de actualizacin
Instalacin en red
No
No
- Existencia de la verificacin
- Nivel de verificacin
no
no
no
no
no
no
no
Ontologas de ejemplo
Verificacin de la consistencia
Mecanismos de bloqueo
No aplicable
No aplicable
No aplicable
S (RDF)
Tabla 5.3. Evaluacin de los entornos software de desarrollo de ontologas segin los criterios publicados
por Duineveld y colegas [Duineveld et al.; 99] (incluye ODE)
197
198
6 CONCLUSIONES
199
Captulo 6. Conclusiones
6. CONCLUSIONES
La aportacin terica de este trabajo consiste en un mtodo bi-fase flexible para describir
meta-modelos de forma declarativa, explcita y a la medida que sern utilizados para
conceptualizar ontologas de dominio. El mtodo consta de las siguientes fases (Figura 6.1):
Fase I.
NIVEL DE
CONOCIMIENTOS
FASE I. DESARROLLO
DEL META-MODELO
Especificacin
(en lenguaje
natural)
FASE II.
CONCEPTUALIZACIN
DE LA ONTOLGA
Especificacin
(en lenguaje
natural)
iponceptoaji^cin ':,
:|;S";; (con tablas y ;
. ,;;;-. grafos): ":.
Conceptualizacin
(con tablas y
grafos)
NIVEL SIMBUCO
: Formalizacin
(utilizando
LBIR)
Implementacin
(en SQL)
Formalizacin
(p.e. marcos)
Implementacin:
(p.e. Ontplingua)
201
Captulo 6. Conclusiones
PASO 4.
IMPLEMENTACIN DEL
ESQXJEMA DE
CONCEPTUALIZACIN
Tarea
Elaboracin
cero
de
especificacin
1.2.
desde
una
Tarea
1.3.
Modificacin de una
especificacin
PASO 6.
IMPLEMENTACIN DE LA
ONTOLOGA DE DOMINIO
PASO 2.
CONCEPTUALIZACIN
DEL ESQUEMA DE
CONCEPTUALIZACIN
No
1-V
Paso 5. Conceptualizacin de
la ontologa de dominio
202
Tarea
Captulo 6. Conclusiones
Productos
Entradas
Quin la realiza
a)
Conocedores
conceptualizacin
conocimientos
de
la
de
b) Entendidos del
(opinando)
dominio
a)
Conocedores
conceptualizacin
conocimientos
de
la
de
de
una
Esquema a modificar
b) Propuesta de cambios
c)
Nueva
completa
b)
Entendidos
conceptualizacin
especificacin conocimientos
en
de
a) Meta-modelo a modificar
a)
Conocedores
conceptualizacin
conocimientos
de
la
de
b) Entendidos del
(opinando)
dominio
en
de
con
Meta-modelo en LBIR
Entendido
en
la
conceptualizacin
de
conocimientos que conozca el
LBIR
Meta-modelo en LBIR
ODE
a) Esquema relacional
a) Esquema entidad relacin
4.2. Diseo del esquema de
b) Reglas de la verificacin de DDE
b) Reglas de la verificacin de
datos
la consistencia en lgebra
la consistencia en LBIR
relacional
a) Esquema relacional
4.3.
Implementacin
esquema de datos
del
Meta-modelo implementado en
b) Reglas de la verificacin de
ODE
SQL
la consistencia en lgebra
relacional
203
Captulo 6. Conclusiones
Entendidos en el dominio de la
ontologa, junto con entendios
en ontologas, con la ayuda de
ODE
6.1. Estudio
destino
del
lenguaje
a) Documentacin sobre el
lenguaje
b) Otros traductores
generan el lenguaje
a) Informe
lenguaje
6.2. Especificacin
reglas de traduccin
de
las
que
Informe
lenguaje
Entendidos
representacin
conocimientos
describiendo
la
de
describiendo el
a)
Cualquier
documentacin
sobre
lenguaje
otra
el
que
Reglas de traduccin
Entendidos
representacin
conocimientos
en
la
de
Traductor
c) Meta-modelo a traducir
formales que se han definido en este trabajo. Esto permite la transformacin directa y
automtica del modelo conceptual de la ontologa de dominio en un modelo de implementacn,
es decir, los modelos conceptuales son computables. Estas caractersticas del mtodo han
dado la posibilidad de que se construya un software, llamado ODE, que le d soporte
tecnolgico.
En la Figura 6.2 se muestra el organigrama de todas las tareas del mtodo de
conceptualizacin presentado en este trabajo. Las tareas para las que ODE proporciona
soporte tecnolgico aparecen sombreadas. Por otra parte, en la Tabla 6.1 y en la Tabla 6.2 se
presentan las entradas de las tareas, los productos, y quines las llevan a cabo. Es decir, en
las tablas se muestran las descripciones particulares de cada tarea y, en la figura, las
relaciones entre tareas.
En la especificacin del esquema de conceptualizacin se establece, de acuerdo con las
necesidades de representacin, que se suponen entradas del mtodo, si se elabora un
esquema nuevo de conceptualizacin, o se reutiliza un esquema anterior. Si se decide elaborar
un esquema nuevo, es necesario, en este mismo paso de especificacin del esquema de
204
Captulo 6. Conclusiones
conceptualizacin
se
elabora
un
meta-modelo
que
describa
el esquema
de
la conceptulaizacin
del esquema de
205
Captulo 6. Conclusiones
CONCEPTUALIZACIN
BASADA EN LOS
ELEMENTOS DE
CONCEPTUALIZCIN DE
METHONTOLOGY
ANLISIS
ESTRUCTURADO BASADO
EN DIAGRAMAS DE
FLUJOS DE DATOS,
MODELOS DE DATOS,
ETC.
206
Captulo 6. Conclusiones
Ontolingua
OKBC
OCML
Elogie
LOOM
Esquema de
referencia
CONCEPTOS (clases)
Particiones
Meta-clases
TAXONOMAS
Subclase de
1-
Subclase en una
particin
disjunta
+/-
+/-
Subclase en una
particin
exhaustiva
+/-
+/-
ATRIBUTOS
Atributos
instancia
de
Atributos
clase
de
r'olimorfismo
FACETAS
Valor
defecto
por
Tipo
Restricciones de
cardinalidad
+/-
+/-
+/-
+/-
+ .,
+/-
i , , ' -
; " . " ;
Etefinicin
operacional
RELACIONES
+
Relaciones
+/-
. .
FUNOONES
Funciones
+/-
+
AXIOMAS
Axiomas
+/-
+
INSTANCIAS
Instancias
INSTANCIAS DE RELACIONES
Instancias
relaciones
de
+/-
' -
REGLAS
Reglas
produccin
de
PROCEDIMIENTOS
Procedimientos
i^-,.
''^-
- .
'
Tabla 6.3. Expresividad del esquema de referencia propuesto con respecto a los lenguajes clsicos de
implementacin de ontologas
207
Captulo 6. Conclusiones
1. En el nivel superior, el conjunto de tablas y gratos que se utilizan para describir los metamodelos tienen la misma expresividad que LBIR.
2. En el nivel inferior, el esquema de referencia propuesto permite modelizar los mismos
componentes que la parte esttica de la unin de los lenguajes clsicos de
implementacin de ontologas. Esto se puede comprobar examinando la Tabla 6.3,
donde se muestra que el esquema de referencia propuesto en el presente trabajo
permite modelizar los mismos componentes que Ontolingua [Farqhuar et al.; 96], el
lenguaje utilizado en el OKBC [Chaudhri et al.; 97], OCML [Motta, 99], Flogic [Kifer et al.;
95] y LOOM [MacGregor, 90].
Por ltimo, es importante comentar que algunas partes de este trabajo han sido publicadas
donde se indica a continuacin:
1. La exposicin sobre metodologas se ha publicado en un estudio ms amplio en el
workshop titulado Ontologies and Problem-Solving Methods: Lessons Learned and
Futura Trends de la conferencia International Joint Conference for Artificial Intelligence
(IJCAI) celebrada en Estocolmo en 1999 [Fernndez Lpez, 99a].
2. Una visin global de ODE ha sido publicada en:
2.1. La revista IEEE Intelligent Systems & their applications [Fernndez Lpez et al.; 99]
se ha presentado una visin general de ODE.
2.2. En el Knowledge Acquisition Workshop (KAW) celebrado en Banff (Canad) en
1998 [Blzquez et al.; 98].
3. Algunos de los esquemas de conceptualizacin utilizados como casos de prueba, y
algunos aportaciones sobre la conceptualizacin de ontologas, se han publicado en:
3.1. En el Workshop on Knowledge Acquisition, Modelling and Management (EKAW)
[Fernndez Lpez et al.; 00], celebrado Jean Les Pins (Francia) en el 2000.
3.2. En la revista IEEE Intelligent Systems & their applications [Fernndez Lpez et al.;
99] se expone el esquema de referencia.
3.3. Se present un esquema anterior en el Symposium on Ontological Engineering de la
American Association for Artificial Intelligence (AAAI), celebrado en Stanford
(California) en 1997 [Fernndez et al.; 97].
3.4. El primero de los esquema utilizados se propuso en el Workshop on Ontological
Engineering celebrado en la European Conference on Artificial Intelligence (ECAI)
de Budapest en 1996 [Gmez Prez et al.; 96].
208
7 LNEAS FUTURAS
209
7. LNEAS FUTURAS
Los puntos en los que se puede profundizar son los que se presentan a continuacin:
1. En el plano metodolgico, las lneas a considerar son las siguientes:
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
211
BIBLIOGRAFA
213
Bibliografa
BIBLIOGRAFA
[Aguado et al.; 98]
Reusing
doman
and
linguisitic
Workshop on
Methods.
Based on
Corpus
Acquisition, Modelling and Management (EKAWOO). Jean-LesPins (Francia). Octubre, 2000. Pgs. 172-188.
[Eateman et al.; 95]
Knowledge
Bases.
Ed.
IOS
Press.
msterdam
Conference
of
Artificial
Ingelligence
(ECAI).
215
Bibliografa
of
Artificial
Ingelligence
(ECAI).
Budapest
Blzquez,
M.;
Fernndez-Lpez,
M.; Garca-Pinar,
J.M.;
the
Acquisition
Ontology
Design
Workshop
(KAW).
Environment.
Banff
Knowledge
(Canad).
1998.
(http://ksi.cpsc.ucalqarv/KAW/KAW98/blazquez).
[Blzquez, 97]
[Blum, 96]
1.0.
W3C
Recommendation.
Febrero,
1998.
(http://www.w3.orq/TR/REC-xmi).
[Chandrasekaran et al.; 99]
R.
Chaudhri, V.K.; Farqhuar, A.; Fikes, R.; Karp, P.D.; Rice, J.P.
The Generic Frame Protocol 2.0. Teclinical Report KSL-9705. Stanford University. California (Estados Unidos). 1997.
[Chen, 76]
[Codd, 70]
216
Bibliografa
[Domingue, 98]
Donningue,
J.
Tadzebao
and
WebOnto:
Discussing,
Workshop
(KAW).
Banff
(Canad).
1998.
(http://ksi.cpsc.ucalqarv/KAW/KAW98/dominque).
[DOS, 91]
(KAW).
Banff
(Canad).
1999.
(http://sern.ucalqarv.ca/KSI/KAW/KAW99/papers/Duineveld1/
wondertools.pdf).
[Farquhar et al.; 96]
[F-ensel, 00]
Fensel,
D.
Ontologies:
silver
bullet
for
Knowledge
Editor
del Software.
Facultad de Informtica de la
217
Bibliografa
Fernndez
building
Lpez, M. Overview
ontologies.
of
Ontologies
methodologies for
and
Problem-Solving
using
Fernndez
Lpez,
M.;
METHONTOLOGY:
Ontological
Gmez
From
Engineering.
Prez, A.;
ontological
Juristo,
art
Symposium
on
N.
towards
Ontological
[Garca-Pinar, 98]
Garca
Pinar,
J.
M.
Transformacin
de
modelos
Computer
Science
Department.
Stanford
Gmez-Prez,
A.;
Rojas-Amaya,
Reengineering
for
Reuse.
M.
D.
Ontological
Knowledge
Acquisition
218
Bibliografa
Unido). 1998.
[Gmez Prez, 98b]
Ontological
Engineering?.
Facultad
de
Informtica.
Teclinicai
Report
Engineering
KSL-94-18.
Knowledge
[Gruber, 92]
[Guarino, 92]
Addison
Wesley
Publishing
Company,
Inc.
and
Manchester.
Reino
Unido.
2000.
219
Bibliografa
(http://www.ontoknowledqe.orq/oil).
[IEEE, 98]
[IEEE, 96]
[IEEE, 83]
[KACTUS, 96]
1996.
(Iittp://www.swi.psv.uva.nl/priects/
NewKACTUS/Reports.Intml)
[Karp et al, 99]
(IJCAI).
Montreal
(Canad).
1995.
(ftp://ftp.ai.sri.com/pub/papers/i<arp-qfp95.ps.Z).
[Kent, 99]
1999.
(http://sern.ucalqarv.ca/KSI/KAW/KAW99/
gaps
in
broad-coverage
MT
system.
American
Association
for
Artificial
220
Bibliografa
[Lenat, 95]
(http://www.cs.umd.edu/proiects/pius/SHOE/
spec1.01.htm).
[Luke et al, 97]
on
Knowledge
Management (EKAW).
Acquisition,
Modelling
and
[MacGregor, 90]
MacGregor,
Information
R.
M.
Sciences
LOOM
users
Instituto {ISI).
manual.
ISI/WP-22.
University of
South
221
Bibliografa
Mtrica
versin
2.
Ministerio
para
las
{Multilingual
[Motta, 99]
[Motta, 98]
Swartout, W.R.
Enabling
technology
for
Intelligence.
[Protege, 00]
Using
Protg-2000
to
Edit
RDF.
Technical
Report.
Unidos)
2000.
(http://www.smi.Stanford.edu/
proiects/proteae/proteqe-rdf/protege-rdf.html).
222
[Rojas, 98]
Bibliografa
and
IVIanagement.
The
CommonKADS
[Sowa, 84]
Studer,
R.;
Benjamins,
V.R.;
Fensel,
D.
Knowledge
Workshop
on
Basic
Ontological
Issues
in
[VVaterman, 86]
223
1.1 KIF
Es un lenguaje basado fundamentalmente en la lgica de primer orden, aunque con algo ms
de expresividad. Sus sentencias estn formadas por listas cuyo primer trmino es una
constante de relacin y el resto de elementos son trminos, y por operaciones lgicas sobre
otras sentencias [Gruber, 93]. Por ejemplo (estn-casados Juan Mana) es una lista donde
estn-casados es una relacin y Juan y Mara son trminos. Otro ejemplo es (not (estncasados Juan Mara)), que es una operacin lgica, not, sobre una sentencia. Los conjuntos
estn definidos utilizando una teora de conjuntos estndar; las listas son secuencias de
objetos; las relaciones se definen como conjuntos de ernas, donde cada erna es una lista de
objetos; y las funciones son un caso especial de relaciones, en el cual el elemento n-simo se
obtiene a partir de los elementos anteriores. Las variables pueden utilizarse para individuos
(precedidas de ?) y para conjuntos si van precedidas del smbolo @. A continuacin aparece un
ejemplo
de
una sentencia
escrita
en
KIF [Fernndez,
96], que
significa
que
la
electronegatividad de aquellos elementos que son halgenos es menor que 2,8 electronvoltios:
(forall (?elemento)
=> (and (halgeno ?elemento) (afinidad-electrnica ?elemento ?valor))
(< ?valor (*2.8 electronvoltio))))
Esta expresin se puede escribir en lgica de la siguiente manera:
V elemento, halgeno(elemento) A afinidad_electrnica(elemento, valor) =>
(valor < 2'8 * electronvoltio)
Las relaciones halgeno y afinidad electrnica, as como el trmino electronvoltio tienen que
estar definidos para que se puedan utilizar dentro de la expresin KIF.
:Def para expresar condiciones suficientes en las que los parmetros de la definicin son
1-3
variables libres.
-
:lff-def para expresar condiciones necesarias y suficientes en las que ios parmetros de
la definicin son variables libres.
:Axiom-def, para expresar condiciones de la definicin, aunque a diferencia de :defe :iffdef, no hacen referencia a los parmetros de sta, sino a su nombre, por lo tanto, la
expresin que aparece acompaando a :axiom-def puede trasladarse a una definicin
aparte sin cambiar el conocimiento que aparece en la ontologa.
:Constraint, que antecede a expresiones KIF que son lgicamente equivalentes a las del
:def, sin embargo tiene otros propsitos, tales como imponer restricciones de
consistencia, por ejemplo, que un determinado trmino que aparece en un denominador
sea distinto de cero.
1-4
La definicin que aparece a continuacin presenta una funcin que relaciona un nmero
con su cuadrado:
(define-function Cuadrado (?n):-> ?valor
"Bicuadrado de un nmero es el producto de l por s mismo"
:def (and (nmero ?n)
(nmero-positivo ?valor))
:lamba-body (* ?n ?n))
Tambin, como se puede ver en el siguiente ejemplo obtenido de la ontologa KifNumbers, se pueden definir funciones a intervalos:
(define-function ABS (?x)
"El valor absoluto de un nmero es el mismo nmero si ste es
positivo, y su opuesto si es negativo"
:lambda-body (if (>= ?x 0) ?x (- ?x)))
La funcin ABS devuelve el mismo valor que recibe si ste es mayor o igual que cero, y
devuelve su opuesto en otro caso.
En el ejemplo anterior se puede ver que no se ha escrito el parmetro de salida de la
funcin, sin embargo, en el ejemplo del cuadrado de un nmero s aparece. La razn es
que mientras en la funcin cuadrado el parmetro de salida aparece para imponerle una
condicin, nmero-positivo, en la funcin ABS no se hace ninguna referencia a este
parmetro.
c. Clases:
El siguiente ejemplo se ha tomado de la ontologa Standard-Units:
(define-class Unidad-SI (?unidad)
"La clase de las unidades del Sistema Internacional"
:def (Unidad-De-Medida ?unidad)
:axiom-def
(and (Sistema-De-Unidades Unidad-SI)
(= (Unidades-Base Unidad-SI)
(setof Metro Kilmetro Segundo-De-Tiempo Amperio Grado-Kelvin
Mol Candela Unidad-Identidad))))
Esta definicin significa que unidad-SI es un sistema de unidades en el que el conjunto de
unidades base est formado por: el metro, el kilmetro, etc.
d. Las instancias:
Admiten el mismo tipo de expresiones que las funciones, aunque el :lambda-body de las
instancias no tiene variables libres [Gruber, 93]. El ejemplo que viene a continuacin
tambin se ha tomado de la ontologa Standard-Units:
(define-individual Newton (Unidad-De-Medida)
"Unidad de fuerza del Sistema Internacional"
:= (* (* Kilogramo Metro) (Elevar Segundo-De-Tiempo -2))
:axiom-def
(and (= (Magnitud-Fsica Newton) Fuerza) (Unidad-SI Newton)))
1-5
kilogramo x metro.
segundo
y se establece un axionna en el que se dice que la magnitud-fsica del Newton es la fuerza, y
que el Newton es una unidad-Si.
e. Los axiomas en Ontolingua:
Los axiomas se llaman nombrados cuando aparecen en la ontologa como una definicin
ms, estando formados por una cabecera, la descripcin en lenguaje natural, y la expresin
del axioma. Por ejemplo:
(define-axiomcond-primos-entre-s
"Si dos nmeros son primos entre s, entonces son distintos"
:= (forall ?num1 num2 (=> (primos-entre-si ?num1 ?num2)
(o ?num1 ?num2)))))
Los axiomas se llaman no nombrados cuando aparecen dentro de otra definicin
acompaados de la palabra clave :axiom-def, como se puede observar en el ejemplo del
Newton que aparece en el apartado c).
1-6
1-7
II EJEMPLO DE CONCEPTUALIZACIN
ESQUEMA DE REFERENCIA
CON
EL
E:l ejemplo para mostrar cmo se conceptualiza una ontologa siguiendo un determinado
modelo se ha tomado de la ontologa de iones monoatmicos [Rojas, 98]. Incluye la lista de
algunos de los iones que pueden formarse a partir de los elementos qumicos en estado
fundamental. Pertenecen a la ontologa aquellos iones que se detectan en los anlisis de agua,
suelo y aire; as, una de sus utilidades principales puede ser la comprobacin de posibles
contaminaciones en estos medios.
En la Tabla 11.1 se muestra la ficha de descripcin general de la ontologa Chemical
Elements; en la Tabla 11.2, el glosario de trminos; en la Figura 11.1 el rbol de clasificacin de
conceptos; en la Tabla 11.3, la lista de trminos a importar; en la Figura 11.2, el diagrama de
relaciones; en la Tabla 11.4, parte del diccionario de conceptos; en la Tabla 11.5, se muestra la
relacin ion isoelectrnco con ion; en la Tabla 11.6, la relacin forma compuesto con; desde la
Tabla 11.6 hasta la Tabla 11.9 aparecen los atributos de instancia peso atmico, volumen atmico
a 20-y densidad a 20-, en la Tabla 11.10, se presenta un ejemplo de constante; la Tabla 11.11
muestra un axioma; la Tabla 11.12, una frmula; y, en la Tabla 11.13, se muestra parte de la tabla
de instancias.
Chemical Elements
Nombre
Fecha y hora de creacin 16 de mayo de 1996
Mariano Fernndez Lpez con la colaboracin y consejo de Asuncin Gmez
Autores
Prez
Modeliza el dominio de los elementos qumicos. El objetivo de esta ontologa es
utilizarla en la enseanza, la industria, etc. Esta ontologa se ha desarrollado
dentro de proyecto METHONTOLOGY, que tiene como objetivo establecer un
mtodo para construir ontologas.
Descripcin
[Handbook, 84-85] Handbook of Chemistry and Physics. 65' edicin. CRCPRESS, INC. 1984-1985.
[Hidalgo, 84] Hidalgo, P. J. Curso breve de qumica: electroqumica y
corrosin. Ed. ECAI. 1984.
II-3
Descripcin
(Del griego chloros, color verde amarillento), Cl; numero atmico 55; peso atmico 35,453; valencias
1, 3, 5 y 7. Descubierto en 1774 por Scheede, que pens que contena oxgeno. Fue nombrado por
Davy, que insisti en que era un elemento. Es un halgeno que en la naturaleza se encuentra slo en
estado combinado, principalmente con el sodio [Handbook, 84-85],
La densidad de un cuerpo es la masa de una unidad de volumen.
Es una sustancia formada por tomos con el mismo nmero de protones.
(Del planeta Mercurio), Hg (hydrargyrum, plata lquida); nmero atmico 80; peso atmico 200,59 +
0,03; valencias 1 y 2. El metal se obtiene calentando el cinabrio en una corriente de aire y condensando
el vapor. Es un metal pesado de color blanco plateado; un mal conductor del calor si se lo compara con
otros metales; y un mediano conductor de la electricidad [Handbook, 84-85].
(Del latn aurum, aurora brillante), Au; nmero atmico 79; peso atmico 196,97; valencias 1 y 3.
Cuando est en cantidad, es de color amarillo metlico; pero cuando se divide en hilos finos puede ser
negro, rub o prpura. Es un metal blando y normalmente se puede estirar. Es buen conductor del calor
y de la electricidad, y no le afecta el aire ni la mayor parte de los reactivos. Se pueden obtener
fcilmente hilos y lminas. [Handbook, 84-85].
Presin a la que se llevan a cabo muchos experimentos en el laboratorio.
La masa relativa de un tomo de un elemento con respecto a la masa de la duodcima parte del istopo
carbono 12 [Hidalgo, 84].
Un elemento puede reaccionar con otro para formar un compuesto.
(De soda, que a su vez proviene del latn medieval sodanum, remedio para el dolor de cabeza). Na (del
latn nalrium); nmero atmico 11;, peso atmico 22,99; valencia 1.
Nombre
Cloro
Densidad a 20 C
Elemento
Mercurio
Oro
Presin estndar
Peso atmico
Forma compuesto con
Sodio
Temperatatura estndar
Tercera serie de transicin
Volumen atmico a 20C
Es un elemento que aparece en muchos compuestos. El primero en aislarlo fie Davy en 1807. El sodio
es bastante abundante en el Sol y las estrellas. Es el sexto ms abundante en la Tierra y el primero de
los alcalinos, representando el 2,6 % de la corteza terrestre. Es un elemento muy reactivo y no se
encuentra en estado libre. El sodio es un metal blando, brillante y plateado. [Handbook, 84-85].
Temperatura a la que se llevan a cabo muchos experimentos en el laboratorio.
El conjunto de elementos que pertenecen a los grupos Ib, Ilb, Illb, FVb, Vb, Vlb, Vllb y VIII de los
grupos de sexto periodo.
Es el volumen ocupado por un tomo gramo de un elemento a 20 C.
Nombre de la ontologa
Standard Units
Standard Dimensions
Standard Dimensions
Standard Dimensions
Standard Dimensions
Standard Dimensions
Standard Dimensions
Standard Units
Standard Units
Standard Units
Standard Units
KIF Numbers
Standard Units
Servidor
Ontolingua Server
Ontolingua Server
Ontohngua Server
Ontolingua Server
Ontolingua Server
Ontohngua Server
Ontohngua Server
Ontolingua Server
Ontolingua Server
Ontolingua Server
Ontolingua Server
Ontolingua Server
Ontolingua Server
II-4
- . . . - . . . .
_.i
Particin disjunta
Subclase de
II-5
Figura II.2.
Nombre del
concepto
Elemento
Sinnimos
Abreviaturas
--
--
Elm.
Serie
de
Tercera serie
transicin del
de transicin
sexto periodo
Tabla II.4.
Instancias
3ST
Oro
Hafnio
Mercurio
Osmio
Iridio
Platino
Renio
Tantalio
Wolframio
Atributos
de clase
Atributos de instancia
--
Electronegativiad
Densidad a 20 "C
Estado de oxidacin
Grupo
Nmero atmico
Periodo
Peso atmico
Punto de ebullicin
Punto de fusin
Volumen atmico a 2<fC
--
Relaciones
Forma
compuesto
con
--
Nombre de la relacin
Concepto origen
Cardinalidad del origen
Concepto destino
Propiedades matemticas
Relacin inversa
Referencias
--
II-6
Nombre de la relacin
Concepto origen
Cardinalidad concepto origen
Concepto destino
Propiedades matemticas
Relacin inversa
Referencias
Tabla II.6.
Tabla II.7.
ri.257]
(1,1)
Densidad a 20 C
[Hidalgo, 84]
Tabla II.8.
Peso atmico
Elemento
Cantidad de masa
Urna
0,001
[0, 100]
(I.n)
~
Densidad a 20 C
[Hidalgo, 84]
II-7
Densidad a 20 C
Elemento
Cantidad de densidad
gramo/centmetro'
0,001
[0, 251
Tabla II.9.
Nombre de la
constante
(l,n)
Peso atmico
Volumen atmico
Frmula de la densidad
---
Tipo de
valor
Cantidad de
Temperatura estndar
temperatura
Cantidad de
Presin estndar
presin
Valor
25
1
Unidad de
medida
Grado
centgrado
Para deducir
Referencias
--
--
--
Atmsfera
Tabla II. 11. Axioma alia electronegatividad de los no metales en la ontologa Chemical Elements
Nombre de la frmula
Concepto
Atributo deducido
Frmula
Descripcin
Atributos bsicos
Constantes
Precisin
Restricciones
Referencias
Frmula de la densidad
Elemento
Densidad a 20 C
Densidad a 20 C = Peso atmico / Volumen atmico a 20 C
La densidad de un elemento qumico es el cociente entre su peso atmico y
su volumen atmico.
Peso atmico
Volumen atmico
II-8
Se utiliza en
Obtiene
Atributo de
instancia
Frmula
Cloro
Atributo
Nmero atmico
Peso atmico
Electronegatividad
Relacin
1
3
5
7
Estado de oxidacin
Mercurio
Nmero atmico
Peso atmico
Densidad a 20 C
Electronegatvidad
Estado de oxidacin
Oro
Sodio
Estado de oxidacin
Nmero atmico
Peso atmico
Electronegatividad
Estado de oxidacin
Nmero atmico
Peso atmico
Densidad a 20 C
Electronegatividad
--
Valor
17
35,453
3,0
Sodio
80
200,59
13,546
1,9
1
2
79
196,97
19,32
2,4
1
3
11
22,99
0,9
1
Cloro
II-9
Separador entre la parte izquierda y la parte derecha de una regla. Es decir, entre
lo que se pretende describir con la regla y su descripcin.
<>
{]
[]
Adems, las descripciones que aparezcan en cursiva en la parte derecha de las reglas harn
referencia a definiciones bsicas.
Cualquier elemento de No
<descripcin>
:=
III-3
Tj=
{a, b, c, d, e, f, g, h, i, j, k, I, m, n, , o, p, q, r, s, t, u, v, w, x, y, z, A, B,
C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S. T, U, V. W. X, Y, Z, . ,
, , , , , , , , , , O, 1, 2, 3, 4, 5, 6, 7, 8, 9, el carcter 32 del
ANS}
:=
aibcldlelflglhliijikllllilmlnl
lolplqlrlsltlulvlwlxl
ylzIAIBIC
I D I E I F I G I H II IJ i K I L I M I N I O I P I Q I
RISITIUIVIWIXI
YlZIlllll
I I I I l I
<dgito>
1I2I3I4I5I6I7I8I9I0
<espacio>
<letra o d g i t o
<identificador>
<resto id>
{(,),0,
1,n}
i. A/c = {<cardinalidad>}
iii. Las reglas de Pe son las siguientes:
<cardinalidad>
:=
(0,1) I
(1,1)1
(O, n) I
(1,n)
III-4
donde:
i. Se tiene
TEA =
ii. Adems,
WEA=
abierto>,
<parntesis
cerrado>,
<suma>,
<resta>,
aritmtico,
Los objetos ms elementales que se consideran son: las letras del alfabeto
espaol, acentuadas y no acentuadas, y con diresis; los dgitos; el carcter de
subrayado; el punto; la coma; los dos parntesis, es decir,"(" y")"; y los smbolos
de sumar, restar, multiplicar y dividir. Se tienen, por tanto, las siguientes reglas:
<letra en espaol>
:=
alblcldlelflglhliljlkllllllmlnl
lolplqlrlsltlulvlwlxl
ylzl AIB
I C I D I E I F I G I H 111 J I K I L I M I N I O I P
IQIRISITIUIVIWIXI
YlZIlll
lllIIII
<dgito>
:=
<subrayado>
:=
<punto>
:=.
<coma>
:=
<parntesis abierto
:=
<parntesis cerrado :=
<suma>
:=
1I2I3I4I5I6I7I8I9I0
_
III-5
2.
<resta>
:=
<multiplicacin>
:=
<divisin>
:=
:=
<d. subrayado>
:=
:=
3.
4.
:=
<natural> I <natural>.<natural>
<natural>
:=
Con los signos de sumar, restar, multiplicar y dividir, se forman las operaciones
aritmticas bsicas:
5.
<operacin sumrest.> :=
<suma> I <resta>
<operacin multdiv.> :=
<multiplicacin> I <multiplicacin>
:=
<expresin
aritmtica>
<operacin
<trmino aritmtico
<operacin
multdiv.>
:=
III-6
<expresin aritmtica>
<expresin aritmtica>
<trmino aritmtico>
<operacin suinrest.>
<tmiino aritmtico>
<tni)ino aritmtico>
<operacin multdiv>
<factor aritmtico>
<factor aritmtico>
<factor aritmtico
i
i
mero
<parntesis abierto>
<expresin aritnitica>
<trmino aritmtico>
<resto de la lista>
<conia>
<parntesis cerrado>
<expresin aritmtica>
<identficador>
<parntesis abierto>
<expresin aritmtica>
<parntesis ceiTado>
+
+
<trmino aritmtico>
I arti
expt
<factor aritmtico
<factor aritmtico>
ritmt
<factor aritmtico>
<identiflcador>
<identificador>
ritm
<identificador>
I
y
Figura III. 1. Ejemplo de anlisis sintctico de la expresin aritmtica expt(x, y) + 3 * sin(x) segn la gramtica propuesta para los formatos de los campos
III-7
:=
:=
donde
i. Se tiene
7EL = 7'EA U {=, <, >} (ver definicin f, la de expresin aritmtica)
ii. Adems,
Nei = /^EA ^ {<expresin lgica>, <implicacin>, <expresin nivel 1>, <lista de
variables>, <resto de variables>, <expresin nivel 2>, <factor
lgico>, <oprel>, <cuantificador>}
iii. Las reglas de PEL son, adems de las reglas de PEA, las siguientes:
<expresin lgica>
:=
<implicacin>
:=
-> I <->
:=
<lista de variables>
:=
<parntesis
aberto>
<id.
subrayado
subrayado
<resto
de
variables>
<parntesis cerrado
<resto de variables>
:=
:=
<factor lgico
:=
III-8
abierto
<expresin
lgica>
<parntesis cerrado I
<cuantificador> <lista de variables> <factor
lgico>
<oprel>
:=
<cuantificador>
:=
forall I exists
:=
{[.],,}
ii. Adems,
A/E = Air u {<enumeracin>, <resto de la enumeracin>} (ver definicin c, la
de trmino)
ii. Las reglas de PE son, adems de las reglas de PEA, las siguientes:
<enumeracin>
:= [<identificador>] I
[<identificador> <resto de la enumeracin>]
III-9
III-10
GRC = <TFIC,
i. Se tiene
7RC
= {a,b, c, d, e, f, g, h, i, j, k, I, m, n, , o, p, q, r, s, t, u, v, w, x, y, z, A, B, C, D, E, F,
G, H. I, J, K, L, M. N, O. P, Q, R. S, T, U. V, W, X, Y, Z, , , , , , , A, , , ,
, , -, O, 1, 2, 3, 4, 5, 6, 7, 8, 9, (, ) , [. ], ., el carcter 32 del ANS de la tabla
850}
ii. Adenns,
Nfc = {<letra en espaol>, <guin>, <espacio>, <parntesis abierto>, <parntesis
cerrado,
<corchete abierto,
<corchete cerrado,
<punto>, <coma>,
<campo>,
Los objetos ms elementales que se consideran son: las letras del alfabeto espaol,
acentuadas y no acentuadas; el carcter espacio; los dos parntesis, es decir, "(" y
")"; los dos corchetes ("[" y "]"); ' punto; la coma; el guin; y los dgitos. Se tienen,
por tanto, las siguientes reglas:
<letra en espaob
:=alblcldlelflglhliljlkllllllmlnllolp
IqlrlsItlulvlwlxlylzIAIBICIDlEFI
GIHIIIJIKILIMINIOIPIQIRISITIUIVI
WIXIYIZIllllllIIIII
<guin>
:= -
<espacio>
<parntesis abierto
:= (
<parntesis cerrado
:= )
<corchete abierto
:= [
<corchete cerrado
:= ]
<punto>
:= .
IV-3
2.
<coma>
:= ,
<dgito>
:= 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 I 9 I 0
<continuacin>
<guin o espacio
4.
:= <guin> I <espacio>
:= <identificador>.<identificador>
Con el punto y los identificadores tambin se definen los arcos de entrada sobre los
vrtices y los de salida:
o r c o de entrada>
:= <identificador>.<identificador>.in.<identificador>
o r c o de entrada>
:= <identifcador>.<identificador>.out.<identificador>
donde el primer identificador es el acrnimo del grafo, el segundo el nombre del tipo
de arco y, el ltimo, el nombre del tipo de vrtice.
6.
A partir de los campos, de los arcos de entrada y de los arcos de salida sobre los
vrtices, se pueden describir los componentes de las proyecciones ordenadas:
<componente >
7.
8.
9.
IV-4
IV-5
V-3
begin
placed in nitial;
main field NR;
end table;
define graph [rbol de clasificacin de conceptos] as ACC
define are [Subclase de] as S;
define are [Subclase en una particin exhaustiva] as SPE;
define are [Subclase en una particin disjunta] as SPD;
define node Concepto as C
begin
type term;
in : multiplieity (0,N) S,
multiplicity (0,N) SPE,
multiplieity (0,N) SPD;
out: multiplicity (0,N) S,
multiplicity (0,N) SPE,
multiplieity (0,N) SPD;
end node;
begin
placed in [Glosario de trminos];
end graph;
define graph [Diagrama de relaciones] as DR
define are [Origen] as O;
define are [Destino] as D;
define node Concepto as C
begin
type term;
in: multiplieity (0,N) D;
out: multiplicity (0,N) O;
end node;
define node Relacin as R
begin
type term;
in: multiplicity (1,1) O;
out: multiplicity (1,1) D;
end node;
begin
placed in ACC;
end graph;
define table horizontal [Diccionario de conceptos] as DC
define field [Nombre del concepto] as NC
begin
type term;
repeated no;
multiplicity (1,1);
end field;
define field Sinnimos as S
begin
type term;
repeated no;
V-4
multplicity (0,N);
end field ;
define field Abreviaturas as A
begin
type term;
repeated no;
multipiicity (0,N);
end field;
define field Instancias as I
begin
type term;
repeated yes;
multipiicity (0,N);
end field;
define field [Atributos de clase] asAC
begin
type term;
repeated yes;
multipiicity (0,N);
end field;
define field [Atributos de instancia] as Al
begin
type term;
repeated yes;
multipiicity (0,N);
end field;
define field Relaciones as R
begin
type term;
repeated yes;
multipiicity (0,N);
end field;
begin
placed in DR;
main field [Nombre del concepto];
end table;
define table vertical [Tabla de relaciones] as TR
define field [Nombre de la relacin] as NR
begin
type term;
repeated yes;
multipiicity (1,1);
end field;
define field [Concepto origen] as CO
begin
type term;
repeated yes;
multipiicity (1,1);
end field;
define field [Cardinalidad del concepto origen] as CCO
begin
Anlisis y diseo de alto nivel del entorno de diseo de ontologas
V-5
type cardinality;
repeated yes;
multiplicity(1,1);
end field;
define field [Concepto destino] as CD
begin
type term;
repeated yes;
multiplicity (1,1);
endfieid;
define field [Propiedades matemticas] as PM
begin
type term;
repeated yes;
multiplicity (0,N);
end field;
define field [Relacin inversa] as Rl
begin
type term;
repeated yes;
multiplicity (0,1);
end field;
define field [Referencias] as R
begin
type text;
repeated yes;
multiplicity (0,1);
end field;
begin
placed in DC;
main field NR, CO, CD;
end table;
define table vertical [Tablas de atributos de instancia] as TAI
define field [Nombre del atributo] as NA
begin
type term;
repeated yes;
multiplicity (1,1);
end field;
define field [Concepto] as C
begin
type term;
repeated yes;
multiplicity (1,1);
end field;
define field [Tipo de valor] as TV
begin
type text;
repeated yes;
multiplicity (1,1);
end field;
V-6
V-7
multplicity (0,N);
end field;
define field [Para deducir] as PD
begin
type term;
repeated yes;
multiplicity (0,N);
end field;
define field Referencias as R
begin
type text;
repeated yes;
multiplicity (0,1);
end field;
begin
placed in DC;
main field [Nombre del atributo], Concepto;
end table;
define table vertical [Tablas de atributos de clase] as TAC
define field [Nombre del atributo] as NA
begin
type term;
repeated yes;
multiplicity (1,1);
end field;
define field [Concepto] as C
begin
type term;
repeated yes;
multiplicity (1,1);
end field;
define field [Tipo de valor] as TV
begin
type text;
repeated yes;
multiplicity (1,1);
end field;
define field [Unidad de medida] as UM
begin
type arithmeticexp;
repeated yes;
multiplicity (0,1);
end field;
define field Precisin as P
begin
type arithmeticexp;
repeated yes;
multiplicity (0,1);
end field;
define field Cardinalidad as C
begin
Anlisis y diseo de alto nivel del entorno de diseo de ontologas
V-8
type cardinality;
repeated yes;
multiplicity (1,1);
end feld;
define feld [Para deducir] as PD
begin
type term;
repeated yes;
multiplicity (0,N);
end feld;
defne feld Referencias as R
begin
type text;
repeated yes;
multiplicity (0,1);
end feld;
begin
placed in DC;
main feld [Nombre del atributo], Concepto;
end table;
defne table horizontal [Tabla de constantes] as TC
defne feld [Nombre de la constante] as NC
begin
type term;
repeated no;
multiplicity (1,1);
end feld;
defne feld [Tipo de valor] as TV
begin
type term;
repeated yes;
multiplicity (1,1);
end feld;
defne feld Valor as V
begin
type arithmeticexp;
repeated yes;
multiplicity (1,1);
end feld;
defne feld [Unidad de medida] as UM
begin
type arithmeticexp;
repeated yes;
multiplicity (1,1);
end feld;
defne feld [Para inferir] as Pl
begin
type term;
repeated yes;
multiplicity (0,N);
end feld;
defne feld Referencias as R
Anlisis y diseo de alto nivel del entorno de diseo de ontologas
V-9
begin
type text;
repeated yes;
multiplicity (0,1);
end field;
begin
placed n DC;
main field [Nombre de la constante];
end table;
define table vertical [Tablas de axiomas lgicos] as TAL
define field [Nombre del axioma] as NA
begin
type term;
repeated no;
multiplicity (1,1);
end field ;
define field Descripcin as D
begin
type description;
repeated yes;
multiplicity (1,1);
end field;
define field [Concepto descrito] as CD
begin
type term;
repeated yes;
multiplicity (1,1);
end field;
define field [Conceptos referidos] as CR
begin
type term;
repeated yes;
multiplicity (O, n);
end field;
define field [Atributos referidos] as AR
begin
type term;
repeated yes;
multiplicity (0,N);
end field;
define field [Relaciones referidas] as RR
begin
type term;
repeated yes;
multiplicity (0,N);
end field;
define field [Variables] as V
begin
type term;
repeated yes;
multiplicity (0,N);
end field;
V-10
V-11
multiplicity (1,1);
end field;
define field [Atributos bsicos] as AB
begin
type term;
repeated yes;
multiplicity (1,N);
end field;
define field Constantes as C
begin
type term;
repeated yes;
multiplicity (0,N);
end field;
define field Precisin as P
begin
type artithmeticexp;
repeated yes;
multiplicity (0,1);
end field;
define field Restricciones as RT
begin
type logicalexp;
repeated yes;
multiplicity (0,1);
end field;
define field Referencias as R
begin
type text;
repeated yes;
multiplicity (0,1);
end field;
begin
placed n TC;
main field [Nombre de la frmula], Concepto;
end table;
define graph [rboles de clasificacin de atributos] as AC
define are [Se utiliza en] as SE;
define are Obtiene as O;
define node Constante as C
begin
type term;
in:;
out: multiplicity (0,N) SE;
end node;
define node [Atributo de clase] as AC
begin
type term;
in:;
out: multiplicity (0,N) SE;
end node;
Anlisis y diseo de alto nivel del entorno de diseo de ontologas
V-12
type term,
in : multiplicity (0,N) SE;
out: multiplicity (1,1) O;
end node;
begin
placed in TF;
end graph;
type text;
repeated yes;
multiplicity (1,N);
associated Atributos;
end field;
begin
placed in TAI;
main field C;
end table;
define table horizontal [Tabla de instancias] as TI
define field [Nombre de la instancia] as NI
begin
type term;
repeated no;
multiplicity (1,1);
end field;
define field Atributo as A
begin
type term;
repeated yes;
multiplicity (0,N);
end field ;
define field Relacin as R
begin
type term;
repeated yes;
Anlisis y diseo de alto nivel del entorno de diseo de ontologas
V-13
multiplicity (0,N);
end field;
define field Valor as V
begin
type term;
repeated yes;
multiplicity (0,N);
associated Atributo, Relacin
end field
trmino debe
V-14
V-15
begin
ACC.SPE.in.Concepto is included in DC.NC
end consistency
define consistency [Regla ACC-2_5]
description "Cualquier trmino que aparezca en un nudo 'concepto' del que sale un
arco 'subclase en una particin disjunta' tiene que aparecer en el campo 'nombre del
concepto' del diccionario de conceptos"
begin
ACC.SPD.out.Concepto is included in DC.NC
end consistency
define consistency [Regla ACC-2_6]
description "Cualquier trmino que aparezca en un nudo 'concepto' al que entra un
arco 'subclase en una particin disjunta' tiene que aparecer en el campo 'nombre del
concepto' del diccionario de conceptos"
begin
ACC.SPD.in.Concepto is included in DC.NC
end consistency
define consistency [Regla DR-1]
description "El origen de una relacin debe estar bien en el rbol de clasificacin de
conceptos bien en la lista de trminos a importar. La razn por la que un concepto
origen puede ser un trmino importado es la siguiente: toda relacin tendr una
inversa, y puede haber conceptos del diagrama que no estn en la antologa, por
consiguiente, estos conceptos importados sern destino de alguna relacin, pero origen
de su inversa."
begin
DR. O. in. R is included in
ACC.S.in.Concepto unin
ACC.S.out.Concepto unin
ACC.SPE.in.Concepto unin
A ce. SPE. out. Concepto unin
ACC.SPD.in.Concepto unin
ACC.SPD.out.Concepto
end consistency
define consistency [Regia DR-2J
description "El destino de una relacin debe estar bien en el rbol de clasificacin de
conceptos, bien en la lista de trminos a importar, pues el concepto destino puede, o
no, pertenecer a la ontologa."
begin
DR.D.out.R is included in
ACC. S. in. Concepto unin
ACC.S.out.Concepto unin
ACC.SPE.in.Concepto unin
ACC.SPE.outConcepto unin
ACC.SPD.in.Concepto unin
ACC.SPD.out.Concepto unin
TTI.NT
end consistency
define consistency [Regla DC-1]
V-16
description "El nombre del concepto tiene que ser un nudo del rbol de clasificacin
de conceptos, pues el diccionario de conceptos muestra los detalles de los conceptos
incluidos en el rbol de clasificacin de conceptos"
begin
DC.NC is included in
ACC.S.in.Concepto unin
A ce. S. out. Concepto unin
ACC.SPE.in.Concepto unin
ACC.SPE.out.Concepto unin
ACC.SPD.in.Concepto unin
A ce. SPD. out Concepto
end consistency
define consistency [Regla DC-2]
description "Todas las instancias tienen que estar definidas en la tabla de instancias."
begin
DC. Instancias is included in TI. NI
end consistency
define consistency [Regla DC-3]
description "Todas las instancias tienen que estar definidas en el glosario de
trminos."
begin
DC.Instancias is included in GT.Nombre
end consistency
define consistency [Regla DC-4]
description "Todos los atributos de clase deben estar definidos en el glosario de
trminos."
begin
DC.AC is included in GT.Nombre
end consistency
define consistency [Regla DC-5]
description 'Todos los atributos de clase que estn en el campo 'atributos de clase' de
un concepto C del diccionario de conceptos tienen que aparecer en el campo 'Nombre
del atributo' y el concepto C en el campo 'concepto' de alguna tabla de atributos de
clase."
begin
DC.AC, DC.NC is included in TACNA, TAC.C
end consistency
define consistency [Regla DC-6]
description "Todos los atributos de instancia deben estar definidos en el glosario de
trminos."
begin
DC.AI is included in GT.Nombre
end consistency
define consistency [Regla DC-7]
description "Todos los atributos de instancia que estn en el campo 'atributos de
instancia'de un concepto C del diccionario de conceptos tienen que aparecer en el
campo 'Nombre del atributo' y el concepto C en el campo 'concepto' de alguna tabla de
atributos de instancia."
begin
DC.AI, DC.NC is included in TAI.NA, TAI.C
end consistency
define consistency [Regla-DC-8]
V-17
V-18
V-19
V-20
begin
TF.Constantes is included in TC.NC
end consistency
define consistency [Regla TF-10]
description "Tiene que haber un arco "se utiliza en" desde cualquier constante del
campo "constantes" hasta la frmula en el rbol de clasificacin de atributos."
begin
TF.C, TF.NFis included in ACA.SE.out.C, ACA.SE.in.F
end consistency
define consistency [f^egla ACA-2]
description "Si un arco "se utiliza en" relaciona un atributo (de clase o de instancia) A
con una frmula F, entonces A debe aparecer en el campo "atributos bsicos" de la
tabla de la frmula F."
begin
ACA.SE.out.AI, ACA.SE.in.F is included in TF.AB, TF.F
end consistency
define consistency [Regla ACA-3]
description "Si un arco "se utiliza en" relaciona una constante C con una frmula F,
entonces C debe aparecer en el campo "constantes" de la tabla de la frmula F."
begin
ACA.SE.out.C, ACA.SE.in.F is included in TF.C, TF.F
end consistency
define consistency [Regla ACA-4]
description "Si un arco del modelo "obtiene" relaciona una frmula F con un atributo
de instancia A, entonces A debe aparecer en el campo "atributo inferido" de la tabla de
la frmula F"
begin
ACA.O.out.F, ACA.O.in.AI is included in TF.F, TF.AI
end consistency
define consistency [Regla TCV-1]
Nombre del concepto
begin
description "Cualquier concepto debe aparecer en el campo concepto del diccionario
de conceptos"
TCV.NC is included in DC.NC
end consistency
define consistency [Regla TI-1]
description "Cualquier instancia debe aparecer en el campo instancias del diccionario
de conceptos."
begin
TI.NI is included in DC.I
end consistency
begin
V-21
VI-3
(Defne-OntologyChemical-Elements
(Frame-Ontology
Standard-Units
Standard-Dimensions
KIF-Numbers)
("Modeliza el dominio de los elementos qumicos. El objetivo de
esta antologa es utilizarla en la enseanza, la industria, etc. Esta
antologa se ha desarrollado dentro de proyecto METHONTOLOGY,
que tiene como objetivo establecer un mtodo para construir
antologas.
[Handbook, 84-85]
Handbook of Chemistry and Physcs. 65edicin. CRC-PRESS, INC. 1984-1985.
[Hidalgo, 84] Hidalgo, P. J. Curso breve de qumica: electroqumica
y corrosin. Ed. ECAI. 1984.
.lo-Package
"ONTOUNGUA-USER")
(In-Ontology (Quote Chemical-Elements)
IMPLEMENTACIN
CONCEPTUALIZACIN
Autor
Fecha
Ontologa
Ontologas_importadas
Documentacin
Tabla VI. 1. Relacin entre la cabecera de una ontologa en Ontolingua y los datos generales definidos una
ontologa siguiendo el esquema de referencia
VI-4
IMPLEMENTACIN
CONCEPTUALIZACIN
Concepto
Descripcin
Subclases
Instancias
Subclases-ex
Subclases-dis
Superclase
Atributo_o_relacin
A tributo_de_clase
Valores
Tabla VL2. Significado de los smbolos ms elementales en la descripcin de las clases en Ontolingua y
su procedencia del esquema de referencia
En la Tabla VI.3 aparecen explicadas las condiciones que se deben cumplir para que estas
estructuras aparezcan en la definicin de una determinada clase.
El siguiente ejemplo muestra la clase que se generara aplicando estas reglas al concepto
"elemento" del ejemplo del anexo II:
;;; Elemento
(Define-Class Elemento (?Elemento)
" Es una sustancia formada por tomos con el mismo nmero de
protones."
:def
(and
Mtodo flexible para la conceptualizacin de ontologas basado en meta-modelos
VI-5
NMERO DE
CONDICIN
EXPLICACIN
Se repite tantas veces esta estructura como superclases tenga el concepto. Por consiguiente, si
no tiene superclases, no aparece esta estructura. (La informacin se obtiene del rbol de
clasificacin de conceptos)
El concepto tiene subclases (la informacin se obtiene del rbol de clasificacin de conceptos)
La cardinalidad del atributo o relacin es (0, 1). La informacin se saca de las tablas de
atributos de instancia, de las tablas de atributos de clase o de las tablas de relaciones,
dependiendo de lo que sea atributo_p_relacin.
10
El concepto contiene una particin exhaustiva o una particin disjunta (la informacin se
obtiene del rbol de clasificacin de conceptos)
11
El concepto contiene una particin exhaustiva (la informacin se obtiene del rbol de
clasificacin de conceptos)
12
El concepto contiene una particin disjunta (la informacin se obtiene del rbol de
clasificacin de conceptos)
13
14
Se tendr esta estructura si hay atributos de clase que toman valores en el concepto
Tabla VL3. Condiciones de las estructuras optativas y repetitivas en la definicin de las clases en
Ontolingua
VI-6
; ; ; atributo_de_instancia
(Define-Relaton atributo_deJnstancia-concepto {Iconcepto 'tipo_de_valoi)
"descripcin"
.Del
(and
{concepto Iconcepto)
\tipo_de_valor ?tipo_de_valoi))
[:Constraints
(and
(>= 7<tipo_de_valor valor_mnimo_en_notacin_prefija>)
(=< ?<tpo_de_valor valor_mximo_en_notacin_prefija>))])
La existencia de la parte opcional de esta definicin depende de si se han definido el valor
mximo y el mnimo en el campo "intervalo de valores" de la tabla de atributos de instancia.
La forma de obtener la informacin correspondiente a las palabras que aparecen en cursiva
en este apartado dedicado a las relaciones est expresado en la Tabla VI.4.
IMPLEMENTACIN
CONCEPTUALIZACIN
Atribulo de instancia
Concepto
Tipo de valor
Descripcin
Valor mnimo y valor mximo Para componer estos datos, es necesario obtener tanto el valor mximo como el
mnimo del campo "intervalo de valores" de la tabla del atributo de instancia y
en notacin prefija
concatenarlos con el smbolo de multiplicar y con la "unidad de medida" que hay
en la misma tabla. El resultado de la operacin anterior hay que pasarlo, para cada
uno de los dos valores (mximo y nu'nimo), a KIF segn se muestra en el apartado
VI.7.
Tabla VL4. Significado de los smbolos ms elementales en la descripcin de las relaciones obtenidas a
partir de los atributos de instancia en Ontolingua y su procedencia del esquema de
referencia
VI-7
PARTIR
DE
LOS
7tipo_de_valoi)
relacionados con la
conceptuaiizacin.
CONCEPTUALIZACIN
IMPLEMENTACIN
Atributo de clase
Concepto
Tipo de valor
Descripcin
Tabla VI.5.
PARTIR
DE
LAS
la Tabla
VI.6
se
explican
los
smbolos
elementales
relacionados
con
la
conceptuaiizacin.
VI-8
IMPLEMENTACIN
CONCEPTUALIZACIN
Relacin
Descripcin
Concepto origen
Concepto destino
Relacin inversa
Tabla VI.6.
Significado de los smbolos ms elementales en la descripcin de las relaciones
obtenidas a partir de las relaciones binarias en Ontolingua y su procedencia del esquema de referencia
VI-9
IMPLEMENTACIN
CONCEPTUALIZACIN
Axioma
Concepto
Expresin_lgica_en_KIF
Atributo
Relacin
Uno de los trminos del campo "relaciones" de la tabla de axiomas lgicos que se
est traduciendo
Tabla VI.7. Significado de los smbolos ms elementales en la descripcin de los axiomas en Ontolingua
y su procedencia del esquema de referencia
NMERO DE
CONDICIN
EXPLICACIN
Se repite tantas veces como atributos referidos haya en la tabla de axiomas lgicos
correspondiente.
Se repite tantas veces como relaciones referidas haya en la tabla de axiomas lgicos
correspondiente.
Tabla VL8. Repeticiones en las definiciones de los axiomas lgicos en Ontolingua y su procedencia del
esquema de referencia
Alta-Electronegatividad-De-Los-No-Metales
(Define-Axiom
Alta-Electronegatividad-De-Los-No-Metales
(forall (7X7Y)
(=> (and (No-Metal 7X) (Entero ? Y)
(Electronegatividad 7X ? Y))
(>?Y0)))))
VI-10
EXPLICACIN
NUMERO DE
CONDICIN
En la Tabla VI.10 aparece el significado de los smbolos ms elementales que hacen referencia
a la conceptualizacin.
IMPLEMENTACIN
CONCEPTUALIZACIN
N_frmula
Concepto
Atributojnferido
Descripcin
ExpresinJgica_en_KiF
Cada uno de los trminos que pertenecen al campo "atributos bsicos" de la tabla
de frmulas que se est traduciendo.
Atributo bsico
Tabla VI. 10. Significado de cada trmino elemental que aparece en la descripcin de las frmulas en
Ontolingua y su procedencia del esquema de referencia
Mtodo flexible para la conceptualizacin de ontologas basado en meta-modelos
VI-11
IMPLEMENTACIN
CONCEPTUALIZACIN
Instancia
Concepto
Descripcin
Atributo_de_instancia_o_
relacin
Valor
Expresin KIF, obtenida segn se muestra en el apartado VI.7, a partir del valor del
atributo en la instancia y su unidad de medida. Este ltimo dato se obtiene de la tabla de
atributos de instancia del atributo, mientras que los dems se encuentran en la tabla de
instancias.
Tabla VL11.
VI-12
NMERO DE
CONDICIN
EXPLICACIN
Aparece si hay atributos que tomen valores en la instancia o si hay relaciones en que la
instancia sea origen.
Se repite tantas veces como atributos tomen valores en la instancia ms tantas veces
como se origen la instancia en las relaciones binarias.
Tabla VI. 12. Repeticiones y opciones en las definiciones de las instancias en Ontolingua
Oro
(Define-lnstance Oro(Tercera-Serie-De-Transicin)
"(Del latn aurum, aurora brillante), Au; nmero atmico 79; peso
atmico 196,97; valencias 1y3. Cuando est en cantidad, es de color
amarillo metlico; pero cuando se divide en hilos finos puede ser
negro, rub o prpura. Es un metal blando y normalmente se puede
estirar. Es buen conductor del calor y de la electricidad, y no le afecta
el aire ni la mayor parte de los reactivos. Se pueden obtener
fcilmente hilos y lminas. [Handbook, 84-85]."
:Axiom-def
(and {Nmero-Atmico Oro 17)
{Peso-Atmico Oro {* 35.453 UMA))
{Forma-Compuesto-Con Oro Sodio)))
Vl.6.2 GENERACIN
CONSTANTES
DE
INSTANCIAS
PARTIR
DE
LAS
Por cada una de las instancias que aparecen en la tabla de constantes, se genera una
definicin como sta:
; ; ; constante
{Deime-lnstance constante{tipo_de_valoi)
"descripcirf'
:= valoi)
En la Tabla VI.13 se muestra el significado de los trminos elementales de este apartado (ios
que estn en cursiva).
VI-13
CONCEPTUALIZACIN
IMPLEMENTACIN
Constante
Tipo_de_valor
Descripcin
Valor
Expresin KIF, obtenida segn se muestra en el apartado VI.7, a partir del valor de
la constante y su unidad de medida.
Tabla VI.13.
Significado de los trminos elementales que aparecen en la descripcin de las instancias
obtenidas a partir de las constantes en Ontolingua y su procedencia del esquema de referencia
que se utilizar en
componentes sintcticos que van encerrados entre " " y " " y que pueden seguir una de las
siguientes gramticas:
1. Si es trmino, la gramtica <Ti, Ni, Pi, Ai>, donde:
i. Se tiene
T=
{a,b,c,
d, e, f, g, h, i, j, /f, /, m, n, , o, p, q, r, s, t, u, v, w, x, y, z, A, B,
C, D, E, F, G, H, I, J, K, L, M, N. O, P, Q, R, S, T, U, V, W, X, Y, Z, , ,
, , , , , , , , , , O, 1, 2, 3, 4, 5, 6, 7, 8, 9, el carcter 32 del
ANS}
ii. N\ = {<letra en espaol>, <dgito>, <espacio>, <identificador>, <resto id>}
iii. Las reglas de P\ son las siguientes:
<letra en espaob
:=
alblcldlelflglhliljlkllllllmlnl
lolplqlrlsltlulvlwlxl
ylzIAIBIC
IDIEIFIGIHIIIJIKILIMINIOIPIQI
Mtodoflexiblepara la conceptualizacin de ontologas basado en meta-modelos
VI-14
RISITIUIVIWIXI
YlZIlllll
I I I I II
<dgito>
1I2I3I4I5I6I7I8I9I0
<espacio>
<letra o d g i t o
<identificador>
<resto id>
donde:
i. Se tiene
TNU = {1,2, 3, 4, 5,
6,7,8,9,0}
:=
<natural> I <natural>.<naturai>
<natural>
:=
<dgito>
:=
1I2I3I4I5I6I7I8I9I0
VI-15
Regla sintctica
<expresin> := <expr_log,l>
<expresin> := <expr_arit,l>
<expr_log> := <cuantificador, 1> (<parmetros, 1>) <expr_bool, 1>
<cuantificador> := exists
<cuantificador> := forall
<parmetros> := <parmetro, 1>, <parmetros, 1>
<op_implic> := ->
<op_!mplic> := <->
<expr_log> := <comb_log,l>
<comb_log> := <comb_log,l> or <tnii_log,l>
<comb_log> := <trm_log,l>
<trm_log> := <tnn_log, 1 > and <factjog, 1 >
<trm_log> := <fact_log,l>
<fact_log> := (<expr_log,l>)
<fact_log> := not(<expr_log,l>)
<fact_log> := trmino,l(<paimetros,l>)
<fact_log> := trmino, 1
<op_rel> := <
<op_rel> := >
<op_rel> := =<
<op_rel> := >=
Operacin
<expresi6n>.prefija = <expr_log, l>.prefija
<expresin>. prefija = <expr_arit, l>.prefija
<expr_log>.prefija =
Concatenar("(",
<cuantificador, l>.prefija,"(",
<parmetros,l>.prefija " ) " ,
"( <expr_bool, 1 >.prefiia ")")
<cuantificador>.prefija = "exists"
<cuantificador>.prefija = "forall"
<parmetros>.prefija =
Concatenare
<parmetro, l>.prefija,"",
<parmetros, l>.prefija)
<parmetro>.preja =
<expr_arit, l>.prefija
trmino, l.valor_lxico
<expr_implic>.prefija =
Concatenar("(",
<op_implic,l>.prefija," ",
<expr_implic,l>.prefija," ",
<comb_log,l>.prefija,")")
<opJmplic>.prefija = "=>"
<op_implic>.prefija = " O "
<expr_log>.prefija = <comb_log,l>.prefija
<comb_log>.prefija
Concatenar("(or ",
<comb_log,l>.prefija," ",
<trm_log,l>.prefija,")")
<comb_log> = <term_log,l>.prefija
<term_log>.prefija =
Concatenar("(and ",
<trm_log,l>.prefija, " ",
<fact_Iog,l>.prefija,")")
<term_log>.prefija = <fact_log,l>.prefiia
<fact_log>.prefija =
Concatenar("(",
<expr_Iog,l>.prefija, ")")
<fact_log>.prefija =
Concatenar("(not",
<expr_log,l>.prefija,")")
<fact_log>.prefija =
Concatenar("(","
<op_rel,l>.prefija," ",
<expr_arit,l>.prefija," ",
<expr_arit,2>.prefija,")")
<fact_log>.prefija =
Concatenar("{",
trmino, l.valor_lxico,"",
<parmetros>.prefija,")")
<fact_log>.prefija = t r m i n o , valorjxico
<op_rel>.preja = "<"
<op_rel>.prefija = ">"
<op_rel>.prefija = "=<"
<op_rel>.prefija = ">="
VI-16
Regla sintctica
<expr_arit> := <expr_arit,l> <sum_rest,l> <trm_arit,l>
<sum rest>
<sum rest>
<expr_arit>
<term_arit>
:= +
:= := <trm_arit,l>
:= <term_arit,l> <mult_div,l> <fact_arit,l>
<mult div> := *
<mult_div> := /
<term_arit> := <fact_arit,l>
<fact_arit> := (<expr_arit,l>)
<fact_arit> := nmero, 1
<fact_arit> := t n n i n o , !
<fact_arit> := <fi]nc_l_arg,l> (<expr_arit,l>)
<func_l_param> := abs
<func_l_ param >:= acos
<func_l_ param >:= asn
<func_l_ param >:= atan
<func_l_ param > := ceiling
<func_l_ paiam >:= eos
<func_l_ param >:= floor
<func_l_ param >:= signum
<func_l_ param >:= sin
<func_l_ param >:= tan
<func_l_ param >:= trncate
<func_2_ parara >:= expt
<func_2_ parara >:= log
<func_2_ param >:= max
<func_2_ param >:= min
Operacin
<expr_arit>.prefija =
Concatenar("(",
<sum_rest,l>.prefija, " ",
<expr_arit,l>.prefija," ",
<trm_arit,l>.prefija,")")
<sum_rest>.prefija = "+"
<sum_rest>.prefija ="-"
<expr_arit>.prefija = <term_arit,l>.prefiia
<term_arit>.prefija =
Concatenar("(",
<mult_div,l>.prefija," ",
<term_arit,l>.prefija, " ",
<fact_arit,l>.prefiia,")")
<mult_div>.prefija = "*"
<rault_div>.prefija = "/"
<term_arit>.prefija = <fact_arit,l>.prefija
<fact_arit>.prefija = <expr_arit,l>.prefiia
<fact_arit>.prefija = nmero, l.valor_lxico
<fact_arit>.prefija = trmino, l.valor_Ixico
<fact_arit>.prefija =
Concatenar("(">
<ftinc_l_arg>.prefija," ",
<expr_arit,l>.prefija,")")
<fact_arit>.prefija =
Concatenar("(">
<func_2_arg>.prefija," ",
<expr_arit,l>.prefija," ",
<expr_arit,2>.prefija ")")
<fiinc_l_param> .prefija = "abs"
<func_l_param>.prefija= "acos"
<func_l_param>.prefija = "asin"
<func_l_param>.prefija = "atan"
<func_l_parara>.prefija = "ceiling"
<func_l_param>.prefija = "eos"
<func_l_param>.prefija = "floor"
<fune_l_param>.prefija = "signum"
<func_l_param>.prefija = "sin"
<func_l_param>.prefija = "tan"
<func_l_param>,prefija = "trncate"
<ftinc_2_param>.prefija = "expt"
<func_2_pararn>.prefija = "log"
<func_2_param>.prefija = "max"
<func_2_parara>.prefija = "min"
VI-17