OWL-DL Classes, Axiomas de Fechamento e Cobertura Tópicos Especiais em Ontologias UTFPR/CPGEI/Prof. Tacla
SUMÁRIO Conjunção (Intersecção) de classes União de classes Complementares Disjuntas Axioma de Fechamento Axioma de Cobertura Partição de valores 2
CONJUNÇÃO DE CLASSES Exemplo: Pizza vegetariana e Pizza apimentada (spicy) Condição necessária: PizzaVegSpicy Pizza П (VegetarianPizza П SpicyPizza) Pizza PizzaVegetariana PizzaApimentada 3
CONJUNÇÃO DE CLASSES Esta Pizza ao ser classificada será inferida como subclasse de SpicyPizza e de VegetarianPizza 4
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> 5
UNIÃO DE CLASSES Exemplo: Pizza vegetariana OU Pizza apimentada (spicy) Condição necessária: PizzaVegOrSpicy Pizza П (VegetarianPizza υ SpicyPizza) Pizza PizzaVegetariana PizzaApimentada 6
UNIÃO DE CLASSES 7
<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> UNIÃO DE CLASSES 8
CLASSES COMPLEMENTARES Uma classe complementar equivale à negação de outra classe. Exemplo: Pizza vegetariana e Pizza não vegetariana Pizza PizzaVegetariana PizzaNãoVegetariana 9
CLASSES COMPLEMENTARES Pizza vegetariana Em DL: vegetariana Pizza П ( hastopping.fishtopping) П ( hastopping.meattopping) 10
CLASSES COMPLEMENTARES Pizza não vegetariana Em DL: Pizza Pizza П VegetarianPizza 11
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> 12
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) 13
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 É um tipo de Econômico carro123 Normal É instância de Para impedir isto, econômico e normal devem ser categorias disjuntas. 14
Classes Disjuntas Carro Econômico Normal 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. 15
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 16
CLASSES DISJUNTAS Três classes disjuntas Pizza, PizzaBase e PizzaTopping são classes mutuamente disjuntas e todas primitivas. Em DL: Pizza PizzaBase П PizzaTopping Thing PizzaTopping Pizza PizzaBase 17
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 18
SUMÁRIO Conjunção (Intersecção) de classes União de classes Complementares Disjuntas Axioma de Fechamento Axioma de Cobertura Partição de valores 19
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 20
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 21
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. 22
EXERCÍCIO Suponha a classe PizzaQueijoSimples sabendo que NamedPizza é subclasse de Pizza. MozzarelaTopping não é subclasse de FishTopping nem de MeatTopping vegetariana PizzaQueijoSimples Condições necessárias O que deve ser modificado para transformá-la em subclasse de vegetariana? 23
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 24
Axioma de Cobertura: Decomposição Exaustiva Carro Econômico Normal 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. 25
Partição Carro Econômico Normal Há somente carros econômicos e normais. Nenhum carro pode ser econômico e normal ao mesmo tempo. 26
AXIOMA DE COBERTURA - exemplo 27
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) 28
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) 29
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). 30
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) 31
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 32
CLASSES ANÔNIMAS Pizza hastopping PizzaTopping s hasspiciness SpicinessValuePartition Hot Medium Mild 33