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

Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 
Tipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de SoftwareTipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de SoftwareLeo Ruelas Rojas
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansDaniel Gómez
 
Concepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerConcepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerMarcos Omar Cruz Ortrega
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en JavaUCE
 
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
 
Arreglo De Discos Raid
Arreglo De Discos RaidArreglo De Discos Raid
Arreglo De Discos RaidAlex Avila
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualSergio Sanchez
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesAndrés Londoño
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xpgmjuan
 

La actualidad más candente (20)

Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Tipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de SoftwareTipos de Requerimientos en Ingeniería de Software
Tipos de Requerimientos en Ingeniería de Software
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeans
 
Concepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson PenkerConcepto y extensiones de negocio de Eriksson Penker
Concepto y extensiones de negocio de Eriksson Penker
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
diagrama de despliegue
diagrama de desplieguediagrama de despliegue
diagrama de despliegue
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
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
 
Constructores en Java
Constructores en JavaConstructores en Java
Constructores en Java
 
Introduccion a graficos mediante JAVA 2D
Introduccion a graficos mediante JAVA 2DIntroduccion a graficos mediante JAVA 2D
Introduccion a graficos mediante JAVA 2D
 
Arquitectura cliente servidor
Arquitectura cliente servidorArquitectura cliente servidor
Arquitectura cliente servidor
 
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....
 
Arreglo De Discos Raid
Arreglo De Discos RaidArreglo De Discos Raid
Arreglo De Discos Raid
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Programación concurrente
Programación concurrenteProgramación concurrente
Programación concurrente
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
Rational rose
Rational roseRational rose
Rational rose
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionales
 
Metodologia xp
Metodologia xpMetodologia xp
Metodologia xp
 

Último

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
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
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
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 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
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
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
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
 
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
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 

Último (20)

FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
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
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
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 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
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
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................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...
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
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...
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 

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.