SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Downloaden Sie, um offline zu lesen
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
• 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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)
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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)  
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   
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
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
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
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.
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)
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
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 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
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
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
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
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)
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)
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
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)
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
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
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
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/

Weitere ähnliche Inhalte

Was ist angesagt?

Aula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosAula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosJanynne Gomes
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonJanderson Campêlo
 
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerAndrejs Karpovs
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQL
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQLAPLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQL
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQLETEC Monsenhor Antonio Magliano
 
Apresentação programação orientada à objetos
Apresentação   programação orientada à objetosApresentação   programação orientada à objetos
Apresentação programação orientada à objetossoncino
 
[오원석 Kswc2010]데이터의 가치를 높이는 linked data
[오원석 Kswc2010]데이터의 가치를 높이는 linked data[오원석 Kswc2010]데이터의 가치를 높이는 linked data
[오원석 Kswc2010]데이터의 가치를 높이는 linked dataLiST Inc
 
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)Shreeraj Shah
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoRangel Javier
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Adriano Tavares
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dadosmgoberto
 
WebRTC Overview
WebRTC OverviewWebRTC Overview
WebRTC OverviewArin Sime
 
Chapter 1 - Web Design
Chapter 1 - Web DesignChapter 1 - Web Design
Chapter 1 - Web Designtclanton4
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentationdimuthu22
 

Was ist angesagt? (20)

Aula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosAula 5 - Dicionário de Dados
Aula 5 - Dicionário de Dados
 
Intro à Graphql
Intro à GraphqlIntro à Graphql
Intro à Graphql
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - Python
 
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.6 on Database 12c: Install, Patch and Administer
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQL
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQLAPLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQL
APLICAÇÃO JAVA DE CADASTRO DE NOTA FISCAL USANDO BANCO MYSQL
 
Design de interfaces para internet
Design de interfaces para internetDesign de interfaces para internet
Design de interfaces para internet
 
Apresentação programação orientada à objetos
Apresentação   programação orientada à objetosApresentação   programação orientada à objetos
Apresentação programação orientada à objetos
 
[오원석 Kswc2010]데이터의 가치를 높이는 linked data
[오원석 Kswc2010]데이터의 가치를 높이는 linked data[오원석 Kswc2010]데이터의 가치를 높이는 linked data
[오원석 Kswc2010]데이터의 가치를 높이는 linked data
 
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1Modelagem Arquitetural e Visão 4+1
Modelagem Arquitetural e Visão 4+1
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Asp.net
 Asp.net Asp.net
Asp.net
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dados
 
WebRTC Overview
WebRTC OverviewWebRTC Overview
WebRTC Overview
 
Chapter 1 - Web Design
Chapter 1 - Web DesignChapter 1 - Web Design
Chapter 1 - Web Design
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Uml ppoint
Uml ppointUml ppoint
Uml ppoint
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 

Ähnlich wie Ontologias

Web semantica
Web semanticaWeb semantica
Web semanticaacmedinaj
 
Impacto web
Impacto webImpacto web
Impacto webDey Col
 
PresentacióN De La Tesis
PresentacióN De La TesisPresentacióN De La Tesis
PresentacióN De La TesisGEOVAN21
 
Investigacion Lenguaje php - Sindy
Investigacion Lenguaje php - SindyInvestigacion Lenguaje php - Sindy
Investigacion Lenguaje php - SindyJhoel Dgez Garcia
 
Web 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicasWeb 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicasCarlos Arroyo
 
Experiencias adquiridas en el desarrollo orientado a la semántica
Experiencias adquiridas en el desarrollo orientado a la semánticaExperiencias adquiridas en el desarrollo orientado a la semántica
Experiencias adquiridas en el desarrollo orientado a la semánticaSoftware Guru
 
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios EstándarROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios EstándarDiego López-de-Ipiña González-de-Artaza
 
