SlideShare una empresa de Scribd logo
1 de 133
Descargar para leer sin conexión
Construcción de una
ontología OWL con protégé 4
Material: A Practical Guide To Building OWL Ontologies Using
Protégé 4. 2011
Centro de Estudios en
Microelectrónica y Sistemas
Distribuidos (CEMISID)
TanianaTaniana RodríguezRodríguez
Jose AguilarJose Aguilar
Merida JunioMerida Junio 20122012
Las ontologías son usadas para capturar el
conocimiento sobre algún dominio de interés.
Una ontología describe los conceptos dentro del
dominio y la relación que tiene entre esos
conceptos.conceptos.
Un lenguaje estándar para hacer ontologías es
OWL desarrollado por W3C.
OWL permite describir conceptos y además
cuenta con un conjunto de operadores
(intercesión, unión, y negación).
OWL esta basado en lógica descriptiva que
permite el uso de un razonador.
Ontologías OWL PROTÉGÉ
Instancias Individuos Casos (instance)
Relaciones Propiedades SlotsRelaciones Propiedades Slots
Conceptos Clases Clases
Los individuos representan objetos del dominio
de interés y son también conocidos como
instancias.
Representación de Individuos
Las propiedades son relaciones binarias sobre
los individuos y pueden ser inversas, transitivas
o simétricas.
Representación de Propiedades
Las clases OWL se entienden como conjuntos que contienen
individuos y pueden ser organizadas dentro de una jerarquía de
clases y subclases conocida como taxonomía. Las clases
también son conocidas como conceptos, pues son una
representación concreta de éstos.
Representación de clases
El fundamento que garantiza la pureza lógica de
la ontologías es la lógica de primer orden. Sobre
ella se asienta las lógicas descriptivas (DL), así
como OWL.
Porque usamos lógicas descriptivas:Porque usamos lógicas descriptivas:
Lógica de primer orden es indecidible (es fácil
afirmar cosas de objetos, pero computacionalmente
complejo)
Se requiere de un lenguaje formal para construir y
combinar definiciones de categorías (p.ej. Relaciones
de subconjunto y superconjunto)
Razonadores semánticos se basan en ella: FaCT++,
Rancer, Pellet, …
Lenguajes de representación del conocimiento
DL se diseñó como una extensión de marcos y
redes semánticas, equipada con semántica
basada en lógica.
Características :Características :
Un formalismo descriptivo: conceptos, roles
(relaciones), individuos.
Un formalismo terminológico: axiomas que
describen propiedades genéricas.
Un formalismo asertivo: introduce propiedades de
individuos.
Principales tareas de inferencia con lógica
descriptiva:
Subsunción (comprobar si una categoría es
subconjunto de otra)
Clasificación (comprobar si un objeto pertenece aClasificación (comprobar si un objeto pertenece a
una categoría)
Ejemplo:
Soltero= Y(NoCasado, Adulto, Masculino)
Soltero(x)=>NoCasado(x)Yadulto(x)Ymasculino(x)
(lógica de primer orden)
Ejemplo: realiza clasificación automática
(realizada por el motor de inferencias del
lenguaje-razonador) en tiempo de ejecución
Ser vivo
invertebrado Vertebrado
Perro Gato
Plantas
Vertebrados
Invertebrados
Ser vivo
Planta
Gato
Perro
Clasificación
automática
Un concepto en DL se refiere a una clase en OWL.
Un rol en DL es una propiedad en OWL.
Base de Conocimiento
Tbox (schema)
Abox (Data)
John ∈ Padre_ Feliz
(John, Mary) ∈ tiene_hijo
Descripción del
lenguaje
Razonamiento
Tbox: contiene declaraciones terminológicas
generales. Vocabulario de un dominio de
aplicación en función de: Conceptos, Roles, etc.
Son de dos tipos.
Definición de conceptoDefinición de concepto
Axiomas descriptivos de roles, etc.
C1 ⊆ C2
Ejemplo
∃tiene_hijo.Persona ⊆ Persona
Abox: contiene aserciones (instancias) sobre
elementos y relaciones concretas del dominio.
Es decir, son aserciones acerca de individuos
usando vocabulario. Dos tipos:
Instancias de conceptosInstancias de conceptos
Instancias de axiomas
(o1,o2 ): R
Ejemplo
(Ana, Juan):tiene_hijo
Definición de conceptos.
El pasto y los arboles son plantas. Las hojas son parte del árbol,
pero existen otras partes de un árbol que no son hojas. Un perro
debe comer al menos huesos. Una oveja es un animal solo debe
comer pasto. Una jirafa es un animal que solo debe comer hojas.
Las vacas locas solo se alimenta de cerebros que pertenecen a las
ovejas.
Restricciones:Restricciones:
Animales son disjuntos con plantas.
Propiedades:
Comer es aplicado a los animales y su inverso es comido_por.
Individuos
Tom
Flossie es una vaca
Rex es un perro y es una mascota de Mick
Fido es un perro
Tibbs es un gato
1. El pasto y los arboles son plantas.
2. Las hojas son parte del árbol,
pero existen otras partes de un
árbol que no son hojas.
3. Un perro debe comer al menos
huesos.
4. Una oveja es un animal y solo
debe comer pasto.debe comer pasto.
5. Una jirafa es un animal que solo
debe comer hojas.
6. Una vaca loca es una vaca que se
alimenta de cerebros que son parte
de las ovejas.
7. Animales o parte de animales
son disjuntos con plantas o parte
de plantas.
Propiedades:
Comer es aplicado a los animales y
su inverso es comido_por.
Inicie la aplicación protégé.
En la pantalla de bienvenida, seleccione “Create
New OWL Ontology”
1. Toda ontología usa
Unique Resource
Identifier (URI)
2. Coloque el nombre de la
ontología y presione
Continue para seguir.Continue para seguir.
3. En nuestro caso
colocaremos pizza.owl
1. Usted puede guardar la
ontología en su pc
2. Presione Finish para
seguir.
1. Este seguro que este
en Active Ontology.
2. En Ontology
annotations: clic el
icono (+)
1
2
icono (+)
1. Entre un comentario
que describa la
ontología que esta
desarrollando.
2. En nuestro ejemplo2. En nuestro ejemplo
puede colocar:
Ontología de pizza
que describe varias
pizzas según los
ingredientes.
3. Presione Ok
Repita los pasos
anteriores para
crear:
PizzaToppingPizzaTopping
PizzaBase
Después de adicionar varias clases en la jerarquía de la ontología, se requiere establecer clases disjuntas, que
indican que un objeto o individuo no puede ser instancia de más de una de estas clases que se establecieron
disjuntas
Añadir algunas subclases de PizzaBase con la
herramienta.
1. Seleccione la clase PizzaBase
2. Presione continue
Añadir algunas subclases de PizzaBase con la
herramienta.
1. Introducir:
1. BaseDelgadayCrujiente1. BaseDelgadayCrujiente
2. Base Gruesa
2. Seleccionar Continue
Decir que las clases creadas son disjuntas
Añadir algunas subclases de PizzaTopping con la
herramienta.
1. Realizar los pasos anteriores
2. Suffix Topping
3. Introducir:3. Introducir:
1. Queso
• Mozarela
• Parmesano
2. Carne
• Jamón
• Pepperoni
• Salchichón
3. Pescado
• Anchoa
4. Seleccionar Continue
Decir que las clases creadas son disjuntas
Resultado
Las propiedades OWL representan relaciones
entre dos objetos (caso clásico de las relaciones
en ontologías) o individuos o propiedades de
una clase (esto es una diferencia con el uso
habitual del termino “relación” en ontologías).habitual del termino “relación” en ontologías).
Existen dos tipos de propiedades en OWL:
“ObjectProperties”, que permite relacionar un
individuo con otro, y
“DatatypeProperties”, que relaciona un individuo
con un XML Schema Datatype value o un literal RDF
Object Properties
DataType PropertiesDataType Properties
Annotation Properties*
Los elementos que debe tener un
ObjectProperty son:
nombre,
Dominio: hace referencia a la clase o clases iniciales y
Rango: hace referencia a la clase o clases finales.Rango: hace referencia a la clase o clases finales.
Por ejemplo la relación es tutor
Nombre: es_tutor
Dominio: Docente
Rango: Estudiante
Ventana de
propiedades
Ventana de
propiedades
Agregar una propiedad
Objeto
Agregar una propiedad
Objeto
Cada ObjectProperty debe tener su
correspondiente propiedad inversa. Si una
propiedad enlaza un objeto A con otro B,
entonces la propiedad inversa enlaza el objeto B
con el A.con el A.
OWL permite que el significado de las
propiedades sea enriquecido con las
características de las propiedades, que son:
Propiedades funcionales
Propiedades funcionales inversasPropiedades funcionales inversas
Propiedades transitivas
Propiedades simétricas
Propiedades funcionales: Si una propiedad es
funcional dado un objeto, puede estar a lo sumo
un objeto relacionado con otro mediante esta
propiedad.
Por ejemplo, si se tienen tres objetos que son A,Por ejemplo, si se tienen tres objetos que son A,
B y C y se tiene una propiedad funcional
tienePadre, entonces se podrían asociar los
objetos A y B por medio de la propiedad y daría
como resultado A tienePadre B. Igualmente se
podrían asociar los objetos A y C por medio de la
propiedad y daría como resultado A tienePadre
C. Como tienePadre es propiedad funcional, se
concluye que B y C son el mismo objeto.
Si una propiedad es funcional, para un individuo determinado, no puede haber
más de una persona que se relaciona con el individuo a través de la propiedad.
En la figura se muestra un ejemplo de una propiedad funcional
hasBirthMother - algo que sólo puede tener una madre biológica. Si decimos
que el individuo Jean hasBirthMother Peggy y también se dice que el individuo
Jean hasBirthMother Margaret, entonces porque hasBirthMother es una
propiedad funcional, se puede inferir que Peggy y Margaret debe ser el mismo
individuo. Cabe señalar, sin embargo, que si Peggy y Margaret se dice
explícitamente que dos individuos diferentes entonces las declaraciones
anteriores llevaría a una contradicción.
Propiedades funcionales inversas: Si una propiedad
es funcional inversa, indica que puede estar a lo
sumo un objeto relacionado con otro mediante esta
propiedad de forma inversa a la propiedad funcional
original.
Por ejemplo, si se tienen tres objetos que son A, B yPor ejemplo, si se tienen tres objetos que son A, B y
C y se tiene una propiedad funcional esPadreDe,
entonces se podría asociar el objeto B y A por medio
de la propiedad y daría como resultado B esPadreDe
A. Igualmente se podrían asociar los objetos C y A
por medio de la propiedad y daría como resultado C
esPadreDe A. Como esPadreDe es propiedad
funcional inversa, se concluye que B y C son el
mismo objeto.
Propiedades transitivas: Si una propiedad es transitiva y relaciona dos
objetos A y B, y además hay una propiedad que relaciona al objeto B
con otro C, entonces se puede inferir que el objeto A está relacionado
con el objeto C mediante la pro- piedad transitiva.
Propiedades simétricas: Si una propiedad P es
simétrica y la propiedad relaciona a los objetos A
y B, entonces el objeto B es relacionado por
medio de la propiedad P con el objeto A.
Crear la propiedad tieneIngrediente propiedad Transitiva
Crear TieneBase como propiedad funcional
Especificar el rango de la propiedad tieneTopping
Especificar el rango de la propiedad tieneTopping
Especificar el dominio de la propiedad tieneTopping
Especificar el dominio de la propiedad tieneTopping
Especificar el dominio y rango de la propiedad tieneBase y su inversa de
la propiedad esBaseDe
Especificar el dominio y rango de la propiedad tieneBase y su inversa de
la propiedad esBaseDe
Fuente: Oscar Corcho García. Representación de Conocimiento: Lógica Descriptiva
Una vez creadas varias propiedades, se pueden
utilizar para definir y describir el
comportamiento de las clases.
Restricciones de propiedades
Las propiedades son utilizadas para crearLas propiedades son utilizadas para crear
restricciones en las clases en una ontología OWL.
Usualmente el nombre de la propiedad debería
sugerir las restricciones impuestas a los objetos de la
clase. Las restricciones OWL se presentan en las
siguientes tres categorías:
Restricciones de cuantificación.
Restricciones de cardinalidad.
Restricciones de valor.
∃
Las restricciones de cuantificación se componen
de los siguientes elementos:
Cuantificador existencial ( ), el cual permite indicar
la existencia de al menos un objeto. En protégé 4 la
∀
∃
∀
la existencia de al menos un objeto. En protégé 4 la
palabra clave some es usado para denotar
Cuantificador universal ( ), el cual permite indicar la
existencia de todos los objetos. En protégé 4. la
palabra clave es only es usado para denotar
Por ejemplo la restricción para pizza que especifica que una pizza debe
tener una PizzaBase (Existencial)
1. Seleccione Pizza
2. Seleccione en el2. Seleccione en el
icon de agregar al
lado de
Superclasse.
3. En la ventana
Class expression
editor. Coloque
TieneBase some
Pizza
Por ejemplo la restricción para pizza que especifica que una pizza debe
tener una PizzaBase
Crear una subclase de Pizza llamada NombrePizza y una subclase de pizza
llamada PizzaMargarita
Ya teniendo creada la clase PizzaMargarita Necesitamos especificar que
tipo de topping tiene. Por lo tanto necesitamos dos restricciones que diga
que tiene MozarellaToping y otra que diga que tiene tomatesTopping
Ahora vamos a crear una clase que representa la PizzaAmericana, la cual
tiene el PaperoniTopping, MozarelaTopping y tomateTopping. Debido a
que la pizzaAmericana es parecida a PizzaMozzarela vamos a clonarla
Ahora vamos a crear una clase que representa la PizzaAmericana, la cual
tiene el PaperoniTopping, MozarelaTopping y tomateTopping. Debido a
que la pizzaAmericana es parecida a PizzaMozzarela vamos a clonarla
Ahora vamos a crear una clase que representa la PizzaAmericana, la cual
tiene el PaperoniTopping, MozarelaTopping y tomateTopping. Debido a
que la pizzaAmericana es parecida a PizzaMozzarela vamos a clonarla
Crear una pizza PizzaAmericanaHot que es parecida a la PizzaAmericana,
pero tiene PimiemientaJalapenoTopping, utilizando el procedimiento de
clonar la PizzaAmericana
Crear una pizza PizzaAmericanaHot que es parecida a la PizzaAmericana,
pero tiene PimiemientaJalapenoTopping, utilizando el procedimiento de
clonar la PizzaAmericana
Crear una pizza PizzaAmericanaHot que es parecida a la PizzaAmericana,
pero tiene PimiemientaJalapenoTopping, utilizando el procedimiento de
clonar la PizzaAmericana
Crear una pizza PizzaAmericanaHot que es parecida a la PizzaAmericana,
pero tiene PimiemientaJalapenoTopping, utilizando el procedimiento de
clonar la PizzaAmericana
Como los pasos para crear una pizza PizzaAmericanaHot vamos a crear la
PizzaSoho que es parecido a la PizzaMargarita pero tiene adicional
AceitunasTopping y ParmezanoTopping
Por Ultimo realizar la subclases de NombrePizzas Disjusta
Una característica clave de las ontologías que son descritas usando
OWL-DL es que pueden ser procesadas por un razonador.
Los razonadores, llamados clasificadores, también pueden
chequear consistencia
Invocando el razonador
Para demostrar el uso de razonador que detecte clases inconsistente en
la ontología, vamos a crear una clases que es subclase de QuesoTopping y
tambien de VegetableTopping
Clasifique utilizando el razonador pellet
Vamos a crear una subclase de Pizza llamada PizzadeQueso que es una
pizza que por lo menos tiene una clases de QuesoTopping (condicion
necesaria)
Vamos crear condición necesaria y suficiente también conocido como
Defined Class y en protege clases equivalentes
1. Seleccione1. Seleccione
PizzaDeQueso.
2. En edit seleccione en
el menu “Convert to
define class”
Ya teniendo creada la definicion de una PizzaDeQueso se puede usar el
razonador para calcular la subclases PizzaDeQueso
Ahora vamos a crear una PizzaVegetariana. Los individuos que solo son
miembros de esta clases son QuesoTopping o VegetablesTopping. Por lo
tanto vamos a usar la restricción universal
Ahora vamos a convertirla en necesaria y suficiente
Ya teniendo creada la definición de una PizzaVegetariana Usamos el
razonador para ver que pasa
Un axioma de clausura por ejemplo sobre la propiedad tieneTopping seria
Añadimos el axioma de clausura sobre la propiedad tieneTopping para la
PizzaMargarita
∀tieneTopping(MozarelaTopping∪QuesoToping)
Ya teniendo creada la definición de una PizzaVegetariana Usamos el
razonador para ver que pasa
Vamos hacer lo mismo para PizzaSoho, PizzaAmericanaHot y
PizzaAmericana y luego utilizamos el razonador a ver que pasa
Vamos hacer lo mismo para PizzaSoho, PizzaAmericanaHot y
PizzaAmericana y luego utilizamos el razonador a ver que pasa
Clasificamos nuevamente
Vamos añadir una restricción de cardinalidad, creamos una subclases de
Pizza llamada pizza interesante, donde vamos a definir que tiene 3 o mas
toppings
Vamos añadir una restricción de cardinalidad, creamos una subclases de
Pizza llamada pizza interesante, donde vamos a definir que tiene 3 o mas
toppings y seleccione Ok.
Luego seleccione “Convert to defined class” y la superclase debe quedar
sin nada y se debe cambiar a la clase equivalente
Clasificamos nuevamente
Usaremos las propiedad Datatype para describir
las calorías de las pizzas
Creamos un datatype llamado tieneCalorias
Crear un ejemplo de individuo de pizza
En la ventana Individual Description añada el
tipo de PizzaMargarita y seleccione ok
En la ventana Property assertions y añada en
Data Property assertion seleccione TieneCalorias
y defínalo entero y valor 263
Crear un ejemplo de individuo
EjemploCuatroQuesos con 723
Seleccione pizza y añada una superclase y
asegure que la restriction esta en some y
presione Ok
Crear una Subclase PizzaCaloriasAltas de Pizza
que tiene calorías igual o mayor que 400.
Crear la clase equivalente
Crear PizzaCaloriasBaja menor 400
Usamos el razonador
Usamos el razonador
Realizar la Ontología de la Universidad de Los
Andes
Realizar el cookbook de prortégé 4.2.

