SlideShare uma empresa Scribd logo
1 de 58
Baixar para ler offline
Protégé - OWL
          Ejemplo de las Pizzas




                                      Basado en los tutoriales de
                                    Matthew Horridge (CO-ODE),
                                  Holger Knublauch (Stanford Univ.)
http://ontologias.blogs.upv.es        y el de la web de PROTÉGÉ
Protégé - OWL
          Ejemplo de las Pizzas




                                      Basado en los tutoriales de
                                    Matthew Horridge (CO-ODE),
                                  Holger Knublauch (Stanford Univ.)
http://ontologias.blogs.upv.es        y el de la web de PROTÉGÉ
La Web Semántica
Ontologías compartidas ayudan al intercambio
 de datos y significados entre servicios web




                                  (Image by Jim Hendler)
Agentes y
     ontologías
Ontología: expresada en un leng. de
formalización de ontologías
independiente del contexto de uso
Varios agentes pueden compartir
conocimiento si están de acuerdo en la
semántica de una cierta ontología
Una ontología común define el vocabulario
con el que los agentes intercambian
mensajes (consultas y asertos)

                 3
Agentes y
    ontologías
Dos agentes comparten un vocabulario no es:
  Compartir la misma base de conocimiento
  Capaces de contestar cualquier pregunta
  formulada con ese vocabulario
Que un agente use una cierta ontología
garantiza la consistencia pero no la
completitud respecto a las consultas y
asertos utilizando la ontología


                4
Revisión de OWL
OWL…
       Web Ontology Language
       es un estándar W3C
       viene en 3 sabores (lite, DL y full)
 – usamos OWL DL (Description Logic)
           DL = decidable fragmento decidible de la Lógica de Primer Orden

       se encuentra generalmente en sintaxis RDF/XML
       es por lo tanto laborioso escribirlo a mano


       Por eso existen herramientas para ayudarnos
Revisión de OWL
OWL…
       Web Ontology Language
       es un estándar W3C
       viene en 3 sabores (lite, DL y full)
 – usamos OWL DL (Description Logic)
           DL = decidable fragmento decidible de la Lógica de Primer Orden

       se encuentra generalmente en sintaxis RDF/XML
       es por lo tanto laborioso escribirlo a mano


       Por eso existen herramientas para ayudarnos
OWL Constructs
Persona            País



                          = clase (concepto)




          Animal
OWL Constructs
Persona                                                País
               Elvis
                                                  Belgium
      Holger
                                       Paraguay
                   Kylie
                                                                 = clase (concepto)
                                     Latvia
    S.Claus                                         China
                Hai

                                                              = individuo (instancia)


                             Flipper


                                              Animal
                           Rudolph
OWL Constructs
                                      en
Persona                          vive_                              País
                Elvis
                                                                Belgium
       Holger                   vive_en
                                                     Paraguay
                      Kylie
                                                                              = clase (concepto)
                                                  Latvia
    S.Claus                                                       China
                    Hai
                                                                           = propiedad (relación)
                                   vive_en
                                                                           = individuo (instancia)
                    tie
                      ne
                          _m
    tie




                             asc
      e_n




                                 ot




                                           Flipper
                                    a
        ma
          sc
             ot
                a




                                                           Animal
                                        Rudolph
Escenario del
        Ejemplo del Vino
                Dime qué vinos debería
             comprar para servir con cada
               plato del siguiente menú.




                                            Books Agent


Wine Agent



                                            Grocery Agent
Escenario del
        Ejemplo del Vino
                   Dime qué vinos debería
                comprar para servir con cada
                  plato del siguiente menú.




                                               Books Agent


Wine Agent
         Yo recomiendo
         Chardonney o
          DryRiesling
                                               Grocery Agent
Escenario del
        Ejemplo del Vino
                   Dime qué vinos debería
                comprar para servir con cada
                  plato del siguiente menú.




                                               Books Agent


Wine Agent
         Yo recomiendo
         Chardonney o
          DryRiesling
                                               Grocery Agent
