OWL-DL
Classes, Axiomas de
Fechamento e Cobertura
Tópicos Especiais em Ontologias
UTFPR/CPGEI/Prof. Tacla
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
3
CONJUNÇÃO DE CLASSES
Exemplo: Pizza vegetariana e Pizza apimentada (spicy)
Condição necessária:
PizzaVegetariana
Pizza
PizzaApimentada
PizzaVegSpicy Pizza П (VegetarianPizza П SpicyPizza)
4
CONJUNÇÃO DE CLASSES
Esta Pizza ao ser classificada será inferida como subclasse
de SpicyPizza e de VegetarianPizza
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>
6
UNIÃO DE CLASSES
Exemplo: Pizza vegetariana OU Pizza apimentada (spicy)
Condição necessária:
PizzaVegetariana
Pizza
PizzaApimentada
PizzaVegOrSpicy Pizza П (VegetarianPizza υ SpicyPizza)
7
UNIÃO DE CLASSES
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>
9
CLASSES COMPLEMENTARES
Uma classe complementar equivale à negação de outra
classe.
Exemplo: Pizza vegetariana e Pizza não vegetariana
PizzaVegetariana
Pizza
PizzaNãoVegetariana
10
CLASSES COMPLEMENTARES
Pizza vegetariana
Em DL:
vegetariana Pizza П (hasTopping.FishTopping) П (hasTopping.MeatTopping)
11
CLASSES COMPLEMENTARES
Pizza não vegetariana
Em DL:
Pizza Pizza П VegetarianPizza
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>
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)
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.
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.
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
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
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
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
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
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
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.
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
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
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.
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.
27
AXIOMA DE COBERTURA - exemplo
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)
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)
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).
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)
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
33
CLASSES ANÔNIMAS
Pizza
PizzaToppings
SpicinessValuePartition
Hot
Medium
Mild
hasTopping
hasSpiciness