Más contenido relacionado

La actualidad más candente

Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)sandra gutierrez
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltosJansel M
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUrban Skate House
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamientozeta2015
 
Elementos de diagramas de secuencias
Elementos de diagramas de secuenciasElementos de diagramas de secuencias
Elementos de diagramas de secuenciasJorge Reyes
 
Taller modelo entidad relacion
Taller modelo entidad relacionTaller modelo entidad relacion
Taller modelo entidad relacionAngeliik Cortes
 
Ejemplo plan de_pruebas
Ejemplo plan de_pruebasEjemplo plan de_pruebas
Ejemplo plan de_pruebasnicolas2100
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlROQUE Caldas Dominguez
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmosluisce03
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHPerozoAlejandro
 
esto es de transformacion del modelo relacional
esto es  de transformacion del modelo relacionalesto es  de transformacion del modelo relacional
esto es de transformacion del modelo relacionalBrahyan Marquez
 

La actualidad más candente (20)

Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)Recursividad y Cola (Estructura de Datos)
Recursividad y Cola (Estructura de Datos)
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltos
 
Unidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datosUnidad 1 introducción a las estructuras de datos
Unidad 1 introducción a las estructuras de datos
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamiento
 
Elementos de diagramas de secuencias
Elementos de diagramas de secuenciasElementos de diagramas de secuencias
Elementos de diagramas de secuencias
 
