3. Herramientas y lenguajes para

la definición de ontologías en la web

 ***********************************************************************************

3. Lenguajes y herramientas para la definición de ontologías en la web 

3.1  Lenguajes para la definición de ontologías en la web semántica 

Para describir la semántica se requiere un lenguaje apropiado (llamado lenguaje de representación). Generalmente tienden a estar basados en XML. Existe un abanico relativamente amplio:

·        XOL (Ontology Exchange Language)

·        SHOE una extensión de HTML

·        DAML y DAML+OIL

·        OWL 

XOL 

XOL - XML Ontology exchange Language - fue diseñado para proporcionar un formato para intercambiar definiciones de ontologías y con la semántica de los sistemas de representación del conocimiento orientados a objetos. Por lo tanto, no esta pensado para ser utilizado para el desarrollo de ontologías, sino como un lenguaje intermedio para la transferencia entre diversos sistemas. 

SHOE 

SHOE es un lenguaje de representación del conocimiento basado en HTML y un superconjunto de HTML, que añade etiquetas necesarias para la representación semántica de datos en las páginas web. 

Las etiquetas de SHOE están divididas en dos categorías:

-         Primero, existen etiquetas para construir ontologías. Las ontologías de SHOE son conjuntos de reglas que definen qué tipos de declaraciones pueden hacer los documentos SHOE y qué significan estas declaraciones. Por ejemplo una ontología SHOE puede decir que una entidad de datos es un "perro" y eso significa que "perro" puede tener "nombre". 

-         En segundo lugar, existen etiquetas para anotar documentos web que se suscriban a una o más ontologías, declarar entidades y crear declaraciones sobre esas entidades bajo las reglas establecidas por las ontologías. Por ejemplo, un documento SHOE que se suscriba a la ontología descrita anteriormente puede llevarnos a declarar que nos referimos a un perro llamado "Fido". SHOE estaba diseñado teniendo en mente las necesidades de la web. Tiene una semántica limitada, para hacer posible el manejo de grandes cantidades de datos. 

Sin embargo, una sencilla base de batos semántica no es suficiente para los datos de la web. SHOE ofrece una base de conocimiento semántico. Tiene varias formas de poder manejar datos que se distribuyen y que no están bajo el control absoluto de nadie y está orientado principalmente a facilitar el trabajo a los robots de la web y a los agentes inteligentes de manera que hagan nuestra vida un poco más fácil. 

SHOE no es sólo un lenguaje de meta contenidos, sino que tiene una base semántica bastante desarrollada permitiendo a los diseñadores web ofertar contenidos semánticos no sólo relativos a los contenidos sino a cualquier cosa.  

DAML  

El DAML (Darpa Agent Markup Language) es un lenguaje creado por DARPA como un lenguaje de inferencia y ontología basado en RDF. DAML va un paso por delante del Esquema RDF al proporcionarnos propiedades y clases con más profundidad. DAML permite ser más expresivo que con el Esquema RDF y nos devuelve a lo que era el debate sobre la Web Semántica al proporcionarnos términos simples para crear inferencias.

Nos da un método para expresar cosas tales como propiedades únicas y no ambiguas, listas, restricciones, cardinalidades, listas de paridad disjuntas y tipos de datos, etc. 

DAML+OIL 

Recientemente, el “Comité Conjunto Especial de Estados Unidos y la Unión Eurpea de Lenguajes Marcado de Agentes” (Joint US/EU ad hoc Agent Markup Language Committee) ha publicado el DAML+OIL, como el lenguaje estándar de representación de ontologías en Marzo de 2001 (www.daml.org/2001/03/daml+oil-index).  

Este lenguaje va un paso por delante del DAML y fusiona características de OIL y DAML.  

El DAML+OIL es un lenguaje que unifica estos dos lenguajes, aunando esfuerzos en el camino de la construcción de un lenguaje estándar para la definición de ontologías. Aunque DAML+OIL hereda muchas de las características de OIL, difiere en algunas. De hecho, se aleja del modelo basado en frames de OIL, potenciando Lógica Descriptiva. A nivel práctico, DAML+OIL demuestra ser más útil como soporte para ontologías, sin embargo aún tiene ciertas carencias como formato de intercambio y modelado.

Fue a partir de esta unión cuando se definió el lenguaje OWL (Web Ontology Language), con el propósito de reunir todas las ventajas de DAML+OIL y resolver los problemas de este lenguaje.

 

OWL

 

En realidad, OWL no es un acrónimo verdadero. El lenguaje comenzó su andadura como "Web Ontology Language" (Lenguaje de Ontologías Web), pero al Grupo de Trabajo no le gustaba el acrónimo "WOL", así que decidimos llamarlo OWL. El Grupo de Trabajo se sintió más a gusto con esta decisión cuando uno de los miembros apuntó la siguiente justificación para la decisión, tomada del ilustre ontologísta A.A. Milne quien, en su influyente libro "Winnie the Pooh", declaró sobre el sabio personaje Búho (en inglés Owl):

"Puede deletrear su propio nombre B H U O (en inglés WOL), y puede deletrear Martes, así sabrás que no es Miércoles..."

 

