Sunteți pe pagina 1din 133

Construccin de una ontologa OWL con protg 4

Centro de Estudios en Microelectrnica y Sistemas Distribuidos (CEMISID) Material: A Practical Guide To Building OWL Ontologies Using Protg 4 !"##

Taniana Rodrguez Jose Aguilar

Merida Junio 2012

Las ontologas son usadas para capturar el conocimiento sobre algn dominio de inters !na ontologa describe los conceptos dentro del dominio y la relacin "ue tiene entre esos conceptos !n lengua#e est$ndar para %acer ontologas es &'L desarrollado por '(C &'L permite describir conceptos y adem$s cuenta con un con#unto de operadores (intercesin) unin) y negacin) &'L esta basado en lgica descripti*a "ue permite el uso de un ra+onador

Ontologas Instancias ,elaciones Conceptos

OWL Indi*iduos -ropiedades Clases Slots Clases

P$OT%G% Casos (instance)

Los indi*iduos representan ob#etos del dominio de inters y son tambin conocidos como instancias

,epresentacin de Indi*iduos

Las propiedades son relaciones binarias sobre los indi*iduos y pueden ser in*ersas) transiti*as o simtricas

,epresentacin de -ropiedades

Las clases &'L se entienden como con#untos "ue contienen indi*iduos y pueden ser organi+adas dentro de una #erar"ua de clases y subclases conocida como ta.onoma Las clases tambin son conocidas como conceptos) pues son una representacin concreta de stos

,epresentacin de clases

El /undamento "ue garanti+a la pure+a lgica de la ontologas es la lgica de primer orden Sobre ella se asienta las lgicas descripti*as (DL)) as como &'L -or"ue usamos lgicas descripti*as0
Lgica de primer orden es indecidible (es /$cil a/irmar cosas de ob#etos) pero computacionalmente comple#o) Se re"uiere de un lengua#e /ormal para construir y combinar de/iniciones de categoras (p e# ,elaciones de subcon#unto y supercon#unto) ,a+onadores sem$nticos se basan en ella0 1aC233) ,ancer) -ellet) 4

Lengua#es de representacin del conocimiento DL se dise5 como una e.tensin de marcos y redes sem$nticas) e"uipada con sem$ntica basada en lgica Caractersticas 0
!n /ormalismo descripti*o0 conceptos) roles (relaciones)) indi*iduos !n /ormalismo terminolgico0 a.iomas "ue describen propiedades genricas !n /ormalismo aserti*o0 introduce propiedades de indi*iduos

-rincipales tareas de in/erencia con lgica descripti*a0


Subsuncin (comprobar si una categora es subcon#unto de otra) Clasi/icacin (comprobar si un ob#eto pertenece a una categora)

E#emplo0
Soltero6 7(8oCasado) 9dulto) Masculino) Soltero(.)6:8oCasado(.)7adulto(.)7masculino(.) (lgica de primer orden)

E#emplo0 reali+a clasi/icacin autom$tica (reali+ada por el motor de in/erencias del lengua#e;ra+onador) en tiempo de e#ecucin
In*ertebrados <ertebrados Ser *i*o -lanta =ato -erro
in*ertebrado <ertebrado -lantas Ser *i*o

Clasi/icacin autom$tica

-erro

=ato

!n concepto en DL se re/iere a una clase en &'L !n rol en DL es una propiedad en &'L

>ase de Conocimiento 2bo. (sc%ema)

Descripcin del lengua#e 9bo. (Data)


John Padre _ Feliz ( John, Mary ) tiene _ hijo

,a+onamiento

2bo.0 contiene declaraciones terminolgicas generales <ocabulario de un dominio de aplicacin en /uncin de0 Conceptos) ,oles) etc Son de dos tipos
De/inicin de concepto

9.iomas descripti*os de roles) etc


C1 C2 Ejemplo tiene _ hijo. Persona Persona

9bo.0 contiene aserciones (instancias) sobre elementos y relaciones concretas del dominio Es decir, son aserciones acerca de indi*iduos usando *ocabulario Dos tipos0
Instancias de conceptos

Instancias de a.iomas
(o1, o2 ) : R Ejemplo ( Ana, Juan) : tiene _ hijo

De/inicin de conceptos
El pasto y los arboles son plantas Las %o#as son parte del $rbol) pero e.isten otras partes de un $rbol "ue no son %o#as !n perro debe comer al menos %uesos !na o*e#a es un animal solo debe comer pasto !na #ira/a es un animal "ue solo debe comer %o#as Las *acas locas solo se alimenta de cerebros "ue pertenecen a las o*e#as

,estricciones0
9nimales son dis#untos con plantas

-ropiedades0
Comer es aplicado a los animales y su in*erso es comido?por

Indi*iduos
2om 1lossie es una *aca ,e. es un perro y es una mascota de Mic@ 1ido es un perro 2ibbs es un gato