Taller modelo entidad relacion
Taller modelo entidad relacionTaller modelo entidad relacion
Taller modelo entidad relacion
 
OOSE
OOSEOOSE
OOSE
 
Ejemplo plan de_pruebas
Ejemplo plan de_pruebasEjemplo plan de_pruebas
Ejemplo plan de_pruebas
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Arraylist
ArraylistArraylist
Arraylist
 
Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
 
Greenfoot 3
Greenfoot 3Greenfoot 3
Greenfoot 3
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmos
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
esto es de transformacion del modelo relacional
esto es  de transformacion del modelo relacionalesto es  de transformacion del modelo relacional
esto es de transformacion del modelo relacional
 

Destacado

Construção de ontologia com protégé owl
Construção de ontologia com protégé owlConstrução de ontologia com protégé owl
Construção de ontologia com protégé owlAndréa Bordin
 
Perspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomiaPerspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomiaNaira Michelle Alves Pereira
 
Apache Solr-Webinar
Apache Solr-WebinarApache Solr-Webinar
Apache Solr-WebinarEdureka!
 
Ontology development in protégé-آنتولوژی در پروتوغه
Ontology development in protégé-آنتولوژی در پروتوغهOntology development in protégé-آنتولوژی در پروتوغه
Ontology development in protégé-آنتولوژی در پروتوغهsadegh salehi
 