Escenario del
        Ejemplo del Vino
                   Dime qué vinos debería
                comprar para servir con cada
                  plato del siguiente menú.




                                               Books Agent


Wine Agent
         Yo recomiendo
         Chardonney o
          DryRiesling
                                               Grocery Agent
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

              8
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


                     9
Instalación

Instalar Protégé 4.2 beta
Instalar Graphviz 2.28.0 (http://
www.graphviz.org)
Configurar Graphviz en las
opciones de OWLViz de Protégé.
Ejemplo:
Ontología de Pizzas
Ejemplo:
Ontología de Pizzas
Ejemplo:
Ontología de Pizzas
Ejercicio 1: Crear
   una nueva ontología
            Iniciar Protégé
            Ontology IRI
           URI (Uniform Resource
           Identifiers): estándar para
           identificar recursos
           (documentos, personas,
           cosas abstractas) y
           nombres de relaciones.

           IRI (Internationalized
           Resource Identifiers):
           URIs + caracteres
           alfabéticos no-latinos
           (Unicode en lugar de
           ASCII).
Menú “File / Save as...” permite guardar en la ontología que se va creando,
                                   usando diversos formatos (OWL/XML).
Ejercicio 2: Añadir
  una anotación
Vista de las clases
Ejercicio 3:
      Crear clases
Pulsar botón Classes.

Pulsar botón Add:
crea una nueva
subclase de la clase
seleccionada (en este
caso :Thing)

Crear, repitiendo este
proceso, las clases:
Pizza, PizzaTopping
y PizzaBase.
Clases Disjuntas
OWL asume que las clases solapan
     Pizza                PizzaTopping




                                         = individual

Un individuo podría ser a la vez una Pizza y un
PizzaTopping a la vez
Éste no es el caso
Ejercicio 4: Clases
    disjuntas
1. Seleccionar la clase Pizza in la
   jerarquía de clases.
2. Hacer disjuntas las tres clases
   usando el botón Clases Disjuntas
   en la vista de descripción de
   clases.
Ejercicio 5: ‘Create
 Class Hierarchy’
Crear
FinaYCrujiente y
PanGrueso como
subclases de
PizzaBase

Usar la opción del
menú Tools /
Create Class
Hierarchy

                     Make all primitive siblings disjoint
Ejercicio 6: ‘Create
 Class Hierarchy’
Crear como
subclases de
PizzaTopping

Añadir Topping
como sufijo de todas
las subclases: Suffix
all in list with

Árbol indentado por
tabs para entrar una
jerarq. de clases.
                       Make all new classess disjoint
Ejercicio 6: ‘Create
  Class Hierarchy’
Crear como subclases
de PizzaTopping

Añadir Topping
como sufijo de todas
las subclases: Suffix
all in list with

Árbol indentado por
tabs para entrar una
jerarq. de clases.
                       Make all primitive siblings disjoint
¿Qué tenemos?

Árbol de clases disjuntas
Esta separación se hereda hacia abajo
en el árbol. Ej.: algo que es un
TomateTopping no puede ser una
Pizza porque su superclase,
PizzaTopping, es disjunta de Pizza.
¿Qué echamos de
            menos?
No es un modelo enriquecido semánticamente.
Aparte de es un tipo de y no es un tipo de, no hay
otra información de interés.
Queremos decir más cosas sobre los individuos Pizza,
tal como su relación con otros individuos.
Esto se puede hacer con propiedades.
   Pizza                        PizzaTopping




                                        = individual
Propiedades de
     OWL
Object properties: enlazan
individuos.
Datatype properties
Annotation properties
Ejercicio 7: Crear
propiedad del Objeto
Pulsar el botón Object
Properties.

Pulsar el botón Add
Object Property, para
añadir la propiedad
tieneIngrediente
Ejercicio 7: Crear
propiedad del Objeto
Pulsar el botón Object
Properties.

Pulsar el botón Add
Object Property, para
añadir la propiedad
tieneIngrediente

