Aplicación empresarial de Ontologías Informáticas SWWS. 2da Parte - (Conceptos a Fondo)

Escrito por Javier Urrutia en August 31st, 2006

Concepto

Hoy, sigo desarrollando el concepto de aplicar Ontologías informáticas en el ámbito de las empresas. Sin embargo para poder explicar estos temas de manera completa, será necesario un viaje de varios post.

En la primera parte, realice una visión rápida y sin profundidad a muchos conceptos. Si quedo intrigado en como estos funcionan internamente, en esta segunda parte ahondare en los fundamentos que dan el poder y soporte a las ontologías informáticas como tecnologías emergentes. Para ello primero que nada explicare los conceptos de manejo de lógica que incluye una ontología, su relación con OWL y los razonadores o máquinas de inferencia.

Cuando hablamos de semántica en relación a la web, buscadores semánticos, o incluso a Web Services con semántica. Deberemos entender que no existe un solo nivel de "Semántica" existen varios, un nivel simple casi descriptivo y uno que desarrolla a plena potencia la parte lógica de una ontología. Para ello les presento el siguiente diagrama:

 

Dlesquema4

Como puede usted ver, existen tecnologías con un desarrollo simple o casi nulo en términos semánticos, como lo son las bases de datos relacionales, y también existen modelos con un nivel de semántica muy poderoso basado en logicas modales por ejemplo. Si observa con detenimiento, y recuerda la definición de Ontología podrá percatarse que contra mas componentes de las mencionadas en la definición de ontología existan, o definan a una ontología, y en particular contra mas capacidad en su definición de axiomas y relaciones existan, mayor será su potencial semántico. Lo anterior no es casualidad. Si lo piensa bien, para tener razonadores automáticos o máquinas de inferencia, que son los que finalmente le dan poder a este tema. No basta con tener un árbol de categorías. Y le sorprendería la cantidad de gente que relaciona solamente una ontología a un vocabulario de categorías o sub-categorias.

Si, tal ves esa forma simple de entender una Ontología Informática se deba a que cuando hablamos de OWL (El lenguaje para su definición) olvidamos que este viene en varios sabores. Desde el OWL-Lite hasta el OWL-Full pasando por varios niveles, o que RDF esta mas cercano a una Ontología de semántica media. Mucha gente olvida o simplemente no tiene esta distinción. En resumen, su ontología será mas poderosa en la medida que no solo defina categorías o sub-categorias (eso es básico) el poder real esta en el aporte axiomático que tenga su ontología. En otras palabras en la medida que mayor sea la complejidad y cantidad de axiomas que la acompañan (y por supuesto relaciones, funciones, etc) mas potencial de inferencia tendrá su ontología.

Veamos por ejemplo algunas sentencias de OWL para definición de Ontologías:

DLesquema1

 

En el diagrama de arriba usted puede ver en la primera Columna las instrucciones de OWL para la construcción de relaciones, por ejemplo. Y en las otras columnas, ejemplos de su escritura en otras formas de definir de lógica. En particular me gustaría resaltar la segunda y tercera columna. Si las observa bien, entenderá por que es tan importante el aporte de la lógica en una Ontología. Considere ahora este otro conjunto de instrucciones OWL:

DLesquema2

 

Este otro conjunto de instrucciones OWL, a diferencia del primer cuadro no esta orientado a establecer relaciones de las categorías o vocabularios que una ontología define. Este conjunto es mas cercano a aquellas instrucciones que permiten definir axiomas en base a el vocabulario taxonómico que define la base de una ontología.

Bien, para completar le muestro aquí, un código parcial de una Ontología que contempla algo de cada una de las componentes propias de esta distinción, esto es un archivo XML (se han eliminado secciones de encabezado y otras no necesarias para la explicación).

<owl:Class rdf:ID="Winery"/>

<owl:Class rdf:ID="Region"/>

<owl:Class rdf:ID="ConsumableThing"/>

<owl:ObjectProperty rdf:ID="madeFromGrape">

<rdfs:domain rdf:resource="#Wine"/>

<rdfs:range rdf:resource= "#WineGrape"/>

</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="hasVintageYear">

<rdf:type rdf:resource="&owl;FunctionalProperty" />

<rdfs:domain rdf:resource="#Vintage" />

<rdfs:range rdf:resource= "#VintageYear" />

</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="hasMaker">

<rdf:type rdf:resource="&owl;FunctionalProperty" />

</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID="producesWine">

<owl:inverseOf rdf:resource="#hasMaker" />

</owl:ObjectProperty>

<owl:Class rdf:ID="Wine">

