EDGAR GUERRA : RADIO ON LINE RADIO COLOSAL AMBATO

WEB SEMANTICA/ONTOLOGIAS

RADIO:NOTICIAS ECUADOR:RADIO COLOSAL
Blank page
WEB SEMANTICA/ONTOLOGIAS
ECUADOR :TODAS LAS RADIOS
BRAZIL
ARGENTINA
SURINAME
PERU
VENEZUELA
PARAGUAY
URUGUAY
CHILE
REPUBLICA DOMINICANA
BOLIVIA
GUYANA
AFRICA
ASIA
EUROPA
OCEANIA
RADIOSCOLOMBIA
RADIO QUITO
RADIO FM
ZARACAY ECUADOR
LO MEJOR DE LO MEJOR EN RADIO
DEPORTES
MUSICA TROPICAL /ECUADOR
SONORAMA

Web Semántica y Ontologías

Francisco José García Peñalvo

Departamento de Informática y Automática – Facultad de Ciencias

Universidad de Salamanca

fgarcia@usal.es

Resumen: La Web en la actualidad es un gran almacén de datos en el que se

infrautiliza el valor de éstos para convertirse en información útil al requerir, en

la mayoría de los casos, a un agente humano como receptor y procesador de los

datos en información. El potencial de la Web como gestor de conocimiento

universal se ve acrecentado exponencialmente cuando a esos mismos datos se

les otorga un recubrimiento semántico que los habilita para ser consumidos ya

no sólo por agentes humanos sino también por agentes software, abriendo un

mayor espectro de interoperabilidad entre aplicaciones web, facilitando de una

manera clara la introducción y migración hacia aplicaciones orientadas a los

servicios. Esta extensión de la Web, conocida como Web Semántica, se ve

potenciada por muchos factores, como el desarrollo, aceptación y éxito del

lenguaje de marcas XML (eXtensible Markup Language). Pero XML por sí sólo

no permite el desarrollo de la Web Semántica, son necesarios otros elementos,

de los cuales cabe destacar las ontologías, como forma de descripción del

conocimiento de un dominio. A la hora de materializar una ontología es

necesario un lenguaje con el que especificarla, aquí entran en juego diferentes

posibilidades, pero precisamente será XML el que ofrezca una base

ampliamente aceptada para definir nuevos lenguajes para la especificación de

ontologías. El desarrollo de una ontología requiere de un método sistemático.

Como herramienta conceptual que es, el proceso de diseño de una ontología va

a estar ligado a diversas corrientes filosóficas que desde antaño han intentado

abordar el siempre difícil problema de la representación del conocimiento. En

este capítulo se pretende dar una visión introductoria que presente de forma

clara el concepto de Web Semántica y su relación con las ontologías como

forma explícita de representación del conocimiento en la Web.

Palabras clave: Web Semántica; Ontología; Lenguaje de descripción de

ontologías; Diseño de ontologías.

1 Introducción

La Web que surge como una manera de compartir información, en forma de

documentos estáticos, entre una comunidad científica muy específica (Berners-Lee,

1999). Sin embargo, desde su génesis hasta la actualidad la Web no ha dejado de

ofrecer nuevas posibilidades y usos no previstos inicialmente, pudiendo considerarse

sus repercusiones técnicas y sociales como una auténtica revolución a finales del siglo

XX y comienzos del XXI.

2 F. J. García Peñalvo

La clave para el uso masivo de la Web está en su conectividad total gracias a su

facilidad de acceso, su descentralización, su compatibilidad y las facilidades que

otorga para que se comparta conocimiento y recursos.

Todo ello conduce a la mitificación, a veces excesiva, de la Web, hasta

popularizarse la creencia de que todo está en la Web o que algo solamente existe si

nuestro buscador es capaz de retornarlo como resultado de una búsqueda.

La evolución de la Web se puede ilustrar en tres generaciones de aplicaciones web

según la tecnología y los servicios de éstas (Kappel et al., 2003). En primer lugar

estarían las aplicaciones de sólo lectura, que presentan la información a un conjunto

no predecible de usuarios anónimos en forma de páginas estáticas pensadas sólo para

navegar; las aplicaciones con páginas generadas al vuelo, mucho más complejas, se

basan en bases de datos que sirven como fuente de datos para la generación de las

páginas como respuesta a peticiones de los usuarios o a eventos de cambio de

información; y aplicaciones de acceso ubicuo, que fomentan la conexión total a

cualquier hora, desde cualquier lugar y dispositivo, para lo que las facilidades de

adaptación y el mantenimiento de la equivalencia semántica de los servicios y la

información se hacen imprescindibles.

Según se avanza por las categorías propuestas en (Kappel et al., 2003) se van

haciendo más patentes las limitaciones de la Web en su estado actual: crecimiento

caótico de los recursos, falta de orden y de organización, alto coste y dificultad en su

mantenimiento (enlaces perdidos, páginas muertas…), crecimiento de la Web Oculta

o Web Profunda (Hidden Web o Deep Web)1, buscadores eficientes pero limitados,

dificultad de procesamiento automático…

La semántica implícita en la Web actual se refleja en las respuestas que recibe un

usuario a sus peticiones en los buscadores, ya que éstas van más allá del estado en el

que los usuarios simplemente realizaban una pregunta y recibían un conjunto

ordenado por prioridad de páginas web. Los usuarios desean respuestas dirigidas a sus

preguntas sin información superflua. Las respuestas deberían contener información de

fuentes autorizadas, términos con el mismo significado a los usados en la pregunta,

enlaces relevantes… (McGuinness, 2004).

En este contexto en el que la mayoría de los contenidos de la Web están pensados

para que los lea un ser humano y no para que los manipule un sistema informático de

forma significativa2, surge el concepto de Web Semántica.

La Web Semántica trata de dotar de una estructura semántica a los contenidos

significativos de la Web, creando un entorno en el que agentes software naveguen por

las páginas realizando complejas tareas para los usuarios.

1 Se trata básicamente de herramientas de búsqueda especializada en sitios poco frecuentados

por los buscadores más tradicionales. Entre estas fuentes pueden destacarse directorios

sectoriales, bases de datos accesibles en línea (a menudo denominadas Deep Web) o páginas

de difícil acceso. Según algunas estimaciones, la Web Oculta puede ser en torno a 500 veces

la Web Visible. Por ello el saber acceder al resto de los recursos puede ser una importante

ventaja competitiva en términos de acceso a la información. La clave es, por tanto, disponer

de las herramientas adecuadas, así la verdadera cara oculta de la Web Oculta está en la

conversión que cada cual puede hacer de esa información en un verdadero conocimiento.

2 Un programa puede fácilmente analizar y procesar una página web automáticamente, sin más

que seguir el flujo de etiquetas que marcan su disposición, pero en general esto no implica

que el programa pueda extraer la semántica de los contenidos de la misma.

Web Semántica y Ontologías 3

La Web Semántica no es una nueva Web segregada de la actual. Es una extensión

de la actual en la que la información se ofrece con un significado bien definido,

permitiendo a ordenadores y personas trabajar de forma cooperativa (Berners-Lee et

al., 2001; Hendler et al., 2002).

La idea que existe detrás de la Web Semántica es tener datos en la Web definidos y

enlazados de manera que puedan ser usados de forma más efectiva para un

descubrimiento, una automatización, una integración y una reutilización entre

diferentes aplicaciones. Para ello la Web debe evolucionar, ofreciendo una plataforma

accesible que permita que los datos se compartan y se procesen por herramientas

automatizadas o personas.

Añadir semántica explícita (metadatos) a la Web implica permitir documentos que

tienen información en formatos comprensibles por máquinas, además de permitir que

los enlaces se creen con valores en las relaciones.

La Web Semántica no existe todavía, aunque hay una importante infraestructura

tecnológica (lenguajes, herramientas, estándares…) y existe un interés creciente de las

agencias públicas, de las empresas, de los centros de investigación y del W3C

