“Marco de Trabajo para el desarrollo de aplicaciones con ...

82
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-

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

Anexos

Anexo I. Arbol de clases de la ontología GlosBanc.

72

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

SucursalDestino TrasladoExterno Sucursal Sucursal hacia la cual se realiza el traslado externo del préstamo.

CentroPagoDestino TrasladoInterno CentroPago Centro de Pago hacia el cual se realiza el traslado interno.

conTarjeta EnTarjeta Tarjeta Tarjeta utilizada en determinada operación

82