You are on page 1of 39

Protg-OWL

Tutorial
Adriano Melo
Andr Chagas
Fred Freitas
Sistemas Inteligentes
http://www.cin.ufpe.br/~if684

Instalao
Download do Protg
public de astm
stanford.edu (site oficial)
Protg 3.4.4
OWL 1.0
Precisa ser instalado
Muitos plugins

Protg 4.1 alpha

OWL 2.0
No precisa ser instalado (apenas descompactado)
Poucos plugins (ainda)

Ontologia OWL
Modelar de forma declarativa um domnio.
Hierarquia de conceitos e suas relaes,
restries, axiomas e terminologia associada.

OWL: Linguagem para representao de


conhecimento criada pela w3c.
Basicamente: classes, propriedades e indivduos.
Hiptese de mundo aberto.

Dialetos da OWL
OWL Lite

Hierarquia entre classes e restries simples;

OWL DL

Baseada em lgica de descrio (DL);

Permite a classificao automtica da hierarquia;

Permite checar inconsistncias na ontologia;

OWL Full

Expressividade mais importante do que a


decidibilidade;

Componentes da ontologia

Uma ontologia OWL composta pelos seguintes


elementos: Indivduos, propriedades e classes.

Indivduos

Indivduos so os objetos do domnio.

Propriedades

Em OWL, propriedades representam as


relaes entre classes e atributos.

Classes

Representao concreta
de um conceito ou
entidade.
Conjuntos que podem
conter indivduos.

Tarefa #1
Criar um novo projeto

Crie um novo projeto OWL / RDF Files que


utilize o dialeto OWL DL para a construo de
uma ontologia de pizzas.

Tarefa #2

Criar classes bsicas

Crie as classes Pizza, CoberturaPizza e


MassaPizza. Assegure elas sejam subclasses
de owl:Thing.

Disjuno entre classes

Classes que no so ditas como diferentes


podem ser consideradas equivalentes ou com
interseo diferente de vazio. (hiptese de
mundo aberto)
Definio: classes disjuntas so aquelas que
no possuem interseo (no podem ter
indivduos em comum).

Tarefa #3

Definir classes bsicas como disjuntas

Faa com que as classes Pizza,


CoberturaPizza e MassaPizza sejam
disjuntas.

Tarefa #4
Adicionar subclasses das classes bsicas

Crie as seguintes subclasses de MassaPizza:


MassaFina, MassaGrossa.
Crie as seguintes subclasses de CoberturaPizza:
CoberturaCarne, CoberturaVegetal,
CoberturaQueijo, CoberturaFrutosDoMar.
Adicione classes a essas subclasses. (exemplos:
CoberturaPepperoni, CoberturaCalabreza, CoberturaFrango,
CoberturaGafanhoto, CobeturaTomate, CoberturaOliva, CoberturaPimenta,
CoberturaPimentaVermelha, CoberturaPimentaVerde, CoberturaMuzarela,
CoberturaParmeso, CoberturaCamaro, CoberturaLeoMarinho)

Propriedades

object properties

datatype properties

Relao binria entre indivduos.


Relao entre um indivduo e um tipo predefinido.

annotation properties

Adicionar informaes sobre classes, objetos,


indivduos...

Tarefa #5

Criar propriedades

Crie uma propriedade de objeto chamada


temIngrediente.
Crie as propriedades temMassa e
temCobertura, ambas subpropriedades de
temIngreditente.

Propriedade Inversa

Toda propriedades pode ter uma propriedade


inversa correspondente.

Tarefa #6

Criar propriedades inversas

Crie as propriedades ehIngredienteDe,


ehMassaDe, ehCoberturaDe como sendo as
propriedades inversas de temIngrediente,
temMassa e temCobertura, respectivamente.

Propriedade Funcional

Se uma propriedade dita funcional para dado


indivduo, ele pode se relacionar a apenas um
outro indivduo a partir dela.

Tarefa #7

Criar propriedade funcional

Faa com que a


propriedade
temMassa seja
funcional.

Propriedade Funcional Inversa

Se uma propriedade funcional inversa