A El pasto y los arboles son plantas B Las %o#as son parte del $rbol) pero e.isten otras partes de un $rbol "ue no son %o#as ( !n perro debe comer al menos %uesos C !na o*e#a es un animal y solo debe comer pasto D !na #ira/a es un animal "ue solo debe comer %o#as E !na *aca loca es una *aca "ue se alimenta de cerebros "ue son parte de las o*e#as F 9nimales o parte de animales son dis#untos con plantas o parte de plantas -ropiedades0
Comer es aplicado a los animales y su in*erso es comido?por

Inicie la aplicacin protg En la pantalla de bien*enida) seleccione GCreate 8eH &'L &ntologyI

2oda ontologa usa !ni"ue ,esource Identi/ier (!,I) Colo"ue el nombre de la ontologa y presione Continue para seguir En nuestro caso colocaremos pi++a oHl

A B

!sted puede guardar la ontologa en su pc -resione 1inis% para seguir

A B

Este seguro "ue este en 9cti*e &ntology En &ntology annotations0 clic el icono (3)

A B

Entre un comentario "ue describa la ontologa "ue esta desarrollando En nuestro e#emplo puede colocar0 &ntologa de pi++a "ue describe *arias pi++as segn los ingredientes -resione &@

,epita los pasos anteriores para crear0 -i++a2opping -i++a>ase

Despus de adicionar *arias clases en la #erar"ua de la ontologa) se re"uiere establecer clases dis#untas) "ue indican "ue un ob#eto o indi*iduo no puede ser instancia de m$s de una de estas clases "ue se establecieron dis#untas

95adir algunas subclases de -i++a>ase con la %erramienta

A B

Seleccione la clase -i++a>ase -resione continue

95adir algunas subclases de -i++a>ase con la %erramienta


A Introducir0 A >aseDelgadayCru#iente B >ase =ruesa Seleccionar Continue

Decir "ue las clases creadas son dis#untas

95adir algunas subclases de -i++a2opping con la %erramienta


A B ( ,eali+ar los pasos anteriores Su//i. 2opping Introducir0 A Jueso Mo+arela -armesano B Carne Kamn -epperoni Salc%ic%n ( -escado 9nc%oa C Seleccionar Continue

Decir "ue las clases creadas son dis#untas

,esultado

Las propiedades &'L representan relaciones entre dos ob#etos (caso cl$sico de las relaciones en ontologas) o indi*iduos o propiedades de una clase (esto es una di/erencia con el uso %abitual del termino GrelacinI en ontologas) E.isten dos tipos de propiedades en &'L0
G&b#ect-ropertiesI) "ue permite relacionar un indi*iduo con otro) y GDatatype-ropertiesI) "ue relaciona un indi*iduo con un LML Sc%ema Datatype *alue o un literal ,D1

Object Properties

DataType Properties

Annotation Properties*

Los elementos "ue &b#ect-roperty son0

debe

tener

un

nombre) Dominio0 %ace re/erencia a la clase o clases iniciales y ,ango0 %ace re/erencia a la clase o clases /inales

-or e#emplo la relacin es tutor


8ombre0 es?tutor Dominio0 Docente ,ango0 Estudiante

<entana de propiedades

<entana de propiedades

9gregar una propiedad &b#eto

9gregar una propiedad &b#eto

Cada &b#ect-roperty debe tener su correspondiente propiedad in*ersa Si una propiedad enla+a un ob#eto 9 con otro >) entonces la propiedad in*ersa enla+a el ob#eto > con el 9

&'L permite "ue el signi/icado de las propiedades sea enri"uecido con las caractersticas de las propiedades) "ue son0
-ropiedades /uncionales -ropiedades /uncionales in*ersas -ropiedades transiti*as -ropiedades simtricas

-ropiedades /uncionales0 Si una propiedad es /uncional dado un ob#eto) puede estar a lo sumo un ob#eto relacionado con otro mediante esta propiedad -or e#emplo) si se tienen tres ob#etos "ue son 9) > y C y se tiene una propiedad /uncional tiene-adre) entonces se podran asociar los ob#etos 9 y > por medio de la propiedad y dara como resultado 9 tiene-adre > Igualmente se podran asociar los ob#etos 9 y C por medio de la propiedad y dara como resultado 9 tiene-adre C Como tiene-adre es propiedad /uncional) se concluye "ue > y C son el mismo ob#eto

