SlideShare a Scribd company logo
1 of 58
Download to read 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.

More Related Content

What's hot

Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 
05 interoperabilidad
05 interoperabilidad  05 interoperabilidad
05 interoperabilidad Nikoroso
 
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
 
Ventajas y desventajas de las bdoo
Ventajas y desventajas de las bdooVentajas y desventajas de las bdoo
Ventajas y desventajas de las bdooNerhys Palacios
 
Ontologías: definición, metodologías y buenas prácticas para su construcción....
Ontologías: definición, metodologías y buenas prácticas para su construcción....Ontologías: definición, metodologías y buenas prácticas para su construcción....
Ontologías: definición, metodologías y buenas prácticas para su construcción....Biblioteca Nacional de España
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.nayis2010
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre ObjetosEmilio Aviles Avila
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooJosé Antonio Sandoval Acosta
 
Poo 1 concepto_basico
Poo 1 concepto_basicoPoo 1 concepto_basico
Poo 1 concepto_basicojlmanmons
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSmyle22
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML1da4
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 
ConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En NetbeansConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En Netbeansguest044583b
 

What's hot (20)

Introducción a UML
Introducción a UMLIntroducción a UML
Introducción a UML
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
05 interoperabilidad
05 interoperabilidad  05 interoperabilidad
05 interoperabilidad
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
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
 
Clase 12a uml_clases
Clase 12a uml_clasesClase 12a uml_clases
Clase 12a uml_clases
 
Ventajas y desventajas de las bdoo
Ventajas y desventajas de las bdooVentajas y desventajas de las bdoo
Ventajas y desventajas de las bdoo
 
Ontologías: definición, metodologías y buenas prácticas para su construcción....
Ontologías: definición, metodologías y buenas prácticas para su construcción....Ontologías: definición, metodologías y buenas prácticas para su construcción....
Ontologías: definición, metodologías y buenas prácticas para su construcción....
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre Objetos
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Poo 1 concepto_basico
Poo 1 concepto_basicoPoo 1 concepto_basico
Poo 1 concepto_basico
 
Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Puntos de caso de uso
Puntos de caso de usoPuntos de caso de uso
Puntos de caso de uso
 
Diagrama de estado
Diagrama de estadoDiagrama de estado
Diagrama de estado
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
ConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En NetbeansConexióN A Base De Datos En Netbeans
ConexióN A Base De Datos En Netbeans
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 

Recently uploaded

GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAELIASPELAEZSARMIENTO1
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxMaritza438836
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesRaquel Martín Contreras
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
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
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 

Recently uploaded (20)

GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIAGUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
GUIA DE TEXTOS EDUCATIVOS SANTILLANA PARA SECUNDARIA
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).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
 
Técnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materialesTécnicas de grabado y estampación : procesos y materiales
Técnicas de grabado y estampación : procesos y materiales
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
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
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 

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.