(http://www.w3c.com) por el desarrollo de ésta.

El reto de la Web Semántica es ofrecer el lenguaje que exprese tanto datos como

reglas para razonar sobre los datos, y además permita que las reglas sobre cualquier

sistema de representación del conocimiento sean exportadas a la Web, aportando un

importante grado de flexibilidad y frescura3 a los sistemas de representación de

conocimiento centralizados tradicionales, que se vuelven sumamente agobiantes,

crecen rápidamente de tamaño y se vuelven inmanejables.

Diferentes sistemas web pueden utilizar diferentes identificadores para un mismo

concepto. Así, un programa que quiera comparar o combinar información entre dichos

sistemas tiene que conocer qué términos significan lo mismo. Idealmente, el programa

debería tener una forma de descubrir los significados comunes de cualquier base de

datos que encuentre. Una solución a este problema es incluir un nuevo elemento a la

Web Semántica, colecciones de información denominadas ontologías. Una ontología

es una herramienta conceptual que define un vocabulario común para quien necesita

compartir información dentro de un determinado dominio. Esto incluye definiciones

de los conceptos básicos del dominio, así como sus relaciones, que tienen que ser

interpretables por máquinas (Noy & McGuinness, 2001).

Una ontología no es más que una especificación de lo que existe en un dominio,

convirtiéndose éstas en una pieza fundamental de las tecnologías orientadas a la Web

Semántica. Sin embargo, es un término que ha recibido diferentes acepciones e

interpretaciones en distintas disciplinas, aunque este efecto también se ha dado dentro

de la misma área de conocimiento, como por ejemplo en la inteligencia artificial. El

objetivo de este capítulo va a ser introducir qué es una ontología, cómo se puede

diseñar, cómo se puede especificar y relacionarlas con la Web Semántica. Para ello el

resto del capítulo se organiza como sigue: en la sección dos se discute el concepto de

ontología, haciendo referencia a su génesis y diversas interpretaciones; la sección tres

aborda el proceso de diseño de una ontología; la sección cuatro introduce algunas

metodologías para la construcción de ontologías; la sección cinco hace un breve

3 En la Web Semántica se aceptan las preguntas sin respuestas y las paradojas en pro de una

mayor versatilidad.

4 F. J. García Peñalvo

recorrido por las tecnologías para Web Semántica; y, por último, la sección seis cierra

el capítulo con las conclusiones del mismo.

2. Concepto de ontología

Recientemente se ha desatado un creciente interés en las ontologías como artefactos

para la representación del conocimiento y como componentes críticos en la gestión

del conocimiento, la Web Semántica, el comercio electrónico entre otros campos

(Brewster et al., 2004). Sin embargo, especificaciones de lo que existe, o de lo que se

puede decir sobre el mundo, se han utilizado desde la filosofía aristotélica4.

En Filosofía una ontología es una teoría sobre la naturaleza de la existencia, de qué

tipo de cosas existen. Parte de la metafísica que trata del ser en general y de sus

propiedades trascendentales (RAE, 2001). Así una ontología como disciplina estudia

dichas teorías. Se confunde a menudo con la epistemología, que trata del

conocimiento y el conocer5.

En el siglo XVII el término ontología se usa como sinónimo de metafísica,

concretamente como la rama de la metafísica que trata con la naturaleza del ser

(Swartout & Tate, 1999).

El término ontología es adoptado por la inteligencia artificial a finales de la década

de los 80s para compartir y reutilizar conocimiento, mientras que en la segunda mitad

de los 90s se incorpora a la ingeniería web para la inclusión de descripciones

semánticas explícitas de recursos (contenidos y servicios). En ambas disciplinas una

ontología se materializa en un documento o un fichero que define formalmente las

relaciones entre términos (Berners-Lee et al., 2001).

En el campo de la inteligencia artificial lo que existe es aquello que se puede

representar. Cuando el conocimiento de un dominio se representa mediante un

formalismo declarativo, el conjunto de objetos que pueden representarse se denomina

universo del discurso. Este conjunto de objetos y las relaciones describibles entre

ellos se reflejan en un vocabulario de representación con el que un programa basado

en conocimiento representa el conocimiento. Por tanto, en el contexto de la

inteligencia artificial6 se puede describir la ontología de un programa mediante la

definición de un conjunto de términos de representación. Así, en una ontología, las

definiciones asocian los nombres de las entidades en el universo de discurso (clases,

relaciones, funciones u otros objetos) con texto legible desde un punto de vista

humano, describiendo lo que significan los nombres, y axiomas formales que

restringen la interpretación y el uso adecuado de estos términos.

Las ontologías en la Web cubren un amplio espectro de utilización que las lleva a

estar ligadas a grandes taxonomías para clasificar los sitios web, como puede ser el

caso de Yahoo! (http://www.yahoo.com), o bien ligadas a clasificaciones propias de

4 El término ontología fue introducido originalmente por Aristóteles en su intento de clasificar

todo lo existente en el universo.

5 Doctrina de los fundamentos y métodos del conocimiento científico (RAE, 2001).

6 En la bibliografía propia de esta disciplina existen varias definiciones de ontología, muchas

veces contradictorias entre sí.

Web Semántica y Ontologías 5

los productos de sitios web específicos, como por ejemplo Amazon

(http://www.amazon.com).

Sin embargo, en el contexto de la ingeniería web el tipo más normal de ontología

presenta una taxonomía y un conjunto de reglas de inferencia. La taxonomía define

las clases de objetos y de relaciones entre ellos. Clases, subclases y relaciones entre

entidades son herramientas de gran potencia para usarlas en la Web. Las reglas de

inferencia por su parte ofrecen la posibilidad de que una ontología pueda expresar

condiciones. Un programa puede deducir cosas, no es que realmente las entienda,

pero puede manipular los términos de forma efectiva en ocasiones, lo que es útil e

importante para las personas.

En los siguientes subapartados se va a intentar profundizar en la definición de

ontologías, los elementos constituyentes de una ontología, en los tipos principales de

ontologías y en la aplicación de las ontologías.

2.1 Definición de ontología

Una de las definiciones más extendidas y aceptadas (especialmente en el campo de la

inteligencia artificial) del concepto de ontología dentro del contexto de la reutilización

del conocimiento es la de T. R. Gruber (1993) donde se define como una

especificación explícita de una conceptualización. Una definición muy próxima a la

de Gruber (1993) es la de Borst (1997) que define ontología como una especificación

formal de una conceptualización compartida. Pudiéndose fusionar ambas en la

siguiente definición una especificación formal explícita de una conceptualización

compartida, donde conceptualización significa modelo abstracto de un fenómeno, que

puede ser visto como un conjunto de reglas informales que restringen su estructura,

que por lo general se expresa como un conjunto de conceptos (entidades, atributos,

procesos), sus definiciones e interrelaciones; formal implica una organización teórica

de términos y relaciones usados como herramienta para el análisis de los conceptos de

un dominio; compartida significa que captura un conocimiento consensual que es

aceptado por una comunidad; y, por último, explícita se refiere a la especificación de

los conceptos y a las restricciones sobre éstos (Studer et al., 1998). Así, una ontología

es una descripción (como la especificación formal de un programa) de conceptos y

relaciones que pueden existir para un agente o una comunidad de agentes. Esta

definición es consistente con el uso de ontología como conjunto de conceptos y

definiciones, pero más general, además de tener un sentido completamente diferente

al que se le da en filosofía.

Uschold y Grüninger (1996) definen ontología como una comprensión compartida

de algún dominio de interés. Aunque una definición más amplia e informal es la que

define ontología como un vocabulario de términos y alguna especificación de su

significado (Uschold & Grüninger, 1996).

La mayor diferencia entre el enfoque de Gruber y de Uschold es la formalidad

requerida y la naturaleza consensual del conocimiento representado en una ontología.

Es importante que el conocimiento representado sea consensuado, al menos por un

determinado grupo representativo, para que de esta forma pueda ser reutilizado en

diferentes sistemas basados en conocimiento, ya que ésta es la principal razón para

construir ontologías. Sin embargo, el requisito de la formalidad no es consensual.

6 F. J. García Peñalvo

Una ontología es una especificación utilizada para establecer responsabilidades

ontológicas. Una responsabilidad ontológica es un contrato para usar un vocabulario

(i.e., realizar preguntas y hacer afirmaciones) de forma consistente (pero no

completa) con respecto a la teoría especificada por una ontología (Gruber, 1995).

Se usan ontologías comunes para describir responsabilidades ontológicas para un

conjunto de agentes por lo que ellos se podrían comunicar sobre el dominio de

discurso sin tener que obligatoriamente operar sobre una teoría global compartida. Un

agente se compromete con una ontología si sus acciones observables son consistentes

con las definiciones de la ontología (Gruber, 1995). La idea de las responsabilidades

ontológicas se basa en la perspectiva de nivel de conocimiento de Newell (1982). El

nivel de conocimiento es un nivel de descripción del conocimiento de un agente que

es independiente del nivel simbólico de representación que usa internamente el

agente. El conocimiento se les atribuye a los agentes observando sus acciones. Un

agente conoce algo si actúa como si tuviera la información y está actuando

racionalmente para conseguir sus objetivos. Un compromiso sobre una ontología

común es una garantía de consistencia, pero no de compleción, con respecto a las

preguntas y afirmaciones que se pueden hacer utilizando el vocabulario definido en la

ontología.

Por su parte en (Uschold & Jasper, 1999) se establece que una ontología puede

tener una variedad de formas, pero necesariamente deberá incluir un vocabulario de

términos y alguna especificación de sus significados. Esto contempla definiciones e

indicaciones de cómo los conceptos están interrelacionados, lo que impone una

estructura en el dominio y restringe las posibles interpretaciones de condiciones.

Formalmente, una ontología es la declaración de una teoría lógica. Las ontologías

se equiparan frecuentemente con jerarquías taxonómicas de clases, esto es,

definiciones de clases y sus relaciones, pero las ontologías no están limitadas a estas

formas. Las ontologías tampoco están limitadas a definiciones conservadoras, es

decir, definiciones en el sentido tradicional de la lógica que sólo introduce

terminología y no añade ningún conocimiento sobre el mundo (Enderton, 1972). Para

especificar una conceptualización se necesita definir axiomas que restrinjan las

posibles interpretaciones de los términos definidos.

Siguiendo con la idea de reutilización del conocimiento A. Gómez-Pérez (1995)

define ontología como una biblioteca de definiciones que pueden ser utilizadas para

diferentes propósitos en diferentes dominios, que permiten compartir y reutilizar

conocimiento y métodos de razonamiento entre agentes.

Para J. F. Sowa (2000) el objeto de una ontología es el estudio de las categorías de

las cosas que existen o pueden existir en algún dominio. El producto de tal estudio se

denomina ontología, es un catálogo de tipos de cosas que se asumen existen en un

dominio de interés D desde la perspectiva de una persona que usa un lenguaje L con

el propósito de hablar sobre D. Los tipos en la ontología representan los predicados,

el sentido de las palabras o los conceptos y los tipos de relación del lenguaje L cuando

se usa para discutir tópicos en el dominio D. Una lógica no interpretada es

ontológicamente neutra, ya que no impone restricciones en el estado de la cuestión o

en la forma en que el tema puede caracterizarse. Por sí misma, la lógica no dice nada

sobre cualquier cosa, pero la combinación de lógica con una ontología ofrece un

lenguaje que puede expresar relaciones sobre entidades en el dominio de interés.

Web Semántica y Ontologías 7

Una ontología informal puede especificarse mediante un catálogo de tipos que no

tienen que estar definidos o bien definidos por construcciones en lenguaje natural.

Una ontología formal se especifica mediante una colección de nombres de conceptos

y tipos de relaciones organizados en un orden parcial mediante la relación tiposubtipo.

Las ontologías formales se distinguen por la forma en que los subtipos se

distinguen de los supertipos: una ontología con axiomas distingue a los subtipos por

axiomas y definiciones expresados en un lenguaje formal, como puede ser lógica o

alguna notación orientada a la computación que puede traducirse a la lógica; una

ontología basada en prototipos distingue los subtipos mediante una comparación con

un miembro típico o prototipo para cada subtipo. Las ontologías grandes

frecuentemente usan una mezcla de métodos de definición: axiomas formales y

definiciones se usan para los términos en matemáticas, física e ingeniería, mientras

que los prototipos se usan para plantas, animales y elementos comunes en los hogares

(Sowa, 2000).

Una definición de ontología más cercana al modelado conceptual7 se encuentra en

(Breuker et al., 1999) según la que una ontología define como una representación

explícita de una conceptualización cognitiva, es decir, la descripción de los

componentes de conocimiento relevantes en el ámbito del modelado. La creación de

una ontología ofrece la ventaja de que se hace explícita la categorización de los

elementos y relaciones que intervienen en el modelo de conocimiento, de forma que,

por un lado, el modelo de conocimiento puede ser editado y gestionado y, por otro, es

posible transmitirlo de manera que un sistema entienda la conceptualización que se ha

utilizado en otro. Las ontologías proporcionan un conocimiento del dominio reusable

y mantenible (Mizoguchi et al., 1997).

En términos parecidos V. Devedžić (2002) entiende que una ontología es un

sistema de conceptos definidos e interpretados de manera declarativa. El sistema

define el vocabulario de un dominio y las restricciones que se aplican para que éstos

puedan ser combinados en el modelo del dominio.

En (Chandrasekaran et al., 1999) se define ontología como las teorías sobre tipos

de objetos, las propiedades de estos objetos, y las relaciones entre los objetos que son

posibles en un dominio específico de conocimiento.

N. Guarino (1998) define ontología como una teoría lógica que considera el

significado intencional de un vocabulario formal, es decir, su compromiso ontológico

para una conceptualización particular del mundo.

Una ontología es una descripción formal y explícita de los conceptos de un

dominio de discurso (clases, también denominadas conceptos), propiedades de cada

concepto describiendo varias de sus características y atributos (propiedades – slots –

también denominadas roles o propiedades), y restricciones de las propiedades

(características o facetas, también denominadas restricciones de los roles) (Noy &

McGuinness, 2001). Una ontología junto con un conjunto de instancias individuales

de las clases constituye una base de conocimiento.

7 Un modelo conceptual es una abstracción, una vista simplificada del mundo que se desea

representar para algún propósito. Cada base de conocimiento, sistema basado en

conocimiento o agente con algún nivel de conocimiento se asocia con alguna

conceptualización explícita o implícitamente.

8 F. J. García Peñalvo

2.2 Componentes de una ontología

Desde un punto de vista de ingeniería una ontología es un artefacto que está

constituido por un vocabulario específico utilizado para describir una cierta realidad,

además de un conjunto de suposiciones que tienen en cuenta el significado del

vocabulario. De esta manera los componentes de una ontología son una jerarquía de

clases con atributos y relaciones (pero sin métodos), una red semántica (como un

conjunto de instancias interrelacionadas), una lógica, un conjunto de axiomas (por

ejemplo reglas) sobre las clases y/o instancias, y una serie de mecanismos de

inferencia.

No obstante, al revisar la bibliografía especializada se puede apreciar que los

componentes de una ontología varían según el dominio de interés y las necesidades de

los desarrolladores. Se presentan a continuación los componentes de las ontologías

que se describen en (Sowa, 2000; Noy & McGuinness, 2001; Farquhar, 1997).

Axioma: Elementos que permiten el modelado de verdades que se

cumplen siempre en la realidad. Los axiomas pueden ser estructurales y/o

no estructurales. Un axioma estructural establece condiciones

relacionadas con la jerarquía de la ontología, conceptos y atributos

definidos. Ejemplo: el concepto A no es una clase de A. Un axioma no

estructural establece relaciones entre atributos de un concepto y son

específicos de un dominio. Ejemplo: la relación F=m*a, que debe

cumplirse siempre entre los atributos F (fuerza), m (masa) y a

(aceleración) de un determinado concepto.

Clase o tipo: Una clase es un conjunto de objetos (físicos, tareas,

funciones...). Cada objeto en una clase es una instancia de esa clase.

Desde el punto de vista de la lógica los objetos de una clase se pueden

describir especificando las propiedades que éstos deben satisfacer para

pertenecer a esa clase. Las clases son la base de la descripción del

conocimiento en las ontologías ya que describen los conceptos del

dominio. Una clase puede ser dividida en subclases, las cuales

representarán conceptos más específicos que la clase a la que pertenecen.

Una clase cuyos componentes son clases, se denomina superclase o

metaclase.

Instancias o individuos: Son objetos, miembros de una clase, que no

pueden ser divididos sin perder su estructura y características funcionales.

Pueden ser agrupados en clases.

Relaciones: Se establecen entre conceptos de una ontología para

representar las interacciones entre éstos. Definidas por lo general como el

producto cartesiano de n conjuntos: R: C1 x C2 x …x Cn. Algunas de las

relaciones mas utilizadas son:

o Instancia de: Asocian objetos a clases.

o Relaciones temporales: Implican precedencia en el tiempo.

o Relaciones topológicas: Establecen conexiones espaciales entre

conceptos.

Propiedades o slots: Los objetos se describen por medio de un conjunto

de características o atributos que son almacenados en los slots. Éstos

almacenan diferentes clases de valores. Las especificaciones, rangos y

Web Semántica y Ontologías 9

restricciones sobre estos valores se denominan características o facetas.

Para una clase dada, los slots y las restricciones sobre ellos son heredados

por las subclases y las instancias de la clase.

Frame: Un objeto que incluye clases, instancias y relaciones.

Conceptualización: Conjunto de conceptos, relaciones, objetos y

restricciones que caracterizan un domino.

Taxonomía: Conjunto de conceptos organizados jerárquicamente. Las

taxonomías definen las relaciones entre los conceptos, pero no los

atributos de éstos.

Vocabulario: Conjunto de palabras con una explicación y documentación

que persigue la universalidad y el formalismo en el contexto de un

dominio.

2.3 Tipos de ontologías

Hay diversas formas de clasificar las ontologías dependiendo de la perspectiva que se

aplique. Se van a presentar clasificaciones de ontologías desde perspectivas tan

diversas como pueden ser su orientación filosófica, su uso o su relación con una tarea

específica entre otras.

En (Brewster et al., 2004) se presenta un visión muy filosófica de las ontologías,

distinguiendo la aproximación newtoniana y la aproximación leibniziana. La

aproximación newtoniana se basa en la idea de encontrar principios elegantes que

simplifiquen. La cognición consiste en abstraer patrones robustos de datos

contaminados con ruido, de forma que lo complejo se haga simple. Por su parte, la

aproximación leibniziana espera hacer justicia a la gran complejidad de la

experiencia.

Ambas perspectivas coinciden en que para llegar a la realidad se requiere un

esfuerzo, siendo la ontología el producto de dicho esfuerzo. La diferencia entre ambas

perspectivas tiene su origen en la forma en las concepciones diferentes de cómo se

teje la realidad. Newton se centra en el único y los muchos (existe una diferencia

cualitativa entre la mente de Dios y la confusión de nuestras mentes, que sólo se

puede salvar si Dios lo desea). Mientras que Leibniz se centra en la parte y en el todo.

Esto es, para Newton el problema consiste en determinar el tipo ideal (el único) de los

cuales los muchos son versiones imperfectas. Para Leibniz el problema es determinar

el todo, cuyas propiedades de algún modo trascienden de sus partes constituyentes

(Fuller, 2001).

En el contexto de la Web Semántica ambos enfoques tienen cabida con sus

ventajas e inconvenientes. Las ontologías elegantes, propias de la tendencia

newtoniana, pueden ser más fáciles de gestionar, pero las ontologías “descuidadas”,

derivadas de la perspectiva leibniziana, pueden ser más fáciles de aplicar.

M. Uschold (1996) ofrece tres dimensiones sobre las cuales varían los tipos de

ontologías, a saber:

Formalidad: Se refiere al grado de formalismo del lenguaje usado para

expresar la conceptualización.

Propósito: Se refiere a la intención de uso de la ontología.

10 F. J. García Peñalvo

Materia: Para expresar la naturaleza de los objetos que la ontología

caracteriza.

En cuanto a la formalidad cuatro puntos arbitrarios que se puede pensar que forma

un continuo en esta dimensión son:

Ontología altamente informal: Expresada en lenguaje natural (por

ejemplo un glosario de términos).

Ontología informal estructurada: Utiliza lenguaje natural estructurado

y restringido, que permite reducción de la ambigüedad.

Ontología semiformal: Usa un lenguaje de definición formal, como

puede ser ontolingua (Gruber, 1993).

Ontología rigurosamente formal: La definición de términos se lleva a

cabo de manera meticulosa usando semántica formal, teoremas, y pruebas

de estas propiedades como solidez y compleción (por ejemplo TOVE

(Grüninger & Fox, 1995b)).

Los tipos de ontologías según el propósito o uso que se les vaya a dar son los

siguientes:

Ontologías para comunicación entre personas: Una ontología informal

no ambigua puede ser suficiente.

Ontologías para interoperabilidad entre sistemas: Para llevar a cabo

traducciones entre diferentes métodos, lenguajes, software... En estos

casos la ontología se usa como un formato de intercambio de

conocimiento.

Ontologías para beneficiar la ingeniería de sistemas: Cuando las

ontologías benefician las aplicaciones software apoyando aspectos como

la reutilización de componentes software en un dominio de interés, la

adquisición de conocimiento, la fiabilidad de los sistemas al proporcionar

consistencia en el conocimiento utilizado, o la especificación de los

sistemas software identificando los requisitos y definiendo

especificaciones para las tecnologías de la información.

Con respecto a la materia, las ontologías pueden ser:

Ontologías de dominio: Caracterizan disciplinas específicas, tales como

medicina, finanzas, química, biología… con independencia de los

problemas o tareas relevantes de dichas disciplinas.

Ontologías de tarea, de método o de resolución de problemas:

Conceptualizan el problema o la tarea a resolver en un dominio.

Ontologías de representación o metaontologías: El objeto que se

caracteriza es un lenguaje de representación de conocimiento.

N. Guarino (1997) clasifica las ontologías de acuerdo con su dependencia y

relación con una tarea específica desde un punto de vista, diferenciando los siguientes

tipos de ontologías:

Ontologías de Alto Nivel o Genéricas: Describen conceptos muy

generales como espacio, tiempo, acción… 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.

Web Semántica y Ontologías 11

Ontologías de Dominio: Describen un vocabulario relacionado con un

dominio genérico especializando los conceptos introducidos en la

ontología de nivel superior.

Ontologías de Tareas o de Técnicas básicas: Describen una tarea,

actividad o artefacto especializando las ontologías de alto nivel.

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 mientras que realizan una cierta actividad.

N. Guarino (1998) marca otra distinción y diferencia ontologías refinadas y no

refinadas, o lo que es lo mismo, off-line y on-line. Las no refinadas tienen un número

mínimo de axiomas y su objetivo es ser compartidas por usuarios que concurren sobre

una determinada visión del mundo. Tienen una mayor capacidad de ser compartidas y

deberían ser utilizadas en línea para dar soporte en funcionalidad de sistemas de

información. Las refinadas precisan de un lenguaje de alta expresividad y tiene un

gran número de axiomas. Deberían ser usadas off-line y solamente para referencia.

En (van Heijst et al., 1997) se clasifican las ontologías de acuerdo a la cantidad y

tipo de estructura de la conceptualización, distinguiendo:

Ontologías terminológicas: Especifican los términos que son usados para

representar el conocimiento en el universo del discurso. Suelen ser usadas

para unificar vocabulario en un campo determinado.

Ontologías de información: Especifican la estructura de almacenamiento

de bases de datos. Ofrecen un marco para el almacenamiento

estandarizado de información.

Ontologías de modelado de conocimiento: Especifican

conceptualizaciones del conocimiento. Contienen una rica estructura

interna y suelen estar ajustadas al uso particular del conocimiento que

describen.

2.4 Aplicación de las ontologías

Entre las principales razones para crear ontologías se pueden citar (Noy &

McGuinnes, 2001) compartir un entendimiento común de una estructura de

información entre personas o agentes software, posibilitar la reutilización de

conocimiento de un dominio, hacer explícitas suposiciones de un dominio, separar el

conocimiento de un dominio del conocimiento operacional, o analizar el

conocimiento de un dominio.

En (Uschold & Jasper, 1999) se ofrece una clasificación de aplicaciones

ontológicas que permite a los desarrolladores escenarios específicos sobre cómo

deben usar las ontologías para alcanzar provecho en un contexto dado. El aspecto

principal del esquema es que se basa en un conjunto de escenarios de aplicaciones

ontológicas, entendiéndose por escenario un sistema o proceso que hace uso o se

beneficia de la ontología. Cada escenario considerado se caracteriza por el propósito o

beneficio, el rol, los actores necesarios para implantar el escenario, el soporte técnico

y el nivel de madurez. Estos autores diferencian cuatro tipos de escenarios:

12 F. J. García Peñalvo

Autoría neutral: Se crea un artefacto de información en un lenguaje y se

traduce a diferentes formatos para ser usado en múltiples sistemas. Sus

beneficios son la reutilización de conocimiento, las mejoras en la

mantenibilidad y la retención de conocimiento de largo término. El

artefacto creado puede ser una ontología o datos operacionales.

Ontología como especificación: Una ontología de un dominio dado es

usada como la base para especificar y desarrollar alguna aplicación. Sus

beneficios son la documentación, la fiabilidad, el mantenimiento y la

reutilización de conocimiento.

Acceso común a la información: La información es requerida por uno o

varias personas o aplicaciones, pero la forma en que está expresada es

mediante un vocabulario poco familiar o en formato inaccesible. La

ontología devuelve la información entendible para proporcionar una

comprensión compartida de los términos para enlazar términos usados.

Sus beneficios son la interoperabilidad y el uso más efectivo y la

reutilización del conocimiento.

Ontología basada en búsquedas: La ontología es usada para buscar en

un repositorio de información una fuente en particular (páginas web,

documentos…). Sus beneficios son un acceso más rápido a la información

y una reutilización y uso efectivo de las fuentes de conocimiento.

3. Proceso para el diseño y construcción de ontologías

Diseñar una ontología es un proceso altamente complejo. La construcción de

ontologías no responde a una única aproximación lógica sino que depende, en gran

medida, del contexto en el que se construyen, de forma que ha sido norma común que

las diferentes comunidades que desarrollaban ontologías siguiesen sus propios

principios, criterios, reglas o métodos, dependiendo del tipo de ontología a desarrollar

o de una situación particular. Ante esta diversidad, han proliferado una serie de

métodos de diseño y construcción de ontologías, que tienen por finalidad

proporcionar a la comunidad de desarrolladores un procedimiento comúnmente

aceptado, ampliamente validado y verificado, que garantice la consecución de un

producto exitoso.

Valente y Breuker (1996) establecen principios que deben respetar las ontologías,

de forma que una ontología especifique una conceptualización, una forma de ver el

mundo, incorporando así un punto de vista. Estos principios son:

1. Parsimonia: Las ontologías deben ser parsimoniosas, deben contener

suficientes conceptos, pero sólo aquéllos que son estrictamente

necesarios.

2. Bases teóricas claras: Las ontologías deben tener unas bases teóricas

claras. Una ontología no debe ser una simple jerarquía de términos, sino

un marco teórico que describe el dominio.

3. Categorías versus términos: No se debe perseguir la especificación de

los términos más comunes, sino de las categorías básicas del dominio del

conocimiento.

Web Semántica y Ontologías 13

4. Coherencia: Las categorías básicas deben ser coherentes, donde

coherente además de significar consistencia y compleción, implica que los

marcos en los que se encuadran las categorías deben tener sentido dentro

del propio dominio de conocimiento.

La representación de objetos del mundo real siempre depende del contexto en el

que se usan los objetos. Este contexto puede verse como un punto de vista tomado de

la orientación a objeto. Es generalmente, imposible enumerar de antemano todos los

posibles puntos de vista útiles de (o clases de) objetos. La reutilización de alguna

parte de conocimiento requiere una descripción explícita de los puntos de vista que

están inherentemente presentes en el conocimiento. De otra forma, no hay forma de

saber si la parte de conocimiento es aplicable a una nueva aplicación y por qué.

Noy y McGuinnes (2001) también establecen algunas reglas básicas para el diseño

de ontologías.

No hay una única forma correcta de modelar un dominio. Siempre hay

alternativas viables. La mejor solución siempre depende de la aplicación

que se tiene en mente y de las extensiones que se puedan anticipar.

El desarrollo de una ontología es necesariamente un proceso iterativo.

Los conceptos en la ontología deben ser cercanos a objetos (físicos o

lógicos) y a las relaciones en el dominio de interés. Éstos suelen ser

nombres (objetos) o verbos (relaciones) en las frases que describen el

dominio.

El proceso de diseñar una ontología no difiere mucho, en líneas generales, del

usado para construir software. De forma muy pragmática Noy y McGuinnes (2001)

esbozan el esqueleto de un proceso de diseño y construcción de una ontología que

contendría las siguientes actividades:

Definir las clases de la ontología.

Organizar las clases en una jerarquía taxonómica (subclase-superclase).

Definir las propiedades y describir los valores posibles para cada una.

Dar valores a las propiedades para cada una de las instancias.

Sin embargo, las fases que normalmente conforman el ciclo de vida de una

ontología son: especificación (se identifica el propósito y el ámbito de la ontología),

conceptualización (se describe en un modelo conceptual la ontología que debe

cumplir la especificación), formalización (se transforma la descripción conceptual en

un modelo formal), implementación (se implementa la ontología formalizada en un

lenguaje de representación del conocimiento) y mantenimiento (se actualiza y corrige

la ontología). Además, de las actividades que se deben realizar en las fases

mencionadas, hay otras actividades que pueden llevarse a cabo durante todo el ciclo

de vida como son la adquisición de conocimiento (se adquiere el conocimiento del

dominio), la documentación (se documenta qué se ha hecho, cómo se hecho y por qué

se ha hecho) y evaluación (técnicamente se juzga la ontología). A mayores de las

actividades presentadas hay otra actividad que depende de la metodología, la

reutilización (se reutilizan otras ontologías en lo medida de lo posible, la mayoría de

las metodologías denominan integración a esta actividad) (Beck & Pinto, 2002).

Aunque estas fases tienen una influencia clara de la ingeniería del software, son

diferentes, siendo las principales diferencias que, por un lado, en las fases de

ingeniería del software, después de la especificación de requisitos, el diseño no se

divide en conceptualización y formalización como sucede en la mayoría de las

14 F. J. García Peñalvo

metodologías centradas en las ontologías y, por otra parte, las actividades de

adquisición del conocimiento, que tienen lugar durante todo el ciclo de vida de las

ontologías, no existen por lo general en lo procesos de ingeniería del software.

En la mayor parte de las ocasiones el desarrollo de las ontologías sigue un modelo

de ciclo de vida basado en prototipos evolutivos.

Construir ontologías desde cero para soportar aplicaciones de un dominio requiere

una gran cantidad de tiempo y esfuerzo. Las ontologías de dominio reutilizables

ofrecen posibilidades a los desarrolladores para explotar y reutilizar el conocimiento

existente en el dominio, para así construir las aplicaciones con más facilidad y

confianza (Annamalai & Sterling, 2003).

4. Metodologías para la construcción de ontologías

Existen multitud de propuestas metodológicas para el diseño y construcción de

ontologías, siendo algunas de las más relevantes TOVE, que se utilizó para construir

la ontología TOVE (TOronto Virtual Enterprise), sobre procesos de modelado de

empresas (Grüninger & Fox, 1994a, Grüninger & Fox, 1994b, Grüninger & Fox,

1995b; Grüninger, 1996); ENTERPRISE, que se utilizó para construir la ontología

con el mismo nombre sobre procesos de modelado de empresas (Uschold & King,

1995; Uschold, 1996; Uschold & Grüninger, 1996); METHONTOLOGY, que se ha

utilizado para construir, entre otras, la ontología Chemicals, que trata sobre los

elementos de la tabla periódica (Gómez-Pérez, 1996; Fernández et al., 1997; Gómez-

Pérez, 1998; Fernández, 1999; Fernández et al., 1999); IDEF5 (KBSI, 1994);

SENSUS (Swartout et al., 1997); o la guía para crear ontologías de la Universidad de

Stanford (Noy & McGuinnes, 2001) entre otras.

En los siguientes subapartados se hará una rápida revisión de alguna de estas

metodologías, aunque para una revisión más detallada se puede consultar (Jones et al.,

1998; Fernández, 1999; Annamalai & Sterling, 2003).

4.1 Guía para crear ontologías – Universidad de Stanford

Se trata de una metodología simple para a ingeniería del conocimiento aplicada a la

creación de ontologías (Noy & McGuinnes, 2001).

Esta metodología está compuesta por siete pasos, a saber:

1. Determinar el dominio y el alcance o ámbito de la ontología. Definir el

dominio y el alcance de la ontología, respondiendo preguntas del tipo

¿cuál es el dominio que la ontología debe cubrir?, ¿para qué se va a usar

la ontología?, ¿a qué preguntas debe dar respuesta la ontología?, ¿quién va

a usar y a mantener la ontología? Una de las formas de determinar el

ámbito de la ontología es preparar una lista de preguntas no exhaustiva

que la base de conocimiento basada en la ontología debe ser capaz de

responder, lista que recibe el nombre de preguntas de competencia

(Grüninger & Fox, 1995a). Estas preguntas deberán servir como base de

pruebas más adelante.

Web Semántica y Ontologías 15

2. Considerar reutilizar ontologías existentes. Comprobar si es posible

usar y extender fuentes de conocimientos ya existentes, y que puedan ser

de utilidad para el dominio del problema. Ejemplos de ontologías

reutilizables se pueden encontrar en Ontolingua

(http://www.ksl.stanford.edu/software/ontolingua/) o en DAML ontology

library (http://www.daml.org/ontologies/).

3. Enumerar los términos importantes en la ontología. Es útil escribir una

lista con todos los términos con los que se harían afirmaciones acerca del

dominio o se explicaría éste a un usuario. El contenido de la lista debe ser

preciso y carente de ambigüedades.

4. Definir las clases y la jerarquía de clases. De la lista creada en el paso

3, se seleccionan aquellos términos independientes para constituir las

clases. A partir de éstas se organiza la jerarquía. Hay diferentes

aproximaciones (Uschold & Grüninger, 1996): ascendente, descendente y

mixto.

5. Definir las propiedades de las clases – (slots). Las clases por sí solas no

ofrecen suficiente información para responder a las preguntas de

competencia. Por tanto, se deben describir los conceptos propios de la

estructura interna de las clases. Por lo general los términos que no fueron

seleccionados en el paso 4 pasan a considerarse propiedades de las clases.

En general, hay varios tipos de propiedades de los objetos que se pueden

convertir en propiedades en una ontología: propiedades intrínsecas,

propiedades extrínsecas, partes, si el objeto es compuesto y relaciones con

otros objetos. Adicionalmente, todas las subclases heredan la propiedad

de esa clase, es decir, todas las propiedades de la superclase son heredadas

por sus subclases.

6. Definir las características (facetas) de las propiedades. Las ranuras

tienen diferentes propiedades que describen el tipo de valor, los valores

permitidos, el número de valores (cardinalidad), así como otras

características de los valores que la propiedad puede tener.

7. Crear instancias. Es el último paso de este proceso. Definir una instancia

individual de una clase requiere a) elegir una clase; b) crear una instancia

individual de esa clase, y c) rellenar las propiedades con valores.

4.2 METHONTOLOGY - Universidad Politécnica de Madrid

Metodología desarrolla en el laboratorio de Inteligencia Artificial de la Universidad

Politécnica de Madrid. Permite la construcción de ontologías a nivel de conocimiento

e incluye la identificación del proceso de desarrollo de la ontología, un ciclo de vida

basado en la evolución de prototipos y técnicas particulares a usar en cada paso

(Gómez-Pérez, 1996; Fernández et al., 1997; Gómez-Pérez, 1998; Fernández, 1999;

Fernández et al., 1999).

Esta metodología está compuesta por siete pasos, a saber:

1. Especificación. Se desarrolla un documento que contenga la meta de la

ontología, nivel de granularidad, alcance, propósito... Se identificar los

términos a ser representados, sus características y relaciones.

16 F. J. García Peñalvo

2. Conceptualización. Se organiza el conjunto de términos y sus

características en una representación intermedia que el desarrollador de la

ontología y los expertos puedan entender. En este paso se construye un

glosario de términos, diagramas de relaciones binarias, diccionario de

conceptos, tablas de atributos instancias, tablas de atributos clases, tabla

de axiomas lógicos, tablas de constantes, tablas de instancias.

3. Adquisición de conocimiento. Este paso se lleva a cabo de manera

independiente en la metodología. Su ejecución puede coincidir con otros

pasos. Por lo general la adquisición de conocimiento se realiza en tres

etapas: reuniones preliminares con los expertos, análisis y revisión de la

bibliografía asociada al dominio, y una vez que se tiene un conocimiento

base se refina y detalla el conocimiento hasta completar la ontología.

4. Integración. Se identifican las ontologías candidatas a ser reutilizadas en

la ontología que se está construyendo, incorporando aquellas piezas de

conocimiento que sean de utilidad.

5. Implantación. Consiste en la codificación del modelo conceptual en un

modelo codificado en lenguaje ontolingua.

6. Evaluación. Se realiza un juicio técnico a la ontología, al ambiente de

software asociado y a la documentación con respecto a un esquema de

referencia en cada paso de la metodología. El esquema de referencia

puede ser: requisitos de especificación, preguntas de competencias y/o el

mundo real.

7. Documentación. Se detallar clara y exhaustivamente cada paso

completado y los productos generados.

4.3 TOVE (TOronto Virtual Enterprise)

Se basa en la experiencia de desarrollar la ontología que lleva su mismo nombre

(Grüninger & Fox, 1994a, Grüninger & Fox, 1994b, Grüninger & Fox, 1995b;

Grüninger, 1996).

Esta metodología propone las siguientes fases:

1. Capturar escenarios motivadores. Historia o ejemplos que describen la

motivación de la ontología en términos de las aplicaciones deseadas.

2. Formular preguntas de competencia informales. Preguntas que la

ontología debe poder responder.

3. Especificar la terminología de la ontología. Se utiliza para ello un lenguaje

formal que use lógica de primer orden.

4. Formular la lista de preguntas de competencia formalmente. Se utilizará

el lenguaje formal como los términos definidos en la fase anterior.

5. Especificar axiomas y definiciones para los términos. Se usará el lenguaje

formal.

6. Evaluar la ontología. Se demostrará la competencia de la ontología respecto

a las preguntas que surgen de las aplicaciones que usan la ontología.

7. Definir las condiciones bajo las que las soluciones a las preguntas son

completas.

Web Semántica y Ontologías 17

4.4 ENTERPRISE

Este esquema metodológico (Uschold & King, 1995; Uschold, 1996; Uschold &

Grüninger, 1996), constituye la base de muchos de los métodos propuestos y usados

en la actualidad. El esquema está constituido por cuatro pasos y considera además un

conjunto de guías o recomendaciones de diseño que se deben tener presentes en cada

paso del método.

1. Identificar el propósito y el alcance de la ontología. Se señala

claramente el propósito para el que se desea construir la ontología así

como el alcance de la misma.

2. Construir la ontología. Este paso considera tres aspectos necesarios para

la construcción de la ontología, a saber:

a. Capturar el conocimiento: Se identifican los conceptos claves y

sus relaciones en el dominio.

b. Codificar el conocimiento: Se representa en un lenguaje formal

la conceptualización capturada en el paso anterior.

c. Integrar el conocimiento: Se examinan las ontologías existentes

y se verifica si pueden ser integradas a la que se está

construyendo.

3. Evaluar la ontología. Se hace un juicio técnico a la ontología

considerando la conceptualizacion, el ambiente, el software y la

documentación, con respecto a una referencia. Esta referencia puede ser:

requisitos de especificación, preguntas de competencias y/o el mundo

real.

4. Documentar la ontología. Se documenta adecuadamente el conocimiento

expresado en la ontología, para así garantizar que sea apropiadamente

compartido y reutilizado.

5. Tecnologías para la Web Semántica

Fundamentalmente hay dos tecnologías que han marcado el desarrollo de la Web

Semántica XML (eXtensible Markup Language) (Bray et al., 2004) y RDF (Resource

Description Framework) (Beckett, 2004; Brickley & Guha, 2004; Grant & Beckett,

2004; Hayes, 2004; Klyne & Carroll, 2004; Manola & Millar, 2004).

XML permite crear nuevos vocabularios mediante juegos de etiquetas. Scripts o

programas pueden hacer uso de las etiquetas de formas tan sofisticadas como los

ingenieros del software deseen, pero estos desarrolladores tienen que conocer cuál es

el significado de cada etiqueta. XML permite añadir una estructura arbitraria a los

documentos, pero no dice nada sobre lo que significa la estructura.

El significado se expresa mediante RDF, que se codifica en conjuntos de tripletas.

Cada tripleta es como el sujeto, el verbo y el objeto de una frase elemental. Estas

tripletas se pueden escribir utilizando etiquetas XML. Un documento RDF hace

afirmaciones sobre qué cosas particulares tienen propiedades con ciertos valores. Esta

estructura es una forma natural de describir la mayor parte de los datos procesados

por ordenadores. Sujetos y objetos se identifican mediante URIs (Universal Resource

18 F. J. García Peñalvo

Identifier). Los verbos se identifican también mediante URIs que permiten que

cualquiera defina un nuevo concepto.

Además de XML y RDF hay otras muchas tecnologías que se pueden aplicar a la

Web Semántica, bien directamente o indirectamente a través de técnicas y

herramientas orientadas al soporte de las ontologías.

Conocer un concepto es, en gran media, conocer las relaciones entre dicho

concepto y otros conceptos. Para representar este conocimiento en inteligencia

artificial se han utilizado diversos medios como los sistemas basados en marcos, las

lógicas descriptivas o las redes semánticas. Todos ellos se pueden entender como

antecedentes de las ontologías. Así mismo, igual que se han utilizado diferentes

formalismos para estas técnicas, como los grafos conceptuales (Sowa, 1984) para las

redes semánticas, se han de utilizar medios de representación para las ontologías.

Los lenguajes para la representación de ontologías suponen un nivel primario

necesario para la implementación de las ontologías. Los lenguajes de representación

del conocimiento se utilizan para construir descripciones formales de los conceptos de

una ontología. Un lenguaje de representación del conocimiento ofrece formas de

construir representaciones simbólicas de lo que se conoce, conjuntamente con

métodos formales que utilizan estas representaciones para hacer inferencias y obtener

conclusiones. De algún modo, el significado de los conceptos en la ontología debe

representarse de forma que pueda manipularse por ordenadores para realizar tareas de

búsqueda, descubrimiento de relaciones entre conceptos o buscar inconsistencias en la

ontología.

Una primera familia de lenguajes para definir ontologías estaría formada por las

denominadas lógicas descriptivas, que se basan en el cálculo de predicados de primer

orden extendido para razonar sobre las relaciones. Más concretamente, esta familia de

lenguajes tiene su origen en el lenguaje KL-ONE (Brachman & Schmolze, 1985) que

ha producido diferentes lenguajes como BACK (Petalson, 1991), CLASSIC

(Brachman et al., 1991), CRACK (Bresciani et al., 1995), LOOM (MacGregor, 1988),

o YAK (Cattoni & Franconi, 1990) entre otros.

Estos lenguajes se caracterizan por estar definidos precisa y formalmente. Las

formulaciones matemáticas de cualquiera de estos lenguajes pueden expresarse

utilizando aproximaciones teóricas o semánticas. Las operaciones de inferencia que

pueden realizarse sobre los sistemas construidos con estos lenguajes deben estar bien

definidas y su complejidad computacional debe estar especificada. Por otro lado,

existe un límite práctico al poder expresivo de estos lenguajes que viene dado por el

número y la naturaleza de las características que el lenguaje contiene.

Debido a esto se necesitan lenguajes más expresivos para construir ontologías con

una mayor riqueza, surgiendo así los lenguajes para representar ontologías orientadas

a la Web, entre los que se pueden destacar SHOE (Luke et al., 1997; Heflin et

al.,1999; Heflin & Hendler, 2000), RDF (http://www.w3.org/RDF/), OIL (Ontology

Inference Layer) (Fensel et al., 2000; Klein et al., 2000; Fensel et al., 2001), DAML

(DARPA Agent Markup Language) (http://www.daml.org), DAML+OIL (Connolly et

al., 2001; McGuinness et al., 2002) u OWL (Horrocks et al., 2003; McGuinness &

van Harmelen, 2004) entre otros.

Una vez que se tiene cubierto el primer nivel de representación con los lenguajes,

el siguiente nivel está formado por herramientas de más alto nivel que permitan la

creación de las ontologías de la forma más independiente posible de los lenguajes, así

Web Semántica y Ontologías 19

se encuentran bibliotecas y APIs (Application Programming Interfaces) como Jena 2

(http://www.hpl.hp.com/semweb/jena2.htm), Sesame (http://www.openrdf.org/) o

RDF Gateway (http://www.intellidimension.com/default.rsp?topic=/pages/site/products/rdfgateway.rsp), y

entornos de desarrollo como Protégé (http://protege.stanford.edu/), Kaon

(http://km.aifb.uni-karlsruhe.de/kaon2/modules), OilEd (http://oiled.man.ac.uk/) o

WebODE (http://delicias.dia.fi.upm.es/webODE/) (Corcho et al., 2002; Arpírez et al.,

2003).

6. Conclusiones

En este capítulo se ha tratado de hacer una revisión del concepto de Web Semántica y

de cómo las ontologías influyen decisivamente en el desarrollo de ésta, ya que tener

ontologías sin significados ambiguos es el primer paso hacia la Web Semántica.

Como se ha podido comprobar a lo largo de este capítulo, las ontologías son un

concepto vago que se han utilizado por diferentes disciplinas, pero desde el punto de

vista de la ingeniería web o de los sistemas de información basados en web debe

entenderse como artefacto de ingeniería que está constituido por un vocabulario

específico utilizado para describir una cierta realidad, además de un conjunto de

suposiciones que tienen en cuenta el significado del vocabulario.

Las ontologías como artefactos de ingeniería tienen un ciclo de vida, similar a un

proceso software, pero introduciendo las particularidades propias del descubrimiento

y la gestión del conocimiento propio del dominio que se está abordando.

Debido a la complejidad del mundo de la información se debe convivir con

diversas visiones del mundo. Así mismo, es preciso que los desarrolladores de

sistemas de información tengan herramientas que permitan una combinación de varias

ontologías.

El potencial de la Web Semántica llegará a su plenitud cuando se tengan

programas que recojan contenidos web de diversas fuentes, procesen la información e

intercambien información con otros programas. La efectividad de esos agentes

software se incrementará de forma exponencial cuantos más contenidos semánticos

existan en la Web y mayor sea el número de servicios web estén disponibles.

La Web Semántica presenta una sinergia: agentes que no fueron expresamente

diseñados para trabajar conjuntamente pueden intercambiar datos entre ellos cuando

los datos incluyen su semántica.

En definitiva, el desarrollo de una aplicación para la Web Semántica implicaría tres

pasos fundamentales. El primero el diseño y construcción de una ontología. El

segundo la generación de la base de conocimiento, enlazando con bases de datos y

extrayendo los metadatos oportunos. Y el tercero y último paso el desarrollo de los

módulos de aplicación que permitiesen una gestión oportuna de la información y del

conocimiento que ésta encierra.

20 F. J. García Peñalvo

Agradecimientos

Deseo manifestar mi agradecimiento al grupo AWEG –Adaptive Web Engineering

Group– de la Universidad de Salamanca por sus contribuciones e ideas en el

desarrollo de este trabajo, el cual ha sido parcialmente financiado por el proyecto

SA017/02 de la Junta de Castilla y León (España) y el proyecto ODISEAME (Open

Distance Interuniversity Synergies between Europe, Africa and Middle East), ref.

EUMEDIS B7-4100/2000/2165-79 P546.

Referencias

Annamalai, M., Sterling, L. (2003). Guidelines for Constructing Reusable Domain Ontologies.

AAMAS03 Workshop on Ontologies in Agent Systems Proceedings (pp. 71-74).

Arpírez, J. C., Corcho, O., Fernández-López, M., Gómez-Pérez, A. (2003) WebODE in a

Nutshell. AI Magazine, 24(3), 37-48.

Beck, H., Pinto, H. S. (2002) Overview of Approach, Methodologies, Standards, and Tools for

Ontologies. The Agricultural Ontology Service. UN FAO.

http://www.fao.org/agris/aos/Documents/BackgroundAOS.html. [Última vez visitado,

31-10-2004].

Beckett, D. (Ed.). (2004) RDF/XML Syntax Specification (Revised). W3C Recommendation

10 February 2004. http://www.w3.org/TR/rdf-syntax-grammar/. [Última vez visitado, 31-

10-2004].

Berners-Lee, T. (1999) Weaving the WEB: The Original Design and Ultimate Destiny of the

World Wide Web by Its Inventor. New York: Harper Collins Publisher.

Berners-Lee, T., Hendler, J., Lassila, O. (2001) The Semantic Web. Scientific American.

Borst, P. (1997) Construction of Engineering Ontologies for Knowledge Sharing and Reuse.

Ph.D. Dissertation. Tweente University.

Brachman, R. J., Borgida, A., McGuinness, D. L., Patel-Schneider, P. F., Resnick, L. A. (1991)

Living with CLASSIC: When and How to Use a KL-ONE-Like Language. En J. Sowa

(Ed.), Principles of Semantic Networks (pp. 401-456). San Mateo, CA: Morgan

Kaufmann.

Brachman, R. J., Schmolze, J. G. (1985) An Overview of the KL-ONE Knowledge

Representation System. Cognitive Science, 9(2), 171–216.

Bray, T., Paoli, J., Sperberg-MacQueen, C. M., Maler, E., Yergeau, F. (Eds.). (2004) Extensible

Markup Language (XML) 1.0. 3rd Edition. World Wide Web Consortium

Recommendation 04 February 2004. http://www.w3.org/TR/REC-xml. [Última vez visitado,

31-10-2004].

Bresciani, P., Franconi, E., Tessaris, S. (1995) Implementing and Testing Expressive

Description Logics: A Preliminary Report. En G. Ellis, R. A. Levinson, A. Fall, V. Dahl

(Eds.), Knowledge Retrieval, Use and Storage for Efficiency (pp. 28-39).

Breuker, J., Muntjewerff, A., Bredewej, B. (1999) Ontological Modelling for Designing

Educational Systems. Proceedings of the AI-ED 99 Workshop on Ontologies for

Educational Systems. IOS Press.

Brewster, C., O’Hara, K., Fuller, S., Wilks, Y., Franconi, E., Musen, M. A., Ellman, J., Shum,

S. B. (2004) Knowledge Representation with Ontologies: The Present and Future. IEEE

Intelligent Systems, 19(1), 72-81.

Brickley, D., Guha, R. V. (Eds.). (2004) RDF Vocabulary Description Language 1.0: RDF

Schema. W3C Recommendation 10 February 2004. http://www.w3.org/TR/rdf-schema/.

[Última vez visitado, 31-10-2004].

Web Semántica y Ontologías 21

Cattoni, R., Franconi, E. (1990) Walking through the Semantics of Frame-based Description

Languages: A Case Study. Proceedings of the Fifth International Symposium on

Methodologies for Intelligent Systems. North-Holland.

Connolly, D., van Harmelen, F., Horrocks, I., McGuinness, D. L., Patel-Schneider, P. F., Stein,

L. A. (2001) DAML+OIL (March 2001) Reference Description. W3C Note 18 December

2001. http://www.w3.org/TR/daml+oil-reference. [Última vez visitado, 1-11-2004].

Corcho, O., Fernández-López, M., Gómez-Pérez, A., Vicente O. (2002) WebODE: An

Integrated Workbench for Ontology Representation, Reasoning and Exchange. 13th

International Conference on Knowledge Engineering and Knowledge Management

(EKAW'02) (pp. 138-153). Lecture Notes on Artificial Intelligence, Springer-Verlag.

Chandrasekaran, B., Josephson, J. R., Benjamins, V. R. (1999) What Are Ontologies, and Why

Do We Need Them? IEEE Intelligent Systems, 14(1), 20-26.

Devedžić, V. (2002) Understanding Ontological Engineering. Communications of the ACM,

45(4), 136-144.

Enderton, H. B. (1972) A Mathematical Introduction to Logic. New York: Academic Press.

Farquhar, A. (1997) Ontolingua Tutorial. University of Stanford.

Fensel, D., Horrocks, I., Van Harmelen, F., Decker, S., Erdmann, M., Klein, M. (2000). OIL in

a Nutshell. En R. Dieng et al. (eds.), Knowledge Acquisition, Modeling, and

Management, Proceedings of the European Knowledge Acquisition Conference (EKAW-

2000) (pp. 1-16). Lecture Notes in Artificial Intelligence, LNAI, Springer-Verlag.

Fensel, D., van Harmelen, F., Horrocks, I., McGuinness, D. L., Patel-Schneider, P. F. (2001)

OIL: An Ontology Infrastructure for the Semantic Web. IEEE Intelligent Systems, 16(2),

38–45.

Fernández, M. (1999) Overview of Methodologies for Building Ontologies. En V. R Benjamins

(Ed.) Proceedings of IJCAI99 Workshop on Ontologies and Problem-Solving Methods:

Lessons Learned and Future Trends. CEUR Publications, Volume 18.

Fernández, M., Gómez-Pérez, A., Juristo, N. (1997) METHONTOLOGY: From Ontological

Art Towards Ontological Engineering. Proceedings of AAAI97 Spring Symposium Series,

Workshop on Ontological Engineering (pp. 33-40).

Fernández, M., Gómez-Pérez, A., Pazos-Sierra, A., Pazos-Sierra, J. (1999) Building a Chemical

Ontology Using Methontology and the Ontology Design Environment. IEEE Intelligent

Systems, 14(1), 37-46.

Fuller, S. (2001) Strategies of Knowledge Integration. En M. K. Tolda (Ed.), Our Fragile

World: Challenges, Opportunities for Sustainable Development (pp. 1215-1228). EOLSS

Publishers.

Gómez-Pérez, A. (1995) Some Ideas to Evaluate Ontologies. Proceedings of the Eleventh IEEE

Conference on Artificial Intelligence Applications (pp. 299-305). IEEE Computer Society

Press.

Gómez-Pérez, A. (1996) A Framework to Verify Knowledge Sharing Technology. Expert

Systems with Application, 11(4), 519-529.

Gómez-Pérez, A. (1998) Knowledge Sharing and Reuse. En J. Liebowitz (Ed.) Handbook of

Expert Systems. CRC.

Grant, J., Beckett, D. (Eds.). (2004) RDF Test Cases. W3C Recommendation 10 February

2004. http://www.w3.org/TR/rdf-testcases/. [Última vez visitado, 31-10-2004].

Gruber, T. R. (1993). A Translation Approach to Portable Ontology Specifications. Knowledge

Acquisition, 5(2), 199-220.

Gruber, T. R. (1995). Toward Principles for the Design of Ontologies Used for Knowledge

Sharing. International Journal of Human-Computer Studies, Special Issue on the Role of

Formal Ontology in the Information Technology, 43(5/6), 907-928.

Grüninger, M. (1996) Designing and Evaluating Generic Ontologies. Proceedings of the 12th

European Conference of Artificial Intelligence (pp. 53-65).

22 F. J. García Peñalvo

Grüninger, M., Fox, M. S. (1994a) The Design and Evaluation of Ontologies for Enterprise

Engineering. Proceedings of the Workshop on Implemented Ontologies, European

Conference on Artificial Intelligence.

Grüninger, M., Fox, M. S. (1994b) The Role of Competency Questions in Enterprise

Engineering. Proceedings of the IFIP WG5.7 Workshop on Benchmarking - Theory and

Practice.

Grüninger, M., Fox, M. S. (1995a). Methodology for the Design and Evaluation of Ontologies.

Proceedings of the Workshop on Basic Ontological Issues in Knowledge Sharing, IJCAI-

95.

Grüninger, M., Fox, M. S. (1995b) The Logic of Enterprise Modelling. En J. Brown, D.

O’Sullivan (Eds.), Reengineering the Enterprise (pp. 83-98). Chapman and Hall.

Guarino, N. (1997) Understanding, Building and Using Ontologies. International Journal of

Human Computer Studies, 46(2/3), 293-310.

Guarino, N. (1998). Formal Ontology and Information Systems. En N. Guarino (Ed.),

Proceedings of the 1st International Conference on Formal Ontologies in Information

Systems, FOIS'98, (pp. 3-15). IOS Press.

Hayes, P. (Ed.). (2004) RDF Semantics. W3C Recommendation 10 February 2004.

http://www.w3.org/TR/rdf-mt/. [Última vez visitado, 31-10-2004].

Heflin, J., Hendler, J., Luke, S. (1999) SHOE: A Knowledge Representation Language for

Internet Applications. Technical Report, CS-TR-4078 (UMIACS TR-99-71), Dept. of

Computer Science, University of Maryland.

Heflin, J., Hendler, J. (2000) Semantic Interoperability on the Web. Proceedings of the Extreme

Markup Languages 2000 Conference (pp. 111-120).

Hendler, J., Berners-Lee, T., Miller, E. (2002) Integrating Applications on the Semantic Web.

Journal of the Institute of Electrical Engineers of Japan, 122(10), 676-680.

Horrocks, I., Patel-Schneider, P. F., van Harmelen, F. (2003) From SHIQ and RDF to OWL:

The Making of a Web Ontology Language. Journal of Web Semantics, 1(1).

Jones, D. M., Bench-Capon, T. J. M., Visser, P. R. S. (1998) Methodologies for Ontology

Development. Proceedings of IT&KNOWS Conference, XV IFIP World Computer

Congress.

Kappel, G., Pröll, B., Retschitzegger, W., Schwinger, W. (2003) Customisation for ubiquitous

web applications a comparison of approaches. International Journal of Web Engineering

and Technology, 1(1), 79-111.

KBSI (1994) The IDEF5 Ontology Description Capture Method Overview. KBSI Report,

Texas.

Klein, M., Fensel, D., van Harmelen, F., Horrocks, I. (2000) The Relation between Ontologies

and Schema-languages: Translating OIL-specifications in XML-Schema. Proceedings of

the Workshop on Applications of Ontologies and Problem-Solving Methods.

Klyne, G., Carroll, J. J. (Eds.). Resource Description Framework (RDF): Concepts and Abstract

Syntax. W3C Recommendation 10 February 2004. http://www.w3.org/TR/rdf-concepts/.

[Última vez visitado, 31-10-2004].

Luke, S., Spector, L., Rager, D., Hendler, J. (1997) Ontology-based Web Agents. Proceedings

of the First International Conference on Autonomous Agents (pp. 59-66). New York, NY:

ACM Press.

MacGregor, R. M. (1988) A Deductive Pattern Matcher. Proceedings of the Seventh National

Conference on Artificial Intelligence (pp. 403-408).

Manola, F., Miller, E. (Eds.). (2004) RDF Primer. W3C Recommendation 10 February 2004.

http://www.w3.org/TR/rdf-primer. [Última vez visitado, 31-10-2004].

McGuinness, D. L. (2004) Question Answering on the Semantic Web. IEEE Intelligent

Systems, 19(1), 82-85.

McGuinness, D. L., Fikes, R., Hendler, J. (2002) DAML+OIL: An Ontology Language for the

Semantic Web. IEEE Intelligent Systems, 17(5), 72-80.

Web Semántica y Ontologías 23

McGuinness, D. L., van Harmelen, F. (Eds.). (2004) OWL Web Ontology Language Overview.

W3C Recommendation 10 February 2004. http://www.w3.org/TR/owl-features/. [Última

vez visitado, 1-11-2004].

Mizoguchi, R., Ikeda, M., Sinitsa, K. (1997) Roles of Shared Ontology in AI-ED Research. En

B. de Boulay, R. Mizoguchi (Eds.), Artificial Intelligence in Education AI-ED 97 (pp.

537-544). IOS Press.

Newell, A. (1982). The Knowledge Level. Artificial Intelligence, 18(1), 82-127.

Noy, N. F., McGuinness, D. L. (2001) Ontology Development 101: A Guide to Creating Your

First Ontology. Stanford Knowledge Systems Laboratory Technical Report KSL-01-05

and Stanford Medical Informatics Technical Report SMI-2001-0880.

Petalson, C. (1991) The BACK System: An Overview. Proceedings of the SIGART Bulletin,

2(3), 114-119.

RAE - Real Academia Española (2001) Diccionario de Real Academia. Vigésimo segunda

edición. http://www.rae.es. [Última vez visitado, 27-10-2004].

Sowa, J. F. (1984) Conceptual Structures: Information Processing in Mind and Machine.

Reading, MA: Addison-Wesley.

Sowa, J. F. (2000) Knowledge Representation: Logical, Philosophical, and Computational

Foundations. Pacific Grove, CA: Brooks Cole Publishing Co.

Studer, R., Benjamins, R., Fensel, D. (1998) Knowledge Engineering: Principles and Methods.

Data and Knowledge Engineering, 25(1/2), 161-197.

Swartout, W. Ramesh, P., Knight, K., Russ, T. (1997) Toward Distributed Use of Large-Scale

Ontologies. Proceedings of Spring Symposium on Ontological Engineering of AAAI.

Swartout, W., Tate, A. (1999) Ontologies. IEEE Intelligent Systems, 14(1), 18-19.

Uschold, M. (1996) Building Ontologies: Towards a Unified Methodology. Proceedings of 16th

Annual Conference of the British Computer Society Specialist Group on Expert Systems.

Uschold, M., Grüninger, M. (1996) Ontologies: Principles, Methods and Applications.

Knowledge Engineering Review, 11(2), 93-155.

Uschold, M., Jasper, R. (1999) A Framework for Understanding and Classifying Ontology

Applications. En V. R Benjamins (Ed.) Proceedings of IJCAI99 Workshop on Ontologies

and Problem-Solving Methods: Lessons Learned and Future Trends. CEUR Publications,

Volume 18.

Uschold, M., King, M. (1995) Towards a Methodology for Building Ontologies. Proceedings

of IJCAI95's Workshop on Basic Ontological Issues in Knowledge Sharing.

Valente, A., Breuker, J. (1996) Towards Principled Core Ontologies. Proceedings of the

Knowledge Acquisition Workshop - KAW'96.

van Heijst, G., Schreiber, A. Th., Wielinga, B. J. (1997) Using Explicit Ontologies in KBS

Development. International Journal of Human and Computer Studies, 46(2/3), 183-292.

Enter content here

Enter supporting content here