Intelligent crawling and indexing using lucene
Intelligent crawling and indexing using luceneIntelligent crawling and indexing using lucene
Intelligent crawling and indexing using luceneSwapnil & Patil
 
Semtech web-protege-tutorial
Semtech web-protege-tutorialSemtech web-protege-tutorial
Semtech web-protege-tutorialmatthewhorridge
 
Apache Solr/Lucene Internals by Anatoliy Sokolenko
Apache Solr/Lucene Internals  by Anatoliy SokolenkoApache Solr/Lucene Internals  by Anatoliy Sokolenko
Apache Solr/Lucene Internals by Anatoliy SokolenkoProvectus
 
Lucene for Solr Developers
Lucene for Solr DevelopersLucene for Solr Developers
Lucene for Solr DevelopersErik Hatcher
 
Berlin Buzzwords 2013 - How does lucene store your data?
Berlin Buzzwords 2013 - How does lucene store your data?Berlin Buzzwords 2013 - How does lucene store your data?
Berlin Buzzwords 2013 - How does lucene store your data?Adrien Grand
 
Architecture and Implementation of Apache Lucene: Marter's Thesis
Architecture and Implementation of Apache Lucene: Marter's ThesisArchitecture and Implementation of Apache Lucene: Marter's Thesis
Architecture and Implementation of Apache Lucene: Marter's ThesisJosiane Gamgo
 
Lucene Introduction
Lucene IntroductionLucene Introduction
Lucene Introductionotisg
 
Ontology Engineering for the Semantic Web and beyond
Ontology Engineering for the Semantic Web and beyondOntology Engineering for the Semantic Web and beyond
Ontology Engineering for the Semantic Web and beyondPeter Geil
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScriptAndres Baravalle
 
Fundamental JavaScript [UTC, March 2014]
Fundamental JavaScript [UTC, March 2014]Fundamental JavaScript [UTC, March 2014]
Fundamental JavaScript [UTC, March 2014]Aaron Gustafson
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScriptBryan Basham
 
JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An IntroductionManvendra Singh
 

Destacado (20)

Construção de ontologia com protégé owl
Construção de ontologia com protégé owlConstrução de ontologia com protégé owl
Construção de ontologia com protégé owl
 
Perspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomiaPerspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomia
 
Apache Solr-Webinar
Apache Solr-WebinarApache Solr-Webinar
Apache Solr-Webinar
 
Ontology development in protégé-آنتولوژی در پروتوغه
Ontology development in protégé-آنتولوژی در پروتوغهOntology development in protégé-آنتولوژی در پروتوغه
Ontology development in protégé-آنتولوژی در پروتوغه
 
Intelligent crawling and indexing using lucene
Intelligent crawling and indexing using luceneIntelligent crawling and indexing using lucene
Intelligent crawling and indexing using lucene
 
Semtech web-protege-tutorial
Semtech web-protege-tutorialSemtech web-protege-tutorial
Semtech web-protege-tutorial
 
Apache Solr/Lucene Internals by Anatoliy Sokolenko
Apache Solr/Lucene Internals  by Anatoliy SokolenkoApache Solr/Lucene Internals  by Anatoliy Sokolenko
Apache Solr/Lucene Internals by Anatoliy Sokolenko
 