<rdfs:subClassOf rdf:resource="&food;PotableLiquid" />

<rdfs:subClassOf>

<owl:Restriction>

<owl:onProperty rdf:resource="#hasMaker" />

<owl:allValuesFrom rdf:resource="#Winery" />

</owl:Restriction>< BR> </rdfs:subClassOf>

</owl:Class>

En este trozo de código de una ontología definida en OWL, existen la mayoría de las componentes que discutimos en la primera parte de esta serie de post dedicada a las ontologías informáticas en la empresa.

Ahora bien como se habrá dado cuenta, todo este tema gira en torno al poder lógico que incluye una ontología, mejor dicho a la lógica descriptiva presente, cuyos fundamentos permitirán a un motor de lógica descriptiva hacer deducciones o responder consultas lógicas en base a los axiomas ya definidos en la ontología. El como este motor o razonador de lógica de descripción funciona, no es simple de explicar:

El nombre lógica de descripción se refiere, por un lado, a descripciones de conceptos usadas para describir un dominio y, por otro lado, a la semántica basada en la lógica que puede dar una traducción en lógica de predicados de primer orden. DL se diseñó como una extensión de frames (marcos) y redes semánticas, los cuales no estaban equipados con semántica basada en la lógica. Lo nuevo que tiene la lógica de primer orden que no está presente en la lógica proposicional es la cuantificación.La lógica de primer orden tiene suficiente poder expresivo para la formalización de casi toda la matemática y por lo tanto .La realización de motores o razonadores en base a lógica de descripción se hace viable.

Solo para profundizar en un grado mas, como la lógica de descripción opera a nivel de un motor de razonamiento o inferencia, puede verse en el siguiente diagrama:

DLesquema3

 

Un Motor de Razonamiento en base a Lógica Descriptiva, asocia dos mecanismos internos en su entendimiento del conocimiento. El primero denominado TBox (caja terminológica) y un segundo llamado ABox (caja de aserciones). En general, la TBox contiene sentencias describiendo conceptos jerárquicos (i.e., relaciones entre conceptos) mientras la ABox contiene sentencias "ground" indicando a donde pertenecen los individuos en la jerarquía (i.e., relaciones entre individuos y conceptos). Esta separación es puramente operativa, ya que estas distinciones permite a un razonador de lógica de descripción operar de mejor forma.

Si se pregunta como los sistemas de inferencia, infieren? les recomiendo un curso rápido en wikipedia de lógica de predicados y logica de primer orden. El inferir en general son reglas máximas que permiten en base a axiomas menores, deducciones mayores o transitivas y de otros tipos. En fin. Dejando de lado toda la Lógica Descriptiva, que por cierto sigue avanzando a modelos de mayor poder deductivo, y entrando en la finalidad de este serie de post. Ahora que al menos tiene una base de como funciona por dentro, vamos al tema de los Web Service con Semántica Habilitada.

Veamos los componentes de la receta hasta ahora; tenemos un lenguaje de ontologías informáticas OWL, tenemos los conceptos de Ontologías y comprendemos el poder de la Lógica de Descripción como base de estos temas, y mas o menos sabemos que por inferencias obtenemos resultados a consultas lógicas. Ahora como usar todo esto para tener Web Service mas inteligentes?. Bueno muy simple. Definamos antes que nada una Ontología que contenga el dominio de conocimientos necesarios para usar Web Services. Le´parece obvio verdad?, pero hasta hace poco a nadie se le había ocurrido.

Hoy y apoyados por el W3C existe un set de XML de Ontología de Web Services, conocido comúnmente como OWL-S, que no es mas que una serie de archivos XML de OWL para el dominio de conocimiento llamado WebServices.

OWLS

 

En otras palabras OWL-S es una ontología especifica para describir las propiedades y capacidades de un web service. La estructura de esta ontología viene dada por la necesidad de responder 3 aspectos básicos de un servicio:

  1. Que necesita el servicio del cliente que lo utiliza? (Humano/Agente) y que le proporcionara como respuesta el Servicio?. Este punto se denomina Perfil del Servicio
  2. Que hace el servicio? Esto es el Modelo del Servicio
  3. Como se usa el Servicio?. La respuesta a esta pregunta es el grouning del servicio.

Para la Historia: OWL-S es la evolución de DAML-S, actualmente OWL-S va en su versión 1.1. Hoy en día agrega la capacidad de incorporar reglas en un lenguaje llamado SWRL.

Ahora si usted se esta preguntando algo así como, "Oye pero y WDSL y UDDI no resuelven estos problemas de alguna forma similar?".

