“Marco de Trabajo para el desarrollo de aplicaciones con ...
Transcript of “Marco de Trabajo para el desarrollo de aplicaciones con ...
Ministerio de Educación Superior Universidad Central “Marta Abreu” de Las Villas.
Facultad de Matemática, Física y Computación
“Marco de Trabajo para el desarrollo de aplicaciones con
ontologías de dominio”
Tesis presentada en opción al Título Académico de Master en Ciencias de la Computación.
Autor: Lic. Raydel Reuco Rodríguez Tutores: Dra. Luisa González González
M.Sc. Manuel Castro Artiles
Santa Clara -2008-
Resumen
La gran cantidad y diversidad de datos que actualmente existen, podrían tener un
mayor y más efectivo aprovechamiento en diversos fines, lo que se logra al disponer de
una descripción lo más completa posible de los mismos a través de las ontologías. El
presente trabajo hace referencia a las definiciones más importantes de ontologías, así
como los componentes y clasificaciones de las mismas, con el objetivo de brindar los
aspectos fundamentales de las ontologías. Se realiza una caracterización de las
metodologías, lenguajes, herramientas y razonadores existentes, con el objetivo de
contar con los elementos necesarios para al enfrentarse a un proyecto ontológico,
poder determinar cual utilizar.
Como objetivo fundamental y resultado novedoso se propone un Marco de Trabajo para
el desarrollo de aplicaciones con ontologías de dominio, conformado por Methontology
como metodología, OWL como lenguaje, Protégé como herramienta y Pellet como
razonador, todos sobre la base del software libre. Para mostrar las potencialidades del
Marco de Trabajo propuesto, se desarrolla la ontología GlosBanc, modelación
conceptual representativa de la actividad bancaria.
Palabras claves: Ontología, metodología, lenguaje, herramienta, razonador, Marco de
Trabajo.
Abstract
The big quantity and diversity of data that at the moment exist could have a bigger and
more effective use in diverse goals, what is possible when having a description the most
complete possible of the same ones through the ontologies. The present paper makes
reference to the most important definitions in ontologies, as well as the components and
classifications of the same ones, with the objective of offering the fundamental aspects
of the ontologies. We are carried out a characterization of the methodologies,
languages, tools and existent reasoners, with the objective of having the necessary
elements to facing an ontologic project, to be able to determine which to use.
As fundamental objective and novel result intends a FrameWork for the development of
applications with domain ontologies, conformed by Methontology like methodology,
OWL like language, Protégé like tool and Pellet like reasoner, all on the base of the free
software. To show the potentialities of the FrameWork, the ontology GlosBanc,
conceptual representative modelation of the bank activity is developed.
Keywords: Ontology, methodology, language, tool, reasoner, FrameWork.
Tabla de Contenidos
INTRODUCCIÓN........................................................................................................................................................6 I. ONTOLOGÍAS .......................................................................................................................................................10
I.1 ¿QUÉ ES UNA ONTOLOGÍA?..................................................................................................................................10 I.2 DE METADATOS A ONTOLOGÍAS ..........................................................................................................................12
I.2.1 Importancia de los metadatos.....................................................................................................................13 I.2.2 Tipología de los Metadatos ........................................................................................................................13
I.3 COMPONENTE DE LAS ONTOLOGÍAS.....................................................................................................................14 I.4 APLICACIONES DE LAS ONTOLOGÍAS ...................................................................................................................16
I.4.1 Aplicación de las ontologías en la Web Semántica ....................................................................................16 I.4.2 Aplicación de las ontologías en ingeniería del conocimiento ....................................................................17 I.4.3 Aplicación de ontologías en sistemas de información ................................................................................18
I.5 LAS ONTOLOGÍAS EN LA INTEROPERABILIDAD DE SISTEMAS ...............................................................................19 I.6 TIPOS DE ONTOLOGÍAS ........................................................................................................................................21 I.7 MODELO DE DATOS CONCEPTUAL COMO UN TIPO DE ONTOLOGÍA .......................................................................22
I.7.1 ¿Que es un modelo de datos? .....................................................................................................................23 I.7.2 Dos formas básicas de suposición del mundo. ...........................................................................................24 I.7.3 Modelos de datos conceptuales y lenguajes ontológicos............................................................................24
I.8 CONCLUSIONES DEL CAPÍTULO............................................................................................................................25 II. CARACTERIZACIÓN DE METODOLOGÍAS, LENGUAJES, HERRAMIENTAS Y RAZONADORES DE ONTOLOGÍAS. PROPUESTA DE MARCO DE TRABAJO PARA EL DESARROLLO DE ONTOLOGÍAS DE DOMINIO. ...............................................................................................................................27
II.1 METODOLOGÍAS PARA LA CONSTRUCCIÓN DE ONTOLOGÍAS...............................................................................27 II.1.1 Pasos y principios para la construcción de ontologías.............................................................................27 II.1.2 IDEF 5.......................................................................................................................................................29
II.1.2.1 Organización y alcance........................................................................................................................................29 II.1.2.2 Recolección de datos ...........................................................................................................................................30 II.1.2.3 Análisis de datos ..................................................................................................................................................30 II.1.2.4 Desarrollo de la ontología inicial .........................................................................................................................30 II.1.2.5 Validación y refinamiento de la ontología ...........................................................................................................30
II.1.3 Methontology.............................................................................................................................................31 II.1.3.1 Proceso de desarrollo de Ontologías....................................................................................................................31 II.1.3.2 Ciclo de vida de ontologías..................................................................................................................................33
II.1.4 Propuesta de Metodología para el Marco de Trabajo..............................................................................34 II.2 LENGUAJES DE ESPECIFICACIÓN DE ONTOLOGÍAS ..............................................................................................35
II.2.1 SHOE (Simple HTML Ontology Extensions).............................................................................................36 II.2.2 Ontolingua.................................................................................................................................................36 II.2.3 RDF (Resource Description Framework) y RDFS (RDF Schema) ...........................................................36 II.2.4 OIL (Ontology Inference Layer)................................................................................................................37 II.2.5 DAML + OIL.............................................................................................................................................38 II.2.6 KIF (Knowledge Interchange Format)......................................................................................................38 II.2.7 OWL (Web Ontology Language) ...............................................................................................................39 II.2.8 Propuesta de lenguaje para el Marco de Trabajo.....................................................................................40
II.3 HERRAMIENTAS PARA LA CONSTRUCCIÓN DE ONTOLOGÍAS ...............................................................................41 II.3.1 OILEd........................................................................................................................................................42 II.3.2 OntoEdit ....................................................................................................................................................43 II.3.3 Protégé ......................................................................................................................................................44
II.3.3.1 PAL (Protégé Axiom Language) .........................................................................................................................45 II.3.3.2 Interfaz.................................................................................................................................................................45 II.3.3.3 Posibilidad de incorporar nuevas funcionalidades (Plugins)................................................................................46
II.3.4 Propuesta de herramienta para el Marco de Trabajo...............................................................................47 II.4 RAZONADORES ..................................................................................................................................................47
II.4.1 Jena ...........................................................................................................................................................48 II.4.2 FaCT++....................................................................................................................................................49
II.4.3 RacerPro ...................................................................................................................................................49 II.4.4 Pellet .........................................................................................................................................................50 II.4.5 Propuesta de razonador para el Marco de Trabajo..................................................................................51
II.5 CONCLUSIONES DEL CAPÍTULO ..........................................................................................................................52 III. GLOSBANC (ONTOLOGÍA BANCARIA)......................................................................................................53
III.1 DEFINICIÓN DE LA ONTOLOGÍA .........................................................................................................................53 III.2 ESPECIFICACIÓN. OBJETIVO Y ALCANCE DE LA ONTOLOGÍA .............................................................................54 III.3 ADQUISICIÓN DE CONOCIMIENTO .....................................................................................................................54 III.4 CONCEPTUALIZACIÓN.......................................................................................................................................55
III.4.1 Conceptos (Clases) ..................................................................................................................................55 III.4.2 Slots (Propiedades)..................................................................................................................................56 III.4.3 Relaciones................................................................................................................................................56 III.4.4 Axiomas....................................................................................................................................................57
III.5 IMPLEMENTACIÓN ............................................................................................................................................58 III.5.1 Construcción de GlosBanc en Protégé ....................................................................................................58 III.5.2 Evaluación ...............................................................................................................................................60 III.5.3 Uso del razonador para inferencia ..........................................................................................................65
III.6 CONCLUSIONES DEL CAPÍTULO .........................................................................................................................66 CONCLUSIONES......................................................................................................................................................67 RECOMENDACIONES ............................................................................................................................................68 REFERENCIAS BIBLIOGRÁFICAS .....................................................................................................................69 ANEXOS .....................................................................................................................................................................72
ANEXO I. ARBOL DE CLASES DE LA ONTOLOGÍA GLOSBANC....................................................................................72 ANEXO II. CONCEPTOS DE LA ONTOLOGÍA GLOSBANC. ...........................................................................................73 ANEXO III. PROPIEDADES DE TIPOS DE DATOS DE LA ONTOLOGÍA GLOSBANC. ........................................................78 ANEXO IV. RELACIONES DE LA ONTOLOGÍA GLOSBANC..........................................................................................80
Introducción
Los dispositivos computacionales, sistemas de comunicación y dispositivos de
almacenamiento son productos primarios. La ley de Moore aún es válida, la relación
precio/rendimiento del equipamiento decrece por mes. Las computadoras serán tan
profundamente incorporadas a la sociedad que dejarán de ser dispositivos aislados. El
software, las personas y todo tipo de artefacto inteligente serán entrelazados en
sistemas de información de subsistemas autónomos que interactúan. Uno de los
grandes desafíos es manipular la complejidad técnica, el otro es ser capaces de poder
cambiar fácilmente en nuestra sociedad lo qué hacemos y cómo lo hacemos. La poca
habilidad de dominar la complejidad técnica unido a no cambiar el comportamiento,
significaría el desastre. Tenemos que tener sistemas que pueden desarrollarse según
las necesidades y los deseos de personas individuales y organizaciones. Tenemos que
construir una sociedad de forma que pueda cambiar cuando las nuevas tecnologías
hagan posibles nuevos desarrollos (Sølvberg, 2004).
El espectacular desarrollo tecnológico que la humanidad ha alcanzado en los últimos
años, ha propiciado de manera explosiva que exista gran cantidad y diversidad de
datos, así como el constante incremento e interrelación entre los mismos, los cuales
constituyen un recurso indispensable y estratégico, tanto para la competitividad y
calidad de los servicios de las empresas, como en la vida cotidiana.
Esta gran cantidad de datos, podría tener un mayor y más efectivo aprovechamiento en
diversos fines, incluso diferentes para los que fueron creados, cuestión esta que se
logra al disponer de una descripción lo más completa posible de los mismos. Tal
descripción posibilita que estos datos se puedan compartir, reutilizar y analizar; pero de
manera especial que se “entiendan” por parte de las personas y en especial por los
sistemas computarizados. Por tales motivos se debe lograr que se incremente la
posibilidad de proporcionar mayor información sobre los datos, reto actual de la
industria de las tecnologías de la información.
La modelación ha sido siempre una parte esencial en el desarrollo de sistemas de
información (Krogstie et al., 2007). Para lograr una adecuada descripción de los datos
6
se deben considerar como aspectos fundamentales: significado y modelación. De esta
forma al contar con la descripción resultante podemos manipular dichos datos a través
de la lógica matemática y motores de inferencia, lo cual permite extraer conclusiones.
La descripción formal de un conjunto de datos que representan el conocimiento de un
determinado dominio constituye el rol fundamental de las ontologías.
Debido a la necesidad de modelar el significado de los datos y dado que existen
diferentes formas que lo permiten, las ontologías dentro de sus disímiles usos se erigen
como una de las más completas para hacerlo. De esta forma cobran cada vez más
importancia en diferentes áreas del ámbito computacional, donde tenemos la
indexación de sitios Web, la interoperabilidad entre sistemas, la modelación
empresarial, el procesamiento del lenguaje natural, etc. De tal manera existen y se
desarrollan diferentes metodologías, lenguajes, herramientas y razonadores que
permiten definirlas, construirlas y utilizarlas; lo que hace difícil una selección adecuada
de cada uno de estos elementos para un fin específico. Cuando se cuenta con
diferentes alternativas que nos permiten llevar a cabo determinado proyecto y nos
vemos obligados a emplear tiempo y recursos para establecer los criterios que nos
lleven a seleccionar adecuadamente la alternativa idónea, entonces es cuando se
valora la disponibilidad de los Marcos de Trabajo (Thalheim, 2004).
Existen varias clasificaciones de ontologías, en la más acertada para definir los
diferentes aspectos del proceso de construcción de ontologías tenemos el tipo de
ontologías de dominio, que representan el conocimiento de un dominio dado, que
además son las de más aplicación y las más generalizadas, pues la mayoría de las
organizaciones al representar algún conocimiento es el del dominio propio o con el que
tengan alguna relación.
Por lo anteriormente expuesto se presenta como problema de investigación de la
presente tesis que, dado que las ontologías se pueden usar para distintos fines y han
proliferado numerosas metodologías, lenguajes, herramientas y razonadores para su
desarrollo; se hace difícil una selección adecuada para iniciar un proyecto basado en
este enfoque, en particular para las ontologías de dominio.
7
Como consecuencia de la revisión bibliográfica y el estudio de factibilidad del trabajo se
obtiene la siguiente hipótesis de investigación: disponer de un Marco de Trabajo bien
definido y detallado permitirá obtener mejores resultados de forma ágil, precisa y
eficiente en el desarrollo de aplicaciones con ontologías de dominio.
Por tanto, el objetivo general de la presente investigación es proponer un Marco de
Trabajo para el desarrollo de aplicaciones con ontologías de dominio.
Como objetivos específicos se tienen los siguientes:
Brindar todos los elementos necesarios para enfrentarse a proyectos ontológicos.
Caracterizar los diferentes componentes que intervienen en el proceso de
desarrollo de ontologías.
Elegir por cada componente que interviene en el proceso de desarrollo de
ontologías de dominio, el que va formar parte del Marco de Trabajo.
Desarrollar una ontología representativa de la actividad bancaria que describa de
forma práctica la utilización del Marco de Trabajo propuesto.
Como tareas de investigación se tienen las siguientes:
1. Realizar una revisión bibliográfica de los temas relacionados con los aspectos
generales; así como de cada uno de los componentes que intervienen en el
proceso de desarrollo de ontologías.
2. Presentar las principales definiciones de ontologías y demás aspectos
relacionados que permitan el dominio del tema.
3. Caracterizar las metodologías, lenguajes, herramientas y razonadores existentes
para el desarrollo de ontologías sobre la base de exponer los elementos
distintivos que permitan elegir cual es el más conveniente en cada caso.
4. Proponer una metodología, un lenguaje de representación, una herramienta y un
razonador que van a constituir el Marco de Trabajo para desarrollar ontologías de
dominio.
8
5. Diseñar una ontología del dominio bancario sobre la base y utilización en la
práctica del Marco de Trabajo propuesto.
El valor científico está compuesto por la caracterización de los diferentes componentes
que se utilizan en el desarrollo de aplicaciones con ontologías de dominio para así
proponer un Marco de Trabajo que permita dicho proceso.
El valor práctico está dado por la descripción detallada que permite desarrollar de forma
práctica una ontología, así como su ejemplificación a través del desarrollo de una
ontología representativa de la actividad bancaria con el uso del Marco de Trabajo
propuesto.
El trabajo ha sido organizado en tres capítulos de la siguiente forma:
El Capítulo I aborda los aspectos básicos sobre las ontologías, como son las principales
definiciones, sus componentes, clasificaciones, aplicaciones y otros temas
estrechamente vinculados. Se destaca para la propuesta del Marco de trabajo el tipo
de ontología de dominio.
En el Capítulo II se caracterizan y comparan las diferentes metodologías, lenguajes,
herramientas y razonadores existentes para el desarrollo de ontologías, donde para
cada uno de estos componentes se selecciona el que va a formar parte del Marco de
Trabajo.
El Capítulo III muestra el proceso de desarrollo de una ontología representativa de la
actividad bancaria mediante el uso del Marco de Trabajo propuesto.
Finalmente se exponen las conclusiones del trabajo haciendo recomendaciones para
darle continuidad en investigaciones futuras.
9
I. Ontologías
En el presente capítulo se hace referencia a los aspectos fundamentales de las
ontologías; definiciones, clasificaciones y características más importantes, donde se
expone lo relacionado con las ontologías para más allá de entenderlas, contar con los
argumentos necesarios para enfrentar proyectos ontológicos. También se abordan otros
conceptos que están estrechamente vinculados a las ontologías, como es el caso de los
metadatos, a los cuales se hace referencia para permitir comprender y analizar el
alcance e importancia de las ontologías. Se exponen diferentes clasificaciones existente
para las ontologías enfatizando en las de dominio.
I.1 ¿Qué es una ontología?
A principios de la década de los 90 comienza un gran auge de las ontologías, se
desarrollan estudios e investigaciones sobre este tema que propician el surgimiento de
determinados conceptos que se convierten en la base para la comprensión, definición y
aplicación de las ontologías.
Existen varias definiciones de ontologías, dentro de las más importantes tenemos:
"Una ontología es una especificación explícita y formal de una conceptualización
compartida"(Gruber, 1993)
"Una ontología es un instrumento que define los términos básicos y relaciones a
partir del vocabulario de un área de conocimiento, así como las reglas de
combinación de estos términos y relaciones para definir extensiones a un
vocabulario" (Neches, 1991).
"Una ontología es una especificación formal de una conceptualización
compartida" (Borst, 1997). Como se puede apreciar el término formal se refiere a
que es procesable computacionalmente.
"Una ontología es una base de datos que describe los conceptos generales o
sobre un dominio, algunas de sus propiedades y cómo los conceptos se
10
relacionan unos con otros" (Weigand, 1997). Una de las definiciones más
concretas.
De las definiciones existentes, la de Grubber, aunque a primera vista parezca un
trabalenguas, en realidad es la más sencilla y extendida, convertida ya en estándar,
donde conceptualización se refiere a la modelación abstracta de los conceptos
identificados en algún área de interés (dominio), donde los conceptos constituyen las
ideas básicas a formalizar; se entiende por explícita que dichos conceptos que
conforman una ontología se especifiquen de alguna forma, por medio de un lenguaje de
representación, formalizado y compartido; reflejando que una ontología debe, en el
mejor de los casos, dar cuenta de conocimiento aceptado (como mínimo, por el grupo
de personas que deben usarla).
Como ya sabemos una ontología empieza con un concepto. Tenemos que encontrar
primeramente un concepto importante; y al encontrarlo, tenemos que expresarlo de una
manera tan precisa como sea posible que pueda ser interpretado y usado por sistemas
de cómputo. Una de las diferencias entre un diccionario o un glosario y una ontología es
que las definiciones de diccionario no son realmente procesables por sistemas de
cómputo a nivel conceptual. Pero la otra diferencia es que en una ontología empezando
por el concepto y especificándolo los más rigurosamente posible, conseguimos un
significado que es en gran medida independiente del lenguaje o terminología. Además,
por supuesto, se le adicionan términos a estos conceptos, ya que para usar la ontología
por los seres humanos, tenemos que asociarlos con términos que comúnmente
usamos.
En términos generales, una ontología es una organización de conocimientos o por lo
menos una organización de un conjunto de los términos relacionados con dicho
conocimiento. Sin embargo, a diferencia de un glosario o diccionario, que toman
términos y suministran las definiciones para ellos, una ontología permite modelar el
dominio de forma más completa y precisa (Huhns and Singh, 1997).
11
Al analizar la mayoría de las definiciones de ontologías se puede inferir que constituyen
el mecanismo para construir los metadatos que se usan para estructurar el contenido.
Es decir, convertir la información en conocimiento, a través de estructuras de
conocimiento formalizadas que se refieren a los datos, bajo un esquema común
normalizado sobre algún dominio del conocimiento, logrando que se represente cierta
visión del mundo con respecto a un dominio (Noy and McGuinness, 2005).
I.2 De metadatos a ontologías
Literalmente metadatos significa "datos sobre los datos" (LANGE and WINKLER, 1997),
concepto que recibe especial atención en las comunidades de Sistemas de Información,
dada la necesidad de comprenderlos y hacer uso eficiente de ellos. El propósito de los
metadatos radica fundamentalmente en hacer útiles los datos, mostrar dónde se
originaron y son guardados actualmente, brindar una gran cantidad de atributos
descriptivos y técnicos de esos datos. Las ontologías son la solución que nos permite
proveer los metadatos necesarios en un determinado contexto.
Aunque los metadatos son "datos sobre los datos", su estructura y funcionalidad
pueden ser aplicadas a cualquier objeto de información (textos, fotos, audio/video,
gráfico, etcétera) (HUSBY, 1997). Todos los objetos de información tienen tres
características en común: el contenido, el contexto y la estructura. El contenido se
relaciona con “qué contiene o es un objeto”; el contexto con "quién, qué, por qué, dónde
y cómo", aspectos estos asociados con la creación del objeto; la estructura está
relacionada con el conjunto de asociaciones entre objetos. Todas estas características
pueden ser descritas como metadatos, y podrían ser de importancia para uno o más
grupos de usuarios de ese objeto. Pero los metadatos solo van a estructurar los
contenidos, por lo que necesitaremos algo que nos permita estructurar la semántica de
un recurso, ese algo son las ontologías.
Debido a que los metadatos son diversos y son utilizados de muchas formas por varios
tipos de usuarios, el manejo de los metadatos es de extrema importancia en cualquier
organización. El conocimiento de buenas prácticas para el manejo de metadatos puede
llevar a desarrollar un enfoque robusto y flexible para el manejo de metadatos y a
12
proveer el valor agregado a los objetos de información que son importantes para la
toma de decisiones de la organización.
I.2.1 Importancia de los metadatos
Hay mucha fuerza encaminada a un mejor conocimiento y manejo de los varios tipos de
metadatos. Algunas de estos intereses incluyen:
Manejo, almacenamiento y acceso a los datos personales, tanto confidenciales
como bases de datos en el sector público
Mejoramiento del acceso a servicios y datos por el público
Incremento del reconocimiento que las organizaciones deben hacer para el mejor
uso de sus datos para la toma de decisiones y operaciones
Dominio de los datos, comprendiendo y administrando colecciones de datos,
para su almacenamiento y uso en propósitos específicos
I.2.2 Tipología de los Metadatos
Hay varias categorías de metadatos, cada uno con su propia definición y ejemplos de
uso (GILLILAND, 1998).
Tipo de metadato
Definición Ejemplos de su uso
Administrativo Usados en la gestión y administración de recursos de información
• Adquisición de Información • Derechos y reproducción • Requerimientos legales para
el acceso • Localización de información • Criterios de selección para la
digitalización • Control de versiones
Descriptivo Utilizados para representar recursos de información (también referido como "Metadatos de la empresa")
• Registros catalográficos • Proporcionar ayuda en la
búsqueda • Indices especializados • Hiperenlazar relaciones entre
recursos
13
• Anotaciones de los usuarios Preservación Para salvaguardar los
recursos de información • Informar sobre las
condiciones de uso de los recursos físicos
• Informar sobre las acciones llevadas a cabo para preservar versiones físicas y digitales de recursos
Técnico Relativos a cómo funcionan los sistemas o el comportamiento de los metadatos
• Documentación de Hardware y Software
• Digitalización de la información (formato, ratio de compresión,….)
• Autentificación y datos de seguridad (encriptación, passwords,….)
• Control de tiempo de respuesta de sistemas
Uso Relativos al nivel y tipo de uso que se hace con los recursos informativos
• Información sobre versiones • Reutilización del contenido del
recurso
Los metadatos no son creados por sí mismos, a menudo es un subproducto directo de
los sistemas de información de fuentes originales que crean, mantienen actualizados y
diseminan los datos. También, los metadatos son creados y pueden ser derivados
después del uso de un conjunto de componentes de operaciones o toma de decisiones
del sistema y la organización. Sin metadatos accesibles y comprensibles, el contenido
de información podría carecer de sentido al usuario.
I.3 Componente de las ontologías
A continuación se exponen los componentes de las ontologías, algunos de los cuales
han sido mencionados en las definiciones expuestas anteriormente.
Conceptos (o clases)
Son las ideas básicas que se intentan formalizar de algún fenómeno o dominio del
mundo. Los conceptos pueden ser clases de objetos, métodos, planes, estrategias,
procesos de razonamiento, etc.
Propiedades (o slots, o roles)
14
Describen los rasgos y atributos de los conceptos.
Restricciones (o facetas)
Restricciones sobre los slots; la cardinalidad, tipo y rango, son facetas de los slots. La
cardinalidad se refiere al número de valores que puede tener un slot. Cadena de
caracteres (string), Números, verdadero/falso (boolean) e instancias son tipos de
valores comunes. El rango de un slot es usado para los tipos de valores Instancia y
específica cuales objetos en la ontología pueden asignarse a dicho slot.
Instancias
Se utilizan para representar objetos determinados de un concepto.
Relaciones
Representan la interacción y enlace entre los conceptos del dominio. Suelen formar la
taxonomía del dominio. Por ejemplo: subclase-de, parte-de, parte-exhaustiva-de,
conectado-a, etc. Es habitual que el formalismo sólo permita representar relaciones
binarias. Cada una de las ontologías suele permitir el uso de un número acotado y
cerrado de relaciones. Cada una de las relaciones puede estar dotada de determinadas
propiedades que determinan su comportamiento. La mayoría de las ontologías incluyen
relaciones de tipo taxonómico como la generalización/especificación (herencia) o los
diversos tipos de meronimia1.
Existen ontologías que incluyen muchos otros tipos de relaciones semánticas entre sus
componentes. Existen ontologías que representan conceptos más o menos generales
mientras que en otras se admite también la representación de ejemplares de dichos
conceptos. Además, algunas ontologías permiten expresar de alguna forma
conocimiento procedimental (métodos, funciones) o inferencial (axiomas, reglas de
inferencia).
Funciones
1 Meronimia: Es la relación que se establece entre un elemento entero y sus partes, la relación imperante es “parte-de”.
15
Son un tipo concreto de relación donde se identifica un elemento mediante el cálculo de
una función que considera varios elementos de la ontología. Por ejemplo, pueden
aparecer funciones como categorizar-clase, asignar-fecha, etc.
Axiomas
Son teoremas que se declaran sobre relaciones que deben cumplir los elementos de la
ontología. Por ejemplo: “Si A y B son de la clase C, entonces A no es subclase de B”,
“Para todo A que cumpla la condición C1, A es B”, etc. Los Axiomas junto con la
herencia de conceptos, permiten inferir conocimiento que no esté indicado
explícitamente en la taxonomía de conceptos.
I.4 Aplicaciones de las ontologías
Las ontologías proporcionan una comprensión compartida del conocimiento de un
dominio, que puede ser comunicada entre personas y sistemas heterogéneos (Gasevic
et al., 2006). Para poder reutilizar conocimientos de otros sistemas es necesario
conocer y estar conforme con la terminología y su significado. Por ello, se llaman
acuerdos ontológicos a los acuerdos terminológicos necesarios para reutilizar
conocimiento. Se trata de convertir la información en conocimiento (Sharman et al.,
2007).
El amplio desarrollo de la investigación en el campo de las ontologías, permite un
aumento notable de los usos de éstas, basados en los estudios de Gruber (Gruber,
1995) y de Gruninger y Lee (Gruninger and Lee, 2002), donde se refieren como los
más frecuentes en el campo de la denominada Web Semántica, la ingeniería del
conocimiento y los sistemas de información.
I.4.1 Aplicación de las ontologías en la Web Semántica
Indización de documentos: La indexación de un sitio Web con apoyo de una
ontología terminológica comienza con la extracción de los términos más
relevantes de cada página, y después de asociar a estos términos conceptos
candidatos, se evalúa la capacidad de representación de la página de cada uno
de estos conceptos, que determina su nivel de representatividad, y finalmente se
16
construye el índice. De esta manera, las consultas se procesan a un nivel
conceptual, lo que reportará un mayor grado de acierto.
Agrupamiento: Las técnicas de agrupamiento(clustering) permiten el
crecimiento de un sistema mediante la adición de procesadores o CPU (central
processing units) a la unidad primitiva. Las ontologías aportan las herramientas
para que los distintos equipos puedan entenderse entre sí y funcionar como si
fuera uno sólo.
Servicios Web: Las ontologías representarán los datos en la red de tal forma
que puedan ser utilizados y comprendidos por las máquinas sin necesidad de la
intervención humana.
Comercio electrónico: Hay ontologías orientadas a aplicaciones que facilitan el
comercio electrónico, destacando el sistema MKBEEM (Multilingual Knowledge
Based European Electronic Marketplace), que es un portal multilingüe que
combina procesamiento basado en ontologías y procesamiento de lenguaje
humano.
I.4.2 Aplicación de las ontologías en ingeniería del conocimiento
Ingeniería del conocimiento: Por un lado en el modelado conceptual se crea un
glosario de la terminología del dominio de la aplicación (los conceptos), las
relaciones entre dichos términos y las restricciones de uso. Este modelo
conceptual explícito es la ontología. Por otro lado, la construcción de la base de
conocimiento usa la ontología definida en la etapa anterior como un conjunto de
esquemas o contenedores de conocimiento. Las ontologías, junto con los
métodos de solución de problemas (PSM), prometen la posibilidad de reutilizar
componentes en ingeniería de conocimiento. Mientras las ontologías definen el
conocimiento declarativo del dominio a un nivel genérico, los PSM especifican
conocimiento de razonamiento sobre el dominio.
Procesamiento del lenguaje natural: Una ontología puede mantener la
definición de elementos gramaticales del lenguaje y sus relaciones, permitiendo,
por ejemplo, el análisis sintáctico de un texto.
17
Distribución del conocimiento desde el punto de vista de la reutilización:
Uno de los fines principales de la utilización de una ontología en un sistema es
poder reutilizar conocimiento para sistemas futuros. Se podrán integrar
ontologías para la constitución de una nueva, más grande y que a su vez mejore
la conceptualización que aportaban todas ellas por separado. Sistemas distintos
podrán entender la información almacenada en una ontología sobre un dominio y
trabajar con dicha información aunque no haya sido generada por y para ellos.
Distribución de conocimiento como un camino para resolver la integración
de sistemas basados en conocimiento: Integración inteligente de información.
La distribución de un conocimiento de forma estandarizada se traducirá en
importantes mejoras en el desarrollo de agentes inteligentes que tendrán a su
disposición un mayor número de bases de conocimiento disponibles.
Implementación de agentes inteligentes: Una posible meta de esta tecnología
es poder disponer de un agente de software para cada dominio o cada tarea que
tenga que realizar un humano facilitándole la obtención de resultados.
Creación y construcción de cursos de manera colaborada destinados al
desarrollo y la integración de sistemas de aprendizaje.
I.4.3 Aplicación de ontologías en sistemas de información
Interoperatividad entre sistemas heterogéneos: Las ontologías se presentan
como una solución para lograr una integración inteligente. Con una ontología
terminológica se pueden organizar los términos que son usados en interacciones
entre sistemas heterogéneos, de manera que reconozca cuándo una aplicación
está usando un término que es más general o más específico que otro que está
en uso por otra aplicación.
Sistemas de información cooperativa: El objetivo es que múltiples sistemas de
información sean capaces de trabajar de forma cooperativa combinando sus
datos y funcionalidades, con ayuda de las ontologías.
18
Medio de distribución de conocimiento dentro de aplicaciones de software
y entre aplicaciones de software mediante la comunicación entre aplicaciones
sin intervención humana, utilizando estándares y protocolos para el
entendimiento recíproco.
Recuperación de información, enfocado a mejorar la formulación de
consultas: Si se añade semántica a las consultas y no sólo se efectúan por
palabras claves se proporciona una calidad superior en los resultados de una
búsqueda. Las consultas serán tratadas desde un punto de vista conceptual. De
este modo, se reducirá el ruido y el silencio en los resultados de una búsqueda,
lo que permitirá que no se omitan aquellos resultados, que aún siendo
conceptualmente sinónimos al de la consulta, no se encuentran por ser distintos
terminológicamente.
Normalización de sistemas documentales: La documentación generada por
los nuevos sistemas contará con características como la identificación del
contenido documental (información) mediante el uso de códigos de identificación
y descriptores, el etiquetado de la documentación legible en las fuentes y en los
instrumentos de representación (catálogos, listados, bases de datos, etc.), el
establecimiento de una estructura base que permita la relación de los términos
empleados en la identificación documental (tesauros) y la creación de
instrumentos auxiliares para la recuperación de la información como índices,
tablas, etc.
I.5 Las ontologías en la interoperabilidad de sistemas
La interoperabilidad es definida por la IEEE (IEEE, 1990) como “la habilidad de dos o
más sistemas o componentes para intercambiar información y para usar la información
que ha sido intercambiada”. Actualmente, las organizaciones se encuentran en un
contexto globalizado, donde el mercado aún está en proceso de permanente
redefinición, lo cual hace que se abran constantemente nuevas oportunidades de
negocios. Para enfrentar esta situación es de vital importancia poder gestionar el
creciente cúmulo de información almacenada en bases de datos de las distintas
organizaciones, en sus Intranets, así como información proveniente de Internet.
19
Al integrar información proveniente de distintas fuentes surge un gran problema a
resolver: la heterogeneidad de la misma. Esta heterogeneidad es tanto a nivel sintáctico
como semántico. A nivel sintáctico la interoperabilidad significa integrar datos que están
presentes en los sistemas de información en diferentes lenguajes y representaciones de
datos. Para alcanzar este nivel de integración generalmente se emplea XML (eXtensible
Markup Language). Por otro lado, al hecho que un término pueda representar distintos
conceptos o un concepto pueda ser representado por distintos términos se lo denomina
heterogeneidad semántica. Para resolver este problema se utilizan las ontologías. Así,
dos sistemas de información que utilizan términos diferentes, podrán dialogar si existe
una ontología que establece relaciones de sinónimos, o de especialización, o de
generalización, o de equivalencia matemática, entre los conceptos de los distintos
sistemas a integrar.
La mayoría de los sistemas actualmente interoperan mediante interfaz punto a punto, lo
que hace que esta arquitectura sea ineficiente, requiriendo 2N interfaces para N
sistemas. Progresivamente los sistemas se están trasladando a otras arquitecturas
como ESB (Entreprise Service Bus), donde cada sistema solo interactúa con el bus y la
información es encaminada a través de este hasta el correspondiente destino. Esta
forma es mucho más eficiente ya que requiere N interfaces. Dicho modelo asegura que
cada sistema tiene solo una forma de convertir de/para. Debido a que cada sistema
tiene su propia clave de conversión es difícil asegurar un mayor aprovechamiento de la
interoperabilidad.
Las ontologías solventan en gran medida los siguientes impedimentos encontrados en
la interoperabilidad de sistemas inteligentes:
1. Representaciones heterogéneas: Existen múltiples aproximaciones para
representar el conocimiento, no pudiéndose representar siempre en un
formalismo el conocimiento que está representado con otro formalismo. Una
cuestión similar ocurre con los distintos lenguajes de información de gestión,
donde no todos son orientados a objetos.
2. Dialectos en familias de lenguajes: Dentro de una misma familia de
formalismos de representación del conocimiento, puede ser complicado
20
compartir conocimiento entre dialectos, Por ejemplo. dentro de los lenguajes
de información de gestión orientados a objetos, no todos permiten la herencia
múltiple.
3. Falta de convenciones de comunicación: No existe un protocolo que
especifique cómo distintos sistemas pueden consultarse el conocimiento que
poseen.
4. Desemparejamiento de modelos en el nivel de conocimiento: Aunque los
problemas del nivel de lenguaje se resuelvan. sigue siendo difícil combinar
dos bases de conocimiento. Estas barreras aparecen cuando se usan
diferentes términos primitivos para organizarlas.
I.6 Tipos de ontologías
Diversas son las formas de clasificar las ontologías, la amplia utilización de las mismas
en aplicaciones informáticas ha propiciado que se distingan los aspectos más
representativos para determinados campos de aplicación, esta clasificación permite
realizar una distinción entre las ontologías para determinar los aspectos a tener en
cuenta en el proceso de definición, concepción y construcción. En tal sentido se
distinguen tres tipos fundamentales de ontologías (Steve et al., 1998):
Ontologías de alto nivel o genéricas: describen conceptos muy generales y
fundacionales del conocimiento como las estructuras parte/todo, la cuantificación,
los procesos o los tipos de objetos, que son independientes de un problema o
dominio particular. Parece razonable tener ontologías de alto nivel unificadas
para una gran cantidad de comunidades de usuarios. En relación con los
sistemas de información, estas ontologías describirían conceptos básicos.
Ontologías de dominio: representan el conocimiento especializado pertinente
de un dominio o subdominio genérico especializando los conceptos introducidos
en la ontología de nivel superior, proporcionan el vocabulario para describir un
dominio dado, como el bancario, la medicina, las aplicaciones militares, la
cardiología, etc.
21
Ontologías de aplicación: son las ontologías más específicas. Describen
conceptos que dependen de las ontologías de dominio y de tarea, siendo con
frecuencia especializaciones de ambas ontologías. Los conceptos en estas
ontologías a menudo se corresponden con los roles propios de las entidades del
dominio. Ej: procesos
Hay otras posibles clasificaciones de ontologías atendiendo a diversos criterios, una de
ellas podría hacerse atendiendo a su destino. Según este criterio, se pueden distinguir
los siguientes tipos de ontologías (GUARINO, 1996):
Ontologías lingüísticas: están relacionadas con aspectos lingüísticos,
gramáticos, semánticos y sintácticos destinados a su utilización por los seres
humanos.
Ontologías no lingüísticas: para ser utilizadas por robots y agentes inteligentes.
Ontologías mixtas: combinan las características de las anteriores.
Otra forma de identificarlas es por el grado o nivel de abstracción y razonamiento lógico
que permitan:
Ontologías descriptivas: incluyen descripciones, taxonomías de conceptos,
relaciones entre los conceptos y propiedades, pero no permiten inferencias
lógicas.
Ontologías lógicas: permiten inferencias lógicas mediante la utilización de una
serie de componentes como la inclusión de axiomas, reglas, etc.
Como se mencionó anteriormente la clasificación en base a la aplicabilidad es la que
permite definir los aspectos distintivos en el proceso de construcción de ontologías. De
los tipos de ontologías según esta clasificación las de dominio son las de más
aplicación y las más generalizadas, pues la mayoría de las organizaciones al
representar algún conocimiento es el del dominio propio o con el que tengan alguna
relación.
I.7 Modelo de datos conceptual como un tipo de ontología
22
La modelación de datos surgió hace alrededor de tres décadas asistiendo el diseño de
bases de datos, específicamente en las bases de datos relacionales. Técnica que ha
sido reconocida como herramienta para el análisis de la organización de la información.
I.7.1 ¿Que es un modelo de datos?
Un modelo de datos es una ilustración que representa datos y las relaciones entre
ellos. El significado de modelo de datos varia, dependiendo de su propósito:
Puede representar un diseño de base de datos, con cuadros que representan
tablas y líneas que representan las llaves foráneas. También se representan las
columnas de las tablas.
Puede ser una representación de un modelo conceptual de estructuras de
negocio, donde los cuadros representan elementos significativos del negocio y
las relaciones entre ellos. También se representan las definiciones de
descripciones de datos significativos.
Estas son elementos muy diferentes. Un modelo de datos de negocio (o “conceptual”)
captura la semántica de una organización con el propósito tanto de comunicación con la
comunidad de negocio, como proveer una arquitectura para base de datos y diseño de
sistemas.
De otra manera las restricciones de cardinalidad y reglas de negocio no son
generalmente representadas en modelos de datos de ambos tipos. Incluso en el caso
de modelos de datos de negocio, los modelos representan las estructuras
fundamentales, mientras las reglas de negocio representan restricciones variables. En
otras palabras, el diseño de base de datos, la modelación de datos de negocio y la
modelación de reglas de negocio son tres cosas bien diferentes, por lo que existen
tendencias en la modelación de datos. Los modelos de datos son las
conceptualizaciones desarrolladas para aplicaciones de dominios bien limitados,
mientras que una ontología es la conceptualización de un elevado nivel genérico del
dominio para ser compartida por todas las aplicaciones de dicho dominio (Spyns et al.,
2002).
23
I.7.2 Dos formas básicas de suposición del mundo.
Al expresar el alcance de la representación del conocimiento existen dos formas
básicas de suposición del mundo. La primera asume que todo lo que actualmente no es
conocido como verdadero es falso, esta presunción es llamada “suposición de mundo
cerrado” (CWA, Closed World Assumption). Esta interpretación es usada principalmente
cuando la base de conocimiento contiene todos los factores relevantes, esto lo
podemos apreciar en bases de datos empresariales, es decir se acepta que la
información contenida es completa.
En oposición a la primera, la otra presunción asume que la falta de determinado
conocimiento no quiere decir que sea falso, la cual es llamada “suposición de mundo
abierto” (OWA, Open World Assumption). Se parte que la base de conocimiento es
incompleta (no se cuenta con suficiente información para producir una respuesta a una
pregunta), es decir lo que no se conoce está indefinido y la “mejor” repuesta debe ser
derivada de la información incompleta, situación esta familiar para la mayoría de las
personas.
CWA es mucho más estricto y menos diplomático; es decir más absolutista: se obtiene
lo que se conoce sin hacer suposiciones. En su formalización, para un mayor alcance
pueden adicionarse a la base de conocimiento negaciones de los literales que no están
comprendidos actualmente en dicha base.
I.7.3 Modelos de datos conceptuales y lenguajes ontológicos
Un modelo de datos conceptual, es un tipo de ontología. Esto es una definición de
categorías de datos, donde la descripción gráfica proporciona las bases para la
discusión y negociación del significado de estas categorías. Unido al análisis de las
reglas de negocio permiten el entendimiento por parte de los humanos y que los
sistemas de cómputo puedan realizar inferencias.
El propósito de la modelación de datos está basada sobre la “suposición de mundo
cerrado”(solo es acertado lo que es conocido) y los lenguajes ontológicos se basan en
la “suposición de mundo abierto” (todas las afirmaciones son asumidas como
verdaderas hasta que se pruebe lo contrario).
24
Esto significa que al construir un sistema usando modelación de datos:
Solo se pueden introducir datos que se sabe que son válidos.
Se está obligado a entrar información completa.
No existen otros datos.
Las clases de las entidades del modelo de datos y las tablas derivadas son
plantillas.
Con una base de datos ontológica:
Se puede introducir lo que se conoce como cierto.
Se puede entrar información incompleta.
Las personas y sistemas de computo pueden inferir otras cosas.
Las clases ontológicas son un simple conjunto de cosas.
I.8 Conclusiones del capítulo
Con el objetivo de brindar los aspectos fundamentales de las ontologías, a lo largo del
capítulo se hace referencia a las definiciones más importantes de ontologías, así como
los componentes y clasificaciones de las mismas. Se destacan además, las campos de
aplicación, tales como la Web Semántica, ingeniería del conocimiento y sistemas de
información. De igual forma se tratan conceptos estrechamente vinculados con las
ontologías que permiten alcanzar un mayor entendimiento y alcance de las mismas,
tales como la modelación de datos, los metadatos y la interoperabilidad de sistemas,
donde las ontologías dan solución a muchos de los impedimentos encontrados.
Se destaca la clasificación de ontologías en base a la aplicabilidad la cual permite
definir los aspectos distintivos en el proceso de construcción de ontologías. Dentro de
esta clasificación las ontologías de dominio son las de más aplicación y las más
generalizadas, pues la mayoría de las organizaciones al representar algún
conocimiento es el del dominio propio o con el que tengan alguna relación. De esta
25
forma es el tipo de ontología para las que en el presente trabajo proponemos el Marco
de Trabajo.
26
II. Caracterización de metodologías, lenguajes, herramientas y razonadores de ontologías. Propuesta de Marco de Trabajo para el desarrollo de ontologías
de dominio.
En el desarrollo de una aplicación ontológica se debe transitar por diferentes etapas,
donde en cada una de ellas se toman decisiones importantes, como es la metodología
a utilizar, el lenguaje, la herramienta y el razonador. Contar con el conocimiento
necesario para determinar de forma efectiva que decisión tomar en cada etapa permitirá
el éxito de dicha aplicación.
En estos momentos existen gran cantidad y variedad de metodologías, lenguajes,
herramientas y razonadores para el tratamiento de ontologías, que han sido creados y
desarrollados en los últimos años. En el presente capítulo se exponen las más
representativos y utilizados, donde se caracterizan, de forma tal que se destacan sus
aspectos más relevantes, tanto favorables como desfavorables para el desarrollo de
determinados tipos de ontologías. Al concluir cada tema se indica el elemento elegido
para conformar el Marco de Trabajo que se propone, dicha conformación se basa en
tipos de ontologías de dominio.
II.1 Metodologías para la construcción de ontologías
En esta sección se aborda lo relacionado con las metodologías para la construcción de
ontologías. Se caracterizan las principales metodologías existentes. IDEF5 y
Methontology son propuestas de metodologías de propósito general para la
construcción de ontologías.
II.1.1 Pasos y principios para la construcción de ontologías
A pesar de que existen varias metodologías para el diseño de ontologías, no existe una
metodología estándar al no establecerse un acuerdo entre la comunidad involucrada,
27
pero si pueden distinguirse 4 pasos fundamentales (Uschold and Gruninger, 1996) en la
creación de ontologías que pueden ayudar en este proceso:
1. Identificar el propósito y el alcance: Esta fase lo que va a intentar conseguir es
especificar el contexto de aplicación y el punto de vista del modelado. El contexto
de aplicación describe el dominio de aplicación, los objetos de interés del
dominio y las tareas que van a realizarse por la ontología; es decir, para que va a
construirse. El modelado del punto de vista describe el tipo de modelo, tales
como dinámico-estático, funcional-causal, etc.
2. Construcción de la ontología: Este paso a su vez puede dividirse en Captura;
Codificación, que es la representación explícita de la conceptualización en un
lenguaje formal; Integración de las ontologías existentes, es decir, cómo,
cuáles y si va a usarse alguna ontología previamente existente, reutilizando así
conocimiento.
3. Evaluación: Esta fase trata de hacer un diseño definitivo y evaluarlo. Aquí debe
de considerarse aspectos como la posible reutilización de la ontología para la
construcción de ontologías futuras.
4. Documentación y reutilización: La documentación, ha de hacerse de forma
paralela a los puntos anteriores, y debe de cumplirse la metodología usada para
la construcción, diferencias semánticas con las ontologías seleccionadas,
justificación de las decisiones tomadas, evaluación, conocimiento adicional para
usarla, etc. También ha de ser indexada y colocada con las ontologías existentes
para su posible reutilización.
De todas formas, aunque se sigan los pasos anteriores para la construcción de una
ontología, debe tenerse en cuenta los siguientes principios de construcción (VAN
HEIJST et al., 1996):
1. Claridad y objetividad: Una ontología debe proveer al usuario con el significado
del término de forma objetiva, y también, en lenguaje natural para su
comprensión.
28
2. Completitud: Las definiciones han de ser expresadas en términos necesarios y
suficientes.
3. Coherencia para asegurar que las inferencias realizadas de ésta, sean
consistentes con las definiciones.
4. Máxima extensibilidad monótona: Es decir, que las especializaciones o
generalizaciones deben ser incluidas en la ontología de tal forma que no se
requiera una revisión de las definiciones preexistentes.
5. Principio de distinción ontológica: Las clases en una ontología deben ser
disjuntas.
6. Diversificación: Se han de diversificar las jerarquías incluidas para aumentar la
potencia de los mecanismos de herencia múltiple.
7. Modularidad para disminuir el acoplamiento entre los módulos.
8. Estandarización de los nombres, siempre que esto sea posible.
9. Minimización de la distancia semántica entre conceptos emparentados.
Conceptos similares estarán agrupados y representados utilizando las mismas
primitivas.
II.1.2 IDEF 5
IDEF5 es una metodología sobre la base de un modelo de desarrollo de prototipos
diseñado para asistir la creación y dirección de modelos de ontología de dominio, usa
los términos tipo para referirse a las clases y características para los atributos de las
clases. La metodología es dividida en cinco actividades: organización y alcance,
recolección de datos, análisis de datos, desarrollo de la ontología inicial, y los
refinamientos y validación de la ontología.
II.1.2.1 Organización y alcance
El diseñador primeramente debe establecer el propósito, contexto y el punto de vista
para el proyecto de desarrollo de ontología y asignar los roles a los miembros del
29
equipo. El punto de vista describe desde que perspectiva el dominio está siendo
diseñado, por ejemplo, desde el punto de vista del diseñador del proyecto.
II.1.2.2 Recolección de datos
Con el proyecto definido, el diseñador debe determinar qué información debe contener
la ontología. IDEF5 define tres modos de recolección de datos: la observación de las
actividades, las entrevistas y análisis con expertos de dominio, y transcripción directa de
datos de documentos del dominio. Seis tipos diferentes de formas son usadas para
catalogar la fuente y conjunto de términos. El conjunto de términos es similar a una lista
creada por la tormenta de ideas; representa los términos significativamente relevantes
para el desarrollo de la ontología. Estos términos podrían convertirse en tipos,
relaciones, o características en la ontología.
II.1.2.3 Análisis de datos
El objetivo de este paso es analizar la fuente material y el conjunto de términos del paso
anterior y formular una caracterización inicial de la ontología. Listar objetos de interés
en el dominio es la primera parte de esta caracterización. El punto de vista y el contexto
del proyecto, es determinante en la actividad de organización y alcance, así como
encamina al nivel de detalle para especificar objetos. El equipo debe buscar sistemas
de objetos que trabajen en conjunto para lograr objetivos comunes.
II.1.2.4 Desarrollo de la ontología inicial
La actividad de desarrollo de la ontología inicial desarrolla proto-tipos, proto-
propiedades, proto-atributos, y proto-relaciones. El proto sólo se refiere al hecho de que
éstos son el primer intento por especificar estos conceptos en la ontología. IDEF5
provee una representación visual de la ontología con el propósito de que la ontología
puede ser desarrollada gráficamente.
II.1.2.5 Validación y refinamiento de la ontología
El diseñador debe asegurar ahora que la ontología desarrollada contenga toda la
información del dominio. Esta actividad completa el proceso de diseño validando y
refinar los proto-conceptos en la ontología desarrollada. El analista debe instanciar los
30
proto-tipos usando ejemplos de datos en el dominio. Cualquier información del dominio
que no pueda ser representada por un proto-tipo debe ser analizada para determinar si
es necesitado en la ontología. Si lo es, entonces debe desarrollarse un nuevo tipo o
ampliar el existente para incorporar la información. Finalmente, los tipos deben ser
verificados para asegurar que no hay duplicados. Las relaciones son verificadas en un
procedimiento similar para asegurar que no hay ausencias, duplicaciones o relaciones
contradictorias. La ontología puede ser cambiada del lenguaje de esquemas gráficos de
IDEF5 al lenguaje de elaboración de IDEF5. El lenguaje de elaboración es un lenguaje
de texto estructurado con gran poder en lógica de primer-orden.
II.1.3 Methontology
Methontology esta basada en la experiencia de Fernández (Fernández-López et al.,
1999) en la construcción de una ontología para un dominio de la Química y es un
método estructurado para la construcción de ontologías, incluye la identificación del
proceso de desarrollo de ontologías, ciclo de vida basado en el desarrollo de prototipos
y técnicas particulares para la realización de cada actividad.
II.1.3.1 Proceso de desarrollo de Ontologías
El proceso de desarrollo de ontología (Fernández-López et al., 1997) hace referencia a
cuales actividades son realizadas. Es crucial identificar estas actividades para llegar a
un acuerdo sobre ontologías que son desarrolladas cooperativamente por equipos
geográficamente distantes, con alguna garantía de corrección y completitud. Si esto es
el caso, es aconsejable hacer tres categorías de actividades que se presentan a
continuación (Figura II-1).
31
Figura II-1
Proceso de desarrollo Methontology.
Actividades de Dirección de Proyecto: incluyen la planificación, el control y la
garantía de la calidad. La planificación identifica qué tareas son desarrolladas, cómo
serán organizadas, cuánto tiempo y qué recursos son necesarios para su terminación.
Estas actividades son esenciales para reusar ontologías que ya han sido desarrolladas
o para la construcción de ontologías que requieren diferentes niveles de conceptos
abstractos y generalización. El Control garantiza que las tareas planeadas sean
completadas de acuerdo con la manera en que fueron deseadas desarrollar.
Finalmente, la garantía de la calidad, garantiza que la calidad de todo y cada uno de los
productos obtenidos (ontología, software y documentación) sean satisfactorias.
Actividades orientadas al desarrollo: incluyen la especificación, la conceptualización,
la formalización, implementación y mantenimiento. La especificación dice por qué está
siendo desarrollada la ontología, cuales son sus usos propósitos y quienes son los
usuarios finales. La conceptualización estructura los conocimientos del dominio como
modelos significativos en el nivel de conocimientos. La formalización transforma el
modelo conceptual en un modelo formal o semi-computable. La implementación
desarrolla modelos computable en un lenguaje computacional. Finalmente, el
mantenimiento actualiza y corrige la ontología.
32
Actividades de soporte: incluyen series de actividades desarrolladas a la misma vez
como actividades orientadas al desarrollo, sin las que la ontología no pudiera ser
desarrollada. Estas incluyen la adquisición de conocimientos, la evaluación, la
integración, la documentación y el manejo de configuración. La adquisición de
conocimientos obtiene conocimientos de un dominio en particular. La evaluación hace
una valoración técnica de las ontologías, sus ambientes de software asociados y
documentación con respecto a un marco de referencia durante cada fase y entre las
fases de su ciclo de vida. La integración de ontologías es requerida cuando se
desarrolla una nueva ontología rehusando otras que ya están disponibles. La
documentación detalla, claramente y exhaustivamente, todas y cada una de las fases
terminadas y productos generados. El manejo de de configuración registra todas las
versiones de la documentación, los software y los códigos de ontología para controlar
los cambios.
II.1.3.2 Ciclo de vida de ontologías
Esto Identifica el conjunto de etapas a través de las cuales las ontologías se mueven
durante su vida, describe qué actividades van a ser desarrolladas en cada etapa y
cómo están relacionadas (relación de precedencia, retorno, etcétera.). Se justifica por
qué el ciclo vida de ontologías debe estar basado en el desarrollo de prototipos. Para
cada prototipo, Methontology propone la especificación de la ontología en primer lugar.
Simultáneamente con esta fase, la actividad de adquisición de conocimientos comienza.
Una vez que el primer prototipo ha sido especificado, la construcción del modelo
conceptual es realizada en la fase de conceptualización. Esto es como ensamblar un
rompecabezas con las piezas suministradas por la actividad de adquisición de
conocimientos. El rompecabezas es completado durante la etapa de conceptualización.
Después de la conceptualización, la formalización e implementación de conocimientos
son llevadas a cabo.
La formalización no es una actividad obligatoria, porque con el uso de herramientas de
ontología el modelo de conceptualización es generalmente implementado
automáticamente con traductores a lenguajes de ontologías.
33
El control, la calidad, la integración, la evaluación, la documentación, y el manejo de
configuración son llevadas a cabo simultáneamente por las actividades de desarrollo.
Sin embargo, la etapa donde el esfuerzo es mayor para realizar la integración y
evaluación es en la conceptualización.
II.1.4 Propuesta de Metodología para el Marco de Trabajo
Además de las metodologías descritas anteriormente existes muchas otras, así como
trabajos realizados por diferentes autores donde realizan comparaciones de las mismas
(Corcho et al., 2003), en la siguiente tabla se comparan algunas de estas metodologías.
Características CYC Uschold & King
Grüninger &Fox
KACTUS METH0N- T0L0GY
IDEF5 0TK
Ciclo de vida propuesto
Desarrollo de prototipos
No propuesta Desarrollo de prototipos o incremental
Desarrollo de prototipos
Desarrollo de prototipos
Desarrollo de prototipos
Incremental y cíclica con desarrollo de prototipos
Estrategia con respecto a la aplicación
Independiente de aplicación
Independiente de aplicación
Semi- dependiente de aplicación
Dependiente de aplicación
Independiente de aplicación
Independiente de aplicación
Dependiente de aplicación
Estrategia para identifícar conceptos
No especificada
Middle-out Middle-out Top-down Middle-out Middle-out Top-down. bottom-up, middle-out depende de la aplicación
Uso de una ontología base
Si No No No No No Depende de los recursos disponibles para el Proyecto
Herramientas que dan soporte
Cyc Ninguna específíca
Ninguna específica
Ninguna específica
0DE Web0DE 0ntoEdit Protégé2000
Ninguna específica
0ntoEdit con sus plugins
Como se puede apreciar, Methontology se destaca en muchas características
comparativas, tales como en las herramientas que pueden ser utilizadas, se pueden
construir ontologías tanto partiendo de cero como reusando otras, no fue concebido
para un tipo particular de aplicaciones. Unido a esto se debe destacar que existe mayor
experiencia y posibilidades en su utilización. Un elemento distintivo es que fue creada
34
para resolver ontologías de dominio y todo su perfeccionamiento ha estado basado en
tal sentido. Por tales razones, para el Marco de Trabajo propuesto en el presente
trabajo se ha seleccionado la metodología Methontology.
II.2 Lenguajes de especificación de ontologías
Cada una de las metodologías descritas en la sección previa describen la codificación
de la ontología en un lenguaje lógico formal para ser expresada. Algunos de estos
lenguajes están basados en la lógica de predicados de primer orden, otros son
basados en frames(taxonomías de clases y atributos), con más poder expresivo pero
menos capacidad de inferencia y otros orientados a ser robustos en el razonamiento,
que generalmente proveen un conjunto bastante rico de primitivas, pero imponen muy
fuertes restricciones sintácticas en cuanto a como esas primitivas pueden ser
combinadas, y como pueden ser usadas para definir una clase.
Existen múltiples lenguajes asociados con ontologías. En la actualidad existen muchos
de estos lenguajes, sin embargo, no todos ellos van a permitir el mismo nivel de
expresividad a la hora de definir ontologías. A la hora de elegir un lenguaje para la
definición de ontologías, deben de tenerse en cuenta los siguientes requisitos:
Debe poseer una sintaxis bien definida para ser capaz de poder leer las
ontologías, que se definan mediante este lenguaje. Este es un requisito bastante
obvio.
Debe tener semánticas bien definidas, para poder ser capaz de comprender las
ontologías.
Debe tener suficiente expresividad para poder capturar varias ontologías.
Debe ser fácilmente maleable desde/hacia otros lenguajes ontológicos.
Debe ser eficiente a la hora de realizar razonamiento.
A continuación abordaremos algunos de los lenguajes más representativos, donde
finalmente se concluye con la elección del lenguaje para el Marco de Trabajo.
35
II.2.1 SHOE (Simple HTML Ontology Extensions)
Se desarrolló originalmente por el Grupo PLUS en la Universidad de Maryland en 1995,
constituyendo el primer lenguaje de etiquetado para diseñar ontologías en la Web,
antes de la aparición de la Web Semántica. Combina las características de los
lenguajes de marcado, de la representación del conocimiento, de datalog y de las
ontologías en un intento de abordar de forma única los problemas de la semántica en la
Web. El lenguaje soporta adquisición del conocimiento aumentando la Web con
etiquetas que suministran semántica.
Permite definir clases y relaciones entre clases, así como reglas de inferencia
expresadas en forma de cláusulas de Horn (Luke, 1996). Su principal carencia es que
no dispone de mecanismos para expresar negaciones o disyunciones. Con él se
desarrollaron muchos editores, buscadores, APIS, etc.; pero este proyecto fue
abandonado a medida que se desarrollaron OIL y DAM; aunque también existe una
serialización de este lenguaje en XML.
II.2.2 Ontolingua
Creado por KSL (Knowledge Systems Lab) en la Universidad de Stanford, es una
forma de lenguaje para la representación y el desarrollo compartido de ontologías. Se
diseña agregando representación mediante frames y traduciendo funcionalidades al KIF
(Knowledge Interchange Format). Este puede traducir desde y hasta algunos lenguajes
lógicos de descripción como: Loom, Epikit, etc.
Usa una notación tipo LISP para expresar la ontología, sin soportar máquina de
inferencia, posee escaso poder de expresividad por lo que no es idóneo para el Diseño
de Bases de Datos. Presenta un ambiente de desarrollo con un conjunto de funciones
para la construcción de la ontología como: browse, create, edit, modif.,etc, y una
biblioteca de ontologías modulares y reusables. Aunque había sido un lenguaje
importante para la representación de ontologías desde que comenzó su desarrollo, no
es recientemente activo debido al advenimiento de otros lenguajes como XML.
II.2.3 RDF (Resource Description Framework) y RDFS (RDF Schema)
36
RDF es un framework desarrollado por el W3C (consorcio WWW), es un lenguaje de
etiquetado, creado mediante sintaxis XML, que define un modelo de datos para
describir recursos (cualquier objeto identificable por un URI), mediante enunciados o
asertos en forma de tripletas sujeto-predicado-objeto, donde sujeto y predicado son
URIs y objeto puede ser un URI o un valor literal. Ya que RDF es un vocabulario XML,
puede describir recursos de forma externa a éstos o de forma embebida, siempre y
cuando estos recursos tengan sintaxis XML.
Por otro lado, RDF Schema es un vocabulario RDF que nos permite describir recursos
mediante una orientación a objetos similar a la de muchos lenguajes de programación
como Java. Para ello, proporciona un mecanismo para definir clases, objetos y
propiedades; relaciones entre clases y propiedades; y restricciones de dominio y rango
sobre las propiedades. Además, RDF cuenta con semánticas y un modelo gráfico
intuitivo proporcionados por un modelo teórico inspirado por la lógica de primer orden.
II.2.4 OIL (Ontology Inference Layer)
Desarrollado en el marco del proyecto On-To-Knowledge y el proyecto IBROW4 y
derivado en parte de SHOE, es el primer lenguaje de representación de ontologías
basado en estándares W3C. Basado en la Web para la representación e inferencia,
estructurado por varias capas de sub-lenguajes, entre ellas tenemos como capa base
RDF, a la que cada una de las capas subsiguientes añade alguna funcionalidad y
mayor complejidad. Esto posibilita, teóricamente, la reutilización de agentes diseñados
para RDFS, que podrían procesar ontologías OIL (Fensel, 2002).
Utiliza ya la sintaxis del lenguaje XML y está definido como una extensión de RDFS. Se
basa tanto en la lógica descriptiva (declaración de axiomas) y en los sistemas basados
en frames. Pretende conseguir la interoperabilidad semántica entre recursos web. La
principal carencia de este lenguaje es la falta de expresividad para declarar axiomas.
OIL se encuentra estructurado en varias capas de sublenguajes. La capa base o núcleo
de OIL coincide plenamente con RDFS, a excepción de la reificación, y cada una de las
capas superiores añade funcionalidad y complejidad a su capa subyacente. Esto
37
posibilita, teóricamente, la reutilización de agentes diseñados para RDFS, que podrían
procesar ontologías OIL.
Entre las limitaciones de OIL (Horrocks, 2000) podíamos destacar las siguientes: no
ofrece la posibilidad de sobreescritura de valores heredados de una superclase;
presenta falta de expresividad en la declaración de axiomas (reglas); y, no soporta
dominios concretos (ej.: números enteros, cadenas de caracteres, etc.).
II.2.5 DAML + OIL
Resultado de la cooperación entre OIL y DARPA unificando los lenguajes DAML
(DARPA's Agent Markup Language) y OIL (Ontology Inference Layer). Se basa ya en
estándares del W3C. El lenguaje DAML se desarrolló como una extensión del lenguaje
XML y RDF, donde para extender el nivel de expresividad de RDFS, DAML+ OIL
hereda muchas de las características de OIL, pero se aleja del modelo basado en
clases (frames) y potencia la lógica descriptiva. Es más potente que RDFS para
expresar ontologías. En la última revisión del lenguaje (DAML+OIL) ofrece ya un rico
conjunto de elementos con los cuales se pueden crear ontologías y marcar la
información para que sea legible y comprensible por los sistema de computo. También
funciona como formato de intercambio. Sin embargo, este lenguaje presenta algunas
carencias debido a su complejidad conceptual y de uso, complejidad que se intentó
solventar con el desarrollo de OWL. No obstante, se desarrollaron muchas aplicaciones
que utilizan DAML-OIL y también existen herramientas para convertir DAML a OWL
II.2.6 KIF (Knowledge Interchange Format)
Está basado en lógica de predicados de primer orden, es uno de los más recientes y
populares entre la comunidad científica. Se han introducido nociones fundamentales del
lenguaje y representado una relación, una clase, una función y una instancia a través
de un axioma. KIF tiene una notación parecida a LISP, para representar los axiomas, es
una sintaxis case-sensitive, prefija para cálculo de predicados con términos funcionales
e igualdad. Se trata de un lenguaje diseñado para intercambiar conocimiento entre
sistemas de computación distintos, diferentes lenguas, etc.; y no para la interacción
entre seres humanos. Los objetos son denotados como constantes o expresiones de
38
términos, las que son construidas de listas cuyo primer elemento es una constante
función. Las sentencias se forman de listas cuyo primer elemento es una constante
relación y el resto son términos, o por operaciones lógicas sobre sentencias.
II.2.7 OWL (Web Ontology Language)
Es un lenguaje de etiquetado semántico para publicar y compartir ontologías en la Web.
Se trata de una recomendación del W3C, y puede usarse para representar ontologías
de forma explícita, es decir, permite definir el significado de términos en vocabularios y
las relaciones entre aquellos términos (ontologías). En realidad, OWL es una extensión
del lenguaje RDF y emplea las tripletas de RDFS, aunque es un lenguaje con más
poder expresivo que éste. Se trata de un lenguaje diseñado para usarse cuando la
información contenida en los documentos necesita ser procesada por programas o
aplicaciones, en oposición a situaciones donde el contenido solamente necesita ser
presentado a los seres humanos. OWL surge como una revisión al lenguaje DAML-OIL
y es mucho más potente que éste. Al igual que OIL, OWL se estructura en capas que
difieren en la complejidad y puede ser adaptado a las necesidades de cada usuario, al
nivel de expresividad que se precise y a los distintos tipos de aplicaciones existentes
(motores de búsqueda, agentes, etc.).
OWL utiliza la conexión proporcionada por RDF para añadir las siguientes capacidades
a las ontologías:
• Capacidad de ser distribuidas a través de varios sistemas
• Escalable a las necesidades de la Web
• Compatible con los estándares Web de accesibilidad e internacionalización
• Abierto y extensible
OWL fue diseñado para cumplir los siguientes objetivos (Zhihong and Mingtian, 2003):
Las ontologías OWL deben ser públicas y apropiadas para el compartimiento,
con el objetivo de que sistemas diferentes puedan referenciar una misma
ontología.
39
OWL debe permitir que las ontologías interoperen entre sí cuando los mismos
conceptos son representados en ontologías diferentes, propiciando una red de
ontologías.
Debe ser posible detectar inconsistencias entre diferentes ontologías que son
contradictorias.
OWL debe propiciar un balance entre expresividad y tratamiento computacional,
que permita el razonamiento. El lenguaje más expresivo es el menos tratable
computacionalmente.
OWL debe ser fácil de usar e intuitivo.
OWL debe ser compatible con otros estándares como XML o UML.
OWL debe ser compatible con la internacionalización (uso en diferentes
lenguajes).
OWL se divide en tres sublenguajes OWL-Lite, OWL-DL y OWL-Full, cada uno de los
cuales proporciona un conjunto definido sobre el que trabajar. OWL-DL basado en
Lógica Descriptiva (Description Logic, DL), tiene semánticas bien definidas y es
soportado por algoritmos completos de razonamiento. OWL-DL está compuesto por
capas de subconjuntos de RDFS, permitiendo una estricta separación de clases,
propiedades y sujetos. OWL-Full es más completo e incluye RDFS sin restricciones.
OWL-Lite es más sencillo ya que es un subconjunto de OWL-DL.
II.2.8 Propuesta de lenguaje para el Marco de Trabajo
Para el Marco de Trabajo que se proponen en el presente trabajo se selecciona OWL
como lenguaje de representación de ontologías, puesto que OWL es unos de los más
completos ya que añade más vocabulario; es decir es mucho más expresivo que otros
para describir relaciones, como por ejemplo que RDF-Schema, lo cual es muy valioso
para desarrollar ontologías de dominio. Además OWL, permite razonar y definir
operaciones sobre la información y describir relaciones de más alto nivel entre clases,
sin entrar en detalles de cómo se estructura dicha información. A la hora de diseñar un
sistema, el desarrollador no tiene que pensar tanto en qué campos o atributos
40
componen cada clase, sino modelar cómo se relacionan unas con otras. Otra ventaja
de OWL es que esta basado en XML, lo cual facilita la compartición de información
entre diferentes sistemas.
En la siguiente tabla comparativa se puede apreciar la superioridad del OWL respecto a
otros lenguajes en cuanto a las características más relevantes de estos lenguajes.
XML DTD
XML(S)
RDF(S) DAML+OIL RDF(2002) OWL
Listas limitadas X X X Restricciones de cardinalidad X X X X Expresiones de clases X X Tipos de datos X X X X Clases definidas X X Enumeraciones X X X X Equivalencias X X Extensibilidad X X X X Semántica formal X X X Herencia X X X X Inferencia X X Restricciones locales X X Restricciones cualificadas X X Reificación X X X X
II.3 Herramientas para la construcción de ontologías
Existen herramientas para diseñar gráficamente ontologías, que permiten que el
diseñador vea la información que está codificada en la ontología de forma gráfica,
reduciendo así la sobrecarga de información (Duineveld et al., 2000). Cada una de
estas herramientas tienen características que permiten valorar cuan efectivas son al
utilizarlas para definir una ontología, por lo que en la presente sección, de las
herramientas más populares y representativas, se realiza una caracterización basada
fundamentalmente en:
Descripciones generales de las herramientas, la cual incluye información sobre el
desarrollo de dichas herramientas.
La arquitectura del software y evolución de la herramienta, que incluye la
arquitectura de la herramienta, cómo la herramienta puede ser extendida con
41
otras funcionalidades y módulos, cómo las ontologías son almacenadas (bases
de datos, fichero texto, etcétera).
Interoperabilidad con el desarrollo de otros lenguajes y herramientas de
ontologías, que incluye las capacidades de interactuar entre ellas.
Representación del conocimiento, donde se presenta el paradigma de
representación del conocimiento que está debajo del modelo de conocimiento de
la herramienta. Esta representación del conocimiento es muy útil para saber qué
y cómo puede ser modelado el conocimiento con la herramienta. Se analizará si
la herramienta mantiene cualquier lenguaje para la construcción de axiomas.
Servicios de inferencias, se analizará si la herramienta tiene alguna máquina de
inferencia, y si dicha herramienta presenta algún chequeo de restricción y/o
consistencia(todas las clases deben tener la posibilidad de ser instanciadas
directamente o en alguna de las que de ella se deriva).
Sobre la base de estos aspectos a continuación se realiza una caracterización de
algunas de las herramientas disponibles para el desarrollo de ontologías, donde
finalmente se propone la más efectiva para el Marco de Trabajo.
II.3.1 OILEd
OILEd es un editor gráfico de ontologías desarrollado por la Universidad de
Manchester, que permite al usuario construir ontologías usando DAML+OIL. El modelo
de conocimiento de OILEd está basado sobre el modelo de conocimiento DAML+OIL.
Las clases son definidas en términos de sus superclases y restricciones de propiedad
con axiomas adicionales que capturan las relaciones extensas como el disjoint.
Un aspecto importante de OILEd es el uso del razonador FaCT, para la clasificación de
ontologías y el chequeo de consistencia, lo cual permite al usuario describir sus clases
de ontologías. DAML+OIL Esquema RDF se usa para cargar y guardar las ontologías.
Además, la herramienta leerá y escribirá las jerarquías de concepto en puro RDF y dará
las definiciones de la ontología como HTML para la navegación y como SHIQ para la
clasificación más tarde por el razonador FaCT.
42
OILEd versión 3.4 está implementado en Java y está libremente disponible en el sitio
Web de OILEd.
II.3.2 OntoEdit
OntoEdit es un ambiente de diseño que soporta el desarrollo y mantenimiento de una
ontología usando los medios gráficos. El proceso de desarrollo de la ontología en
OntoEdit es basado sobre su propia metodología, y es originalmente basado en
Common KADS. Dos herramientas, OntoKick y Mind2Onto, están preparados para
soportar la fase de captura de la ontología. OntoKick es diseñada para informáticos
quienes están familiarizados con el proceso de desarrollo de software, e intentan
construir estructuras relevantes para edificar la descripción de la ontología informal.
Mind2Onto es una herramienta gráfica para capturar relaciones informales entre los
conceptos. Es fácil de usar porque tiene una buena interfaz visual y permite una
identificación individual de relaciones entre conceptos. Sin embargo, esto es necesario
para convertir el mapa dentro de una organización más formal para generar una
ontología.
Su paradigma trabaja sobre el modelo de representación de lenguajes neutral tanto
para los conceptos, relaciones y axiomas.
Esta herramienta le permite al usuario editar una jerarquía de conceptos o clases,
donde estas clases pueden ser abstractas o concretas, lo cual indica si se permite o no
realizar instancias directamente de las clases. Una clase puede tener varios nombres,
lo que esencialmente es una manera de definir sinónimos para esa clase.
Como la mayoría de otras herramientas, OntoEdit emplea la arquitectura
cliente/servidor, donde las ontologías son manejadas en un servidor y acceden
múltiples clientes, y se modifica solo uno. Además esta herramienta está basada en
plugin.
Todas las versiones de OntoEdit están disponibles en una versión libre y otra
profesional, donde las versiones profesionales incluyen además un conjunto de plugins.
Su funcionalidad está extendida por:
43
1- Un plugin de inferencia para el chequeo de consistencia, clasificación y ejecución de
reglas.
2- Ingeniería colaborativa de ontologías.
3- Un servidor de ontologías para la administración de bibliotecas de ontología.
OntoEdit Versión Profesional 2.0 y 2.5 incluye la funcionalidad 1, mientras que la
versión 3.0 incluye las funcionalidades 2 y 3.
II.3.3 Protégé
De todas las herramientas existentes, Protégé, desarrollada por el grupo Stanford
Medical Informatics en la Stanford University School of Medicine con la ayuda de
National Library of Medicine, National Science Foundation, y Defense Advanced
Research Projects Agency, es la de más amplio uso actualmente. Es un software libre y
de código abierto, usado por numerosos expertos en diferentes dominios.
Protégé, permite el desarrollo de ontologías al hacer más fácil el trabajo de forma
simultánea con clases e instancias. Así, una instancia singular puede ser usada en el
mismo nivel de la definición de una clase, y una clase puede ser almacenada como una
instancia. Por su parte, los atributos (slots), que inicialmente fueron empleados solo
dentro de las clases, ahora son elevados al mismo nivel que las clases, y pueden tener
significado sin pertenecer a alguna de ellas. A su vez, a efectos de facilitar el ingreso de
datos, cada clase se asocia a un Form, y cada slot se asocia a un SlotWidget (objeto de
edición del slot según el tipo de dato que sea), de forma que la interfase al usuario
pueda ser diseñada y modificada para facilitar al usuario el ingreso de instancias.
Protégé es un ambiente visual de diseño y registro de ontologías, en las primeras
versiones orientado a frames y slots desarrollado en Java, puede correr en forma
independiente en un PC y funciona perfectamente sobre WINDOWS. Dispone de un
conjunto importante de plugins con orígenes diversos, con la posibilidad de que sean
conectados otros de estos módulos externos y proporcionar una funcionalidad adicional,
haciendo así a Protégé extensible, aumentando su utilidad y adaptación según las
necesidades. En el 2003 fue extendido para soportar OWL a través de la creación del
44
OWL plugin, el cual también proporciona interfases para razonadores de lógica
descriptiva.
Las ontologías creadas en Protégé pueden ser exportadas a varios formatos como
RDF(S),OWL y XML(S). En las versiones más recientes se tiene la posibilidad de editar
clases y sus características, acceder a motores de razonamiento, editar y ejecutar
consultas y reglas, comparar ontologías, visualizar relaciones entre conceptos y obtener
instancias usando procesamientos configurables por el usuario.
II.3.3.1 PAL (Protégé Axiom Language)
Protégé tiene su propio lenguaje interno para definir ontologías, PAL(Protégé Axiom
Language), pero permite también trabajar con RDF y OWL de modo transparente. El
PAL plugin, agrega funcionalidad a las reglas y restricciones básicas de Protégé
mediante la incorporación de un editor de reglas, verificador sintáctico, la ejecución y
verificación de las reglas y consultas.
Cada regla o consulta se compone de un nombre (:PAL-NAME), una descripción (:PAL-
DESCRIPTION), un rango que es la declaración de las clases y eventualmente los slots
que estarán involucrados (:PAL-RANGE), y una declaración de la regla o consulta en
KIF (:PAL-STATEMENT). Las reglas se pueden asociar a clases o slots, como
restricciones, lo que hace opcional la declaración de esas clases en el slot de rango de
la regla. De todas maneras para completitud siempre se declaró el rango de las clases
para las instancias involucradas en Consultas y Restricciones.
El razonador a utilizar puede verificar y evaluar las reglas, consultas o restricciones,
indicando si son correctas, dando advertencias y/o presentando las instancias que
verifican las consultas o que transgreden las reglas.
II.3.3.2 Interfaz
La interfaz de Protégé permite mucha flexibilidad y facilidad para el ingreso de datos
uno a uno, pero no hay mecanismos prácticos para el ingreso masivo de información.
En general para el ingreso masivo se puede optar por ingresar la información con otros
medios directamente dentro de los archivos de cada proyecto.
45
Constituye un entorno abierto y fácil de extender, que ha generado en torno suyo toda
una comunidad que contribuye activamente a ampliar el entorno con todo tipo de
contribuciones en forma de plugins, haciendo de esta herramienta un entorno
sumamente potente.
El modelo de conocimiento de Protégé es OKBC. Esto hace que esta herramienta
incluya además de las clases, jerarquías de clases con múltiples herencias, se facilita
la creación de una estructura de frames con clases, formularios, slots e instancias de
una forma integrada. Protégé contiene un diseño ontológico gráfico e interactivo. Desde
cualquier ventana de instancias se puede hacer un drill-down(cambio rápido) a las otras
instancias asociadas en las diferentes relaciones, lo que hace muy práctica la
navegación entre los conceptos. Además es capaz de mantener relaciones y sus
relaciones inversas de forma automática.
Como contrapartida, no tiene muy desarrolladas las verificaciones sintácticas, ni
tampoco indicadores útiles para que el desarrollador pueda encontrar el origen de los
problemas. Además tiene problemas para manejar reglas y grandes consultas.
II.3.3.3 Posibilidad de incorporar nuevas funcionalidades (Plugins)
Existen muchas herramientas que no cubren de forma absoluta todas las posibilidades
que se pudieran necesitar en determinado momento, pero lo que hace más potente una
herramienta es que propongan e implementen los mecanismos para darle solución a la
incorporación de nuevas funcionalidades.
Protégé, brinda varias posibilidades que permiten hacer extensivas otras
funcionalidades que se necesiten incorporar a las ontologías; así como el uso de
determinadas facilidades que se integran al mismo. Particularmente, en Protégé esto se
logra a través de los plugins.
Como se explicó anteriormente Protégé tiene su propio lenguaje de definición de
ontologías (PAL), además de permitir la utilización e integración de RDF y OWL a través
de plugins disponibles, en ocasiones estos lenguajes no brindan todas las facilidades
necesarias para expresar determinados requerimientos y exigencias que se imponen.
Algunas de estas limitaciones (Cregan et al., 2005) las encontramos al representar la
46
ontología, donde se muestran dificultades al expresar las restricciones del problema, ya
que además de contar con definiciones expresadas en términos no solo de condiciones
“necesarias” y “necesarias y suficientes”, deben permitir definiciones parciales (por
ejemplo, sólo en base a condiciones suficientes). También la entrada de datos es muy
tediosa cuando se construyen instancias de una superclase que pertenece a una
partición de subclase ortogonal, por ejemplo, la clase “Persona” es particionada en las
subclases Estudiante/Tutor, y de igual forma en las subclases Hombre/Mujer.
II.3.4 Propuesta de herramienta para el Marco de Trabajo
Protégé, como se puede apreciar, es la herramienta más robusta comparada con las
otras que se analizaron, pero de igual forma con la mayoría de las existentes
actualmente. Por tanto está es la herramienta que se selecciona para conformar el
Marco de Trabajo propuesto. La plataforma Protégé, como se expone anteriormente
soporta dos caminos principales para la construcción de ontologías, que son Protégé
Frames y Protégé OWL, para el Marco de Trabajo se escoge la segunda metodología
debido al lenguaje ya seleccionado y las ventajosas características que posee en el
desarrollo de ontologías de dominio; una ontología OWL puede incluir las descripciones
de clases, propiedades y sus instancias.
II.4 Razonadores
Inferir es deducir información adicional implícita a partir de información explícitamente
representada, uno de los beneficios importantes de las ontologías es la inferencia. Al
que realiza la tarea de inferir se le llama razonador (Reasoner).
Como se refiere anteriormente las ontologías proporcionan los elementos necesarios
para que determinado razonador pueda realizar inferencia, estos elementos se
proporcionan básicamente por el lenguaje de especificación de ontología, por lo que el
razonador a utilizar depende del lenguaje utilizado (Hustadt et al., 2004). De esta forma
la valoración del razonador se realiza sobre la base del lenguaje ontológico.
En la ingeniería ontológica existen dos paradigmas ampliamente usados, la Lógica
Descriptiva (Description Logic, DL) (Baader et al., 2003a) y las Reglas, que unidas a un
47
razonador permiten la inferencia. Interesante es la intersección de DLs y Reglas ya que
promueve la interoperabilidad entre lenguajes basados en DL y Reglas.
La disponibilidad de razonadores eficientes ha demostrado la importancia tanto para el
diseño como para el desarrollo de ontologías. Diseñar ontologías es una tarea
sumamente complicada, y las herramientas de diseño de ontología modernas que usan
razonadores sirven de soporte para detectar inconsistencias en el diseño y permitir que
se obtengan intuiciones sobre las relaciones implícitas entre clases que son procesadas
por el razonador. Esta clase de soporte de razonamiento es, por ejemplo,
proporcionado tanto por OilEd como por Protége-OWL plugin, herramientas que son
cada vez más usadas para el desarrollo de ontologías, como se expresó anteriormente.
Existen una amplia variedad de razonadores para los diferentes lenguajes de
ontologías. Muchos de estos de forma libre. A continuación se describen los
razonadores más representativos e importantes disponibles basado en OWL y
extensiones del mismo.
II.4.1 Jena
Jena fue originalmente una API de Java para RDF que ahora también soporta OWL.
Proporciona los métodos para la entrada y salida de modelos OWL de y para archivos,
bases de datos o la Web. Jena contiene interfases para representar modelos, recursos,
propiedades, literales, sentencias y todos los demás conceptos claves de RDF y OWL.
Además, Jena provee los métodos para navegar y consultar modelos OWL. También
define algunas operaciones básicas sobre modelos como la unión, intersección y
diferencia de dos modelos.
Jena suministra un juego de razonadores para hacer inferencias y validaciones de
modelos OWL:
Razonador transitivo: suministra las reglas de inferencias básicas para
determinar la jerarquía de clase y propiedades, con el objetivo de mejorar el
rendimiento y disminuir el consumo de espacio. Es usado en el razonador de
reglas RDFS para llevar a cabo la clausura transitiva de propiedades
rdfs:subClassOf y rdfs:subPropertyOf.
48
Razonador de reglas RDFS: tiene tres modos distintos que el usuario puede
seleccionar: Completamente(Full), Predeterminado(Default) y Simple.
Razonador de OWL FB: implementa un subconjunto de inferencia OWL-Lite.
II.4.2 FaCT++
FaCT++ es un razonador basado en C++, libre y de código abierto, implementa
procedimiento de decisión tableaux para la lógica descriptiva SHOIQ, con soporte
adicional para tipos de datos como cadenas de caracteres y enteros. El sistema emplea
un avanzado desempeño de optimización en las técnicas estándares absorción y
combinación de modelos y otros como heurísticas de ordenamiento y clasificación
taxonómica. FaCT++ a través de interfaces DIG(DL Implementation Group) puede
utilizarse para servicios de razonamiento para herramientas de diseño de ontologías
que soporten el lenguaje OWL-DL.
Para el razonamiento, FaCT++ primeramente realiza un preprocesamiento sobre la
ontología cargada en el razonador, es normalizada y transformada en una
representación interna. Durante este proceso algunas optimizaciones son aplicadas,
así como clasificaciones.
II.4.3 RacerPro
RacerPro(Renamed ABox and Concept Expression Reasoner Professional) es un
razonador basado en LISP, es comercial pero con trials gratuitos y licencias de
investigación. Como el nombre indica, sus orígenes están dentro del área de la lógica
descriptiva aunque puede ser usado para lógicas modales. Aborda lenguajes
estandarizados de ontologías.
RacerPro puede procesar ontologías en OWL y en los sublenguajes Lite y DL, pero con
algunas restricciones. También los tipos de datos definidos por el usuario no son
soportados, realiza chequeo de consistencia. Implementa procesos de optimización e
incluye razonamiento algebraico.
49
RacerPro implementa el quasi estándar DIG basado en http para la interconexión de
sistemas DL con interfaces y aplicaciones usando un protocolo basado en XML. Es
como una combinación de lógicas descriptivas y algebras relacionales específicas.
II.4.4 Pellet
Pellet, desarrollado en la Universidad de Maryland, comenzó como una demostración
para ayudar a comprender la implementación de los requerimientos para OWL. Se ha
convertido desde entonces en una herramienta de alto desempeño, completa, práctica y
popular para el razonamiento con OWL. Pellet ha sido el primer razonador que soporta
todo el OWL-DL, por ejemplo la Lógica Descriptiva(DL) SHOIN(D), y recientemente ha
sido extendido para soportar las nuevas facilidades propuestas por OWL 1.1, por
ejemplo la DL SROIQ(D).
Figura II-2
Componentes principales del razonador Pellet.
En la Figura II-2 se muestra los componentes principales de Pellet, el cual es en
esencia un razonador de Lógica Descriptiva basado en algoritmos tableaux (Baader et
al., 2003b). El razonador tableaux chequea la consistencia de la base de
conocimientos. Esta diseñado para que otros algoritmos de tableaux puedan ser
incorporados (plugins). El algoritmo predeterminado manipula SROIQ(D), aunque otros
son implementados para extensiones no monotónicas y para la integración con reglas.
50
Pellet es implementado en Java, es un software libre y de código abierto. Brinda
grandes facilidades (Sirin et al., 2005) incluyendo tipos de datos definidos por usuarios,
respuestas a consultas conjuntivas, soporta reglas, razonamiento con múltiples
ontologías usando E-Connections (Grau et al., 2006), trabajo con axiomas, técnicas de
optimización para DL (Baader et al., 2003a), depuración, entre otras. Para hacer
fácilmente asequible para los usuarios estas capacidades de razonamiento, Pellet
proporciona varias interfaces incluyendo una interfaz de línea de comando, un
formulario Web interactivo, implementación en servidor DIG, aplicación independiente,
integración con editores de ontologías como Protégé y otras.
II.4.5 Propuesta de razonador para el Marco de Trabajo
Las caracterizaciones a los razonadores se realizaron sobre la base del desempeño
para ontologías de dominio, donde se aprecia que ninguno está diseñado para un tipo
específico de ontología, pero si tienen diferencias ante determinadas ontologías. Varios
han sido los experimentos realizados para determinar el de mejor desempeño usando
ontologías de diferentes complejidades y expresividades, demostrando en la mayoría
de los casos que Pellet es más eficiente que FaCT++, RacerPro y otras inferencias
similares que realiza Protégé (Lefort et al., 2006).
Al realizar comparaciones para clasificación, como se observa en la Figura II-3, Pellet
se destaca positivamente para la mayoría de las ontologías de prueba, siendo
significativamente ventajosa en muchos casos ante los restantes razonadores.
51
Figura II-3
Resultados de la comparación de los razonadores Pellet, RacePro, FaCT++ y pruebas similares del Protégé en cuanto al tiempo de clasificación(en segundos) de ontologías de diferentes complejidades y
expresividades.
Al observar las potencialidades y características de los razonadores presentados se
distingue el Pellet para ser utilizado con ontologías de dominio.
II.5 Conclusiones del capítulo
En este capítulo se caracterizaron las metodologías, lenguajes, herramientas y
razonadores existentes, con el objetivo de contar con los elementos necesarios para al
enfrentarse a un proyecto ontológico, poder determinar cual utilizar.
De igual forma, como resultado del análisis de estas caracterizaciones se propone
como metodología Methontology, como lenguaje OWL, como herramienta Protégé y
Pellet como razonador, quedando conformado la propuesta de Marco de Trabajo para
el desarrollo de aplicaciones con ontologías de dominio.
52
III. GlosBanc (Ontología Bancaria)
En el capítulo anterior se propuso un Marco de Trabajo compuesto por la metodología,
lenguaje, herramienta y razonador a utilizar para el desarrollo de aplicaciones con
ontologías de dominio. En el presente capítulo se emplea dicho Marco de Trabajo para
la realización de una ontología, con el objetivo de ejemplificar y presentar las
potencialidades del mismo y cada uno de los elementos que lo componen, lo cual
constituye además una guía práctica para su utilización. Para tal propósito la ontología
que se crea es sobre términos bancarios, llamada GlosBanc, modelación conceptual
representativa de la actividad bancaria, que por supuesto no cubre completamente todo
el dominio bancario pero generaliza los aspectos y conceptos medulares de dicha
actividad, por lo que se puede apreciar se está en presencia de una ontología orientada
al dominio.
Sobre la base de los pasos, fases y/o actividades que propone la metodología
Methontology para el desarrollo de una ontología se describen a continuación los
aspectos y consideraciones que componen dicho proceso, donde es referenciada la
utilización en cada momento del lenguaje de representación, la herramienta y el
razonador; restantes elementos que unidos a la metodología conforman el marco
trabajo propuesto.
III.1 Definición de la ontología
Se puede considerar que la tarea más importante a la hora de construir una aplicación
ontológica, es la de definir la ontología que contendrá los conceptos del dominio, sus
propiedades, así como relacionar de forma apropiada dichos conceptos, de modo que
se permitan deducir relaciones más complejas o a más alto nivel.
Como se mencionó, el dominio seleccionado ha sido el dominio bancario, uno de los
más extensos y fácilmente comprensibles dado que los conceptos son fácilmente
conocidos por gran cantidad de personas; es decir, la definición se centra en el
modelado de la operatividad, productos y servicios ofrecidos por instituciones
bancarias, representando las relaciones entre estos conceptos y las características
particulares de cada uno de ellos. A pesar de que realizar una ontología que cubra todo
53
el dominio bancario es realmente dificultoso, debido principalmente a que el dominio
bancario es muy dinámico ya que constantemente aparecen o cambian servicios y
productos, se trata de cubrir los casos más comunes que se presentan en el sistema
bancario.
III.2 Especificación. Objetivo y alcance de la ontología
En la fase de especificación de la ontología se han usado las técnicas propuestas en la
metodología Methontology, partiendo por determinar el propósito de la ontología
GlosBanc, la cual pretende brindar un medio eficaz para la comprensión de la actividad
bancaria, así como los términos que forman parte de la misma, tanto para personas
comunes, como a vinculadas de una forma u otra a dicha actividad y por supuesto para
sistemas de computo como base para proyectos que requieran un entendimiento del
dominio bancario.
La actividad bancaria está compuesta por una gran variedad de servicios y productos,
cada uno con sus especificaciones que generan un alto nivel de detalle, por lo que en
la ontología a desarrollar no se tiene un alcance de un alto nivel de detalle, sino que se
tratan los aspectos más importantes y representativos del dominio bancario. La
incorporación progresiva de elementos del dominio a la ontología GlosBanc propiciaría
un acercamiento efectivo a la completitud del dominio bancario.
III.3 Adquisición de Conocimiento
La fase de adquisición de conocimiento unida a la anterior permiten obtener una
especificación de la ontología. Para tal objetivo se utilizan varios mecanismos para la
obtención del conocimiento del dominio bancario, como incorporar expertos del dominio
y/o efectuar entrevistas a los mismos, sesiones de tormentas de ideas; así como el
análisis de los textos existentes, sistemas automatizados utilizados en el sistema
bancario y sus respectivas documentaciones. También se han utilizado otras fuentes
como investigaciones y proyectos de centralización e intercambio de servicios e
información interbancaria, no solo de nuestro país, sino de otros países, principalmente
de España, a través de sitios en Internet de bancos importantes, algunos de los cuales
incluso han realizado investigaciones con resultados en la creación de ontologías,
54
dentro de ellos tenemos: BBVA, BSCH, La Caixa, Banco Popular, iBanesto, Patagon,
Bankinter. Como resultado de este proceso se obtiene la especificación documentada
en lenguaje natural de la ontología, compuesta fundamentalmente por la clasificación
de los conceptos más relevantes del dominio bancario y las relaciones, que serán
consolidados posteriormente en el propio desarrollo de la ontología.
Esta especificación será presentada posteriormente unida a la conceptualización donde
se presentan los conceptos con los elementos que los componen y las relaciones, así
como la respectiva argumentación en cada caso, lo cual permite una comprensión del
proceso de desarrollo de la ontología GlosBanc.
III.4 Conceptualización
En esta sección se presentan los detalles de los conceptos, propiedades y relaciones
que componen la ontología GlosBanc derivados del proceso de conceptualización
propuesto en Methontology. En el Anexo I se muestra el árbol de herencia de los
conceptos(clases) como resultado de la modelación realizada en Protégé que ayuda a
la compresión inicial de la ontología.
III.4.1 Conceptos (Clases)
En el Anexo II se especifican cada uno de los conceptos de la ontología con sus
respectivas descripciones y características relevantes, así como se indican las
relaciones de herencia(subclases).
Dentro de una ontología, como es sabido las clases pueden formar jerarquías, dadas
por la relaciones de herencia, de modo que cada clase hija heredará los atributos y
relaciones de sus clases padres y se permiten distintos niveles de jerarquía, aunque
tampoco se recomienda que esta herencia sea muy profunda dado que se puede
perder cierta semántica. En GlosBanc, como se puede apreciar, las relaciones de
herencia son generalmente sencillas, donde solamente la clase ClienteNatural posee
herencia múltiple, subclase de las clases Persona y Cliente. Por otro lado, el cuarto
nivel es el máximo que se alcanza en profundidad.
55
A la hora de instanciar las clases tenemos la posibilidad de que individuos constituyan
instancias de varias clases, lo cual, en dependencia de las especificaciones del
dominio, pocas veces tiene sentido, por lo que debemos evitar que esto se permita.
Esto se logra al indicar que las clases son disjuntas. En GlosBanc todas las clases son
disjuntas entre si a excepción de las clases ClienteNatural y Trabajador ya que en la
lógica del dominio una instancia lo puede ser de ambas clases.
Es válido destacar que todas las superclases son cubiertas, es decir, toda clase que
contiene subclases es cubierta por dichas subclases, lo cual se establece a través de
restricciones necesarias y suficientes, lo que permite de esta forma que en todos los
casos las instancias solo pertenezcan a clases que no contengan subclases.
III.4.2 Slots (Propiedades)
Cada una de las propiedades de tipos de datos se relacionan de forma detallada en el
Anexo III, es decir, son propiedades que no permiten relaciones sino que describen los
rasgos de cada clase de la ontología.
Los tipos de datos de las propiedades son generalmente cadena de caracteres(string),
numéricos(float) y fecha(date); además son funcionales, es decir toman un solo valor, a
excepción de la propiedad Telefono que puede tomar múltiples valores debido a que
se puede tener varios números telefónicos. Algunas de estas propiedades toman
valores fijos como es el caso de Sexo(M, F), Plazo(3, 6, 12, 18, 24, 36),
EstadoCuenta(Cerrada, Activa, Inactiva, Bloqueada) y EstadoPrestamo(AlDia,
Liquidado, Cancelado, Moroso, Trasladado, Pendiente).
La mayoría de estas propiedades son requeridas; es decir que hay que introducir algún
valor al instanciarse, esto se indica a través de restricciones de cardinalidad(=1). Otras
restricciones de cardinalidad son realizadas como cardinalidad mínima y/o máxima, que
de igual forma pueden ser incorporadas a medida que se especializa en la jerarquías de
clases, aumentado las restricciones de dichas propiedades a medida que se especializa
en la herencia.
III.4.3 Relaciones
56
Las relaciones entre clases, como es sabido se logra a través de propiedades. En el
Anexo IV se presentan las propiedades que permiten las relaciones entre clases, se
específica la clase que hace uso de cada relación(Clase que relaciona) y la clase que
utiliza(Clase relacionada), acompañada de la descripción de dicha relación.
En el caso de las propiedades que permiten establecer relaciones entre clases, de igual
forma que en la de tipos de datos, también se utilizan restricciones de cardinalidad
para establecer la cantidad de clases con que se relaciona determinada clase y en que
la relación es requerida (cardinalidad=1).
Otros tipos de restricciones son utilizadas, como es el caso de las que permiten a
medida que profundizamos en los niveles de herencia especificar que determinada
relación, definida en una clase superior, se relaciona con una subclase de la clase a la
que hace referencia la relación antes mencionada. Un ejemplo de esto se aprecia en la
relación conFormaServicio definida en la clase Servicio que hace referencia a la clase
FormaServicio, en la subclase EnCheque de Servicio, se le adiciona a la relación la
restricción que todos los valores deben ser de la subclase Presencial de FormaServicio.
Como aspecto importante es la presencia de relaciones(propiedades) inversas en la
ontología, donde existen relaciones que poseen una relación en sentido inverso, el
establecimiento de propiedades inversas permiten que al crear la relación en un sentido
automáticamente sea asumida la relación relacionada en el sentido opuesto. En
Glosbanc tenemos algunos casos como es la propiedad conTarjetaMayorista de la
clase CuentaCorrienteTarjeta relacionada con la clase TarjetaMayorista y la propiedad
inversa conCorrienteTarjeta.
III.4.4 Axiomas
Los axiomas en la ontología están compuestos por las diferentes restricciones
establecidas, como es el caso de las de cardinalidad, las especificaciones de las
relaciones que son definidas en clases superiores y se van restringiendo a medida que
se profundiza en los niveles jerárquicos(restricciones universales o existenciales), las
clases disjuntas y el cubrimiento de clases.
57
III.5 Implementación
Unido a la definición de una ontología se tiene el lenguaje de modelado y la herramienta
a utilizar para su desarrollo, como se propone en el Marco de Trabajo, el lenguaje
recomendado es OWL, dentro de otras razones ya expuestas, es que es el de mayores
prestaciones y por ende el más utilizado en la actualidad; la herramienta de edición de
ontologías es la de libre distribución Protégé, por las facilidades y característica
ventajosas expuestas en la propuesta de Marco de Trabajo. La integración de ambos
elementos se logra a través del plugin OWL (Knublauch, 2003) proporcionado con el
propio Protégé.
III.5.1 Construcción de GlosBanc en Protégé
Seguidamente no se pretende detallar el proceso de construcción de la ontología en
Protégé, ni como utilizar el mismo, ya que existe documentación suficiente para tales
fines; la intensión fundamental es especificar los aspectos generales y relevantes en la
implementación de GlosBanc. En la Figura III-1 se muestra una vista de GlosBanc
creada en la versión 3.3.1 de Protégé que se utilizó.
58
Figura III-1
Vista de la ontología GlosBanc en Protégé.
Lo primero que se realizó en el proceso de creación de la ontología GlosBanc en
Protégé fue la definición de las clases y la jerarquía de las mismas (Anexo I), para lo
cual se utilizó la estrategia top-down, donde se definen los conceptos más generales
del dominio y luego los más específicos. Una vez definidas las clases jerárquicamente
se procedió a establecer la disjunción entre clases y las restricciones de cubrimiento
(Figura III-2), es decir adicionar restricciones necesarias y suficiente para todas las
clases que tengan subclases, compuestas por la unión de todas estas subclases.
59
Figura III-2
Disjunciones y restricción necesaria y suficiente que permite el cubrimiento de la clase FormaServicio.
Seguidamente se incorporaron ambos tipos de propiedades para cada una de las
clases, las de tipos de datos(datatype properties) que describen los atributos y las que
permiten las relaciones entre clases(object properties). Los tipos de datos más
utilizados son string, float y date. En cada caso se establecieron las características de
cada propiedad como son los valores permitidos, la funcionalidad que permite valores
simple o múltiples; también se incorporan las restricciones necesarias, como las de
cardinalidad y las de especificación de subclases que son definidas en la superclase de
la clase a que pertenece la propiedad. En la Figura III-3 se muestran propiedades con
prácticamente toda esta diversidad de aspectos.
Figura III-3
Vista de propiedades con sus características y restricciones.
III.5.2 Evaluación
60
Desde que se obtuvo una primera implementación de GlosBanc en Protégé se
realizaron validaciones y verificaciones que permiten buscar incompletitudes,
inconsistencias y redundancias presentes en la ontología. Algunas de estas
validaciones las realiza Protégé, donde como resultado de las pruebas, específica la
ubicación del problema y/o sugerencias útiles para lograr una ontología más robusta. La
mayoría de estas verificaciones las realiza Protégé a través de una sola corrida de
pruebas a la ontología (Run ontology test). Cada una de estas verificaciones se pueden
configurar con antelación (Figura III-4).
61
Figura III-4
Vista de la configuración de las pruebas que Protégé realiza a la ontología.
A medida que se le realizan pruebas a la ontología se pueden corregir los problemas
existentes, donde sí se realizó un adecuado trabajo en las fases anteriores a la
implementación, los problemas que se presentan al realizar las pruebas, generalmente
son los derivados del propio proceso de implementación y no de concepción de la
62
ontología. Dentro de los más frecuentes están los relacionados con la no especificación
de clases disjuntas, propiedades sin dominio asignado, restricciones contradictorias,
etc.
Existen validaciones y verificaciones más complejas que no son realizadas por Protégé,
sino que son invocadas desde él para que sean realizadas por el razonador a través de
la comunicación que se establece con dicho razonador, generalmente por medio de
interfase DIG(DL Implementation Group). Esta comunicación es configurable al
especificar el URL donde esté corriendo el razonador al cual se puede establecer la
conexión (ej: http://localhost:8081). Las verificaciones que se realizan son de
consistencia, de taxonomía y de tipos de datos inferidos.
Como se propone en el Marco de Trabajo el razonador utilizado es Pellet, el cual se
ejecuta de forma tal que activa una interfase DIG para que a través de la misma se lleve
a cabo la interacción de las aplicaciones y realizar los diferentes procesamientos sobre
la ontología (Figura III-5). Los razonadores compatibles con DIG suministran una
interfaz estándar de acceso (interfaz DIG) que posibilita el acceso al razonador a través
de HTTP usando el lenguaje DIG. La ventaja de DIG es que las aplicaciones pueden
comunicarse con cualquier razonador compatible con DIG, sin necesitar saber los
detalles específicos o protocolos de interacción del razonador. Esto quiere decir que es
posible "Conectarse" a cualquier razonador compatible con DIG a través de cualquier
aplicación basada en DIG. Protégé-OWL provee una API que puede ser usada para
interactuar con un razonador DIG externo. Afortunadamente para los desarrolladores, la
API para razonamiento de Protégé-OWL hace transparente la interacción razonador -
lenguaje DIG, esto quiere decir que no es necesario conocer los detalles de DIG, o que
los servicios de razonamiento están siendo proveídos por un razonador DIG externo.
Figura III-5
Vista de la ejecución del razonador Pellet.
63
Una vez que se este ejecutando Pellet se procede a realizar las verificaciones de la
ontología desde Protégé a través de las respectivas opciones (Figura III-6), cada una
para un tipo de verificación específica. Al seleccionar alguna de estas opciones se
muestran los detalles de su realización (Figura III-7) y posteriormente aparece un
diálogo con los resultados de dichas verificaciones.
Figura III-6
Opciones que invocan el razonador para realizar verificaciones a la ontología.
Figura III-7
Detalles del proceso de verificación a través del Razonador Pellet desde Protégé.
Al realizar los diferentes tipos de verificaciones de forma reiterativa, donde se deben
corregir los problemas detectados en cada reiteración hasta que no se detecte más
64
ninguno, entonces se tiene como resultado de todo este proceso de verificaciones y
validaciones una ontología que cumple con los requerimientos necesarios.
III.5.3 Uso del razonador para inferencia
Anteriormente se expuso el uso del razonador para la realización de determinadas
validaciones a la ontología, elemento importante que brindan los razonadores
ontológicos pero como se ha expuesto la principal función es la inferencia basada en la
lógica descriptiva(DL), que va a depender de los fines deseados desde la definición de
la ontología ya que son varios los elementos que en la definición de la ontología lo van
a permitir, en el caso de GlosBanc estos elementos están compuestos en primer lugar
por las relaciones de herencia que van a permitir la inferencia de superclases y
subclases de clases, por otra parte tenemos las restricciones establecidas tanto para
las propiedades que relacionan clases como para las que establecen atributos propios
de la clase, donde el primer caso es el que más se explota.
La interfaz de ProtegeOWLReasoner contiene algunos métodos para obtener la
información inferida sobre clases e individuos. A continuación exponemos un ejemplo
simple de inferencia donde se obtienen todas las subclases inferidas de la clase
“FormaServicio”. Primeramente, las subclases de la clase llamada FormaServicio son
obtenidas a través del OWLModel usando FormaServicio.getNamedSubclasses.
Posteriormente, las subclases inferidas de la clase FormaServicio son recuperadas por
la consulta al razonador, y entonces son mostradas.
65
// Obtener el OWLNamedClass FormaServicio del OWLModel OWLNamedClass FormaServicio = model.getOWLNamedClass("FormaServicio"); if (FormaServicio != null) { // Obtener la cantidad de subclasses de la clase FormaServicio Collection inferredSubclasses = reasoner.getSubclasses(FormaServicio, null); System.out.println("Cantidad de Formas de Servicio: " + inferredSubclasses.size()); // Ahora obtenemos las subclases de la clase FormaServicio System.out.println("Formas de Servicio:"); for (Iterator it = inferredSubclasses.iterator(); it.hasNext();) { OWLNamedClass curClass = (OWLNamedClass) it.next(); System.out.println(curClass.getName()); } }
III.6 Conclusiones del capítulo
Con el empleo del Marco de Trabajo propuesto en el presente trabajo, se construyó la
ontología de dominio GlosBanc, modelación conceptual representativa de la actividad
bancaria. La descripción de este proceso de construcción de tal ontología permite
además de constituir una guía practica para su empleo, ejemplificar el uso de dicho
marco, así como mostrar las potencialidades del mismo.
A partir del seguimiento de cada una de los pasos, fases y actividades propuestas por
la metodología Methontology se describen cada uno de los aspectos en el proceso de
construcción de la ontología GlosBanc, unido al empleo de la herramienta de edición de
ontologías Protégé y su integración con la con el lenguaje de OWL a través del
respectivo plugin, así como la interacción de dicha herramienta con el razonador Pellet ,
para de esta forma lograr obtener una ontología que cumpla con las exigencias
requeridas.
66
Conclusiones
El presente trabajo hace referencia a las definiciones más importantes de ontologías,
así como los componentes y clasificaciones de las mismas, con el objetivo de brindar
los aspectos fundamentales de las ontologías, así como conceptos estrechamente
vinculados con las ontologías que permiten alcanzar un mayor entendimiento y alcance
de las mismas, tales como la modelación de datos, los metadatos y la interoperabilidad
de sistemas, donde las ontologías dan solución a muchos de los impedimentos
encontrados.
Se realiza una caracterizaron de las metodologías, lenguajes y herramientas
ontológicas existentes, con el objetivo de contar con los elementos necesarios para al
enfrentarse a un proyecto ontológico, poder determinar cual utilizar.
Como resultado novedoso del presente trabajo se propone un Marco de Trabajo para el
desarrollo de aplicaciones lo más robustas posibles con ontologías de dominio,
conformado por Methontology como metodología, el lenguaje de representación OWL,
la herramienta Protégé y el razonador Pellet.
Se desarrolla la ontología de dominio GlosBanc, modelación conceptual representativa
de la actividad bancaria, que muestra las potencialidades del Marco de Trabajo
propuesto, además de constituir una guía para el empleo del mismo, donde se
describen los aspectos y elementos del proceso de construcción de la ontología.
67
Recomendaciones
Disponer de un Marco de Trabajo para el desarrollo de aplicaciones con ontologías de
dominio, como el propuesto en el presente trabajo permite que se desarrollen
ontologías de una forma rápida y eficiente. Por ello, se propone la utilización de dicho
Marco de Trabajo para desarrollar ontologías de dominio de acuerdo a las necesidades
de cada organización. De esta forma se elimina todo el proceso de determinar que
elementos utilizar en el proceso de desarrollo de ontologías.
La conformación de otros Marcos de Trabajo para los restantes tipos de ontologías
existentes se deriva como una interesante recomendación.
Además se propone ampliar y enriquecer la ontología bancaria GlosBanc, tratando de
obtener la completitud del dominio, así como el desarrollo de aplicaciones que permitan
la utilización de dicha ontología.
68
Referencias Bibliográficas
BAADER, F., CALVANESE, D., MCGUINNESS, D., NARDI, D. & PATEL-SCHNEIDER,
P. (2003a) The Description Logic Handbook, Cambridge.
BAADER, F., HLADIK, J., LUTZ, C. & WOLTER, F. (2003b) From Tableaux to Automata
for Description Logics. Fundamenta Informaticae.
BORST, W. N. (1997) Construction of Engineering Ontologies. NL – Centre for
Telematica and Information Technology. Enschede, University of Tweenty.
CORCHO, O., FERNÁNDEZ-LÓPEZ, M. & GÓMEZ-PÉREZ, A. (2003) Methodologies,
tools and languages for building ontologies. Where is their meeting point? Data
Knowledge Engineering, 46, 41-64.
CREGAN, A., MOCHOL, M., VRANDECIC, D. & BECHHOFER, S. (2005) Pushing the
limits of OWL, Rules and Protege. A simple example.
DUINEVELD, A. J., STOTER, R., WEIDEN, M. R., KENEPA, B. & BENJAMINS, V. R.
(2000) WonderTools? A comparative study of ontological engineering tools.
International Journal of Human-Computer-Studies, 52(6), 1111-1133.
FENSEL, D. (2002) Language standardization for the Semantic Web: The long way from
OIL to OWL.
FERNÁNDEZ-LÓPEZ, M., GÓMEZ-PÉREZ, A. & JURISTO, N. (1997) Methontology:
From Ontological Art Towards Ontological Engineering. Spring Symposium on
Ontological Engineering of AAAI. California, Stanford University.
FERNÁNDEZ-LÓPEZ, M., GÓMEZ-PÉREZ, A., PAZOS, A. & PAZOS, J. (1999) Building
a Chemical Ontology Using Methontology and the Ontology Design Environment.
IEEE Intelligent Systems & their applications, 4, 37–46.
GASEVIC, D., DJURIC, D. & DEVEDZIC, V. (2006) Model Driven Architecture and
Ontology Development, Springer.
GILLILAND, S. (1998) Defining metadata. Introduction to metadata: pathways to digital
information. IN INSTITUTE, L. A. G. I. (Ed.).
GRAU, B. C., PARSIA, B. & E.SIRIN (2006) Combining OWL ontologies using E-
connections. Journal of Web Semantics, 4, 40–59.
GRUBER, T. R. (1993) A Translation Approach to Portable Ontology Specifications.
Knowledge Acquisition.
69
GRUBER, T. R. (1995) Towards Principles for the Design of Ontologies used for
Knowledge Sharing. International Journal of Human-Computer Studies, 43(5/6), 07-928.
GRUNINGER, M. & LEE, J. (2002) Ontology Applications and Design. Communications
of the ACM, 45(2), 39-41.
GUARINO, N. (1996) Understanding, Building, and Using Ontologies.
HORROCKS, I. (2000) The Ontology Inference Layer OIL.
HUHNS, M. N. & SINGH, M. P. (1997) Agents on the Web: Ontologies for Agents. IEEE
Internet Computing, 81–83.
HUSBY, O. (1997) Metadata: Elag’97.
HUSTADT, U., MOTIK, B. & SATTLER, U. (2004) Reducing SHIQ description logic to
disjunctive Datalog programs. IN AAAI (Ed.) 9th Int Conf. on Knowledge
Representation and Reasoning.
IEEE (1990) IEEE Standard Computer Dictionary. A Compilation of IEEE Standard
Computer Glossaries. New York, IEEE.
KNUBLAUCH, H. (2003) Editing Semantic Web Content with Protégé: the OWL Plugin.
Protégé workshop. Manchester, United Kingdom.
KROGSTIE, J., LOTHE OPDAHL, A. & BRINKKEMPER, S. (2007) Conceptual
Modelling in Information Systems Engineering.
LANGE, H. & WINKLER, B. (1997) Taming the Internet: metadata, a work in progress.
Advances in Librarianship, 21, 47-72.
LEFORT, L., TAYLOR, K. & RATCLIFFE, D. (2006) Towards Scalable Ontology
Engineering Patterns: Lessons Learned from an Experiment based on W3C’s
Part-whole Guidelines. Australian Ontology Workshop.
LUKE, S. (1996) Inferences in SHOE Ontologies.
NECHES, R. (1991) Enabling technology for knowledge sharing. AI Magazine, 12(3), 36-56.
NOY, N. F. & MCGUINNESS, D. L. (2005) "Ontology Development 101: A Guide to
Creating Your First Ontology".
SHARMAN, R., KISHORE, R. & RAMESH, R. (2007) Ontologies: A handbook of
Principles, Concepts and Applications in Information Systems, Springer.
70
SIRIN, E., PARSIA, B., GRAU, B. C., KALYANPUR, A. & KATZ, Y. (2005) Pellet: A
practical OWL-DL reasoner. Tech. Rep. CS 4766. College Park, University of
Maryland.
SØLVBERG, A. (2004) Conceptual Modeling: A Key to Quality Information Systems. IN
PRESS, I. C. S. (Ed.) Fourth International Conference on Quality Software
(QSIC’04). Braunschweig, Germany.
SPYNS, P., MEERSMAN, R. & JARRAR, M. (2002) Data Modelling versus Ontology
Engineering.
STEVE, G., GANGEMI, A. & PISANELLI, D. (1998) Integrating Medical Terminologies
with ONIONS Methodology.
THALHEIM, B. (2004) The co-design framework to content specification. IN PRESS, I.
(Ed.) BIS’2004.
USCHOLD, M. & GRUNINGER, M. (1996) ONTOLOGIES: Principles, Methods and
Applications. Knowledge Engineering Review, 11.
VAN HEIJST, G., SCHEREIBER, A. T. & WIELINGA, B. J. (1996) Using Explicit
Ontologies in KBS Developmen. International Journal of Human and Computer
Studies.
WEIGAND, H. (1997) Multilingual Ontology-Based Lexicon for News Filtering –The
TREVI Project.
ZHIHONG, Z. & MINGTIAN, Z. (2003) Web Ontology Language OWL and its Description
Logic Foundation. Fourth International Conference on Parallel and Distributed
Computing, Applications and Technologies.
71
Anexo II. Conceptos de la ontología GlosBanc.
Concepto(Clase) SubClase de Descripción Banco Entidad jurídica para el desarrollo del
negocio de la banca. Sucursal Establecimiento que permite distribuir el
negocio bancario de determinado Banco. Moneda Tipo de moneda que se utiliza en el
sistema bancario, dada la diversidad de monedas existente en el mundo debe especificarse cuales son las que intervienen en cada operatoria. En la utilización de una moneda respecto a otra se igualan sus valores a través de una Tasa de Cambio
CentroPago Denominación que se establece para las entidades jurídicas que interactúan con el sistema bancario a través de los clientes que ellas representan laboralmente.
Persona Persona que interactúa de alguna forma con el sistema bancario
ClienteNatural Persona Cliente
Persona que interactúa con el sistema bancario en calidad de cliente del mismo
Trabajador Persona Persona que interactúa con el sistema bancario en calidad de trabajador de alguna entidad del mismo
Cliente Cliente de alguna o varias entidades del sistema bancario, es decir que haga uso de algunos de los servicios bancarios.
ClienteJuridico Cliente Cliente con personalidad jurídica, es decir, entidad jurídica.
FormaServicio Se refiere a la forma en que los clientes pueden utilizar los servicios brindados por el sistema bancario desde el punto de vista de la comunicación establecida. En otras palabras, las posibles formas de relación entre el sistema bancario y sus clientes.
Presencial FormaServicio Forma de servicio en que el cliente tiene que presentarse.
ViaTelefonica FormaServicio Forma de servicio en que el cliente la realiza vía telefónica.
Virtual FormaServicio Forma de servicio que el cliente realiza a través del uso de las tecnologías de la información y las comunicación sin necesidad de acudir a entidad bancaria alguna ni interactuar con trabajador alguno de la misma (Cajeros Automáticos,
73
HomeBanking, etc) MedioPago Constituye el elemento con respaldo
monetario que se utiliza para realizar cobros o pagos en el sistema bancario.
Cheque MedioPago Medio de pago que permite liberar cierta cantidad de los fondos con que cuenta el emisor del cheque en el sistema bancario a favor de determinada persona o entidad(beneficiario).
Certificado Cheque Cheque que su emisión(se indica beneficiario, importe, etc) es certificada por el sistema bancario.
Gerencia Cheque Cheque emitido por el propio sistema bancario
Nominativo Cheque Cheque nominal que no necesita de una certificación bancaria, sino que el portador tiene la libertad de emitirlo liberadamente cumpliendo lo establecido.
Voucher Cheque Cheque que se utiliza para el pago a personal naturales
Efectivo MedioPago Medio de pago genérico, dinero como tal, compuesto por billetes y monedas de un tipo de moneda específico.
TarjMag MedioPago Medio de pago compuesto por una tarjeta magnética que es procesada de forma automática por dispositivos para tales efectos (Cajeros Automáticos, TPV) que tienen un fondo asociado en el sistema bancario que es utilizado para efectuar los pagos solicitados por el propietario de dicha tarjeta.
Producto Producto que brinda el sistema bancario que son utilizados por los clientes a través de los diferentes servicios asociados.
Cuenta Producto Forma de permanecía de dinero, propiedad de uno o varios clientes(o jurídico o natural) en el sistema bancario.
CertificadoDeposito Cuenta Cuenta para uno o dos Clientes Naturales, donde se contrata un plazo de permanencia del dinero en el sistema bancario, lo que permite a través de una tasa de interés favorable al cliente y en dependencia del plazo pactado, obtener considerable ganancia por concepto de interés. El incumplimiento del plazo propicia que el cliente no obtenga todo el interés amortizado sino un % que depende del % de cumplimiento del plazo.
74
CuentaCorriente Cuenta Cuenta para Cliente Jurídico. CuentaCorrienteTarjeta Cuenta Cuenta para Cliente Jurídico asociada a
Tarjetas Magnéticas. CuentaFuturo Cuenta Cuenta para un Cliente Natural, donde el
cliente tienen que poseer vinculo laboral, se convenia el importe mensual(mensualidad) que se acreditará a dicha cuenta por parte del centro de trabajo donde labora(Centro de Pago), descuento que se realiza del salario devengado del cliente.
CuentaTarjeta Cuenta Cuenta para un Cliente Natural asociada a Tarjetas Magnéticas.
DepositoVista Cuenta Cuenta para uno o dos Clientes Naturales, constituye la forma más simple de cuenta, llamada también Ordinaria
PlazoFijo Cuenta Cuenta para uno o dos Clientes Naturales, donde se contrata un plazo de permanencia del dinero en el sistema bancario, lo que permite a través de una tasa de interés favorable al cliente y en dependencia del plazo pactado, obtener considerable ganancia por concepto de interés. El incumplimiento del plazo propicia que el cliente no obtenga interés alguno
Prestamo Producto Es el préstamo de dinero que le realiza el sistema bancario a los clientes, donde se establecen períodos e importes(mensualidades) de pago de dicho préstamo con el respectivo interés determinado por la tasa de interés establecida.
PrestamoEmpresarial Prestamo Es el préstamo a Cliente Jurídico PrestamoParticular Prestamo Es el préstamo a Cliente Natural. Estos
préstamos pueden estar asociados a un Centro de Pago para que se le realice el descuento por Nómina y el centro de trabajo del cliente, realiza el pago de la mensualidad correspondiente.
Arrendamiento_CO_ Compra
PrestamoParticular Préstamo para persona que construye su vivienda y no tiene vinculo laboral.
Decreto91 PrestamoParticular Préstamo para persona que su centro de trabajo le paga la realización de estudios que posteriormente dicha persona lo paga al centro de trabajo por descuento salarial.
EnEfectivo PrestamoParticular Préstamo de dinero en efectivo con limites establecidos en dependencia de los
75
ingresos del cliente LGV PrestamoParticular Préstamo para persona con vinculo laboral
que se realiza a través de la Dirección de la Vivienda que permite al cliente el pago de la vivienda construida o propiedad del sector estatal.
LineaCredito PrestamoParticular Préstamo que permite que se amplié el importe inicial del préstamo(Línea de Crédito)
ViviendaVinculada PrestamoParticular Préstamo que se realiza a través de la Dirección de la Vivienda que permite al cliente el pago de la vivienda propiedad de determinada entidad estatal y que el cliente la disfruta mientras permanezca en ese centro laboral o culmine de pagar el préstamo en el tiempo contratado.
Tarjeta Producto Producto que permite realizar operaciones con el uso de Tarjetas Magnéticas que se asocian a una Cuenta. Es propiedad de un cliente(o jurídico o natural).
TarjetaDebito Tarjeta Tarjeta de un Cliente Natural, donde el mismo tiene la posibilidad de realizar depósitos en efectivo o transferencias a la cuenta asociada.
TarjetaEstimulo Tarjeta Tarjeta de un Cliente Natural, donde los depósitos son realizados por la entidad donde labora el cliente por el concepto de estimulación
TarjetaMayorista Tarjeta Tarjeta de un Cliente Jurídico Servicio Servicio que oferta el sistema bancario a
través de los cuales los clientes hacen uso de los diferentes productos.
Canje Servicio Canje entre diferentes tipos de monedas a través de la tasa de cambio.
EnCheque Servicio Servicio donde interviene cheques. CompraCheque EnCheque Es la compra en efectivo por parte de un
Cliente Natural de un Cheque (de Gerencia), que es emitido por el sistema bancario y como beneficiario dicho cliente.
EmisionCheque EnCheque Es la emisión que realiza el sistema bancario de un Cheque(de Gerencia) que ampara la compra de determinado bien, objeto de otorgamiento de determinado préstamo, siendo el beneficiario el proveedor del bien al Cliente Natural, deudor del préstamo.
PagoCheque EnCheque Es el pago de determinado cheque donde el Cliente es el beneficiario o el emisor.
76
EnCuenta Servicio Servicio donde intervienen cuentas Apertura EnCuenta Es el proceso de creación de una Cuenta Cierre EnCuenta Es el proceso de cierre de una Cuenta, lo
que indica que no podrá ser operada y no poseerá saldo alguno.
Deposito EnCuenta Es el depósito de dinero que se realiza en una cuenta, incrementando su saldo.
Extraccion EnCuenta Es la extracción de dinero que se realiza en una cuenta, decrementando su saldo, nunca más del saldo que posee.
Transferencia EnCuenta Es la transferencia de dinero que se realiza de una cuenta a otra; o en efectivo de un cliente a una cuenta de la cual él no es propietario.
EnPrestamo Servicio Servicio donde intervienen Préstamos Amortizacion EnPrestamo Es el pago en efectivo por el Cliente o por
el respectivo Centro de Pago de la mensualidad establecida
Ampliacion EnPrestamo Es la ampliación del importe actual del préstamo
Cancelacion EnPrestamo Es la cancelación del préstamo, generalmente por causas de fuerza mayor.
Otorgamiento EnPrestamo Es el proceso que hace efectivo un préstamo una vez solicitado y aprobado.
Solicitud EnPrestamo El cuando el cliente compadece a solicitar el otorgamiento de un préstamo.
Traslado EnPrestamo Es el traslado que se realiza del préstamo. TrasladoInterno Traslado Es el traslado hacia otro Centro de Pago
causado generalmente por el cambio de centro laboral del cliente, permaneciendo el préstamo en la misma entidad bancaria.
TrasladoExterno Traslado Es el traslado del préstamo hacia otra entidad bancaria.
EnTarjeta Servicio Servicio donde intervienen Tarjetas Consultar EnTarjeta Se consulta el saldo y operaciones
realizadas con la Tarjeta ExtraccionTarj EnTarjeta Es la extracción con una Tarjeta de
efectivo PagoServicio EnTarjeta Es el pago con una Tarjeta de
determinados servicios que brinda otras entidades al Cliente(Agua, Teléfono, Electricidad, etc), debidamente conveniado con el sistema bancario.
TransferirTarj EnTarjeta Es la transferencia de determinado importe de los fondos asociados a una Tarjeta hacia otra Cuenta.
77
Anexo III. Propiedades de tipos de datos de la ontología GlosBanc.
Clase Propiedad Descripción Codigo Código numérico de 2 dígitos que identifica
a cada banco Descripcion Descripción o Nombre del Banco
Banco
Siglas Siglas que identifican a cada Banco Numero Número de 4 dígitos que identifica a cada
Sucursal Descripcion Descripción o Nombre de la Sucursal,
generalmente está dado por el lugar en que esta ubicada.
Sucursal
Telefono Teléfono(s) que posee Siglas Siglas de 3 caracteres que identifican
internacionalmente a cada moneda Descripcion Descripción de la Moneda Simbolo Símbolo asociado a la Moneda
Moneda
TasaCambio Tasa de cambio de las Moneda respecto a la moneda nacional
Codigo Codigo que identifica al Centro de Pago CentroPago Descripcion Descripción del Centro de Pago CI Carne de Identidad de la Persona Nombres Nombres de la Persona Apellidos Apellidos de la Persona Sexo Sexo de la Persona (M o F) Direccion Dirección de la Persona
Persona
Telefono Teléfono(s) que posee la Persona Trabajador ID Identificador de cada trabajador en el
sistema bancario Direccion Dirección del Cliente Cliente Telefono Teléfono(s) que posee el Cliente
ClienteJuridico Codigo Código que identifica al Cliente Numero Número que identifica al Cheque FechaEmision Fecha en que se emite el Cheque, de ser
vacía indica que aún no ha sido emitido FechaPago Fecha en que es pagado el Cheque en el
sistema bancario
Cheque
Importe Importe por el que fue emitido el Cheque Numero Número de la Cuenta Saldo Saldo que posee la Cuenta Interes Interés que ha sido incorporado a la cuenta
Cuenta
EstadoCuenta Estado de la Cuenta (Cerrada, Activa, Pendiente, Inactiva), cada Estado es empleado al proceder con dicha Cuenta
78
CertificadoDeposito Plazo Plazo por el que es conveniado la
permanencia de la Cuenta sin operar CuentaFuturo Mensualidad Importe que se convenía para que
mensualmente se acredite a dicha Cuenta por el Centro de Pago implicado
PlazoFijo Plazo Plazo por el que es conveniado la permanencia de la Cuenta sin operar
SaldoInicial Saldo Inicial por el que se otorgó el Préstamo
Prestamo
SaldoPendiente Saldo que aún debe pagar el Cliente, pendiente por pagar.
EstadoPrestamo Estado en que se encuentra el préstamo. PrestamoParticular Mensualidad Importe mensual que debe pagar el
Cliente, establecido al otorgar o ampliar el préstamo.
Tarjeta PAN Primary Account Number, Numero de la Tarjeta
Servicio Fecha Fecha en que se realiza el Servicio. Canje TasaCambio Tasa de Cambio utilizada para el canje. Deposito Importe Importe por el cual se realiza el depósito Extraccion Importe Importe por el cual se realiza la extracción Trasferencia Importe Importe por el cual se realiza la
transferencia Amortizacion Importe Importe por el cual se realiza la
amortización Ampliacion Importe Importe por el cual se realiza la ampliación
del préstamo ExtraccionTarj Importe Importe por el cual se realiza la extracción
por Tarjeta Magnética PagoServ Importe Importe por el cual se realiza el pago de
Servicio TransferirTarj Importe Importe por el cual se realiza la
Transferencia
79
Anexo IV. Relaciones de la ontología GlosBanc.
Relación Clase que relaciona Clase relacionada Descripción conBanco Sucursal Banco Banco al que pertenece
cada sucursal Trabajador Sucursal a la que
pertenece el TrabajadorCuenta Sucursal de donde es
la Cuenta
conSucursal
Servicio
Sucursal
Sucursal donde se realiza el Servicio
Cuenta Moneda en que se abre la Cuenta
conMoneda
Cheque
Moneda
Moneda en que se emite el Cheque
Cuenta Cliente(s) propietario Canje Cliente que realiza el
Canje
conCliente
EnCheque
Cliente
Cliente que realiza operación con Cheque
conTarjetaMayorista CuentaCorrienteTarjeta TarjetaMayorista Tarjeta(s) asociada(s) a CuentaCorrienteTarjeta. Relación inversa a través de la relación conCorrienteTarjeta
conCorrienteTarjeta TarjetaMayorista CuentaCorrienteTarjeta CuentaCorrienteTarjeta asociada a una TarjetaMayorista. Relación inversa a través de la relación conCorrienteTarjeta
TarjetaDebito
conTarjetaDebEst CuentaTarjeta
TarjetaEstimulo
Tarjeta(s) (Debito o Estimulo) asociada(s) a CuentaTarjeta. Relación inversa a través de la relación conCuentaTarjeta
TarjetaDebito
conCuentaTarjeta
TarjetaEstimulo
CuentaTarjeta CuentaTarjeta asociada a una TarjetaDeb o TarjetaEst. Relación inversa a través de la relación conCuentaTarjeta
CuentaGarante Prestamo Cuenta Cuenta garante asociada a un préstamo, la cual es utilizada para realizar
80
las amortizaciones establecidas para el préstamo
Deudor Prestamo Cliente Cliente deudor de determinado préstamo.
coDeudor Prestamo Cliente Cliente que ante cualquier imposibilidad al pago de las mensualidades, el coDeudor es el que asumen el pago de dicho préstamo.
PrestamoParticular Centro de Pago asociado a un préstamo a particular(Persona Natural).
conCentroPago
TrasladoInterno
CentroPago
Centro de Pago desde donde se traslada un préstamo a particular.
conFormaServicio Servicio FormaServicio Forma de Servicio en que se realiza cierto Servicio
Canje Trabajador que realiza un canje
EnCheque Trabajador que realiza alguna operación con Cheque
conTrabajador
EnCuenta
Trabajador
Trabajador que realiza alguna operación en Cuenta
MonedaCompra Canje Moneda Moneda que el sistema bancario compra, es decir la Moneda que el Cliente va a Canjear.
MonedaVenta Canje Moneda Moneda que el sistema bancario vende, es decir la Moneda que el Cliente recibe por el Canje.
Transferencia Cuenta hacia la cual se realiza la transferencia.
CuentaDestino
TransferirTarj
Cuenta
Cuenta hacia la cual se realiza la transferencia a través de una Tarjeta Magnética
conPrestamo EnPrestamo Prestamo Préstamo utilizado en alguna operación en préstamos
81