Pulsar el botón Domains
(intersection) para
indicar que el dominio de
esta propiedad es Pizza.
Ejercicio 8: Crear
    sub-propiedades
Crear tieneTopping y
tieneBase como sub-
props. de
tieneIngrediente

Seleccionar la propiedad
tieneIngrediente en la
jerarquía de
propiedades.

Pulsar el botón Add
subproperty.
Ejercicio 9: Crear
propiedades inversas
Crear props. inversas:

   esIngredienteDe inversa
   de tieneIngrediente

   esBaseDe inversa de
   tieneBase

   esToppingDe inversa de
   tieneTopping

Usar el icono Add de Inverse
Properties en la vista
Properties Description.
Tipos de
   Propiedades de OWL
                            Un individuo con una
                            propiedad funcional tendrá
                            como mucho un
                            individuo relacionado
                            con él por dicha propiedad
OWL-DL no permite que las propiedades de tipo de
datos sean transitivas, simétricas o tengan inversas.
OWL-DL: Propiedades de tipos de datos sólo son
Allows for multiple values y Inverse Functional.
Ejercicio 10: Hacer funcional
   la propiedad tieneBase

 1. Seleccionar la propiedad tieneBase
    en la jerarquía de propiedades en
    Object Properties.
 2. Marcar el tick Functional en el
    Property Characteristics View.
Tipos de
   Propiedades de OWL
                            Un individuo con una
                            propiedad inversa funcional
                            indica que la propiedad
                            inversa es funcional

OWL-DL no permite que las propiedades de tipo de
datos sean transitivas, simétricas o tengan inversas.
OWL-DL: Propiedades de tipos de datos sólo son
Allows for multiple values y Inverse Functional.
Tipos de
   Propiedades de OWL
                             Una propiedad transitiva
                             que relaciona un individuo
                             a con b, y esa misma
                             propiedad relaciona b con
                             c, se infiere que a y c están
                             relacionados por dicha
OWL-DL no permite que las propiedades de tipo de
                             propiedad
datos sean transitivas, simétricas o tengan inversas.
OWL-DL: Propiedades de tipos de datos sólo son
Allows for multiple values y Inverse Functional.
Ejercicio 10: Hacer
   transitiva la propiedad
      tieneIngrediente
1. Seleccionar la propiedad tieneIngrediente
   en la jerarquía de propiedades en Object
   Properties.
2. Marcar el tick Transitive en el Property
   Characteristics View.
3. Seleccionar la propiedad esIngredienteDe,
   inversa de tieneIngrediente, marcarla
   como transitiva.
Tipos de
   Propiedades de OWL
                            Una propiedad simétrica
                            relaciona un individuo a
                            con b, entonces b está
                            relacionado con a por
                            dicha propiedad
OWL-DL no permite que las propiedades de tipo de
datos sean transitivas, simétricas o tengan inversas.
OWL-DL: Propiedades de tipos de datos sólo son
Allows for multiple values y Inverse Functional.
Tipos de
   Propiedades de OWL
                            Una propiedad asimétrica
                            relaciona un individuo a
                            con b, entonces b no
                            puede estar relacionado
                            con a por dicha propiedad
OWL-DL no permite que las propiedades de tipo de
datos sean transitivas, simétricas o tengan inversas.
OWL-DL: Propiedades de tipos de datos sólo son
Allows for multiple values y Inverse Functional.
Tipos de
   Propiedades de OWL


                            Una propiedad reflexiva
                            relaciona un individuo
                            consigo mismo
OWL-DL no permite que las propiedades de tipo de
datos sean transitivas, simétricas o tengan inversas.
OWL-DL: Propiedades de tipos de datos sólo son
Allows for multiple values y Inverse Functional.
Tipos de
   Propiedades de OWL

                            Una propiedad irreflexiva
                            relaciona un individuo con
                            otro individuo que no
                            puede ser él mismo