Aquí le puedo decir que OWL-S y WDSL son lenguajes complementarios en la practica. OWL-S no sustituye a WSDL. Los lenguajes se solapan en lo que en WSDL se designan como tipos abstractos, que caracterizan las entradas y salidas del servicio. OWL-S provee la capacidad de darle sentido semántico a las definiciones abstractas, mientras que por otro lado no tiene la capacidad de expresar la información de ligado (binding) que tiene WSDL. Para ilustras aquí les va una filgurita:

WSDLyOWLs

 

En el próximo post, explicare la forma operativa conceptual de como utilizar OWL-S y de que forma generar una secuencia de pasos en la utilización de Web Service con semántica, ahondaremos también en las vías posibles para componer servicios de forma automática y su monitorización.Y probablemente también revisaremos algunos conceptos no tratados a fondo aun.

Javier Urrutia

4 Votes | Average: 3.75 out of 54 Votes | Average: 3.75 out of 54 Votes | Average: 3.75 out of 54 Votes | Average: 3.75 out of 54 Votes | Average: 3.75 out of 5 (4 votos, promedio: 3.75 de 5)
Loading ... Loading ...
Envie a un Amigo este Post (Click Aqui)Enviar a un Amigo | Version para Impresion del Post (Click Aqui)Version para Impresion


Posibles articulos relacionados


Aplicación empresarial de Ontologías Informáticas SWWS. 1era Parte - Introducción (El próximo salto)
Hoy día quiero dar un salto, de forma y estilo de los post que escribo en este blog. Después de interactuar mediante la red con distintas personas y en particular después de visitar el Blog de Jorge Fernandez Gonzales ,

Aplicación empresarial de Ontologías Informáticas SWWS. 3ra Parte - (El Diseño)
En esta parte de la serie de post acerca de ontologías informáticas y como aplicarlas a la empresa, trabajaremos en el diseño de las formas mas interesantes en relación a utilizar este tipo de tecnologías en el ámbito empresarial.

Jboss JBPM (Open Source)
Aquí estamos una vez mas hablando de BPMs, Anteriormente escribí un articulo de una BPM Suite denominada Intalio, bastante completa y con la gracia de ser Open Source. Ahora voy a escribir de una alternativa llamada JBPM de Jboss.

Pramati Application Server
A estas alturas si sigue leyendo esta pagina imagino esta un poco relacionado con tecnologías de desarrollo actuales y emergentes, por lo tanto seguramente esta algo familiarizado con Jboss (Servidor de Aplicaciones J2EE) y tal vez otros servidores Java

JXTA 2.0 El Framework de nivel empresarial que se nos viene (Introducción 1era Parte)
Con tanta tecnología en estos días, no es raro que se me halla pasado una como JXTA,lo complicado fue darme cuenta que no era una tecnología mas, pero por suerte mi colega Cesar Esquerre, en una reunión nos llamo la


Link de trackback a este post

Boton derecho para copiar enlace de trackback Aplicación empresarial de Ontologías Informáticas SWWS. 2da Parte - (Conceptos a Fondo)


Escriba un comentario

Tome un momento y escriba su pensar hacerca de este post. Algunos codigos HTML son permitidos para el formato.

Comentarios escritos

viejo, necesito trabajar ontologias en owlcon protegé, se puede ayudarme en algo se lo agradeceria, muchas gracias por lo demas esta muy bien el infrome que ha preparado. gracias!!!!!!!!!!

Estimado Manuel

La verdad de Protegé no hay mucha informacion de tutoriales en español. Te recomiendo buscar en google al respecto y de paso te dejo aqui un breve tutorial en español. Disculpa lo poco:

http://weblogs.udp.cl/nicolas.boettcher/archivos/(8164)Tema4.3TutorialOWL.pdf

Otra opcion es que busques algun libro en Amazon, no hay muchos de estos pero existen unos pocos buenos.

Saludos Cordiales
Javier Urrutia

quiero tener un ejemplo de logicas descriptivas donde me de un enunciado y su respectivo tbox

Hola Cladia,

Te recomiendo buscar en google y algunos libros de OWL y Semantica en amazon.

Disculpa lo poco pero en general no hay muchos ejemplos en internet de estos temas. En los proximos dias agregare un post donde podria ayudarte al respecto

Saludos Cordiales
Javier Urrutia

EsEstimados, por favor si me pueden indicar donde encontrar información de como usar INTALIO (manuales o tutoriales). Gracias


Technorati Z22 XML-Sitemap RSS a PodCast Usa Firefox es mejor