Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE...

33
OWL-DL Classes, Axiomas de Fechamento e Cobertura Tópicos Especiais em Ontologias UTFPR/CPGEI/Prof. Tacla

Transcript of Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE...

Page 1: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

OWL-DL

Classes, Axiomas de

Fechamento e Cobertura

Tópicos Especiais em Ontologias

UTFPR/CPGEI/Prof. Tacla

Page 2: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

2

SUMÁRIO

Conjunção (Intersecção) de classes

União de classes

Complementares

Disjuntas

Axioma de Fechamento

Axioma de Cobertura

Partição de valores

Page 3: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

3

CONJUNÇÃO DE CLASSES

Exemplo: Pizza vegetariana e Pizza apimentada (spicy)

Condição necessária:

PizzaVegetariana

Pizza

PizzaApimentada

PizzaVegSpicy Pizza П (VegetarianPizza П SpicyPizza)

Page 4: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

4

CONJUNÇÃO DE CLASSES

Esta Pizza ao ser classificada será inferida como subclasse

de SpicyPizza e de VegetarianPizza

Page 5: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

5

CONJUNÇÃO DE CLASSES – OWL-DL

<owl:Class rdf:ID="SpicyAndVegetarianPizza">

<rdfs:subClassOf>

<owl:Class>

<owl:intersectionOf rdf:parseType="Collection">

<owl:Class rdf:ID="VegetarianPizza"/>

<owl:Class rdf:ID="SpicyPizza"/>

</owl:intersectionOf>

</owl:Class>

</rdfs:subClassOf>

<rdfs:subClassOf>

<owl:Class rdf:about="#Pizza"/>

</rdfs:subClassOf>

</owl:Class>

Page 6: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

6

UNIÃO DE CLASSES

Exemplo: Pizza vegetariana OU Pizza apimentada (spicy)

Condição necessária:

PizzaVegetariana

Pizza

PizzaApimentada

PizzaVegOrSpicy Pizza П (VegetarianPizza υ SpicyPizza)

Page 7: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

7

UNIÃO DE CLASSES

Page 8: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

8

UNIÃO DE CLASSES

<owl:Class rdf:ID="SpicyOrVegetarianPizza">

<rdfs:subClassOf>

<owl:Class>

<owl:unionOf rdf:parseType="Collection">

<owl:Class rdf:about="#VegetarianPizza"/>

<owl:Class rdf:about="#SpicyPizza"/>

</owl:unionOf>

</owl:Class>

</rdfs:subClassOf>

<rdfs:subClassOf>

<owl:Class rdf:about="#Pizza"/>

</rdfs:subClassOf>

</owl:Class>

Page 9: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

9

CLASSES COMPLEMENTARES

Uma classe complementar equivale à negação de outra

classe.

Exemplo: Pizza vegetariana e Pizza não vegetariana

PizzaVegetariana

Pizza

PizzaNãoVegetariana

Page 10: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

10

CLASSES COMPLEMENTARES

Pizza vegetariana

Em DL:

vegetariana Pizza П (hasTopping.FishTopping) П (hasTopping.MeatTopping)

Page 11: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

11

CLASSES COMPLEMENTARES

Pizza não vegetariana

Em DL:

Pizza Pizza П VegetarianPizza

Page 12: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

12

CLASSES COMPLEMENTARES – OWL-DL

<owl:Class rdf:about="#NonVegetarianPizza">

<owl:equivalentClass>

<owl:Class>

<owl:intersectionOf rdf:parseType="Collection">

<owl:Class>

<owl:complementOf rdf:resource="#VegetarianPizza"/>

</owl:Class>

<owl:Class rdf:about="#Pizza"/>

</owl:intersectionOf>

</owl:Class>

</owl:equivalentClass>

<owl:disjointWith rdf:resource="#VegetarianPizza"/>

</owl:Class>

Page 13: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

13

EXERCÍCIO

Adicionar à ontologia Aluno e Professor as seguintes

definições:

Classe Disciplina

Propriedades

Professor leciona Disciplina

Aluno assiste Disciplina

Professor são aqueles que lecionam ao menos uma disciplina

Alunos são aqueles que não são professores

Assumir que algo ou é aluno ou é disciplina ou é professor (não

pode ser mais de um ao mesmo tempo)

(ontologia ProfAlunoDisc.owl)

Page 14: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

14

Classes disjuntas

Se afirmarmos que Econômico e Normal são subclasses

de Carro, não afirmamos que um carro econômico não

pode ser normal. O carro123 pode ser econômico e

normal.

Carro

Econômico Normal

É um tipo de

carro123

É instância de

Para impedir isto, econômico e normal

devem ser categorias disjuntas.

Page 15: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

15

Classes Disjuntas

Normal

Carro

Econômico

Há carros econômicos, normais e outros carros não

categorizados. Porém um carro normal não pode ser econômico.

O inverso também é verdadeiro.

Page 16: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

16

CLASSES DISJUNTAS

Dadas três classes disjuntas A, B e C, se a é instância de

A, então a não pode ser instância de B nem de C

(similarmente para as outras)

A intersecção entre A, B e C é vazia

Se nada for declarado, uma indivíduo pode ser instância

de mais de uma classe

Page 17: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

17

CLASSES DISJUNTAS