Lucene for Solr Developers
Lucene for Solr DevelopersLucene for Solr Developers
Lucene for Solr Developers
 
Berlin Buzzwords 2013 - How does lucene store your data?
Berlin Buzzwords 2013 - How does lucene store your data?Berlin Buzzwords 2013 - How does lucene store your data?
Berlin Buzzwords 2013 - How does lucene store your data?
 
Protege tutorial
Protege tutorialProtege tutorial
Protege tutorial
 
Architecture and Implementation of Apache Lucene: Marter's Thesis
Architecture and Implementation of Apache Lucene: Marter's ThesisArchitecture and Implementation of Apache Lucene: Marter's Thesis
Architecture and Implementation of Apache Lucene: Marter's Thesis
 
Lucene Introduction
Lucene IntroductionLucene Introduction
Lucene Introduction
 
Ontology Engineering for the Semantic Web and beyond
Ontology Engineering for the Semantic Web and beyondOntology Engineering for the Semantic Web and beyond
Ontology Engineering for the Semantic Web and beyond
 
Lucene basics
Lucene basicsLucene basics
Lucene basics
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
Fundamental JavaScript [UTC, March 2014]
Fundamental JavaScript [UTC, March 2014]Fundamental JavaScript [UTC, March 2014]
Fundamental JavaScript [UTC, March 2014]
 
Introduction to JavaScript
Introduction to JavaScriptIntroduction to JavaScript
Introduction to JavaScript
 
Javascript
JavascriptJavascript
Javascript
 
Js ppt
Js pptJs ppt
Js ppt
 
JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An Introduction
 

Similar a Construcción de una ontología OWL con protégé 4

Tema 3 induccion categorica
Tema 3 induccion categoricaTema 3 induccion categorica
Tema 3 induccion categoricagonzalezmfer
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetoswladimirclipper
 
Analisis de la PPO
Analisis de la PPOAnalisis de la PPO
Analisis de la PPOEdwin Quispe
 
Lenguajes2
Lenguajes2Lenguajes2
Lenguajes2Ernesto
 
3 poo abstraccion modula..herencia
3 poo abstraccion modula..herencia3 poo abstraccion modula..herencia
3 poo abstraccion modula..herenciaPedro Alvarez
 
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
 
Tm04 modelo de clases
Tm04 modelo de clasesTm04 modelo de clases
Tm04 modelo de clasesJulio Pari
 
Termino de programacion
Termino de programacionTermino de programacion
Termino de programacionJENNY GUAYLLA
 
INTRODUCCIÓN A LA POO
INTRODUCCIÓN A LA POOINTRODUCCIÓN A LA POO
INTRODUCCIÓN A LA POODaniela Karina
 
Deber de informatica ii
Deber de informatica iiDeber de informatica ii
Deber de informatica ii093044281
 
Deber de informatica ii
Deber de informatica iiDeber de informatica ii
Deber de informatica ii093044281
 
Repaso 19 abril2016
Repaso 19 abril2016Repaso 19 abril2016
Repaso 19 abril2016zeta2015
 
Fundamentos de poo1
Fundamentos de poo1Fundamentos de poo1
Fundamentos de poo1antony
 

Similar a Construcción de una ontología OWL con protégé 4 (20)

Tema 3 induccion categorica
Tema 3 induccion categoricaTema 3 induccion categorica
Tema 3 induccion categorica
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Analisis de la PPO
Analisis de la PPOAnalisis de la PPO
Analisis de la PPO
 
Lenguajes2
Lenguajes2Lenguajes2
Lenguajes2
 
3 poo abstraccion modula..herencia
3 poo abstraccion modula..herencia3 poo abstraccion modula..herencia
3 poo abstraccion modula..herencia
 
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
 
Tm04 modelo de clases
Tm04 modelo de clasesTm04 modelo de clases
Tm04 modelo de clases
 
Abstraccion
AbstraccionAbstraccion
Abstraccion
 
25 ontologias
25 ontologias25 ontologias
25 ontologias
 
Abstraccion
AbstraccionAbstraccion
Abstraccion
 
Fu 1. 19 23 sept 2016
Fu 1. 19 23 sept  2016Fu 1. 19 23 sept  2016
Fu 1. 19 23 sept 2016
 
Termino de programacion
Termino de programacionTermino de programacion
Termino de programacion
 
INTRODUCCIÓN A LA POO
INTRODUCCIÓN A LA POOINTRODUCCIÓN A LA POO
INTRODUCCIÓN A LA POO
 
As3 unidad 4 crear action script en archivos externos
As3 unidad 4 crear action script en archivos externosAs3 unidad 4 crear action script en archivos externos
As3 unidad 4 crear action script en archivos externos
 
Deber de informatica ii
Deber de informatica iiDeber de informatica ii
Deber de informatica ii
 
Deber de informatica ii
Deber de informatica iiDeber de informatica ii
Deber de informatica ii
 
Repaso 19 abril2016
Repaso 19 abril2016Repaso 19 abril2016
Repaso 19 abril2016
 
Programacion orientada a objeto
Programacion orientada a objeto Programacion orientada a objeto
Programacion orientada a objeto
 
Ontologias
OntologiasOntologias
Ontologias
 
Fundamentos de poo1
Fundamentos de poo1Fundamentos de poo1
Fundamentos de poo1
 

Último

PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 

Último (20)

Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 

