SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
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.

Contenu connexe

Tendances

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
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificaciónAlex Uhu Colli
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.nayis2010
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad  10: Reporte de polimorfismo, herencia & encapsulamientoActividad  10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad 10: Reporte de polimorfismo, herencia & encapsulamientograchika
 
Introducción a los modelos de datos
Introducción a los modelos de datosIntroducción a los modelos de datos
Introducción a los modelos de datosGalo Anzules
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Yarquiri Claudio
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoAlvaro Enrique Ruano
 

Tendances (20)

Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
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
 
Cuadro sinóptico estructuras de datos y su clasificación
Cuadro sinóptico   estructuras de datos y su clasificaciónCuadro sinóptico   estructuras de datos y su clasificación
Cuadro sinóptico estructuras de datos y su clasificación
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
Programación 3: colas
Programación 3: colasProgramación 3: colas
Programación 3: colas
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Búsqueda IA
Búsqueda IABúsqueda IA
Búsqueda IA
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad  10: Reporte de polimorfismo, herencia & encapsulamientoActividad  10: Reporte de polimorfismo, herencia & encapsulamiento
Actividad 10: Reporte de polimorfismo, herencia & encapsulamiento
 
Introducción a los modelos de datos
Introducción a los modelos de datosIntroducción a los modelos de datos
Introducción a los modelos de datos
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos Presentacion de Modelo entidad -relación de Base de Datos
Presentacion de Modelo entidad -relación de Base de Datos
 
Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 

Dernier

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfJonathanCovena1
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesLauraColom3
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 

Dernier (20)

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
CLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdfCLASE - La visión y misión organizacionales.pdf
CLASE - La visión y misión organizacionales.pdf
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
Éteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reaccionesÉteres. Química Orgánica. Propiedades y reacciones
Éteres. Química Orgánica. Propiedades y reacciones
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 

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.