significa que a relao inversa funcional.
Para um dado indivduo, s pode haver um
outro indivduo relacionado a ele atravs da
propriedade.

Tarefa #8

Criar propriedade funcional inversa

Faa com que a propriedade ehMassaDe seja


uma propriedade funcional inversa.

Propriedade Transitiva

Se a propriedade transitiva e a e b se relacionam


por ela assim como b e c, ento possvel inferir
que a e c tambm se relacionam.

Tarefa #9

Criar propriedade transitiva

Faa com que as propriedades


temIngrediente e ehIngredienteDe sejam
transitivas.

Propriedade Simtrica

Uma relao binria simtrica se qualquer


aRb implica em bRa.

Tarefa #10

Criar propriedade simtrica

Crie a propriedade simtrica temGostoParecido


entre duas coberturas de pizza.

Domnio e subdomnio de
propriedades

Podem ser definidos para propriedades entre


indivduos.
No so interpretados como restries, e sim
como axiomas.
Quando multiplas classes compom o
subdomnio ou o domnio de uma relao,
ento considerada a unio dessas classes.

Tarefa #11
Definir domnio e subdomnio das propriedades

Defina que a propriedade temCobertura tem


como domnio Pizza e como subdomnio
CoberturaPizza.

Restries

So definidas para restringir quais so os


indivduos pertencentes a uma classe.
Os trs principais tipos de restrio so:

Restries com quantificadores ( e )

Restries de cardinalidade

Restries de valor

Restries de valor

Descreve um conjunto de indivduos que se


relacionam com um outro indivduo especfico
(valor).

Restries de cardinalidade

Restrio de Cardinalidade Mnima

Restrio de Cardinalidade Mxima

Especifica se um indivduo tem pelo menos uma


quantidade N de relaes usando a propriedade P
Especifica se um indivduo tem no mximo uma
quantidade N de relaes usando a propriedade P

Restrio exata da Cardinalidade

Especifica se um indivduo tem exatamente uma


quantidade N de relaes usando a propriedade P

Restries com
quantificadores

Quantificador
Existencial ()

Pode ser lido como


pelo menos um ou
vrios

Quantificador
Universal ()

Pode ser lido como


somente

Tarefa #12
definir restries nas classes bsicas

Defina que a toda Pizza tem que ter uma


MassaPizza.
Crie a Pizza PizzaMuzarela com sendo uma
Pizza que possui apenas CoberturaMuzarela.

Descrio de classes

A descrio de uma classe feita quando


apenas define-se as condies necessrias
para que um indivduo faa parte dela.
So chamadas Classes Primitivas (ou
parciais)
Condio necessria: Se algo membro
dessa classe, ento necessrio que ele
respeite estas condies.

Definio de classes

A definio de uma classe feita quando as


condies necessrias e suficintes so
descritas.
So chamadas de Classes Definidas (ou
completas)
Condio necessria e suficinte: Se algo
respeitas essas condies, ento ele um
membro desta classe.

Tarefa #13
Definir uma classe

Defina uma classe PizzaDeQueijo como


sendo qualquer Pizza que tenha uma cobertura
CoberturaQueijo.

Raciocinador

Infere conseqcias lgicas a partir de um


conjunto de fatos ou axiomas.
Checagem de consistncia

Reclassificao da ontologia

Reorganiza a hierarquia de classes a partir das classes


definidas.

Infere tipos

Checa se alguma classe no pode ser instnciada ou se


contraditria.

Computa equilvalncia entre classes a partir das


propriedades.

Suporte a regras

SWRL...

ltima Tarefa

Defina as seguintes pizzas

PizzaComQueijo

Possui 3 ou mais
coberturas.

PizzaDeCarne

Possui alguma
combertura de queijo.

PizzaInteressante

Possui pelo menos


uma cobertura com
carne

Margherita

Tem cobertura de
Mozarela e Tomate

QuatroQueijos

PizzaNoVegetariana

No uma pizza
vegetariana

PizzaItaliana

Tem quatro coberturas


de queijo

Tem pais de origem a


Itlia e tem massa fina

PizzaVegetariana

No tem cobertura de
peixe nem de carne.

You might also like