Construcción de una ontología OWL con protégé 4

  • 1. Construcción de una ontología OWL con protégé 4 Material: A Practical Guide To Building OWL Ontologies Using Protégé 4. 2011 Centro de Estudios en Microelectrónica y Sistemas Distribuidos (CEMISID) TanianaTaniana RodríguezRodríguez Jose AguilarJose Aguilar Merida JunioMerida Junio 20122012
  • 2. Las ontologías son usadas para capturar el conocimiento sobre algún dominio de interés. Una ontología describe los conceptos dentro del dominio y la relación que tiene entre esos conceptos.conceptos. Un lenguaje estándar para hacer ontologías es OWL desarrollado por W3C. OWL permite describir conceptos y además cuenta con un conjunto de operadores (intercesión, unión, y negación). OWL esta basado en lógica descriptiva que permite el uso de un razonador.
  • 3. Ontologías OWL PROTÉGÉ Instancias Individuos Casos (instance) Relaciones Propiedades SlotsRelaciones Propiedades Slots Conceptos Clases Clases
  • 4. Los individuos representan objetos del dominio de interés y son también conocidos como instancias. Representación de Individuos
  • 5. Las propiedades son relaciones binarias sobre los individuos y pueden ser inversas, transitivas o simétricas. Representación de Propiedades
  • 6. Las clases OWL se entienden como conjuntos que contienen individuos y pueden ser organizadas dentro de una jerarquía de clases y subclases conocida como taxonomía. Las clases también son conocidas como conceptos, pues son una representación concreta de éstos. Representación de clases
  • 7.
  • 8. El fundamento que garantiza la pureza lógica de la ontologías es la lógica de primer orden. Sobre ella se asienta las lógicas descriptivas (DL), así como OWL. Porque usamos lógicas descriptivas:Porque usamos lógicas descriptivas: Lógica de primer orden es indecidible (es fácil afirmar cosas de objetos, pero computacionalmente complejo) Se requiere de un lenguaje formal para construir y combinar definiciones de categorías (p.ej. Relaciones de subconjunto y superconjunto) Razonadores semánticos se basan en ella: FaCT++, Rancer, Pellet, …
  • 9. Lenguajes de representación del conocimiento DL se diseñó como una extensión de marcos y redes semánticas, equipada con semántica basada en lógica. Características :Características : Un formalismo descriptivo: conceptos, roles (relaciones), individuos. Un formalismo terminológico: axiomas que describen propiedades genéricas. Un formalismo asertivo: introduce propiedades de individuos.
  • 10. Principales tareas de inferencia con lógica descriptiva: Subsunción (comprobar si una categoría es subconjunto de otra) Clasificación (comprobar si un objeto pertenece aClasificación (comprobar si un objeto pertenece a una categoría) Ejemplo: Soltero= Y(NoCasado, Adulto, Masculino) Soltero(x)=>NoCasado(x)Yadulto(x)Ymasculino(x) (lógica de primer orden)
  • 11. Ejemplo: realiza clasificación automática (realizada por el motor de inferencias del lenguaje-razonador) en tiempo de ejecución Ser vivo invertebrado Vertebrado Perro Gato Plantas Vertebrados Invertebrados Ser vivo Planta Gato Perro Clasificación automática
  • 12. Un concepto en DL se refiere a una clase en OWL. Un rol en DL es una propiedad en OWL.
  • 13. Base de Conocimiento Tbox (schema) Abox (Data) John ∈ Padre_ Feliz (John, Mary) ∈ tiene_hijo Descripción del lenguaje Razonamiento
  • 14. Tbox: contiene declaraciones terminológicas generales. Vocabulario de un dominio de aplicación en función de: Conceptos, Roles, etc. Son de dos tipos. Definición de conceptoDefinición de concepto Axiomas descriptivos de roles, etc. C1 ⊆ C2 Ejemplo ∃tiene_hijo.Persona ⊆ Persona
  • 15. Abox: contiene aserciones (instancias) sobre elementos y relaciones concretas del dominio. Es decir, son aserciones acerca de individuos usando vocabulario. Dos tipos: Instancias de conceptosInstancias de conceptos Instancias de axiomas (o1,o2 ): R Ejemplo (Ana, Juan):tiene_hijo
  • 16. Definición de conceptos. El pasto y los arboles son plantas. Las hojas son parte del árbol, pero existen otras partes de un árbol que no son hojas. Un perro debe comer al menos huesos. Una oveja es un animal solo debe comer pasto. Una jirafa es un animal que solo debe comer hojas. Las vacas locas solo se alimenta de cerebros que pertenecen a las ovejas. Restricciones:Restricciones: Animales son disjuntos con plantas. Propiedades: Comer es aplicado a los animales y su inverso es comido_por. Individuos Tom Flossie es una vaca Rex es un perro y es una mascota de Mick Fido es un perro Tibbs es un gato
  • 17. 1. El pasto y los arboles son plantas. 2. Las hojas son parte del árbol, pero existen otras partes de un árbol que no son hojas. 3. Un perro debe comer al menos huesos. 4. Una oveja es un animal y solo debe comer pasto.debe comer pasto. 5. Una jirafa es un animal que solo debe comer hojas. 6. Una vaca loca es una vaca que se alimenta de cerebros que son parte de las ovejas. 7. Animales o parte de animales son disjuntos con plantas o parte de plantas. Propiedades: Comer es aplicado a los animales y su inverso es comido_por.
  • 18.
  • 19.
  • 20.
  • 21. Inicie la aplicación protégé. En la pantalla de bienvenida, seleccione “Create New OWL Ontology”
  • 22. 1. Toda ontología usa Unique Resource Identifier (URI) 2. Coloque el nombre de la ontología y presione Continue para seguir.Continue para seguir. 3. En nuestro caso colocaremos pizza.owl
  • 23. 1. Usted puede guardar la ontología en su pc 2. Presione Finish para seguir.
  • 24.
  • 25.
  • 26. 1. Este seguro que este en Active Ontology. 2. En Ontology annotations: clic el icono (+) 1 2 icono (+)
  • 27. 1. Entre un comentario que describa la ontología que esta desarrollando. 2. En nuestro ejemplo2. En nuestro ejemplo puede colocar: Ontología de pizza que describe varias pizzas según los ingredientes. 3. Presione Ok
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. Repita los pasos anteriores para crear: PizzaToppingPizzaTopping PizzaBase
  • 34.
  • 35. Después de adicionar varias clases en la jerarquía de la ontología, se requiere establecer clases disjuntas, que indican que un objeto o individuo no puede ser instancia de más de una de estas clases que se establecieron disjuntas
  • 36.
  • 37.
  • 38. Añadir algunas subclases de PizzaBase con la herramienta. 1. Seleccione la clase PizzaBase 2. Presione continue
  • 39. Añadir algunas subclases de PizzaBase con la herramienta. 1. Introducir: 1. BaseDelgadayCrujiente1. BaseDelgadayCrujiente 2. Base Gruesa 2. Seleccionar Continue
  • 40. Decir que las clases creadas son disjuntas
  • 41. Añadir algunas subclases de PizzaTopping con la herramienta. 1. Realizar los pasos anteriores 2. Suffix Topping 3. Introducir:3. Introducir: 1. Queso • Mozarela • Parmesano 2. Carne • Jamón • Pepperoni • Salchichón 3. Pescado • Anchoa 4. Seleccionar Continue
  • 42. Decir que las clases creadas son disjuntas
  • 44.
  • 45. Las propiedades OWL representan relaciones entre dos objetos (caso clásico de las relaciones en ontologías) o individuos o propiedades de una clase (esto es una diferencia con el uso habitual del termino “relación” en ontologías).habitual del termino “relación” en ontologías). Existen dos tipos de propiedades en OWL: “ObjectProperties”, que permite relacionar un individuo con otro, y “DatatypeProperties”, que relaciona un individuo con un XML Schema Datatype value o un literal RDF
  • 46. Object Properties DataType PropertiesDataType Properties Annotation Properties*
  • 47. Los elementos que debe tener un ObjectProperty son: nombre, Dominio: hace referencia a la clase o clases iniciales y Rango: hace referencia a la clase o clases finales.Rango: hace referencia a la clase o clases finales. Por ejemplo la relación es tutor Nombre: es_tutor Dominio: Docente Rango: Estudiante
  • 52.
  • 53. Cada ObjectProperty debe tener su correspondiente propiedad inversa. Si una propiedad enlaza un objeto A con otro B, entonces la propiedad inversa enlaza el objeto B con el A.con el A.
  • 54.
  • 55.
  • 56.
  • 57. OWL permite que el significado de las propiedades sea enriquecido con las características de las propiedades, que son: Propiedades funcionales Propiedades funcionales inversasPropiedades funcionales inversas Propiedades transitivas Propiedades simétricas
  • 58. Propiedades funcionales: Si una propiedad es funcional dado un objeto, puede estar a lo sumo un objeto relacionado con otro mediante esta propiedad. Por ejemplo, si se tienen tres objetos que son A,Por ejemplo, si se tienen tres objetos que son A, B y C y se tiene una propiedad funcional tienePadre, entonces se podrían asociar los objetos A y B por medio de la propiedad y daría como resultado A tienePadre B. Igualmente se podrían asociar los objetos A y C por medio de la propiedad y daría como resultado A tienePadre C. Como tienePadre es propiedad funcional, se concluye que B y C son el mismo objeto.
  • 59. Si una propiedad es funcional, para un individuo determinado, no puede haber más de una persona que se relaciona con el individuo a través de la propiedad. En la figura se muestra un ejemplo de una propiedad funcional hasBirthMother - algo que sólo puede tener una madre biológica. Si decimos que el individuo Jean hasBirthMother Peggy y también se dice que el individuo Jean hasBirthMother Margaret, entonces porque hasBirthMother es una propiedad funcional, se puede inferir que Peggy y Margaret debe ser el mismo individuo. Cabe señalar, sin embargo, que si Peggy y Margaret se dice explícitamente que dos individuos diferentes entonces las declaraciones anteriores llevaría a una contradicción.
  • 60. Propiedades funcionales inversas: Si una propiedad es funcional inversa, indica que puede estar a lo sumo un objeto relacionado con otro mediante esta propiedad de forma inversa a la propiedad funcional original. Por ejemplo, si se tienen tres objetos que son A, B yPor ejemplo, si se tienen tres objetos que son A, B y C y se tiene una propiedad funcional esPadreDe, entonces se podría asociar el objeto B y A por medio de la propiedad y daría como resultado B esPadreDe A. Igualmente se podrían asociar los objetos C y A por medio de la propiedad y daría como resultado C esPadreDe A. Como esPadreDe es propiedad funcional inversa, se concluye que B y C son el mismo objeto.
  • 61. Propiedades transitivas: Si una propiedad es transitiva y relaciona dos objetos A y B, y además hay una propiedad que relaciona al objeto B con otro C, entonces se puede inferir que el objeto A está relacionado con el objeto C mediante la pro- piedad transitiva.
  • 62. Propiedades simétricas: Si una propiedad P es simétrica y la propiedad relaciona a los objetos A y B, entonces el objeto B es relacionado por medio de la propiedad P con el objeto A.
  • 63. Crear la propiedad tieneIngrediente propiedad Transitiva
  • 64. Crear TieneBase como propiedad funcional
  • 65.
  • 66. Especificar el rango de la propiedad tieneTopping
  • 67. Especificar el rango de la propiedad tieneTopping
  • 68. Especificar el dominio de la propiedad tieneTopping
  • 69. Especificar el dominio de la propiedad tieneTopping
  • 70. Especificar el dominio y rango de la propiedad tieneBase y su inversa de la propiedad esBaseDe
  • 71. Especificar el dominio y rango de la propiedad tieneBase y su inversa de la propiedad esBaseDe
  • 72.
  • 73. Fuente: Oscar Corcho García. Representación de Conocimiento: Lógica Descriptiva
  • 74. Una vez creadas varias propiedades, se pueden utilizar para definir y describir el comportamiento de las clases. Restricciones de propiedades Las propiedades son utilizadas para crearLas propiedades son utilizadas para crear restricciones en las clases en una ontología OWL. Usualmente el nombre de la propiedad debería sugerir las restricciones impuestas a los objetos de la clase. Las restricciones OWL se presentan en las siguientes tres categorías: Restricciones de cuantificación. Restricciones de cardinalidad. Restricciones de valor.
  • 75. ∃ Las restricciones de cuantificación se componen de los siguientes elementos: Cuantificador existencial ( ), el cual permite indicar la existencia de al menos un objeto. En protégé 4 la ∀ ∃ ∀ la existencia de al menos un objeto. En protégé 4 la palabra clave some es usado para denotar Cuantificador universal ( ), el cual permite indicar la existencia de todos los objetos. En protégé 4. la palabra clave es only es usado para denotar
  • 76. Por ejemplo la restricción para pizza que especifica que una pizza debe tener una PizzaBase (Existencial) 1. Seleccione Pizza 2. Seleccione en el2. Seleccione en el icon de agregar al lado de Superclasse. 3. En la ventana Class expression editor. Coloque TieneBase some Pizza
  • 77. Por ejemplo la restricción para pizza que especifica que una pizza debe tener una PizzaBase
  • 78.
  • 79. Crear una subclase de Pizza llamada NombrePizza y una subclase de pizza llamada PizzaMargarita
  • 80. Ya teniendo creada la clase PizzaMargarita Necesitamos especificar que tipo de topping tiene. Por lo tanto necesitamos dos restricciones que diga que tiene MozarellaToping y otra que diga que tiene tomatesTopping
  • 81. Ahora vamos a crear una clase que representa la PizzaAmericana, la cual tiene el PaperoniTopping, MozarelaTopping y tomateTopping. Debido a que la pizzaAmericana es parecida a PizzaMozzarela vamos a clonarla
  • 82. Ahora vamos a crear una clase que representa la PizzaAmericana, la cual tiene el PaperoniTopping, MozarelaTopping y tomateTopping. Debido a que la pizzaAmericana es parecida a PizzaMozzarela vamos a clonarla
  • 83. Ahora vamos a crear una clase que representa la PizzaAmericana, la cual tiene el PaperoniTopping, MozarelaTopping y tomateTopping. Debido a que la pizzaAmericana es parecida a PizzaMozzarela vamos a clonarla
  • 84. Crear una pizza PizzaAmericanaHot que es parecida a la PizzaAmericana, pero tiene PimiemientaJalapenoTopping, utilizando el procedimiento de clonar la PizzaAmericana
  • 85. Crear una pizza PizzaAmericanaHot que es parecida a la PizzaAmericana, pero tiene PimiemientaJalapenoTopping, utilizando el procedimiento de clonar la PizzaAmericana
  • 86. Crear una pizza PizzaAmericanaHot que es parecida a la PizzaAmericana, pero tiene PimiemientaJalapenoTopping, utilizando el procedimiento de clonar la PizzaAmericana
  • 87. Crear una pizza PizzaAmericanaHot que es parecida a la PizzaAmericana, pero tiene PimiemientaJalapenoTopping, utilizando el procedimiento de clonar la PizzaAmericana
  • 88. Como los pasos para crear una pizza PizzaAmericanaHot vamos a crear la PizzaSoho que es parecido a la PizzaMargarita pero tiene adicional AceitunasTopping y ParmezanoTopping
  • 89. Por Ultimo realizar la subclases de NombrePizzas Disjusta
  • 90.
  • 91. Una característica clave de las ontologías que son descritas usando OWL-DL es que pueden ser procesadas por un razonador. Los razonadores, llamados clasificadores, también pueden chequear consistencia Invocando el razonador
  • 92. Para demostrar el uso de razonador que detecte clases inconsistente en la ontología, vamos a crear una clases que es subclase de QuesoTopping y tambien de VegetableTopping
  • 93. Clasifique utilizando el razonador pellet
  • 94.
  • 95.
  • 96. Vamos a crear una subclase de Pizza llamada PizzadeQueso que es una pizza que por lo menos tiene una clases de QuesoTopping (condicion necesaria)
  • 97. Vamos crear condición necesaria y suficiente también conocido como Defined Class y en protege clases equivalentes 1. Seleccione1. Seleccione PizzaDeQueso. 2. En edit seleccione en el menu “Convert to define class”
  • 98.
  • 99. Ya teniendo creada la definicion de una PizzaDeQueso se puede usar el razonador para calcular la subclases PizzaDeQueso
  • 100.
  • 101.
  • 102. Ahora vamos a crear una PizzaVegetariana. Los individuos que solo son miembros de esta clases son QuesoTopping o VegetablesTopping. Por lo tanto vamos a usar la restricción universal
  • 103. Ahora vamos a convertirla en necesaria y suficiente
  • 104.
  • 105. Ya teniendo creada la definición de una PizzaVegetariana Usamos el razonador para ver que pasa
  • 106.
  • 107. Un axioma de clausura por ejemplo sobre la propiedad tieneTopping seria Añadimos el axioma de clausura sobre la propiedad tieneTopping para la PizzaMargarita ∀tieneTopping(MozarelaTopping∪QuesoToping)
  • 108. Ya teniendo creada la definición de una PizzaVegetariana Usamos el razonador para ver que pasa
  • 109.
  • 110. Vamos hacer lo mismo para PizzaSoho, PizzaAmericanaHot y PizzaAmericana y luego utilizamos el razonador a ver que pasa
  • 111. Vamos hacer lo mismo para PizzaSoho, PizzaAmericanaHot y PizzaAmericana y luego utilizamos el razonador a ver que pasa
  • 113.
  • 114.
  • 115. Vamos añadir una restricción de cardinalidad, creamos una subclases de Pizza llamada pizza interesante, donde vamos a definir que tiene 3 o mas toppings
  • 116. Vamos añadir una restricción de cardinalidad, creamos una subclases de Pizza llamada pizza interesante, donde vamos a definir que tiene 3 o mas toppings y seleccione Ok.
  • 117. Luego seleccione “Convert to defined class” y la superclase debe quedar sin nada y se debe cambiar a la clase equivalente
  • 119.
  • 120.
  • 121. Usaremos las propiedad Datatype para describir las calorías de las pizzas
  • 122. Creamos un datatype llamado tieneCalorias
  • 123. Crear un ejemplo de individuo de pizza
  • 124. En la ventana Individual Description añada el tipo de PizzaMargarita y seleccione ok
  • 125. En la ventana Property assertions y añada en Data Property assertion seleccione TieneCalorias y defínalo entero y valor 263
  • 126. Crear un ejemplo de individuo EjemploCuatroQuesos con 723
  • 127. Seleccione pizza y añada una superclase y asegure que la restriction esta en some y presione Ok
  • 128. Crear una Subclase PizzaCaloriasAltas de Pizza que tiene calorías igual o mayor que 400.
  • 129. Crear la clase equivalente
  • 133. Realizar la Ontología de la Universidad de Los Andes Realizar el cookbook de prortégé 4.2.