Si una propiedad es /uncional) para un indi*iduo determinado) no puede %aber m$s de una persona "ue se relaciona con el indi*iduo a tra*s de la propiedad En la /igura se muestra un e#emplo de una propiedad /uncional %as>irt%Mot%er ; algo "ue slo puede tener una madre biolgica Si decimos "ue el indi*iduo Kean %as>irt%Mot%er -eggy y tambin se dice "ue el indi*iduo Kean %as>irt%Mot%er Margaret) entonces por"ue %as>irt%Mot%er es una propiedad /uncional) se puede in/erir "ue -eggy y Margaret debe ser el mismo indi*iduo Cabe se5alar) sin embargo) "ue si -eggy y Margaret se dice e.plcitamente "ue dos indi*iduos di/erentes entonces las declaraciones anteriores lle*ara a una contradiccin

-ropiedades /uncionales in*ersas0 Si una propiedad es /uncional in*ersa) indica "ue puede estar a lo sumo un ob#eto relacionado con otro mediante esta propiedad de /orma in*ersa a la propiedad /uncional original -or e#emplo) si se tienen tres ob#etos "ue son 9) > y C y se tiene una propiedad /uncional es-adreDe) entonces se podra asociar el ob#eto > y 9 por medio de la propiedad y dara como resultado > es-adreDe 9 Igualmente se podran asociar los ob#etos C y 9 por medio de la propiedad y dara como resultado C es-adreDe 9 Como es-adreDe es propiedad /uncional in*ersa) se concluye "ue > y C son el mismo ob#eto

-ropiedades transiti*as0 Si una propiedad es transiti*a y relaciona dos ob#etos 9 y >) y adem$s %ay una propiedad "ue relaciona al ob#eto > con otro C) entonces se puede in/erir "ue el ob#eto 9 est$ relacionado con el ob#eto C mediante la pro; piedad transiti*a

-ropiedades simtricas0 Si una propiedad - es simtrica y la propiedad relaciona a los ob#etos 9 y >) entonces el ob#eto > es relacionado por medio de la propiedad - con el ob#eto 9

Crear la propiedad tieneIngrediente propiedad 2ransiti*a

Crear 2iene>ase como propiedad /uncional

Especi/icar el rango de la propiedad tiene2opping

Especi/icar el rango de la propiedad tiene2opping

Especi/icar el dominio de la propiedad tiene2opping

Especi/icar el dominio de la propiedad tiene2opping

Especi/icar el dominio y rango de la propiedad tiene>ase y su in*ersa de la propiedad es>aseDe

Especi/icar el dominio y rango de la propiedad tiene>ase y su in*ersa de la propiedad es>aseDe

1uente0 &scar Corc%o =arca ,epresentacin de Conocimiento0 Lgica Descripti*a

!na *e+ creadas *arias propiedades) se pueden utili+ar para de/inir y describir el comportamiento de las clases ,estricciones de propiedades
Las propiedades son utili+adas para crear restricciones en las clases en una ontologa &'L !sualmente el nombre de la propiedad debera sugerir las restricciones impuestas a los ob#etos de la clase Las restricciones &'L se presentan en las siguientes tres categoras0
,estricciones de cuanti/icacin ,estricciones de cardinalidad ,estricciones de *alor

Las restricciones de cuanti/icacin se componen de los siguientes elementos0


Cuanti/icador e.istencial ()) el cual permite indicar la e.istencia de al menos un ob#eto En protg C la palabra cla*e so&e es usado para denotar Cuanti/icador uni*ersal ( )) el cual permite indicar la e.istencia de todos los ob#etos En protg C la palabra cla*e es onl' es usado para denotar

-or e#emplo la restriccin para pi++a "ue especi/ica "ue una pi++a debe tener una -i++a>ase (E.istencial)

A B

Seleccione -i++a Seleccione en el icon de agregar al lado de Superclasse En la *entana Class e.pression editor Colo"ue 2iene>ase some -i++a

-or e#emplo la restriccin para pi++a "ue especi/ica "ue una pi++a debe tener una -i++a>ase

Crear una subclase de -i++a llamada 8ombre-i++a y una subclase de pi++a llamada -i++aMargarita

7a teniendo creada la clase -i++aMargarita 8ecesitamos especi/icar "ue tipo de topping tiene -or lo tanto necesitamos dos restricciones "ue diga "ue tiene Mo+arella2oping y otra "ue diga "ue tiene tomates2opping

9%ora *amos a crear una clase "ue representa la -i++a9mericana) la cual tiene el -aperoni2opping) Mo+arela2opping y tomate2opping Debido a "ue la pi++a9mericana es parecida a -i++aMo++arela *amos a clonarla

9%ora *amos a crear una clase "ue representa la -i++a9mericana) la cual tiene el -aperoni2opping) Mo+arela2opping y tomate2opping Debido a "ue la pi++a9mericana es parecida a -i++aMo++arela *amos a clonarla

9%ora *amos a crear una clase "ue representa la -i++a9mericana) la cual tiene el -aperoni2opping) Mo+arela2opping y tomate2opping Debido a "ue la pi++a9mericana es parecida a -i++aMo++arela *amos a clonarla

