SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
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.

Más contenido relacionado

La actualidad más candente

Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Conceptos basicos(base de datos)
Conceptos basicos(base de datos)Conceptos basicos(base de datos)
Conceptos basicos(base de datos)claudiachiri
 
Ejemplo pruebas de software
Ejemplo pruebas de softwareEjemplo pruebas de software
Ejemplo pruebas de softwareJohn Fonseca
 
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
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaJulio Pari
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisisguest0a6e49
 
Diagramas de Objetos, Clases y Estado
Diagramas de Objetos, Clases y Estado Diagramas de Objetos, Clases y Estado
Diagramas de Objetos, Clases y Estado Magyll
 
Instrucciones Transact S Q L
Instrucciones Transact  S Q LInstrucciones Transact  S Q L
Instrucciones Transact S Q LOlaya Molina
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacionLuis Couoh
 
Diagrama de casos de uso por niveles
Diagrama de casos de uso por nivelesDiagrama de casos de uso por niveles
Diagrama de casos de uso por nivelesJorge Angeles
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitosKleo Jorgee
 

La actualidad más candente (20)

cc302modulo2
cc302modulo2cc302modulo2
cc302modulo2
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
Conceptos basicos(base de datos)
Conceptos basicos(base de datos)Conceptos basicos(base de datos)
Conceptos basicos(base de datos)
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Ejemplo pruebas de software
Ejemplo pruebas de softwareEjemplo pruebas de software
Ejemplo pruebas de software
 
RMI
RMIRMI
RMI
 
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
 
Sesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuenciaSesion 5 1 diagrama de secuencia
Sesion 5 1 diagrama de secuencia
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Exposición Diagrama de Clases
Exposición Diagrama de ClasesExposición Diagrama de Clases
Exposición Diagrama de Clases
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Diagramas de Objetos, Clases y Estado
Diagramas de Objetos, Clases y Estado Diagramas de Objetos, Clases y Estado
Diagramas de Objetos, Clases y Estado
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Instrucciones Transact S Q L
Instrucciones Transact  S Q LInstrucciones Transact  S Q L
Instrucciones Transact S Q L
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacion
 
Clase4 poo-uml
Clase4 poo-umlClase4 poo-uml
Clase4 poo-uml
 
Diagrama de casos de uso por niveles
Diagrama de casos de uso por nivelesDiagrama de casos de uso por niveles
Diagrama de casos de uso por niveles
 
Ai u4
Ai u4Ai u4
Ai u4
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 

Último

CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
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
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
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
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 

Último (20)

CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.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
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
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
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 

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.