3.1.- Introducción a OntoEdit
OntoEdit es una herramienta de edición de ontologías que apoya
el desarrollo y mantenimiento de las mismas utilizando medios
gráficos en un entorno web. Permite la representación semántica
de lenguajes conceptuales y estructuras mediante conceptos,
jerarquías de conceptos, relaciones y axiomas.
El interfaz es abierto y permite a los usuarios ajustar OntoEdit
a sus necesidades. Además tiene disponibles una gran variedad
de funcionalidades fáciles de usar y adaptables a los diferentes
escenarios.
Lo que OntoEdit pretende, es ofrecer una herramienta para
representar gráficamente ontologías y que además, pueda almacenarlas
y posteriormente manipularlas en una base de datos relacional.
Otros editores de ontologías se centran en ofrecer interfaces
gráficas ricas en funcionalidades para editar, integrar y traducir
ontologías; pero como estas herramientas no poseen integración en
una base de datos, las ontologías no pueden ser guardadas,
gestionadas y manipuladas directamente por el editor como si
fuera un SGBD.
Aunque OntoEdit está pensado para un entorno web, también puede
aplicarse a una Intranet. De esta forma se preserva la seguridad
de la información que contiene.
3.2.- Versiones de OntoEdit
Existen varias versiones del programa, desde la 2.0 hasta la 2.6.
El siguiente trabajo se ha basodo en esta última versión disponible
en la web de forma gratuita y permite:
• Importar las estructuras del directorio.
• Importar tablas de Excel.
• Construir reglas gráficas.
• Dispone de reglas que eliminan fallos en la visualización del
gráfico.
• Visualizar y editar ontologías en un gráfico.
3.3.- Arquitectura de OntoEdit
Es una herramienta simple cuya arquitectura sigue un modelo
cliente-servidor.
Conjunto de Aplicaciones: comprende la herramienta OntoEdit
propiamente dicha. Es utilizada por el usuario final para manipular
las ontologías en la web. Se compone de un modelo conceptual y su
implementación lógica y física.
Conjunto de Datos: son los datos manipulados por la herramienta y
gestionados por un SGBD relacional.
La comunicación entre ambas se produce con JDBC (Java Database
Connectivy).
En OntoEdit, una ontología está compuesta de los siguientes elementos: términos, propiedades y relaciones; y se identifica con metadatos representados como propiedades de la ontología (nombre, autor, dominio, fecha_creación).
• Términos: representan los conceptos extraídos de un dominio del conocimiento. Cada término posee atributos, nombre y descripción que identifican al término.
• Propiedades: representan otros atributos definidos por el usuario. Cada propiedad posee los atributos nombre y tipo de valor. Al definir una propiedad ésta deberá estar asociada a un determinado término o a varios de ellos de forma independiente.
• Relaciones entre términos: Un término puede estar relacionado con uno o más términos. Cada relación posee un atributo (nombre). Subclases: es un tipo de relación en el que las propiedades de la superclase son heredadas por la subclase.
3.4.- Construcción de una Ontología en OntoEdit
·Para empezar a crear una ontología, lo primero es abrir la aplicación
OntoEdit y desde la barra de menú o pinchando en el primer icono de la
izquierda aparece la ventana donde se le da un nombre en forma de URL.
· Se pueden exportar ontologías creadas gráficamente a un archivo de texto
conteniendo la ontología codificada en formato DAML+OIL o importar una ontología
desde un archivo en formato DAML+OIL para su representación gráfica.
·Los conceptos son términos abstractos que se organizan en clasificaciones.
Se introducen los conceptos seleccionando previamente la raiz de la
ontología.
La jerarquía de los conceptos se establece con una relación “is-a”.
·Los campos que definen las relaciones son los siguientes:
• ID del concepto: Identifica unívocamente el concepto (uso
interno para su representación)
• Instantiation: Concreta cuando puede existir un objeto
de un tipo determinado.
Abstracta cuando el concepto solo describe
un objeto abstracto y necesita ser especificado
con un subconcepto para obtener un objeto concreto.
• Representaciones externas: Puede introducirse el nombre de un concepto
desde una representación externa en diferentes lenguajes incluyendo
caracteres especiales. Las representaciones externas se definen por las
diferentes lenguas. Para cada lengua sólo hay una representación. La más
común suele ser el uso de sinónimos del concepto. Y dichas representaciones
pueden añadirse, eliminarse o editarse con los botones “+”, “-“ y “e”
respectivamente.
• Documentación: Se puede añadir informacion sobre el concepto para
restringir su significado al uso exclusivo que se le da en la ontologia. Se
puede definir una lengua para cada documento.
·Todos los atributos de ese concepto lo son también de todos los superconceptos.
Esto significa p.ej que todos los casos “intérprete” son también casos “persona”
porque un intérprete es una persona.
·Las relaciones se definen de la siguiente manera:
• Relation ID (identificador): idem que el ID Concept.
• Range (tipo de dato): Los valores String, Integer y Bolean se
utilizan para definir atributos. Pero normalmente se utilizan otros tipos
de datos como conceptos, relaciones, archivos o incluso otro concepto de
la ontología.
• Length: Solo esta disponible para el tipo de datos String. Se puede
incluir un numero maximo de caracteres.
• Cardinalidad: Puede definirse la maxima y la minima.
·Las instancias son relaciones predefinidas entre datos: string, integer, boolean,…
En las relaciones de instancias se pueden definir, corregir y quitar instancias.
En la columna de la izquierda de la tabla se elige la relación a la que se quiere
introducir más información, y en la columna de la derecha es donde se escribe esa
información.
·Los axiomas relacionados son reglas válidas en el dominio del modelo. Permiten
la existencia de relaciones con propiedades especiales de las mismas y relaciones
con otras relaciones.
No se dispone de esta opción en la versión gratuita de OntoEdit.
En la relación se pueden definir axiomas predefinidos. Los disponibles son:
• Axiomas simétricos: La relación es la misma desde ambos lados.
(aRb > bRa)
• Axiomas transitivos: El concepto de en medio relaciona los de los extremos.
(aRb y bRc > aRc)
• Axiomas inversos: Puede introducirse relaciones que sean globalmente o localmente
inversas indicándolo en el tipo de dato y el dominio.
(R(a,b) > R’(a,b)).
·Los conceptos disjuntos permiten mantener la consistencia en la ontología.
Si 2 conceptos son disjuntos, no existen instancias que instancien a ambos conceptos.
Para definir conceptos disjuntos, se puede seleccionar todos los conceptos que
se quieren hacer disjuntos (hold or for multiselection) y se pincha
el botón “+”. Los significados de todas las permutaciones entre los conceptos se
computa entonces.
·OntoEdit permite que el usuario pueda visualizar la ontología representada en
la interfaz de la herramienta.
·En el área de identificación especifica información sobre la ontología. Aquí se
le da un nombre a al ontología, se le define un dominio del área de aplicación.
La URI (Uniform Ressource Identifier) se muestra pero no se edita aquí. Se pueden
especificar ontologías relacionadas (ontologías utilizadar para desarrollar esta
ontología o ontologías del mismo área de dominio / área de aplicación) y fuentes
(libros, papeles,... utilizados para hacer esta ontología).
·En el área de metadata se pueden ver datos estadísticos de la ontología y
especificar el desarrollo de la ontología y la documentación para todos los
lenguajes.
·Las estadísticas contienen el número de conceptos, relaciones, instancias y
axiomas, profundidad más alta y la profundidad media en el árbol conceptual,
la fecha de creación y la de la última modificación.