Crear una pi++a -i++a9mericanaMot "ue es parecida a la -i++a9mericana) pero tiene -imiemientaKalapeno2opping) utili+ando el procedimiento de clonar la -i++a9mericana

Crear una pi++a -i++a9mericanaMot "ue es parecida a la -i++a9mericana) pero tiene -imiemientaKalapeno2opping) utili+ando el procedimiento de clonar la -i++a9mericana

Crear una pi++a -i++a9mericanaMot "ue es parecida a la -i++a9mericana) pero tiene -imiemientaKalapeno2opping) utili+ando el procedimiento de clonar la -i++a9mericana

Crear una pi++a -i++a9mericanaMot "ue es parecida a la -i++a9mericana) pero tiene -imiemientaKalapeno2opping) utili+ando el procedimiento de clonar la -i++a9mericana

Como los pasos para crear una pi++a -i++a9mericanaMot *amos a crear la -i++aSo%o "ue es parecido a la -i++aMargarita pero tiene adicional 9ceitunas2opping y -arme+ano2opping

-or !ltimo reali+ar la subclases de 8ombre-i++as Dis#usta

!na caracterstica cla*e de las ontologas "ue son descritas usando &'L;DL es "ue pueden ser procesadas por un ra+onador Los ra+onadores) llamados clasi/icadores) tambin pueden c%e"uear consistencia

In*ocando el ra+onador

-ara demostrar el uso de ra+onador "ue detecte clases inconsistente en la ontologa) *amos a crear una clases "ue es subclase de Jueso2opping y tambien de <egetable2opping

Clasi/i"ue utili+ando el ra+onador pellet

<amos a crear una subclase de -i++a llamada -i++adeJueso "ue es una pi++a "ue por lo menos tiene una clases de Jueso2opping (condicion necesaria)

<amos crear condicin necesaria y su/iciente tambin conocido como De/ined Class y en protege clases e"ui*alentes

A B

Seleccione -i++aDeJueso En edit seleccione en el menu GCon*ert to de/ine classI

7a teniendo creada la de/inicion de una -i++aDeJueso se puede usar el ra+onador para calcular la subclases -i++aDeJueso

9%ora *amos a crear una -i++a<egetariana Los indi*iduos "ue solo son miembros de esta clases son Jueso2opping o <egetables2opping -or lo tanto *amos a usar la restriccin uni*ersal

9%ora *amos a con*ertirla en necesaria y su/iciente

7a teniendo creada la de/inicin de una -i++a<egetariana !samos el ra+onador para *er "ue pasa

!n a.ioma de clausura por e#emplo sobre la propiedad tiene2opping seria


tieneTopping( MozarelaTopping QuesoToping)

95adimos el a.ioma de clausura sobre la propiedad tiene2opping para la -i++aMargarita

7a teniendo creada la de/inicin de una -i++a<egetariana !samos el ra+onador para *er "ue pasa

<amos %acer lo mismo para -i++aSo%o) -i++a9mericanaMot -i++a9mericana y luego utili+amos el ra+onador a *er "ue pasa

<amos %acer lo mismo para -i++aSo%o) -i++a9mericanaMot -i++a9mericana y luego utili+amos el ra+onador a *er "ue pasa

Clasi/icamos nue*amente

<amos a5adir una restriccin de cardinalidad) creamos una subclases de -i++a llamada pi++a interesante) donde *amos a de/inir "ue tiene ( o mas toppings

<amos a5adir una restriccin de cardinalidad) creamos una subclases de -i++a llamada pi++a interesante) donde *amos a de/inir "ue tiene ( o mas toppings y seleccione &@

Luego seleccione GCon*ert to de/ined classI y la superclase debe "uedar sin nada y se debe cambiar a la clase e"ui*alente

Clasi/icamos nue*amente

!saremos las propiedad Datatype para describir las caloras de las pi++as

Creamos un datatype llamado tieneCalorias

Crear un e#emplo de indi*iduo de pi++a

En la *entana Indi*idual Description a5ada el tipo de -i++aMargarita y seleccione o@

En la *entana -roperty assertions y a5ada en Data -roperty assertion seleccione 2ieneCalorias y de/nalo entero y *alor BE(

Crear un e#emplo de indi*iduo E#emploCuatroJuesos con FB(

Seleccione pi++a y a5ada una superclase y asegure "ue la restriction esta en some y presione &@

Crear una Subclase -i++aCalorias9ltas de -i++a "ue tiene caloras igual o mayor "ue CNN

Crear la clase e"ui*alente

Crear -i++aCalorias>a#a menor CNN

!samos el ra+onador

!samos el ra+onador

,eali+ar la &ntologa de la !ni*ersidad de Los 9ndes ,eali+ar el coo@boo@ de prortg C B

S-ar putea să vă placă și