![Page 1: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/1.jpg)
OWL-DL Propriedades
Tópicos Especiais em Ontologias
UTFPR/CPGEI/Prof. Tacla
![Page 2: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/2.jpg)
PROPRIEDADES
Propriedades são relações entre dois indivíduos.
Tipos de propriedades em OWL
Object properties: liga um indivíduos de uma classe domínio a
indivíduos de uma classe imagem.
Datatype properties: liga um indivíduo a um valor definido num
esquema XML (XML Schema Datatype) ou a um LITERAL definido
em RDF
Annotation properties: é característico de OWL. Serve para incluir
metadados sobre classes, indivíduos e propriedades (object and
datatype properties).
![Page 3: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/3.jpg)
OBJECT PROPERTIES
Relaciona indivíduos de uma classe a indivíduos de outra
classe
Pizza
PizzaToppings
hasTopping
Em DL (Description Logic)
hasTopping.PizzaToppings
filler role
Restrição de valor (value restriction ou role restriction)
restringe o escopo do role
![Page 4: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/4.jpg)
OBJECT PROPERTIES: DOMÍNIO E IMAGEM
<owl:ObjectProperty rdf:about="#hasTopping">
<rdfs:domain rdf:resource="#Pizza"/>
<rdfs:range rdf:resource="#PizzaTopping"/>
</owl:ObjectProperty>
classes
![Page 5: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/5.jpg)
DOMÍNIO E IMAGEM
Foi visto que OWL permite associar domínio e imagem
às propriedades
Isto não é visto como restrição – não há verificação de
tipos – mas influencia no raciocínio de tipos,
ou seja, a qual conceito um indivíduo pertence.
![Page 6: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/6.jpg)
DOMÍNIO E IMAGEM
Exemplo de propriedade
animal ehInimigoNaturalDe animal
Nada impede que um indivíduo que instancia o conceito
homem seja inimigo natural de outro homem
Na Abox, faz-se assertivamente:
joao ehInimigoNaturalDe jose
Isto não é visto como erro, o reasoner inferirá que
joao é um indivíduo do conceito animal (além de ser homem)
jose é um indivíduo deo conceito animal (além de ser homem)
Ver exemplos: ExemploAnimalHomem.owl e ExemploHomemLeaoCorsa.owl
![Page 7: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/7.jpg)
DATATYPE PROPERTIES
Relaciona instâncias de uma classe a valores definidos
num esquema XML ou a um literal definido em RDF
Pizza
string
hasName
![Page 8: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/8.jpg)
DATATYPE PROPERTIES
<owl:DatatypeProperty rdf:about="#pizzaName">
<rdfs:domain rdf:resource="#Pizza"/>
<rdfs:range rdf:resource=“&xsd;string"/>
</owl:ObjectProperty>
. xsd é uma abreviatura de uma URI de um XML Schema que define
formatos de dados válidos para arquivos XML (no caso, string).
String é um tipo primitivo
& é o operador de concatenação de strings
![Page 9: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/9.jpg)
TIPOS DE PROPRIEDADES
Inversa
Funcional
Inversa Funcional
Transitiva
Simétrica
Assimétrica
Reflexiva
Irreflexiva
Este tipos são aplicáveis somente a object properties
![Page 10: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/10.jpg)
INVERSA
Pizza
PizzaToppings
hasTopping
isToppingOf
muzzarela
![Page 11: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/11.jpg)
INVERSA
<owl:ObjectProperty rdf:about="#hasTopping">
<rdfs:domain rdf:resource="#Pizza"/>
<rdfs:range rdf:resource="#PizzaTopping"/>
<owl:inverseOf>
<owl:ObjectProperty rdf:ID="isToppingOf"/>
</owl:inverseOf>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about="#isToppingOf">
<rdfs:domain rdf:resource="#PizzaTopping"/>
<rdfs:range rdf:resource="#Pizza"/>
<owl:inverseOf rdf:resource="#hasTopping"/>
</owl:ObjectProperty>
rdf:ID é conveniente para referenciar recursos locais – entidades contidas no
próprio documento
rdf:about utilizado para referenciar um recurso com um identificador ou
localização bem-conhecido
Regra: prefira rdf:about e URIs absolutas para identificadores de classes
![Page 12: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/12.jpg)
INVERSA
Exercício: fazer uma ontologia com duas classes
Livro
Autor
Definir uma propriedade temAutor e sua inversa
Solução em ExercLivroAutorInversa.owl
![Page 13: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/13.jpg)
FUNCIONAL
Função de x em y
Uma instância do domínio se relaciona com zero ou
uma instância da imagem
Pizza
Base (massa)
hasBase
Fina e Crocante
Grossa
![Page 14: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/14.jpg)
FUNCIONAL
<owl:FunctionalProperty rdf:about="#hasBase">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
<rdfs:range rdf:resource="#PizzaBase"/>
<rdfs:domain rdf:resource="#Pizza"/>
</owl:FunctionalProperty>
![Page 15: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/15.jpg)
FUNCIONAL
Exercício: na ontologia do Livro e Autor fazer
Criar uma nova classe Editora
Definir uma propriedade funcional de Livro para Editora:
Livro temEditora Editora
Tente associar duas editoras a uma instância de livro
Consegue?
Qual a inferência é feita pelo reasoner?
Solução em ExercLivroAutorInversa.owl
![Page 16: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/16.jpg)
INVERSA FUNCIONAL
Quando a propriedade inversa é funcional
Modificando o exemplo anterior: 1 Pizza tem 1 Base e uma Base só pode estar
associda a uma pizza
Pizza
Base (massa)
hasBase
Fina e Crocante
Grossa
Grossa 2
isBaseOf
![Page 17: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/17.jpg)
INVERSA FUNCIONAL
<owl:FunctionalProperty rdf:about="#hasBase">
<rdfs:domain rdf:resource="#Pizza"/>
<rdfs:range rdf:resource="#PizzaBase"/>
<owl:inverseOf>
<owl:FunctionalProperty rdf:ID="isBaseOf"/>
</owl:inverseOf>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
</owl:FunctionalProperty>
![Page 18: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/18.jpg)
INVERSA FUNCIONAL
<owl:FunctionalProperty rdf:about="#isBaseOf">
<rdfs:domain rdf:resource="#PizzaBase"/>
<rdfs:range rdf:resource="#Pizza"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#InverseFunctionalProperty"/>
<owl:inverseOf rdf:resource="#hasBase"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
</owl:FunctionalProperty>
![Page 19: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/19.jpg)
TRANSITIVA
Somente object properties podem ser transitivas
Pizza
Base (massa)
hasIngredient
Fina e
Crocante
Grossa
Grossa 2
Básicos
Farinha
Água
Ovo
hasIngredient
![Page 20: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/20.jpg)
TRANSITIVA
<owl:ObjectProperty rdf:about="#hasIngredient">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/>
<owl:inverseOf rdf:resource="#isIngredientOf"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="isIngredientOf">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#TransitiveProperty"/>
<owl:inverseOf>
<owl:ObjectProperty rdf:ID="hasIngredient"/>
</owl:inverseOf>
</owl:ObjectProperty>
![Page 21: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/21.jpg)
SIMÉTRICA
Quando a inversa de uma propriedade é ela mesma.
Ex: é irmão de
Ao declarar que João é irmão de José o reasoner infere
que José é irmão de João
Pessoa
Pessoa
éIrmãoDe
José João
![Page 22: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/22.jpg)
SIMÉTRICA
<owl:SymmetricProperty rdf:about="#ehIrmaoIrmaDe">
<rdfs:domain rdf:resource="#Pessoa"/>
<rdfs:range rdf:resource="#Pessoa"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
<owl:inverseOf rdf:resource="#ehIrmaoIrmaDe"/>
</owl:SymmetricProperty>
![Page 23: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/23.jpg)
REFLEXIVA
Uma propriedade declarada como reflexiva
automaticamente relaciona todo indivíduo com ele
mesmo.
Exemplo
Suponha uma ppde denominada ama (do verbo amar)
Suponha dois indíviduos declarados: joão e maria
Ao executar o reasoner, ele inferirá:
joão ama joão
maria ama maria
![Page 24: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/24.jpg)
IRREFLEXIVA
Uma propriedade declarada como reflexiva NÃO
PERMITE que um objeto se relacione com ele mesmo
Exemplo
Suponha uma ppde denominada paiDe
Suponha que o indivíduo joão é declarado
Não se pode dizer assertivamente que joão é paiDe joão
Se mesmo assim, o usuário fizer esta declaração...
O reasoner dirá que a ontologia é INCONSISTENTE
![Page 25: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/25.jpg)
SUBPROPRIEDADE
Propriedades podem ter especializações.
Exemplo:
Pizza hasIngredients
hasIngredients tem subpropriedades:
hasToppings
hasBase
Qual o significado?
![Page 26: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/26.jpg)
EXERCÍCIO 1
Crie uma ontologia composta pelas classes seguintes:
Carro
Roda
Pneu
Examine as relações de pertinência existente entre
estas classes e crie as propriedades explorando
transitividade e subpropriedade.
Solução em ExercRodaCarroPneu.owl
![Page 27: Aplicações de Ontologiastacla/SI2/cap09/200-OWL-DL-ppdes.pdf · Ontologia de viagem Considere uma classe denominada Viagem que significa “deslocamento de um local a outro”](https://reader035.vdocuments.pub/reader035/viewer/2022081403/6090ad67fd895e1ee85a73ad/html5/thumbnails/27.jpg)
EXERCÍCIO 2
Ontologia de viagem
Considere uma classe denominada Viagem que significa
“deslocamento de um local a outro”. Uma viagem tem data de
partida, data de chegada, nome da companhia que efetua o trajeto
e um valor de tarifa para ida de uma pessoa.
Identifique as propriedades da classe Viagem e defina novas
classes se necessário.
Para cada propriedade, identifique seu tipo (Object ou Datatype) e
defina propriedades inversas, simétricas, etc. quando possível.
Solução ExercViagemVersao01.owl