Ontologías
Prof. Bach. Kryscia Ramírez Benavides
30/03/2005
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 2
Agenda
• Introdu...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 3
Agenda
• Desarro...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 4
Introducción
• N...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 5
¿Qué es una onto...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 6
¿Qué es una onto...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 7
Aplicaciones
• C...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 8
Elementos de una...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 9
Beneficios de la...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 10
Principios de c...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 11
Pasos para cons...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 12
Lenguajes
• Es ...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 13
Lenguajes (cont...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 14
Lenguajes (cont...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 15
RDF (Resource D...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 16
RDF (Resource D...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 17
RDF-S (RDF Sche...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 18
RDF/RDF-S
• RDF...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 19
DAML+OIL (DARPA...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 20
DAML+OIL (DARPA...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 21
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 22
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 23
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 24
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 25
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 26
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 27
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 28
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 29
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 30
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 31
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 32
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 33
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 34
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 35
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 36
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 37
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 38
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 39
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 40
OWL (Web Ontolo...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 41
Requisitos de l...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 42
Funcionalidades...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 43
Herramientas
• ...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 44
Protégé
• Es gr...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 45
Protégé
• Integ...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 46
RACER
• Razonad...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 47
Agentes y ontol...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 48
Agentes y ontol...
Ejemplo:
Ontología de Pizzas
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 50
¿Qué se necesit...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 51
Lo primero es…
...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 52
Lo primero es… ...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 53
Jerarquía de Cl...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 54
Construcción de...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 55
Construcción de...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 56
Construcción de...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 57
Construcción de...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 58
Construcción de...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 59
Ejemplo con Bea...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 60
Jerarquía de Cl...
Elaborado como parte del Proyecto @LisTechNet - WP4
Escuela de Ciencias de la Computación e Informática 61
Referencias
• R...
Upcoming SlideShare
Loading in …5
×

Ontologias

582 views

Published on

  • Be the first to comment

  • Be the first to like this

Ontologias

  1. 1. Ontologías Prof. Bach. Kryscia Ramírez Benavides 30/03/2005
  2. 2. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 2 Agenda • Introducción • ¿Qué es una ontología? • Aplicaciones • Elementos de una ontología • Beneficios de las ontologías • Principios de construcción • Pasos para construir ontologías
  3. 3. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 3 Agenda • Desarrollo de ontologías  Lenguajes  RDF/RDF-S  DAML+OIL  OWL  Herramientas  Protégé  RACER • Agentes y ontologías • Ejemplo: Ontología de Pizzas
  4. 4. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 4 Introducción • Nuevas tecnologías Web proponen nuevas técnicas y paradigmas para la representación de conocimiento que faciliten localizar, compartir e integrar recursos • Conocimiento semántico explícito que describe y estructura la información y los servicios disponibles • Creciente interés en la reutilización, para reducir recursos, costos y tiempo
  5. 5. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 5 ¿Qué es una ontología? • El término es tomando de la filosofía y se refiere a existencia • Para la IA, lo que “existe” es aquello que puede ser representado • Definición más completa y utilizada es la de Gruber (1993) y extendida por Studer (1998): Una especificación explícita y formal de una conceptualización compartida
  6. 6. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 6 ¿Qué es una ontología? (cont.) • Conceptualización: Una forma de entender o describir un dominio, modelo abstracto • Explícita: Satisface la necesidad de especificar de forma consciente los distintos conceptos que conforman una ontología • Formal: Sigue alguna especificación formal de un lenguaje de representación • Compartida: Conocimiento aceptado como mínimo por el grupo de personas que van a usarla
  7. 7. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 7 Aplicaciones • Comercio electrónico • Gestión de conocimientos • Sistemas de agentes • Portales de páginas Web • Indexación de páginas Web • Recuperación de información • Procesamiento de lenguaje natural • Web semántica
  8. 8. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 8 Elementos de una ontología • Conceptos ≈ Clases ≈ Categorías • Relaciones ≈ Propiedades ≈ Slots • Funciones • Instancias • Axiomas
  9. 9. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 9 Beneficios de las ontologías • Proporcionan una forma de representar y compartir el conocimiento utilizando un vocabulario común • Permiten reutilización del conocimiento • Permiten usar un formato de intercambio de conocimiento • Proporcionan un protocolo específico de comunicación • Mantienen la semántica de la información
  10. 10. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 10 Principios de construcción • Claridad y Objetividad • Completitud • Coherencia • Máxima Extensibilidad Monótona • Principio de Distinción Ontológica • Diversificación • Estandarización • Minimización
  11. 11. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 11 Pasos para construir ontologías • Determinar el dominio y el alcance de la ontología • Considerar reutilizar ontologías existentes • Enumerar los términos importantes del dominio • Definir las clases y la jerarquía de las clases • Definir las propiedades (slots) de las clases • Definir las restricciones de las propiedades • Crear instancias
  12. 12. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 12 Lenguajes • Es la forma en que se representa un contexto en particular • Garantiza que la ontología sea una especificación formal explícita • Existen muchos lenguajes que van a permitir esa definición • No todos van a permitir el mismo nivel de expresividad a la hora de definir ontologías
  13. 13. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 13 Lenguajes (cont.) • Honrubia expone que un lenguaje debe tener los siguientes requisitos:  Sintaxis bien definida  Semántica bien definida  Suficiente expresividad  Fácilmente maleable  Eficiente a la hora de realizar razonamiento
  14. 14. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 14 Lenguajes (cont.) • El lenguaje a utilizar para modelar ontologías depende de las características y condiciones que se necesiten • Existen lenguajes para definición de ontologías clasificados de acuerdo a su representatividad y objetivo • Algunos son:  RDF/RDF-S  DAML+OIL  OWL
  15. 15. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 15 RDF (Resource Description Framework) • Especificación propuesta por W3C • Declara meta-información de forma global (URI) • Información manejable por una máquina • Basado en XML • Modelo simple (grafo dirigido) • Modelo de datos básico consta:  Recursos  Propiedades  Declaraciones
  16. 16. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 16 RDF (Resource Description Framework) (cont.) • RDF es un conjunto de tripletas: sujeto (recurso), predicado (propiedad) y objeto (valor de la propiedad) Subject Object Object Predicate Predicate = URI o Node Blank = Literal (plain or typed) = Property or Association (URI)
  17. 17. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 17 RDF-S (RDF Schema) • Proporciona un sistema entendible por la máquina para definir esquemas para vocabularios específicos • Permite especificar clases de tipos de recursos y propiedades • Es un conjunto de recursos RDF (incluyendo clases y propiedades), y las restricciones en sus relaciones
  18. 18. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 18 RDF/RDF-S • RDF/RDF-S:  Ofrece los mínimos requerimientos para el desarrollo de una ontología  Expresividad es limitada  Es un lenguaje semántico que une la información de una página a semántica legible por máquinas  Ofrece pocas restricciones y muy poco razonamiento (casi no ofrece mecanismos de inferencia)
  19. 19. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 19 DAML+OIL (DARPA Agent Markup Language + Ontology Inference Layer) • Lenguaje de marcado semántico para los recursos Web • Basado en estándares de W3C como RDF/Esquema RDF, y extiende estos lenguajes modelando primitivas más poderosas • DAML+OIL une RDF/RDF-S con una capa de inferencias para ontologías brindado:  Una semántica precisa para la descripción de significados de los términos  Un buen razonamiento
  20. 20. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 20 DAML+OIL (DARPA Agent Markup Language + Ontology Inference Layer) (cont.) • Surge de la unión:  DARPA Agent Mark-Up Language (DAML)  Ontology Inference Layer (OIL) • DAML+OIL toma lo mejor de DAML y OIL e intenta combinarlos en un lenguaje que:  Proporciona una manera de buscar información en la Web  “Entienda” la información que se encuentra en la Web • Es más que apto para la construcción de ontologías
  21. 21. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 21 OWL (Web Ontology Language) • Basado en RDF y DAML+OIL • Último estándar en los lenguajes para construir ontologías, desarrollado por W3C • Tiene fundamentos matemáticos formales basados en las Lógicas Descriptivas • Eso permite usar un razonador (RACER) para comprobar la ontología según se construya
  22. 22. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 22 OWL (Web Ontology Language) (cont.) • Elementos básicos:  Clases (conceptos)  Propiedades (relaciones)  Individuos (instancias)
  23. 23. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 23 OWL (Web Ontology Language) • Representa el significado de términos explícitamente en vocabularios y las relaciones entre esos términos • Es la representación de conocimiento más expresiva para la Web Semántica • Proporciona tres lenguajes expresivos:  OWL Lite  OWL DL  OWL Full
  24. 24. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 24 OWL (Web Ontology Language) (cont.) • No le agrega más funcionalidades a DAML+OIL, toma los elementos que este lenguaje proporciona para adecuarlos y mejorarlos:  Agrega más elementos para enriquecer la representación semántica e inferencia  Elimina algunos elementos cuyo significado era opaco para agentes que utilizan el RDF/RDF-S, y los elementos de restricciones de cardinalidad calificadas  Cambia el nombre de otros elementos manteniendo su función • Es el lenguaje de representación de conocimiento más expresivo para la Web Semántica
  25. 25. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 25 OWL (Web Ontology Language) (cont.) • Elementos de OWL Lite:  RDF-S (Esquema RDF)  Class  rdfs:subClassOf  rdf:Property  rdfs:subPropertyOf  rdfs:domain  rdfs:range  Individual
  26. 26. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 26 OWL (Web Ontology Language) (cont.) • Elementos de OWL Lite:  Igualdad y desigualdad  equivalentClass  equivalentProperty  sameAs  differentFrom  AllDifferent  distinctMembers
  27. 27. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 27 OWL (Web Ontology Language) (cont.) • Elementos de OWL Lite:  Combinaciones booleanas de expresiones de clase  intersectionOF  Características de propiedad  ObjectProperty  DatatypeProperty  inverseOf  TransitiveProperty  SymmetricProperty  FunctionalProperty  InverseFunctionalProperty
  28. 28. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 28 OWL (Web Ontology Language) (cont.) • Elementos de OWL Lite:  Restricciones de propiedad  Restriction  onProperty  allValuesFrom  someValuesFrom  Restricciones de cardinalidad (sólo pueden ser 0 ó 1)  minCardinality  maxCardinality  Cardinality
  29. 29. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 29 OWL (Web Ontology Language) (cont.) • Elementos de OWL Lite:  Propiedades de anotaciones  rdfs:label  rdfs:comment  rdfs:seeAlso  rdfs:isDefinedBy  Elementos para definir la información de la versión, la información del encabezado y otras propiedades de anotación
  30. 30. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 30 OWL (Web Ontology Language) (cont.) • Elementos de OWL DL y OWL Full:  Axiomas de clase  oneOf  disjointWith  equivalentClass  rdfs:subClassOf  Combinaciones booleanas de expresiones de clase  intersectionOF  unionOF  complementOF  Rasgos de información de relleno  hasValue
  31. 31. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 31 OWL (Web Ontology Language) (cont.) • Lógica Descriptiva (DL):  La rama lógica dentro de la familia de los marcos (frames)  Subconjuntos de la lógica de primer orden computacionalmente tratables  Describen relaciones entre conceptos (clases)  Los individuos (instancias) son secundarios, las ontologías no son bases de datos  Conceptos (clases), Individuos (instancias o ejemplares de las clases) y Relaciones entre los individuos
  32. 32. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 32 OWL (Web Ontology Language) (cont.) • Clases Definidas versus Clases Primitivas:  Clases Definidas: Se define un conjunto de condiciones suficientes para reconocer cualquier subclase o instancia de la clase  Clases Primitivas: Se define sólo, se indican, las condiciones necesarias que se aplican a todas las instancias de la clase • Dominio versus Rango:  Dominio: Una o más clases que se les asigna una propiedad  Rango: Una o más clases donde se obtienen los valores de una propiedad
  33. 33. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 33 OWL (Web Ontology Language) (cont.) • Construir Ontologías en OWL-DL:  Se comienza por una taxonomía de clases primitivas  Deben formar árboles  Recordar que la condición de clases disjuntas debe establecerse explícitamente  Hay que tener cuidado  Hacer las disyunciones explícitamente  Razonamiento del mundo abierto  Restricciones universales y existenciales  Restricciones de dominio y rango
  34. 34. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 34 OWL (Web Ontology Language) (cont.) • El principio básico para ontologías normalizadas  Construir ontologías a partir de árboles puros de clases primitivas  Cada clase primitiva tiene sólo un padre primitivo
  35. 35. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 35 OWL (Web Ontology Language) (cont.) • Errores frecuentes en OWL:  Olvidar hacer explícito que las clases sean disjuntas  No comprender las implicaciones del razonamiento del mundo abierto  (Mal) Usar restricciones universales en vez de restricciones existenciales  Confundir dominio y rango
  36. 36. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 36 OWL (Web Ontology Language) (cont.) • Razonamiento Mundo Cerrado versus Razonamiento Mundo Abierto:  Mundo Cerrado:  La negación como fallo  Si no lo encuentro (o no puedo probarlo) en este mundo, se asume que es falso  Se usa en sistemas de BD, en programación lógica, lenguajes de restricciones, entre otros.  Mundo Abierto:  La negación como contradicción  Si no lo encuentro en este mundo, se asume que es posible, a no ser que sea imposible en cualquier mundo (es una contradicción). La negación debe ser explícita  Se usa en los demostradores automáticos de teoremas y en los razonadores DL (y en OWL)
  37. 37. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 37 OWL (Web Ontology Language) (cont.) • Razonamiento del Mundo Abierto:  OWL utiliza la hipótesis de mundo abierto: Open World Assumption (OWA)  Muchos usuarios de OWL provienen de sistemas de mundo cerrado como las bases de datos  La información que no se haya añadido de forma explícita a la base de conocimiento se asume que es información pérdida o desconocida que podría ser añadida en el futuro  Para eso se usan los axiomas de cierre sobre el atributo
  38. 38. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 38 OWL (Web Ontology Language) (cont.) • Restricciones Universales versus Restricciones Existenciales:  Las restricciones se usan para limitar las relaciones válidas entre individuos  La mayoría de los usuarios tienden a usar las restricciones universales (que afectan todos los valores)  Sin embargo, la mayoría de las veces, el tipo de restricción corresponde con las restricciones existenciales  Cualquier restricción existencial (someValuesFrom, ∃) que se rellene con una contradicción es en sí misma una contradicción  Una restricción universal (allValuesFrom, ∀) que se rellene con una contradicción puede ser cumplida de forma trivial
  39. 39. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 39 OWL (Web Ontology Language) (cont.) • Dominio y Rango:  Confusión típica porque el dominio y el rango no son restricciones que se comprueban  Son axiomas que se utilizan para que el razonador haga ciertas inferencias  Violar una restricción de dominio y rango no significa necesariamente que la ontología sea inconsistente o que contenga errores  Las restricciones de dominio y rango son axiomas, en OWL son equivalentes a restricciones de tipo allValuesFrom  En la mayoría de los sistemas violar una restricción de dominio y rango provoca un error. En OWL provoca reclasificación y posiblemente inconsistencias
  40. 40. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 40 OWL (Web Ontology Language) (cont.) • Otros aspectos que suelen ser fuente de confusión:  Aspectos lógicos clásicos  Uso lingüístico frente al uso lógico AND y OR  Diferencias entre las clases primitivas y definidas  Herencia múltiple:  Los conceptos primitivos deberían (idealmente) tener sólo un concepto padre
  41. 41. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 41 Requisitos de los lenguajes • Los requisitos que cumplen los lenguajes RDF/RDF-S, DAML+OIL y OWL son: Requisito RDF/RDF-S DAML+OIL OWL Sintaxis bien definida    Semántica bien definida    Suficiente expresividad    Fácilmente maleable    Eficiente a la hora de razonar  (muy poco)  
  42. 42. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 42 Funcionalidades de los lenguajes • Las funcionalidades ofrecidas por los lenguajes RDF/RDF-S, DAML+OIL y OWL son: Funcionalidad RDF/RDF-S DAML+OIL OWL Listas delimitadas    Restricciones de cardinalidad    Expresiones de clase    Tipos de datos  (sólo básicos)   Clases definidas    Enumeraciones    Equivalencia    Extensibilidad    Semántica formal    Herencia    Inferencia    Restricciones locales    Restricciones calificadas    Reification   
  43. 43. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 43 Herramientas • Las herramientas para desarrollar ontologías son tan variadas como los lenguajes • Las herramientas que serán discutidas y utilizadas son:  Protégé  RACER
  44. 44. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 44 Protégé • Es gratis, open source • Está basado en Java, es extendible • Es un editor de ontologías y marco de trabajo de bases de conocimiento • Define la estructura de una ontología • Define y administra instancias
  45. 45. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 45 Protégé • Integrado con GUI y plugins:  OWLWizard – Plugin para guiar paso a paso en la construcción de clases, propiedades, etc.  OWLViz — Plugin para el despliegue gráfico de las jerarquías de las clases  ezOWL – Plugin para el despliegue gráfico de las jerarquías de las clases, las propiedades y restricciones de cada clase  JADEBean Generator — Plugin para producir clases Java a partir de la ontología, para que JADE puede utilizar y entender la ontología
  46. 46. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 46 RACER • Razonador (clasificador) basado en lógicas descriptivas • Sistema de razonamiento de lógica descriptiva • Motor de inferencia semántico para desarrollar ontologías • Proveedor de la lógica modal KM con calificadas modalidades y axiomas.
  47. 47. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 47 Agentes y ontologías • Una ontología se escribe en algún lenguaje de formalización de ontologías que la hace independiente del contexto de uso • Varios agentes pueden compartir conocimiento si están de acuerdo en la semántica dada por una cierta ontología • Una ontología común define el vocabulario con el que los agentes intercambian mensajes (consultas y asertos)
  48. 48. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 48 Agentes y ontologías (cont.) • Que dos agentes compartan un vocabulario no significa:  Que compartan la misma base de conocimiento  Que sea capaz de contestar cualquier pregunta formulada con ese vocabulario • Un compromiso de un agente con una cierta ontología garantiza la consistencia pero no la completitud respecto a las consultas y asertos utilizando el vocabulario de la ontología
  49. 49. Ejemplo: Ontología de Pizzas
  50. 50. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 50 ¿Qué se necesita? • Lenguaje OWL • Protégé, versión 3.0  Plugin OWL  Plugin OWLWizard  Plugin OWLViz  Plugin ezOWL  Plugin BeanGenerator • RACER • Graphviz, versión 1.12
  51. 51. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 51 Lo primero es… • Instalar Protégé, completo • Colocar el ejecutable de RACER en la ruta deseada • Abrir Protégé • Seleccionar OWL Files como formato para el nuevo proyecto  New para empezar un proyecto nuevo, o Build… para usar un archivo OWL existente
  52. 52. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 52 Lo primero es… (cont.) • Seleccionar en el menú Project la opción Configure y marcar:  OWLViz  ezOWL • Seleccionar en el menú OWL la opción OWL Preferences y, en la pestaña General en la parte llamada Language Profile escoger OWL DL • Guardar el proyecto como pizzaOntology-v1 • Poner a ejecutar RACER
  53. 53. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 53 Jerarquía de Clases de la Ontología Pizza
  54. 54. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 54 Construcción de la ontología • Primeras clases a crear:  DomainEntity  SelfStandingEntity (subclase de DomainEntity)  Con el Wizard hacer el grupo de clases:  Pizza – PizzaBase – PizzaTopping (subclases de SelfStandingEntity)  ThinBase – HeavyBase (subclases de PizzaBase)  VegetableTopping – MeatTopping – FishTopping - CheeseTopping - FruitTopping (subclases de PizzaTopping)
  55. 55. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 55 Construcción de la ontología • Primeras clases a crear:  Con el Wizard hacer el grupo de clases:  Mushroom – Tomato – HotPepper – Onion (subclases de VegetalTopping)  Pepperoni – Jam – SpicyBeef (subclases de MeatTopping)  Anchovies – Tuna (subclases de FishTopping)  Mozzarella – Parmesan (subclases de CheeseTopping)  Pineapple (subclase de FruitTopping)
  56. 56. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 56 Construcción de la ontología • Propiedades a crear:  hasPart, dominio Pizza  Subpropiedades de hasPart:  hasBase, dominio Pizza y rango PizzaBase, único valor, por lo menos una base, funcional y funcional inversa  hasTopping, dominio Pizza y rango PizzaTopping, multiple, al menos un ingrediente  hasFatContent, dominio PizzaTopping y rango FatContent  hasSpiciness, dominio PizzaTopping y rango Spiciness
  57. 57. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 57 Construcción de la ontología • Clases a crear (subclases de Pizza):  MargheritaPizza: mozzarella y tomato  SpicyBeefPizza: mozarrella, tomato y spicy beef  ProteinLoversPizza: MeatTopping – FishTopping – CheeseTopping (clase definida, anaranjado)  HotSpecialPizza: mozzarella, tomato, hot pepper y spicy beef  CheesePizza: CheeseTopping (clase definida, anaranjado)  VegetarianPizza: VegetableTopping – CheeseTopping (clase definida, anaranjado)
  58. 58. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 58 Construcción de la ontología • Clase a crear:  ValuePartition (los valores son disjuntos), usar Wizard – Create Value Partition:  Spiciness, valores: Hot, Medium, Bland  FatContent, valores: LowFat, HighFat
  59. 59. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 59 Ejemplo con BeanGenerator • Guardar y cerrar el proyecto, si se encuentra abierto  Si se gusta se puede guardar con otro nombre • Incluir el proyecto OWLSimpleJADEAbstractOntology.pprj  Abrir con un editor de texto (ej. TextPad) el archivo pizzaOntology-V1.pprj  Buscar el apartado que inicia: [PROJECT] of Project  Agregar debajo de ese apartado: (included_projects "OWLSimpleJADEAbstractOntology.pprj")  Guardar y cerrar • Abrir el proyecto donde realizó la modificación anterior
  60. 60. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 60 Jerarquía de Clases de la Ontología Pizza
  61. 61. Elaborado como parte del Proyecto @LisTechNet - WP4 Escuela de Ciencias de la Computación e Informática 61 Referencias • RDF, DAML+OIL y OWL:  http://www.w3.org  http://www.daml.org • Protégé:  http://protege.stanford.edu • RACER:  http://www.sts.tu-harburg.de/~r.f.moeller/racer/

×