Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
OWL-DL
Classes
Tópicos Especiais em Ontologias
UTFPR/PPGCA/CPGEI
Prof. Cesar A. Tacla
2 2
SUMÁRIO
Restrições
Conceito
Tipos
Existencial (someValuesFrom)
Definidas ou Completas Axioma de igualdade: equivalência lógica
Universal (allValuesFrom)
Primitivas ou 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 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 ou equivale à classe
nomeada que queremos definir
4 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 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 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 7
RESTRIÇÃO someValuesOf
EXISTENCIAL
Instâncias que 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 8
RESTRIÇÃO someValuesOf
Exemplo: CheeseyPizza
Em DL: CheeseyPizza Pizza П hasTopping.CheeseTopping
Exemplo:
PizzaComQueijo são Pizzas que tem pelo menos uma CoberturaDeQueijo
9 9
RESTRIÇÃO someValuesOf
Pizza PizzaTopping
PizzaBase
DomainConcept
CheeseyTopping CheeseyPizza
hasBase
Calzone
Em DL: CheeseyPizza Pizza П hasTopping.CheeseTopping
10 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 11
RESTRIÇÃO someValuesOf
Exercício: mundo das FGs, parte I 1. Faça uma ontologia que descreva um mundo onde há formas geométricas.
2. Neste momento nos interessa somente cubos, portanto defina uma subclasse de formas que representam cubos.
3. Definir a classe dos cubos-não-isolados por meio de uma equivalência. Para ser um cubo-não-isolado, este deve possuir ao menos uma outra 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. Na tab DL-QUERY, encontre os indivíduos da classe cubos não isolados – verifique se obteu o esperado (A, B e C)
B C A
D
12 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 13
RESTRIÇÃO allValuesFrom
UNIVERSAL
Em DL, p.Y
Todas as instâncias que estão relacionadas 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 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 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 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 17
RESTRIÇÃO allValuesFrom
Exercício: mundo das FGs, parte II
1. Definir a classe de formas geométricas cercadas somente por
cubos e por pelo menos um cubo por meio de um axioma de
equivalência.
2. Verifique se o reasoner infere corretamente as figuras cercadas por
cubos – verifique se obteve o esperado (A, B e C)
B C A
D
18 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 19
CLASSE PRIMITIVA ou PARCIAL
Uma classe que possui somente axiomas de inclusão é
dita classe parcial (axioma de inclusão).
Se a é uma instância da classe A, isto implica em a
satisfazer as condições necessárias dadas pelos axiomas
de inclusão 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
20 20
CLASSE PRIMITIVA OU PARCIAL
.
Exemplo
Para ser Pizza é necessário ser Food e
ter pelo menos uma base (massa)
Em DL
Pizza Food П (hasBase.PizzaBase)
21 21
CLASSE PRIMITIVA OU PARCIAL
PizzaBase
Food
Bruschetta
hasBase
Exemplo
Para ser Pizza é necessário ser Food e
ter pelo menos uma base (massa)
Pizza
Em DL
Pizza Food П (hasBase.PizzaBase)
22 22
CLASSE PRIMITIVA OU PARCIAL
<owl:Class rdf:about="#Pizza">
<rdfs:subClassOf>
<owl:Class rdf:ID=“Food"/>
</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 23
CLASSE PRIMITIVA OU PARCIAL
Exercício: mundo das FGs, parte III
1. Dentre as classes já criadas, quais são definidas parcialmente?
2. Defina uma nova classe parcial chamada Piramide.
B C A
D
24 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 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) –
Estas condições necessárias e suficientes são definidas
por axiomas de equivalência.
Para a ser instância da classe A, isto implica em satisfazer
as condições necessárias de A (axiomas de inclusão) e
as condições necessárias e suficientes de A (axiomas de
equivalência)
26 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 Food П (hasBase.PizzaBase) П (hasTopping.MeatTopping)
27 27
CLASSE DEFINIDA ou COMPLETA
PizzaBase
Food
Bruschetta
hasBase
Pizza
Em DL
MeatyPizza Pizza П hasTopping.MeatTopping expandindo Pizza
MeatyPizza Food П (hasBase.PizzaBase) П (hasTopping.MeatTopping)
PizzaTopping
MeatTopping MeatyPizza
28 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 29
CLASSES DEFINIDAS
Exercício: mundo das FGs, parte IV
1. Dentre as classes criadas, quais são descritas de forma completa?
B C A
D
30 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 31
RESTRIÇÕES DE CARDINALIDADE
<owl:cardinality>: exatamente
<owl:minCardinality>: mínima
<owl:maxCardinality>: máxima
32 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 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 34
PIZZA COPIOSA
DomainConcept
Pizza
PizzaTopping
hasTopping
PizzaCopiosa
35 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 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 que estão perto. Resultado = {A, B, C}
3. Para o raciocinador funcionar adequadamente, pode ser necessário definir cubos A, B, C e D como distintos no menu Edit > make all individuals distinct
B C A
D
37 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 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 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 40
PIZZA ITALIANA NO PROTÉGÉ
Em DL: Veneziana Pizza П hasCountryOfOrigin.{Italy} ...
41 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 42
RESTRIÇÃO hasValue
Exercício: mundo das FGs, parte VI
1. Crie uma classe tamanho que seja 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 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 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 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 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 definida completamente
Em mundos abertos, tudo é possível a menos que possa ser
provado falso
47 47
Exemplo OWR
TERNO ROUPA
VESTIDO ROUPA
Nesta definição, nada
impede que
Haja instâncias de roupa que
não são vestido nem terno!
Mesmo que tp seja
instanciado como terno, não
há nada que impeça que seja
vestido ou instância de outra
classe qualquer ao mesmo
tempo
roupa
terno
vestido
tp
T
Linhas pontilhadas indicam possíveis
inferências da classe de h
48 48
Exemplo OWR
TERNO ROUPA П ¬VESTIDO
VESTIDO ROUPA П ¬TERNO
Um terno-preto mesmo que satisfaça a descrição acima da classe
terno, pode ser instância de outra classe (distinta de vestido), logo não
é garantido que seja terno.
roupa
terno
vestido
Terno-preto
T
Linhas pontilhadas indicam possíveis
inferências da classe de terno-preto
49 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 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 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:[email protected]
http://www.organizacao.com/pessoal#geraldo
52 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 um conjunto de objetos
são diferentes entre si com o construto owl:AllDifferent
53 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