Aplicações de Ontologiastacla/Ontologias/2013/a12-300-OWL-DL... · Axioma de igualdade:...

Post on 15-Aug-2020

1 views 0 download

Transcript of Aplicações de Ontologiastacla/Ontologias/2013/a12-300-OWL-DL... · Axioma de igualdade:...

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