La aparición de OWL (Ontology Web Language) supone un nuevo horizonte en el marcado de sistemas de organización del conocimiento que tiene como punto de partida las experiencias previas realizadas con DAML-OIL en las cuales se inspiraron los creadores de OWL para desarrollar el lenguaje.

OWL es un lenguaje de marcado para la publicación de ontologías en la WWW y tiene como objetivo facilitar un modelo de marcado, construido sobre RDF y codificado en XML que permita representar ontologías a partir de un vocabulario más amplio y una sintaxis más fuerte que la que permite RDF. Por este motivo OWL puede ser utilizado para representar de forma explícita el significado de términos pertenecientes a un vocabulario y definir las relaciones que existen entre ellos.

 

El Lenguaje de Ontologías Web (OWL) supone una recomendación del conocido World Wide Web Consortium (W3C). En palabras del profesor Horrocks, OWL es un "lenguaje de representación del conocimiento descriptivo y basado en logica".

 

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, siendo el más sencillo OWL-Lite y el más completo OWL-Full.

En un artículo de Scientific American, el propio Berners-Lee y sus co-autores escribían sobre la importancia de OWL con respecto al desarrollo de la web semántica de la siguiente manera:


"Para que la web semántica funcione, es imprescindible que los ordenadores tengan acceso a conjuntos estructurados de información y conjuntos de reglas de inferencia que puedan utilizar para realizar el razonamiento automatizado. Científicos que investigan la inteligencia artificial ya estudiaban estos sistemas antes de que la Web se desarrollara. La representación del conocimiento, así se conoce a esta tecnología, se encuentra actualmente en un estado comparable al del hipertexto antes de la llegada de la Red: es evidentemente una buena idea, y existen algunas demostraciones muy buenas, pero todavía no ha cambiado el mundo. Contiene la semilla de aplicaciones importantes, pero para desarrollar todo su potencial necesita estar conectado a un sistema global único".

 

Lenguajes anteriores han sido utilizados para desarrollar herramientas y ontologías destinadas a comunidades específicas (especialmente para ciencias y aplicaciones específicas de comercio electrónico), pero no fueron definidos para ser compatibles con la arquitectura de la World Wide Web en general, y la Web Semántica en particular.

 

OWL rectifica esto proporcionando un lenguaje que 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  

Permite definir

-         Clases (conceptos)

-         Propiedades

-         Propiedades de tipos de datos

-         Propiedades de objetos

-         Individuos (instancias)

-         Contiene una serie de predicados predefinidos para la definición de ontologías: clases equivalentes, sameAs, etc

-         Pueden definirse clases a partir de su descripción:

-         Enumeraciones (rojo, verde o azul)

-         Restricciones (todos los individuos que tienen más de dos hijos)

-         Enunciados lógicos (Persona que no es estudiante y tiene ojos azules) 

3.2 Herramientas para la definición de ontologías 

Son los instrumentos que permiten la codificación de una determinada ontología en base a un determinado lenguaje. Este tipo de herramientas permiten definir la estructura en base a la cual se clasificará la información realizada a través de anotaciones. 

Algunas herramientas de este tipo son: 

-         Apollo: Aplicación amigable de modelado de conocimiento. El modelado está basado en torno a los principios básicos tales como clases, instancias, funciones, relaciones, etc. La interfaz de usuario tiene una arquitectura abierta y está escrito en lenguaje de programación JAVA.

-         LinkFactory: Se trata de una herramienta utilizada para construir completos sistemas de terminología corporativa, capaz de extraer valor significativo de gran cantidad de datos no estructurados almacenados en bases de datos de contenido corporativo.

-         OILEd: Es un editor de ontologías que permite al usuario construir ontologías utilizando DAML+OIL

-         OntoEdit Free and Professional versions: Permite crear y gestionar ontologías. Confía en los estándares del W3C y ofrece muchas interfaces exportables a la mayor parte de lenguajes de representación de ontologías. Esta herramienta permite crear, navegar y modificar ontologías.

-         Ontolingua Server: Provee de un entorno de colaboración distribuido para navegar, crear, editar, modificar y utilizar ontologías.

-         OntoSaurus: Es un navegador web para las bases de conocimiento de LOOM[1]. Proporciona una interfaz gráfica enlazada hacia varias de las bases de conocimiento.

-         OpenKnoME: Es un sistema de gestión del conocimiento y un motor de ontologías. Desde el 2001 el código fuente está abierto para la comunidad académica y la clínica sin ánimo de lucro.

-         Protégé-2000: Editor de ontologías y editor de bases de conocimiento. Es también de código abierto. Herramienta JAVA que proporciona una arquitectura extensible para la creación de aplicaciones de bases de conocimiento personalizadas.

-         SymOntoX: Es un software que almacena y gestiona un dominio de ontología.

-         WebODE: Herramienta para modelar el conocimiento utilizando ontologías. Facilita la máxima flexibilidad e interoperabilidad con otras aplicaciones de negocios necesarias para las empresas de hoy en día.

-         WebOnto: JAVA applet con un servidor web personalizado que permite a los usuarios navegar y editar modelos de conocimiento sobre la web.


 

[1] Es un lenguaje de representación del conocimiento desarrollado por un grupo de investigadores de IA en la Universidad del California del Sur.