OWL-DL Classes Tópicos Especiais em Ontologias utfpr/cpgei Prof. Cesar A. Tacla
SUMÁRIO Restrições Conceito Tipos Existencial (somevaluesfrom) Universal (allvaluesfrom) de valor (hasvalue) de cardinalidade exactly min max Classes Parciais Axioma de inclusão (subsunção): implicação lógica Definidas ou Completas Axioma de igualdade: equivalência lógica Pressupostos Open World (Mundo aberto) Unique Name (Nome único) 2
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 3
RESTRIÇÕES, Conceito de Exemplo: PizzaMargherita são pizzas que tem ao menos um topping igual a Mozzarela T Pizza Margherita PizzaTopping Mozzarela 4
SUMÁRIO Restrições Conceito Tipos Existencial (somevaluesfrom) Universal (allvaluesfrom) Classes de valor (hasvalue) Primitivas ou Parciais Subsunção/implicação lógica Definidas ou Completas Equivalência lógica de cardinalidade exactly min max Pressupostos Open World (Mundo aberto) Unique Name (Nome único) 5
TIPOS DE RESTRIÇÕES Restrições <owl:somevaluesfrom> <owl:allvaluesfrom> <owl:hasvalue> existencial universal Restrições de cardinalidade <owl:cardinality> <owl:mincardinality> <owl:maxcardinality> 6
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 7
RESTRIÇÃO somevaluesof Exemplo: CheeseyPizza Exemplo: CheeseyPizzas são Pizzas que tem pelo menos um recheio CheeseTopping Em DL: CheeseyPizza Pizza П hastopping.cheesetopping 8
RESTRIÇÃO somevaluesof DomainConcept Pizza CheeseyPizza PizzaTopping CheeseyTopping hasbase PizzaBase Calzone Em DL: CheeseyPizza Pizza П hastopping.cheesetopping 9
RESTRIÇÃO somevaluesof <owl:class rdf:id="cheeseypizza"> <owl:equivalentclass> Classe anônima <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> 10
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) A B C D 11
SUMÁRIO Restrições Conceito Tipos Existencial (somevaluesfrom) Universal (allvaluesfrom) Classes de valor (hasvalue) Primitivas ou Parciais Subsunção/implicação lógica Definidas ou Completas Equivalência lógica de cardinalidade exactly min max Pressupostos Open World (Mundo aberto) Unique Name (Nome único) 12
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 13
RESTRIÇÃO allvaluesfrom VegetarianPizzaEquivalent1 Exemplo: Todas VegetarianPizzaEquivalent1 são Pizzas cujos recheios são vegetarianos ou que não tem nenhum recheio Em DL: VegetarianPizzaEquivalent1 Pizza П hastopping.vegetariantopping 14
RESTRIÇÃO allvaluesfrom VegetarianPizzaEquivalent1 Toda pizza que tem somente recheios vegetarianos ou não tem recheios DomainConcept Pizza VegetarianPizza... PizzaTopping VegetarianTopping hasbase PizzaBase Em DL: VegetarianPizzaEquivalent1 Pizza П hastopping.vegetariantopping 15
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> 16
Exercício: mundo das FGs, parte II RESTRIÇÃO allvaluesfrom 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) A B C D 17
SUMÁRIO Restrições Conceito Tipos Existencial (somevaluesfrom) Universal (allvaluesfrom) Classes de valor (hasvalue) Parciais Subsunção/implicação lógica Definidas ou Completas Equivalência lógica de cardinalidade exactly min max Pressupostos Open World Reasonning Open World Assumption 18
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 19
CLASSE PARCIAL Exemplo Para ser Pizza é necessário ser DomainConcept e ter pelo menos uma base (massa) Em DL Pizza DomainConcept П ( hasbase.pizzabase). 20
CLASSE PARCIAL Exemplo Para ser Pizza é necessário ser DomainConcept e ter pelo menos uma base (massa) Em DL Pizza DomainConcept П ( hasbase.pizzabase) Pizza DomainConcept Bruschetta PizzaBase hasbase 21
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> 22
Exercício: mundo das FGs, parte III RESTRIÇÃO somevaluesof 1. Dentre as classes criadas, quais são definidas parcialmente? A B C D 23
SUMÁRIO Restrições Conceito Tipos Existencial (somevaluesfrom) Universal (allvaluesfrom) Classes de valor (hasvalue) de cardinalidade Primitivas ou Parciais Subsunção/implicação lógica Definidas ou Completas Equivalência lógica exactly min max Pressupostos Open World Reasonning Open World Assumption 24
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 25
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) 26
CLASSE DEFINIDA ou COMPLETA Em DL MeatyPizza Pizza П hastopping.meattopping expandindo Pizza MeatyPizza DomainConcept П ( hasbase.pizzabase) П ( hastopping.meattopping) DomainConcept Pizza MeatyPizza MeatTopping Bruschetta hasbase PizzaTopping PizzaBase 27
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> 28
Exercício: mundo das FGs, parte IV RESTRIÇÃO somevaluesof 1. Dentre as classes criadas, quais são descritas de forma completa? A B C D 29
SUMÁRIO Restrições Conceito Tipos Existencial (somevaluesfrom) Universal (allvaluesfrom) Classes de valor (hasvalue) Primitivas ou Parciais Subsunção/implicação lógica Definidas ou Completas Equivalência lógica de cardinalidade exactly min max Pressupostos Open World Reasonning Open World Assumption 30
RESTRIÇÕES DE CARDINALIDADE <owl:cardinality>: exatamente <owl:mincardinality>: mínima <owl:maxcardinality>: máxima 31
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 32
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 33
PIZZA COPIOSA DomainConcept Pizza hastopping PizzaCopiosa PizzaTopping 34
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> 35
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 A B C D 36
SUMÁRIO Restrições Conceito Tipos Existencial (somevaluesfrom) Universal (allvaluesfrom) Classes de valor (hasvalue) Primitivas ou Parciais Subsunção/implicação lógica Definidas ou Completas Equivalência lógica de cardinalidade exactly min max Pressupostos Open World (Mundo aberto) Unique Name (Nome único) 37
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 38
RESTRIÇÃO hasvalue Definir todas as pizzas cujo país de origem é a Itália Itália é uma instância da Classe Country 39
PIZZA ITALIANA NO PROTÉGÉ Em DL: PizzaItaliana Pizza П hascountryoforigin.{italy} 40
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> 41
Exercício: mundo das FGs, parte VI RESTRIÇÃO hasvalue 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 PEQUENO A B C D 42
SUMÁRIO Restrições Conceito Tipos Existencial (somevaluesfrom) Universal (allvaluesfrom) Classes de valor (hasvalue) Primitivas ou Parciais Subsunção/implicação lógica Definidas ou Completas Equivalência lógica de cardinalidade exactly min max Pressupostos Open World (Mundo aberto) Unique Name (Nome único) 43
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! 44
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 45
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 46
Exemplo OWR HOMEM PESSOA MULHER PESSOA T 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 homem pessoa h Linhas pontilhadas indicam possíveis inferências da classe de h mulher 47
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 h mulher T homem Linhas pontilhadas indicam possíveis inferências da classe de h 48
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 49
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 50
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 51
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 52
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 53