OWL-DL no permite que las propiedades de tipo de
datos sean transitivas, simétricas o tengan inversas.
OWL-DL: Propiedades de tipos de datos sólo son
Allows for multiple values y Inverse Functional.
Dominios y Rangos
 de Propiedades

  Propiedades enlazan individuos del
  Dominio con individuos del Rango.
Ejercicio 11: Especificar
  Dominio y Rango de las
  propiedad tieneTopping
1. Seleccionar la propiedad tieneTopping
   en la jerarquía de propiedades en
   Object Properties.

2. Usar Add al lado de Domains
   (intersection) para añadir Pizza.

3. Usar Add al lado de Ranges
   (intersection) para añadir
   PizzaTopping.

4. Añadir a esToppingDe como Dominio
   PizzaTopping y como Rango Pizza
Ejercicio 11: Especificar
   Dominio y Rango de las
     propiedad tieneBase
1. Seleccionar la propiedad tieneBase en
   la jerarquía de propiedades en Object
   Properties.

2. Usar Add al lado de Domains
   (intersection) para añadir Pizza.

3. Usar Add al lado de Ranges
   (intersection) para añadir PizzaBase.

4. Añadir a esBaseDe como Dominio
   PizzaBase y como Rango Pizza
Restricciones

Restricciones de cuantificación
Restricciones de cardinalidad
Restricciones tieneValor
Restricciones
            Crear restricción



Se ven y se editan
usando la vista de
descripción de
Clases.
Restricciones de
 Cuantificación

 Restricciones Existenciales
 Restricciones Universales
Restricciones de
 Cuantificación
 Restricciones Existenciales
   describen clases de individuos que participan en al
   menos una relación en una propiedad específica para
   miembros de una clase determinada.

 Restricciones Universales
   describen clases de individuos que para una determinada
   propiedad sólo tienen relaciones con miembros de una
   clase particular.
Ejercicio 12: Añadir
  restricción a la clase Pizza
1. Seleccionar la clase Pizza en la jerarquía de clases.
2. Pulsar Add de SubClass Of de la vista de descripción de clases.
3. Pulsar el botón Class expression editor.
4. Introducir la restricción (usar TAB para autocompletar): Una
   Pizza DEBE tener una PizzaBase
  4.1. Propiedad        tieneBase
  4.2.Tipo de restricción (some - existenc.; only - univ.).   some
  4.3.Filtro para la restricción.     PizzaBase
        Condición NECESARIA
  SIGNIFICADO: Restricciones especifican
  superclases anónimas de la clase descrita.
Ejercicio 13: Crear
nuevos tipos de Pizza
1. Crear una subclase de Pizza llamada
   PizzaConNombre.
2. Crear una subclase de PizzaConNombre
   llamada PizzaMargarita.
3. Añadir un comentario a la clase
   PizzaMargarita usando la vista
   Annotations: “Una pizza que sólo tiene
   Mozzarella y Tomate”.
Ejercicio 14: Crear
    restricción

  Restricción existencial (some):
  Una PizzaMargarita tiene al
  menos un MozzarellaTopping.
Ejercicio 15: Crear
    restricción

  Restricción existencial (some):
  Una PizzaMargarita tiene al
  menos un TomateTopping.
Ejercicio 16: Crear
clase PizzaAmericana
1. Crear un duplicado de la
   PizzaMargarita que será la
   PizzaAmericana.
2. Añadir a la PizzaAmericana la
   restricción existencial de que tiene
   al menos un topping de pepperoni.
Ejercicio 16: Crear clase
PizzaAmericana y PizzaSoho
1.   Crear un duplicado de la PizzaAmericana que será la
     PizzaAmericanaPicante.
2.   Añadir a la PizzaAmericanaPicante la restricción
     existencial de que tiene al menos un topping de pimiento
     jalapeño.
3.   Crear un duplicado de la PizzaMargarita que será la
     PizzaSoho.
4.   Añadir a la PizzaSoho las restricciones existenciales de que
     tiene al menos un topping de oliva y uno de parmesano.
