Post on 15-Aug-2020
OWL-DL
Classes
Tópicos Especiais em Ontologias
utfpr/cpgei
Prof. Cesar A. Tacla
2
SUMÁRIO
Restrições
Conceito
Tipos
Existencial (someValuesFrom)
Definidas ou Completas Axioma de igualdade: equivalência lógica
Universal (allValuesFrom)
Parciais Axioma de inclusão (subsunção): implicação lógica
de valor (hasValue)
de cardinalidade
Pressupostos
Classes
Open World (Mundo aberto)
exactly
min
max
Unique Name (Nome único)
3
RESTRIÇÕES, Conceito de
Classes podem ser definidas por meio de restrições
sobre as propriedades
Uma restrição define uma classe anônima composta
por todos indíviduos que satisfazem a restrição
A classe anônima subsume/equivale à classe nomeada
que queremos definir
4
RESTRIÇÕES, Conceito de
Exemplo:
PizzaMargherita são pizzas que tem ao menos um topping igual a
Mozzarela
Pizza PizzaTopping
T
Mozzarela
Margherita
5
SUMÁRIO
Restrições
Conceito
Tipos
Existencial (someValuesFrom)
Definidas ou Completas Equivalência lógica
Universal (allValuesFrom)
Primitivas ou Parciais Subsunção/implicação lógica
de valor (hasValue)
de cardinalidade
Classes
exactly
min
max
Pressupostos Open World (Mundo aberto)
Unique Name (Nome único)
6
TIPOS DE RESTRIÇÕES
Restrições
<owl:someValuesFrom> existencial
<owl:allValuesFrom> universal
<owl:hasValue>
Restrições de cardinalidade
<owl:cardinality>
<owl:minCardinality>
<owl:maxCardinality>
7
RESTRIÇÃO someValuesOf
EXISTENCIAL
Instâncias estão relacionadas pela propriedade p com
pelo menos uma instância da classe Y
Em DL, representa-se: p.Y
A sentença p. é insatisfazível:
x está relacionado a pelo menos uma instância de por meio de p.
Ora, não admite instâncias, logo a sentença é insatisfazível
8
RESTRIÇÃO someValuesOf
Exemplo: CheeseyPizza
Em DL: CheeseyPizza Pizza П hasTopping.CheeseTopping
Exemplo:
CheeseyPizzas são Pizzas que tem pelo menos um recheio CheeseTopping
9
RESTRIÇÃO someValuesOf
Pizza PizzaTopping
PizzaBase
DomainConcept
CheeseyTopping CheeseyPizza
hasBase
Calzone
Em DL: CheeseyPizza Pizza П hasTopping.CheeseTopping
10
RESTRIÇÃO someValuesOf
<owl:Class rdf:ID="CheeseyPizza">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Restriction>
<owl:someValuesFrom rdf:resource="#CheeseTopping"/>
<owl:onProperty>
<owl:ObjectProperty rdf:about="#hasTopping"/>
</owl:onProperty>
</owl:Restriction>
<owl:Class rdf:about="#Pizza"/>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
Classe anônima
11
RESTRIÇÃO someValuesOf
Exercício: mundo das FGs, parte I 1. Faça uma ontologia que descreva um mundo povoado por figuras
geométricas.
2. Neste momento nos interessa somente cubos, portanto defina uma classe cubo.
3. Definir a classe dos cubos não isolados por meio de uma condição necessária e suficiente. Para ser um cubo não isolado, este deve possuir ao menos uma forma geométrica por perto.
4. Descreva o mundo abaixo instanciando cubos (A, B e C estão próximos uns dos outros; D está longe dos demais)
5. Peça ao raciocinador compute individuals belonging to class para a classe cubos não isolados – verifique se obteu o esperado (A, B e C)
B C A
D
12
SUMÁRIO
Restrições
Conceito
Tipos
Existencial (someValuesFrom)
Definidas ou Completas Equivalência lógica
Universal (allValuesFrom)
Primitivas ou Parciais Subsunção/implicação lógica
de valor (hasValue)
de cardinalidade
Classes
exactly
min
max
Pressupostos Open World (Mundo aberto)
Unique Name (Nome único)
13
RESTRIÇÃO allValuesFrom
UNIVERSAL
Em DL, p.Y
Todas as instâncias que se relacionam somente com instâncias de Y
pela propriedade p
Um indivíduo não satisfaz uma restrição universal quando está relacionado
a algo que não é Y por meio de p! todos os outros casos são verdadeiros
Uma restrição universal é trivialmente satisfeita quando não há valor
para a propriedade em questão
No exemplo, todas as instâncias que não possuem a propriedade p
satisfazem a fórmula p.Y
14
RESTRIÇÃO allValuesFrom
VegetarianPizzaEquivalent1
Em DL: VegetarianPizzaEquivalent1 Pizza П hasTopping.VegetarianTopping
Exemplo:
Todas VegetarianPizzaEquivalent1 são Pizzas cujos recheios são
vegetarianos ou que não tem nenhum recheio
15
RESTRIÇÃO allValuesFrom
Pizza PizzaTopping
PizzaBase
VegetarianPizzaEquivalent1
Toda pizza que tem somente recheios vegetarianos ou não tem recheios
DomainConcept
VegetarianTopping VegetarianPizza...
hasBase
Em DL: VegetarianPizzaEquivalent1 Pizza П hasTopping.VegetarianTopping
16
RESTRIÇÃO allValuesFrom
<owl:Class rdf:ID="VegetarianPizzaEquivalent1">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Pizza"/>
<owl:Restriction>
<owl:onProperty>
<owl:ObjectProperty rdf:about="#hasTopping"/>
</owl:onProperty>
<owl:allValuesFrom>
<owl:Class rdf:ID="VegetarianTopping"/>
</owl:allValuesFrom>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
17
RESTRIÇÃO allValuesFrom
Exercício: mundo das FGs, parte II
1. Definir a classe das figuras cercadas somente por cubos por
meio de uma condição necessária e suficiente.
2. Peça ao raciocinador compute individuals belonging to class
para a figuras cercadas por cubos – verifique se obteu o esperado
(A, B e C)
B C A
D
18
SUMÁRIO
Restrições
Conceito
Tipos
Existencial (someValuesFrom)
Definidas ou Completas Equivalência lógica
Universal (allValuesFrom)
Parciais Subsunção/implicação lógica
de valor (hasValue)
de cardinalidade
Pressupostos
Classes
Open World Reasonning
Open World Assumption
exactly
min
max
19
CLASSE PRIMITIVA ou PARCIAL
Uma classe que possui somente condições necessárias
é dita classe parcial.
Se a é uma instância da classe A, isto implica em a
satisfazer as condições necessárias da classe A.
O fato de um indivíduo satisfazer as condições necessárias
da classe A, não garante que ele seja um membro desta
classe
implicação
20
CLASSE PARCIAL
.
Exemplo
Para ser Pizza é necessário ser DomainConcept e
ter pelo menos uma base (massa)
Em DL
Pizza DomainConcept П (hasBase.PizzaBase)
21
CLASSE PARCIAL
PizzaBase
DomainConcept
Bruschetta
hasBase
Exemplo
Para ser Pizza é necessário ser DomainConcept e
ter pelo menos uma base (massa)
Pizza
Em DL
Pizza DomainConcept П (hasBase.PizzaBase)
22
CLASSE PARCIAL
<owl:Class rdf:about="#Pizza">
<rdfs:subClassOf>
<owl:Class rdf:ID="DomainConcept"/>
</rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty>
<owl:FunctionalProperty rdf:ID="hasBase"/>
</owl:onProperty>
<owl:someValuesFrom>
<owl:Class rdf:about="#PizzaBase"/>
</owl:someValuesFrom>
</owl:Restriction>
...
23
RESTRIÇÃO someValuesOf
Exercício: mundo das FGs, parte III
1. Dentre as classes criadas, quais são definidas parcialmente?
B C A
D
24
SUMÁRIO
Restrições
Conceito
Tipos
Existencial (someValuesFrom)
Definidas ou Completas Equivalência lógica
Universal (allValuesFrom)
Primitivas ou Parciais Subsunção/implicação lógica
de valor (hasValue)
de cardinalidade
Pressupostos
Classes
Open World Reasonning
Open World Assumption
exactly
min
max
25
CLASSES DEFINIDAS ou COMPLETAS
Uma classe que possui pelo menos um conjunto de
condições necessárias e suficientes é dita classe
definida (defined class) ou classe completa (complete
class).
Para a ser instância da classe A, isto implica em satisfazer
as condições necessárias de A e
as condições necessárias e suficientes de A
Toda instância de A satisfaz as condições N&S da classe A
Toda instância que satisfaz as condições N&S da classe A,
são instâncias de A
equivalência lógica
26
CLASSES DEFINIDAS ou COMPLETAS
Exemplo
Para ser Pizza de carne é necessário ter uma base e é necessário e suficiente
ser instância de Pizza e ter pelo menos um recheio de carne
Em DL
MeatyPizza Pizza П hasTopping.MeatTopping expandindo Pizza MeatyPizza DomainConcept П (hasBase.PizzaBase) П (hasTopping.MeatTopping)
27
CLASSE DEFINIDA ou COMPLETA
PizzaBase
DomainConcept
Bruschetta
hasBase
Pizza
Em DL
MeatyPizza Pizza П hasTopping.MeatTopping expandindo Pizza
MeatyPizza DomainConcept П (hasBase.PizzaBase) П (hasTopping.MeatTopping)
PizzaTopping
MeatTopping MeatyPizza
28
CLASSES DEFINIDAS ou COMPLETAS
<owl:Class rdf:ID="MeatyPizza">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Pizza"/>
<owl:Restriction>
<owl:onProperty>
<owl:ObjectProperty rdf:about="#hasTopping"/>
</owl:onProperty>
<owl:someValuesFrom>
<owl:Class rdf:about="#MeatTopping"/>
</owl:someValuesFrom>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
29
RESTRIÇÃO someValuesOf
Exercício: mundo das FGs, parte IV
1. Dentre as classes criadas, quais são descritas de forma completa?
B C A
D
30
SUMÁRIO
Restrições
Conceito
Tipos
Existencial (someValuesFrom)
Definidas ou Completas Equivalência lógica
Universal (allValuesFrom)
Primitivas ou Parciais Subsunção/implicação lógica
de valor (hasValue)
de cardinalidade
Pressupostos
Classes
Open World Reasonning
Open World Assumption
exactly
min
max
31
RESTRIÇÕES DE CARDINALIDADE
<owl:cardinality>: exatamente
<owl:minCardinality>: mínima
<owl:maxCardinality>: máxima
32
RESTRIÇÕES DE CARDINALIDADE
Definir
PizzaSimples: todas que contém exatamente um tipo de recheio
<owl:cardinality>
PizzaCopiosa: todas que contém [2,4] recheios
<owl:minCardinality> <owl:maxCardinality>
PizzaLuxúria: todas que contém mais de 4 recheios
<owl:minCardinality>
Detalhes da copiosa
33
PIZZA COPIOSA
Exemplo
Para ser COPIOSA é necessário e suficiente ser Pizza e ter no mínimo 2 recheios
e no máximo 4 recheios
Em DL
Copiosa Pizza П 2 hasTopping П 4hasTopping
Restrição de cardinalidade não qualificada pois não diz qual o tipo de topping
34
PIZZA COPIOSA
DomainConcept
Pizza
PizzaTopping
hasTopping
PizzaCopiosa
35
PIZZA COPIOSA – OWL-DL
<owl:Class rdf:ID="PizzaCopiosa">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Pizza"/>
<owl:Restriction>
<owl:onProperty>
<owl:InverseFunctionalProperty rdf:about="#hasTopping"/>
</owl:onProperty>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>2</owl:minCardinality>
</owl:Restriction>
<owl:Restriction>
<owl:onProperty>
<owl:InverseFunctionalProperty rdf:about="#hasTopping"/>
</owl:onProperty>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int"
>4</owl:maxCardinality>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
36
RESTRIÇÃO CARDINALIDADE
Exercício: mundo das FGs, parte V 1. Crie uma classe de figuras que tem exatamente um vizinho e este
vizinho é um cubo. Resultado = { }
2. Crie uma classe de figuras cercadas por muito cubos desde que existam dois ou mais cubos em torno. Resultado = {A, B, C}
3. Para o raciocinador funcionar adequadamente, pode ser necessário definir as instâncias A, B, C e D como distintas no menu OWL > edit AllDiferents
B C A
D
37
SUMÁRIO
Restrições
Conceito
Tipos
Existencial (someValuesFrom)
Definidas ou Completas Equivalência lógica
Universal (allValuesFrom)
Primitivas ou Parciais Subsunção/implicação lógica
de valor (hasValue)
de cardinalidade
Classes
exactly
min
max
Pressupostos Open World (Mundo aberto)
Unique Name (Nome único)
38
RESTRIÇÕES DE VALORES
Restrições
<owl:someValuesFrom>
<owl:allValuesFrom>
<owl:hasValue>
Restrições de cardinalidade
<owl:cardinality>: exatamente
<owl:minCardinality>: mínima
<owl:maxCardinality>: máxima
39
RESTRIÇÃO hasValue
Definir todas as pizzas cujo país de origem é a Itália
Itália é uma instância da Classe Country
40
PIZZA ITALIANA NO PROTÉGÉ
Em DL: PizzaItaliana Pizza П hasCountryOfOrigin.{Italy}
41
PIZZA ITALIANA EM OWL-DL
<owl:Class rdf:ID="PizzaItaliana">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Pizza"/>
<owl:Restriction>
<owl:onProperty>
<owl:ObjectProperty rdf:about="#hasCountryOfOrigin"/>
</owl:onProperty>
<owl:hasValue rdf:resource="#Italy"/>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
42
RESTRIÇÃO hasValue
Exercício: mundo das FGs, parte VI
1. Crie uma classe tamanho disjunta da classe formas geométricas
2. Crie três instâncias de tamanho: {pequeno, médio, grande} ou faça
pela opção de enumeração
3. Defina uma propriedade temTamanho
4. Defina uma classe de cubos pequenos
5. Defina o cubo A como pequeno
B C A
D PEQUENO
43
SUMÁRIO
Restrições
Conceito
Tipos
Existencial (someValuesFrom)
Definidas ou Completas Equivalência lógica
Universal (allValuesFrom)
Primitivas ou Parciais Subsunção/implicação lógica
de valor (hasValue)
de cardinalidade
Classes
exactly
min
max
Pressupostos Open World (Mundo aberto)
Unique Name (Nome único)
44
OPEN WORLD
MUNDO ABERTO
Se algo não é declarado explicitamente, não implica que é
falso, implica somente em falta de conhecimento!
MUNDO FECHADO
Qualquer coisa que não for declarada pode ser assumida
como falsa, ou seja, assume-se que a informação é completa
e conhecida!
45
OPEN WORLD
Nome Telefone Última compra
João Carlos 3310-4040 10/5/2010
Maria José 3310-4041 5/1/2009
Mário Cunha 3310-4042 12/01/2008
Num banco de dados que contenha a tabela de clientes
acima, assume-se que se uma pessoa não está na
tabela não é cliente da loja mundo fechado
Numa ontologia, simplesmente não se sabe se uma
pessoa que não está na base não é cliente mundo
aberto
46
OPEN WORLD REASONNING (OWR)
RACIOCÍNIO DE MUNDO ABERTO
Classificador não assume nada que não for explicitamente definido
Um classificador só pode dizer se uma instância é membro de uma
classe se esta for completamente definida
Em mundos abertos, tudo é possível a menos que possa ser
provado falso
47
Exemplo OWR
HOMEM PESSOA
MULHER PESSOA
Nesta definição, nada
impede que
hajam instâncias de pessoa
que não são homens nem
mulheres!
Mesmo que h seja
instanciado como homem,
não há nada que impeça que
seja inferido que é mulher ou
instância de outra classe
qualquer ao mesmo tempo
pessoa
homem
mulher
h
T
Linhas pontilhadas indicam possíveis
inferências da classe de h
48
Exemplo OWR
HOMEM PESSOA П ¬MULHER
MULHER PESSOA П ¬HOMEM
Neste caso, a solução é definir que a classes homem e mulher são
disjuntas. Ainda assim, nada impede que h seja inferido como instância de
outra classe. A única certeza é que h é homem e, dada a disjunção, é
garantidamente não mulher!
pessoa
homem
mulher
h
T
Linhas pontilhadas indicam possíveis
inferências da classe de h
49
EXERCÍCIOS
construa duas classes parciais Aluno e Professor e
uma propriedade éAmigoDe
Faça uma definição completa para uma classe de
Professores que tem ao menos um amigo aluno
Faça uma definição completa para uma classe de
alunos formada por aqueles que são amigos somente
de professores
50
EXERCÍCIOS
Para a ontologia de viagens da aula anterior defina
parcialmente ou completamente as classes:
Viagem ida-e-volta
Viagem só de ida
Viagem só de volta
51
UNA
(NO) UNIQUE NAME ASSUMPTION
OWL assume que um indivíduo pode ser denotado por vários
nomes
i.e. um indivíduo pode ter vários nomes (neste caso, URIs)
owl:sameAs propriedade para expressar o fato que duas URIs
denotam o mesmo objeto
Exemplo: dois URIs que denotam o mesmo indivíduo
mailto:geraldo@gmail.com
http://www.organizacao.com/pessoal#geraldo
52
UNA
(NO) UNIQUE NAME ASSUMPTION
owl:differentFrom propriedade para expressar o fato que duas
URIs denotam objetos diferentes
Importante, pois num mundo aberto sempre é possível que duas
URIs diferentes denotem o mesmo indivíduo (a não ser que seja
claramente afirmado que não o são)
Para facilitar, OWL permite definir que pares de objetos são
diferentes entre si com o construto owl:AllDifferent
53
UNA
Exercício
Retome o exercício do slide 36 (cardinalidade) e explique porque é
necessário utilizar owl:AllDifferent para que o raciocinador produza
o resultado esperado