27
OWL-DL Propriedades Tópicos Especiais em Ontologias UTFPR/CPGEI/Prof. Tacla

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”

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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”

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