5.   Usar la opción de menú Edit / Make primitive siblings
     disjoint, para hacer disjuntos todos los nuevos tipos de
     pizza.

Mais conteúdo relacionado

Mais procurados

Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalizaciónMarcelo Herrera
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regularesKenia Adams
 
SISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOSSISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOSLUIS5111987
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionLuiS YmAY
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas yelizabeth_20
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2Humano Terricola
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionfranciscocain
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
Programa ensamblador fibonacci
Programa ensamblador fibonacciPrograma ensamblador fibonacci
Programa ensamblador fibonacciGloria Salamanca
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herenciajlmanmons
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2perlallamas
 

Mais procurados (20)

Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalización
 
Lenguajes regulares
Lenguajes regularesLenguajes regulares
Lenguajes regulares
 
Paradigmas de la programación
Paradigmas de la programación Paradigmas de la programación
Paradigmas de la programación
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
SISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOSSISTEMAS BASADOS EN CONOCIMIENTOS
SISTEMAS BASADOS EN CONOCIMIENTOS
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Tipos de Autómatas 
Tipos de Autómatas Tipos de Autómatas 
Tipos de Autómatas 
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Programacion Funcional
Programacion FuncionalProgramacion Funcional
Programacion Funcional
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Programa ensamblador fibonacci
Programa ensamblador fibonacciPrograma ensamblador fibonacci
Programa ensamblador fibonacci
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 

Último

Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORGonella
 

Último (20)

Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
DETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIORDETALLES EN EL DISEÑO DE INTERIOR
DETALLES EN EL DISEÑO DE INTERIOR
 