The Web of Data
The Web of DataThe Web of Data
The Web of Databetabeers
 
Web Semantica Y las Bases de Datos
Web Semantica Y las Bases de DatosWeb Semantica Y las Bases de Datos
Web Semantica Y las Bases de DatosUCAB
 
Explotando la Web de Datos: Como crear aplicaciones usando Linked Open Data
Explotando la Web de Datos: Como crear aplicaciones usando Linked Open DataExplotando la Web de Datos: Como crear aplicaciones usando Linked Open Data
Explotando la Web de Datos: Como crear aplicaciones usando Linked Open DataAlvaro Graves
 
Las principales bases de datos existentes
Las principales bases de datos existentesLas principales bases de datos existentes
Las principales bases de datos existentesDolores Leonor
 
PD1_7moA_TS3_JavierLogroño.pptx
PD1_7moA_TS3_JavierLogroño.pptxPD1_7moA_TS3_JavierLogroño.pptx
PD1_7moA_TS3_JavierLogroño.pptxEddyJavierLogrooLen
 

Ähnlich wie Ontologias (20)

Web semantica
Web semanticaWeb semantica
Web semantica
 
Servidor php
Servidor phpServidor php
Servidor php
 
Impacto web
Impacto webImpacto web
Impacto web
 
Web semántica
Web semánticaWeb semántica
Web semántica
 
PresentacióN De La Tesis
PresentacióN De La TesisPresentacióN De La Tesis
PresentacióN De La Tesis
 
Investigacion Lenguaje php - Sindy
Investigacion Lenguaje php - SindyInvestigacion Lenguaje php - Sindy
Investigacion Lenguaje php - Sindy
 
1-Unidad 1. Introducción a la Plataforma .NET
1-Unidad 1. Introducción a la Plataforma .NET1-Unidad 1. Introducción a la Plataforma .NET
1-Unidad 1. Introducción a la Plataforma .NET
 
Web 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicasWeb 3.0 y herramientas tecnologicas
Web 3.0 y herramientas tecnologicas
 
Experiencias adquiridas en el desarrollo orientado a la semántica
Experiencias adquiridas en el desarrollo orientado a la semánticaExperiencias adquiridas en el desarrollo orientado a la semántica
Experiencias adquiridas en el desarrollo orientado a la semántica
 
Web services1
Web services1Web services1
Web services1
 
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios EstándarROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
ROH: Proceso de Ingeniería Ontológica & Uso y Extensión de Vocabularios Estándar
 
The Web of Data
The Web of DataThe Web of Data
The Web of Data
 
Servidor php
Servidor phpServidor php
Servidor php
 
Web Semantica Y las Bases de Datos
Web Semantica Y las Bases de DatosWeb Semantica Y las Bases de Datos
Web Semantica Y las Bases de Datos
 
Servidor PHP
Servidor PHPServidor PHP
Servidor PHP
 
Explotando la Web de Datos: Como crear aplicaciones usando Linked Open Data
Explotando la Web de Datos: Como crear aplicaciones usando Linked Open DataExplotando la Web de Datos: Como crear aplicaciones usando Linked Open Data
Explotando la Web de Datos: Como crear aplicaciones usando Linked Open Data
 
Las principales bases de datos existentes
Las principales bases de datos existentesLas principales bases de datos existentes
Las principales bases de datos existentes
 
PD1_7moA_TS3_JavierLogroño.pptx
PD1_7moA_TS3_JavierLogroño.pptxPD1_7moA_TS3_JavierLogroño.pptx
PD1_7moA_TS3_JavierLogroño.pptx
 
Servidor php
Servidor phpServidor php
Servidor php
 
Servidor php
Servidor phpServidor php
Servidor php
 

Ontologias

  • 1. Ontologías Prof. Bach. Kryscia Ramírez Benavides 30/03/2005
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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/

Hinweis der Redaktion

  1. <number>
  2. <number>
  3. <number>
  4. <number>