Pizza

PizzaTopping

PizzaBase

Três classes disjuntas Pizza, PizzaBase e PizzaTopping são classes

mutuamente disjuntas e todas primitivas.

Thing

Em DL: Pizza PizzaBase П PizzaTopping

Page 18: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

18

CLASSES DISJUNTAS EM OWL

<owl:Class rdf:about="#Pizza">

<rdfs:label xml:lang="en">Pizza</rdfs:label>

<owl:disjointWith>

<owl:Class rdf:about="#PizzaBase"/>

</owl:disjointWith>

<owl:disjointWith>

<owl:Class rdf:about="#PizzaTopping"/>

</owl:disjointWith>

...

as outras classes também possuem definições semelhantes quanto à

disjunção

Page 19: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

19

SUMÁRIO

Conjunção (Intersecção) de classes

União de classes

Complementares

Disjuntas

Axioma de Fechamento

Axioma de Cobertura

Partição de valores

Page 20: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

20

AXIOMAS DE FECHAMENTO

CLOSURE AXIOMS ou

RESTRICTION CLOSURE

AXIOMA DE FECHAMENTO

AXIOMA DE CLAUSURA

Um axioma de fechamento atua sobre uma propriedade

restringindo o conjunto imagem

Page 21: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

21

AXIOMAS DE FECHAMENTO

MargheritaPizza:

Condições necessárias e suficientes

subclasse de NamedPizza and

hasTopping MozzarelaTopping and

hasTopping TomatoTopping and

Condições necessárias

hasBase PizzaBase (herdado de Pizza)

hasTopping deve ser restringido à Mozzarela e Tomate

Page 22: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

22

AXIOMAS DE FECHAMENTO

MargheritaPizza:

Condições necessárias e suficientes

subclasse de NamedPizza and

hasTopping (MozzarelaTopping ⊔ TomatoTopping)

hasTopping MozzarelaTopping and

hasTopping TomatoTopping and

Condições necessárias

hasBase PizzaBase (herdado de Pizza)

A restrição com o quantificador universal

implementa o axioma de fechamento.

Page 23: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

23

EXERCÍCIO

Suponha a classe PizzaQueijoSimples sabendo que NamedPizza é subclasse de Pizza.

MozzarelaTopping não é subclasse de FishTopping nem de MeatTopping

O que deve ser modificado para transformá-la em subclasse de vegetariana?

Condições necessárias

vegetariana PizzaQueijoSimples

Page 24: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

24

AXIOMA DE COBERTURA

COVERING AXIOM

Define uma partição sobre uma classe

É uma decomposição exaustiva com classes disjuntas

Para obrigar que indivíduos de uma classe sejam

obrigatoriamente indivíduos de uma suas subclasses

Page 25: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

25

Axioma de Cobertura: Decomposição Exaustiva

Normal

Carro

Econômico

Há somente carros econômicos e normais. Porém há carros que

podem pertencer as duas categorais ao mesmo tempo. Ou seja,

não foi eliminada uma possível interseção entre as classes.

Page 26: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

26

Partição

Normal

Carro

Econômico

Há somente carros econômicos e normais. Nenhum carro pode ser

econômico e normal ao mesmo tempo.

Page 27: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

27

AXIOMA DE COBERTURA - exemplo

Page 28: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

28

AXIOMA DE COBERTURA - exemplo

1. Define-se uma superclasse que conterá os valores possíveis

Class: Tempero

EquivalentTo:

Picante

or Media

or NaoPicante

SubClassOf:

ValorDaParticao

Tempero ≡ ValorDaParticao ⊓ (Picante ⊔ Media ⊔ NaoPicante)

Page 29: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

29

AXIOMA DE COBERTURA - exemplo

2. As subclasses de Tempero devem ser disjuntas entre si.

Class: Media

SubClassOf:

Tempero

DisjointWith:

Picante, NaoPicante

Media ⊑ Tempero ⊓ Dis(Picante) ⊓ Dis(NaoPicante)

Page 30: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

30

FECHAMENTO X COBERTURA

axioma de fechamento restringe os

valores possíveis de uma propriedade,

axioma de cobertura restringe a relação

classe-subclasse implicitamente definida

quando montamos uma hierarquia num

mundo aberto (OWR).

Page 31: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

31

EXERCÍCIO

Definir as classes torcedor e times de Curitiba

Definir uma propriedade torcerPara tal que um torcedor

ou é Paraná, Coritiba ou Atlético (que são mutuamente

exclusivos)

Page 32: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

32

CLASSES ANÔNIMAS

SpicyPizza:

Condições necessárias e suficientes

Pizza

hasTopping (PizzaTopping ( hasSpiciness Hot))

Condições necessárias

hasBase PizzaBase (herdado de Pizza)

Pizzas que tem ao menos um topping que é ao mesmo tempo

PizzaTopping e Hot

Page 33: Aplicações de Ontologiastacla/Ontologias/2012/a13-400... · 2012. 11. 6. · CONJUNÇÃO DE CLASSES ... Condições necessárias e suficientes subclasse de NamedPizza and ... não

33

CLASSES ANÔNIMAS

Pizza

PizzaToppings

SpicinessValuePartition

Hot

Medium

Mild

hasTopping

hasSpiciness