Diseño de Ontologías: Protégé OWL - Ejemplo de las Pizzas

  • 1. Protégé - OWL Ejemplo de las Pizzas Basado en los tutoriales de Matthew Horridge (CO-ODE), Holger Knublauch (Stanford Univ.) http://ontologias.blogs.upv.es y el de la web de PROTÉGÉ
  • 2. Protégé - OWL Ejemplo de las Pizzas Basado en los tutoriales de Matthew Horridge (CO-ODE), Holger Knublauch (Stanford Univ.) http://ontologias.blogs.upv.es y el de la web de PROTÉGÉ
  • 3. La Web Semántica Ontologías compartidas ayudan al intercambio de datos y significados entre servicios web (Image by Jim Hendler)
  • 4. Agentes y ontologías Ontología: expresada en un leng. de formalización de ontologías independiente del contexto de uso Varios agentes pueden compartir conocimiento si están de acuerdo en la semántica de una cierta ontología Una ontología común define el vocabulario con el que los agentes intercambian mensajes (consultas y asertos) 3
  • 5. Agentes y ontologías Dos agentes comparten un vocabulario no es: Compartir la misma base de conocimiento Capaces de contestar cualquier pregunta formulada con ese vocabulario Que un agente use una cierta ontología garantiza la consistencia pero no la completitud respecto a las consultas y asertos utilizando la ontología 4
  • 6. Revisión de OWL OWL… Web Ontology Language es un estándar W3C viene en 3 sabores (lite, DL y full) – usamos OWL DL (Description Logic) DL = decidable fragmento decidible de la Lógica de Primer Orden se encuentra generalmente en sintaxis RDF/XML es por lo tanto laborioso escribirlo a mano Por eso existen herramientas para ayudarnos
  • 7. Revisión de OWL OWL… Web Ontology Language es un estándar W3C viene en 3 sabores (lite, DL y full) – usamos OWL DL (Description Logic) DL = decidable fragmento decidible de la Lógica de Primer Orden se encuentra generalmente en sintaxis RDF/XML es por lo tanto laborioso escribirlo a mano Por eso existen herramientas para ayudarnos
  • 8. OWL Constructs Persona País = clase (concepto) Animal
  • 9. OWL Constructs Persona País Elvis Belgium Holger Paraguay Kylie = clase (concepto) Latvia S.Claus China Hai = individuo (instancia) Flipper Animal Rudolph
  • 10. OWL Constructs en Persona vive_ País Elvis Belgium Holger vive_en Paraguay Kylie = clase (concepto) Latvia S.Claus China Hai = propiedad (relación) vive_en = individuo (instancia) tie ne _m tie asc e_n ot Flipper a ma sc ot a Animal Rudolph
  • 11. Escenario del Ejemplo del Vino Dime qué vinos debería comprar para servir con cada plato del siguiente menú. Books Agent Wine Agent Grocery Agent
  • 12. Escenario del Ejemplo del Vino Dime qué vinos debería comprar para servir con cada plato del siguiente menú. Books Agent Wine Agent Yo recomiendo Chardonney o DryRiesling Grocery Agent
  • 13. Escenario del Ejemplo del Vino Dime qué vinos debería comprar para servir con cada plato del siguiente menú. Books Agent Wine Agent Yo recomiendo Chardonney o DryRiesling Grocery Agent
  • 14. Escenario del Ejemplo del Vino Dime qué vinos debería comprar para servir con cada plato del siguiente menú. Books Agent Wine Agent Yo recomiendo Chardonney o DryRiesling Grocery Agent
  • 15. 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 8
  • 16. 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 9
  • 17. Instalación Instalar Protégé 4.2 beta Instalar Graphviz 2.28.0 (http:// www.graphviz.org) Configurar Graphviz en las opciones de OWLViz de Protégé.
  • 21. Ejercicio 1: Crear una nueva ontología Iniciar Protégé Ontology IRI URI (Uniform Resource Identifiers): estándar para identificar recursos (documentos, personas, cosas abstractas) y nombres de relaciones. IRI (Internationalized Resource Identifiers): URIs + caracteres alfabéticos no-latinos (Unicode en lugar de ASCII). Menú “File / Save as...” permite guardar en la ontología que se va creando, usando diversos formatos (OWL/XML).
  • 22. Ejercicio 2: Añadir una anotación
  • 23. Vista de las clases
  • 24. Ejercicio 3: Crear clases Pulsar botón Classes. Pulsar botón Add: crea una nueva subclase de la clase seleccionada (en este caso :Thing) Crear, repitiendo este proceso, las clases: Pizza, PizzaTopping y PizzaBase.
  • 25. Clases Disjuntas OWL asume que las clases solapan Pizza PizzaTopping = individual Un individuo podría ser a la vez una Pizza y un PizzaTopping a la vez Éste no es el caso
  • 26. Ejercicio 4: Clases disjuntas 1. Seleccionar la clase Pizza in la jerarquía de clases. 2. Hacer disjuntas las tres clases usando el botón Clases Disjuntas en la vista de descripción de clases.
  • 27. Ejercicio 5: ‘Create Class Hierarchy’ Crear FinaYCrujiente y PanGrueso como subclases de PizzaBase Usar la opción del menú Tools / Create Class Hierarchy Make all primitive siblings disjoint
  • 28. Ejercicio 6: ‘Create Class Hierarchy’ Crear como subclases de PizzaTopping Añadir Topping como sufijo de todas las subclases: Suffix all in list with Árbol indentado por tabs para entrar una jerarq. de clases. Make all new classess disjoint
  • 29. Ejercicio 6: ‘Create Class Hierarchy’ Crear como subclases de PizzaTopping Añadir Topping como sufijo de todas las subclases: Suffix all in list with Árbol indentado por tabs para entrar una jerarq. de clases. Make all primitive siblings disjoint
  • 30. ¿Qué tenemos? Árbol de clases disjuntas Esta separación se hereda hacia abajo en el árbol. Ej.: algo que es un TomateTopping no puede ser una Pizza porque su superclase, PizzaTopping, es disjunta de Pizza.
  • 31. ¿Qué echamos de menos? No es un modelo enriquecido semánticamente. Aparte de es un tipo de y no es un tipo de, no hay otra información de interés. Queremos decir más cosas sobre los individuos Pizza, tal como su relación con otros individuos. Esto se puede hacer con propiedades. Pizza PizzaTopping = individual
  • 32. Propiedades de OWL Object properties: enlazan individuos. Datatype properties Annotation properties
  • 33. Ejercicio 7: Crear propiedad del Objeto Pulsar el botón Object Properties. Pulsar el botón Add Object Property, para añadir la propiedad tieneIngrediente
  • 34. Ejercicio 7: Crear propiedad del Objeto Pulsar el botón Object Properties. Pulsar el botón Add Object Property, para añadir la propiedad tieneIngrediente Pulsar el botón Domains (intersection) para indicar que el dominio de esta propiedad es Pizza.
  • 35. Ejercicio 8: Crear sub-propiedades Crear tieneTopping y tieneBase como sub- props. de tieneIngrediente Seleccionar la propiedad tieneIngrediente en la jerarquía de propiedades. Pulsar el botón Add subproperty.
  • 36. Ejercicio 9: Crear propiedades inversas Crear props. inversas: esIngredienteDe inversa de tieneIngrediente esBaseDe inversa de tieneBase esToppingDe inversa de tieneTopping Usar el icono Add de Inverse Properties en la vista Properties Description.
  • 37. Tipos de Propiedades de OWL Un individuo con una propiedad funcional tendrá como mucho un individuo relacionado con él por dicha propiedad OWL-DL no permite que las propiedades de tipo de datos sean transitivas, simétricas o tengan inversas. OWL-DL: Propiedades de tipos de datos sólo son Allows for multiple values y Inverse Functional.
  • 38. Ejercicio 10: Hacer funcional la propiedad tieneBase 1. Seleccionar la propiedad tieneBase en la jerarquía de propiedades en Object Properties. 2. Marcar el tick Functional en el Property Characteristics View.
  • 39. Tipos de Propiedades de OWL Un individuo con una propiedad inversa funcional indica que la propiedad inversa es funcional OWL-DL no permite que las propiedades de tipo de datos sean transitivas, simétricas o tengan inversas. OWL-DL: Propiedades de tipos de datos sólo son Allows for multiple values y Inverse Functional.
  • 40. Tipos de Propiedades de OWL Una propiedad transitiva que relaciona un individuo a con b, y esa misma propiedad relaciona b con c, se infiere que a y c están relacionados por dicha OWL-DL no permite que las propiedades de tipo de propiedad datos sean transitivas, simétricas o tengan inversas. OWL-DL: Propiedades de tipos de datos sólo son Allows for multiple values y Inverse Functional.
  • 41. Ejercicio 10: Hacer transitiva la propiedad tieneIngrediente 1. Seleccionar la propiedad tieneIngrediente en la jerarquía de propiedades en Object Properties. 2. Marcar el tick Transitive en el Property Characteristics View. 3. Seleccionar la propiedad esIngredienteDe, inversa de tieneIngrediente, marcarla como transitiva.
  • 42. Tipos de Propiedades de OWL Una propiedad simétrica relaciona un individuo a con b, entonces b está relacionado con a por dicha propiedad OWL-DL no permite que las propiedades de tipo de datos sean transitivas, simétricas o tengan inversas. OWL-DL: Propiedades de tipos de datos sólo son Allows for multiple values y Inverse Functional.
  • 43. Tipos de Propiedades de OWL Una propiedad asimétrica relaciona un individuo a con b, entonces b no puede estar relacionado con a por dicha propiedad OWL-DL no permite que las propiedades de tipo de datos sean transitivas, simétricas o tengan inversas. OWL-DL: Propiedades de tipos de datos sólo son Allows for multiple values y Inverse Functional.
  • 44. Tipos de Propiedades de OWL Una propiedad reflexiva relaciona un individuo consigo mismo OWL-DL no permite que las propiedades de tipo de datos sean transitivas, simétricas o tengan inversas. OWL-DL: Propiedades de tipos de datos sólo son Allows for multiple values y Inverse Functional.
  • 45. Tipos de Propiedades de OWL Una propiedad irreflexiva relaciona un individuo con otro individuo que no puede ser él mismo OWL-DL no permite que las propiedades de tipo de datos sean transitivas, simétricas o tengan inversas. OWL-DL: Propiedades de tipos de datos sólo son Allows for multiple values y Inverse Functional.
  • 46. Dominios y Rangos de Propiedades Propiedades enlazan individuos del Dominio con individuos del Rango.
  • 47. Ejercicio 11: Especificar Dominio y Rango de las propiedad tieneTopping 1. Seleccionar la propiedad tieneTopping en la jerarquía de propiedades en Object Properties. 2. Usar Add al lado de Domains (intersection) para añadir Pizza. 3. Usar Add al lado de Ranges (intersection) para añadir PizzaTopping. 4. Añadir a esToppingDe como Dominio PizzaTopping y como Rango Pizza
  • 48. Ejercicio 11: Especificar Dominio y Rango de las propiedad tieneBase 1. Seleccionar la propiedad tieneBase en la jerarquía de propiedades en Object Properties. 2. Usar Add al lado de Domains (intersection) para añadir Pizza. 3. Usar Add al lado de Ranges (intersection) para añadir PizzaBase. 4. Añadir a esBaseDe como Dominio PizzaBase y como Rango Pizza
  • 49. Restricciones Restricciones de cuantificación Restricciones de cardinalidad Restricciones tieneValor
  • 50. Restricciones Crear restricción Se ven y se editan usando la vista de descripción de Clases.
  • 51. Restricciones de Cuantificación Restricciones Existenciales Restricciones Universales
  • 52. Restricciones de Cuantificación Restricciones Existenciales describen clases de individuos que participan en al menos una relación en una propiedad específica para miembros de una clase determinada. Restricciones Universales describen clases de individuos que para una determinada propiedad sólo tienen relaciones con miembros de una clase particular.
  • 53. Ejercicio 12: Añadir restricción a la clase Pizza 1. Seleccionar la clase Pizza en la jerarquía de clases. 2. Pulsar Add de SubClass Of de la vista de descripción de clases. 3. Pulsar el botón Class expression editor. 4. Introducir la restricción (usar TAB para autocompletar): Una Pizza DEBE tener una PizzaBase 4.1. Propiedad tieneBase 4.2.Tipo de restricción (some - existenc.; only - univ.). some 4.3.Filtro para la restricción. PizzaBase Condición NECESARIA SIGNIFICADO: Restricciones especifican superclases anónimas de la clase descrita.
  • 54. Ejercicio 13: Crear nuevos tipos de Pizza 1. Crear una subclase de Pizza llamada PizzaConNombre. 2. Crear una subclase de PizzaConNombre llamada PizzaMargarita. 3. Añadir un comentario a la clase PizzaMargarita usando la vista Annotations: “Una pizza que sólo tiene Mozzarella y Tomate”.
  • 55. Ejercicio 14: Crear restricción Restricción existencial (some): Una PizzaMargarita tiene al menos un MozzarellaTopping.
  • 56. Ejercicio 15: Crear restricción Restricción existencial (some): Una PizzaMargarita tiene al menos un TomateTopping.
  • 57. Ejercicio 16: Crear clase PizzaAmericana 1. Crear un duplicado de la PizzaMargarita que será la PizzaAmericana. 2. Añadir a la PizzaAmericana la restricción existencial de que tiene al menos un topping de pepperoni.
  • 58. Ejercicio 16: Crear clase PizzaAmericana y PizzaSoho 1. Crear un duplicado de la PizzaAmericana que será la PizzaAmericanaPicante. 2. Añadir a la PizzaAmericanaPicante la restricción existencial de que tiene al menos un topping de pimiento jalapeño. 3. Crear un duplicado de la PizzaMargarita que será la PizzaSoho. 4. Añadir a la PizzaSoho las restricciones existenciales de que tiene al menos un topping de oliva y uno de parmesano. 5. Usar la opción de menú Edit / Make primitive siblings disjoint, para hacer disjuntos todos los nuevos tipos de pizza.