Beruflich Dokumente
Kultur Dokumente
Ferramenta de Edição de
Ontologias
Janaína Pereira
Manaus - 2005
Roteiro
● Introdução
– Web Semântica
– Linguagens para ontologias
– Ferramentas
– Formalismos
● Protége
● Prática
Web Semântica
● Evolução da web atual.
● Tim Berners-Lee(2001)
● Plataforma para compartilhar modelos de
domínio
– Feita por humanos
– Inteligível pelas máquinas
– Objetivo: estruturar semanticamente o conteúdo
que está solto nas páginas Web através das
ontologias.
Linguagens de ontologias
• A Internet inspirou a criação de linguagens de
especificação de ontologias que explorassem as
características da Web, surgiram as:
Ontologies Markup Languages
RDFS
SHOE SHOE XOL
(HTML) (XML) RDF
HTML XML
Linguagens de ontologias
• A Internet inspirou a criação de linguagens de
especificação de ontologias que explorassem as
características da Web, surgiram as:
Ontologies Markup Languages
RDFS
SHOE SHOE XOL RDF
(HTML) (XML)
HTML XML
OWL – Web Ontology Language
● Último padrão em linguagens
para ontologias Web Languages
RDF/S
XML
● Recomendada por World
Wide Web consortium(W3C)
DAML-ONT OIL
● Revisão da linguagem
DAML+OIL
DAML+OIL; (OWL)
● Baseada em RDF(S) com Frame Systems
Formal Foundations
Description Logics
melhor interpretação do
conteúdo WEB;
● Usa lógica descritiva;
OWL - Dialetos
● OWL Lite;
● OWL DL
– mais expressiva;
– com maior poder de
decisão;
– Lógica Descritiva;
● OWL Full
– Máximo de
expressividade;
– Liberdade de sintaxe.
Ferramentas
Mussarela
Cobertura_da_Pizza
Cobertura de Queijo
Disjunção entre classes
● Classes são disjuntas
quando elas não
compartilham
indivíduos(ou objetos)
entre elas.
– Exemplo:
● Pizza
● Cobertura de Pizza
● Base da Pizza
Multi-herança
● OWL permite especificar multipla named
superclasses para qualquer classe.
● Por exemplo,
– Cria-se uma classe chamada Carne_Vegetais em
Cobertura_de_Vegetais
– E usando as Conditions Widget para adicionar
Cobertura_de_Carne como uma superclasse extra
Faz sentido essa intesecção Carne e
Vegetais?
Cobertura Cobertura de
de Carne Vegetais
Checando uma ontologia
● Acabamos de criar uma classe estranha,
intuitivamente, isso não seria possível para
individuos que são ambos um tipo de Cobertura
de Carne e um tipo de Cobertura de Vegetais
● Sabemos que tendo indivíduos que são tipos de
Carne_Vegetais não faz sentido do ponto de
vista, mas estes indivíduos existem do ponto de
vista lógico?
● Idealmente, gostaríamos de checagem automática
para nossa ontologia para asegurar que o sentido
lógico corresponde ao nosso entendimento. Para
tanto, usamos um Reasoner.
Reasoning
● Para uma ontologia no escopo de OWL-DL,
podemos usar DL Reasoner para inferir
informações que não é explicitamente
representado na ontologia. O “serviço” padrão
dos reasoning são:
– Subsumption checking
– Equivalence checking
– Consistency checking
– Instantiation checking
Usando um reasoner para checar
consistência das classes
● Protégé-OWl pode ser usando com qualquer
reasoner DIG anexado
● A comunicação com o reasoner é feita via HTTP;
● Para certificar que um reasoner está “rodando”,
clique no botão consistency na barra de
ferramentas
Axiomas Disjuntos
● Usando o reasoner chegamos a consistência das
named classes na ontologia, identificamos que
Carne_Vegetais é consistente, i.e, é possível para
indivíduos que sejam ambos Cobertura_de_Carne
e Cobertura_Vegetais
● Se olhando novamente a ontologia, e acharmos
melhor ter como classes disjuntas as subclasses
de Cobertura de Pizza.
● Será isso irá alterar algo em relação a classe
Carne_Vegetais?
OWL - Propriedades
● OWL tem 2 principais tipos de propriedades:
Object properties e Datatype properties
– Object properties relaciona um indivíduo a outro
indíviduo
– Datatype properties relaciona um indivíduo a um data
value.
● Outra tipo de propriedades, Annotation
properties, usado para vincular metadados as
classes, propriedades e indivíduos.
Hierarquia de propriedades
● OWL suporta a especificação de hieraquia de
propriedades
● Podemos especificar que uma propriedade tem
super-propriedade. Para qualquer propriedade
dada podemos especificar multi super-
propriedades.
● Em OWL-DL, object properties podem somente
ter object properties como super-properties e
datatype properties podem ser somente datatype
properties como super-properties.
Criando propriedades
● Na tabela Properties:
– Crie uma propriedade objeto chamada
temIngrediente.
– E como sub-propriedade desta crie temBase e tem
Cobertura Create Datatype Property
Create Object Property
Create Sub-Property
Create Annotation
Datatype property
Create Annotation Object
Property
Delete Property
Propriedades Características
● Podemos especificar propriedades características
adicionais por tipo de propriedade como:
– Functional
– InverseFunctional
– Symmetric
– Transitive
● ATENÇÃO!
– Certas combinações das características acima podem
levar que a ontologia seja OWL-FULL
Adicional as propriedades
Características
● Uma pizza somente tem uma base – logo
podemos dizer que a propriedae temBase é
functional.
● Queremos dizer que o fato dos ingredientes
compõem a cobertura da pizza também compõem
a pizza, sendo assim podemos dizer que
temIngrediente é transitiva.
Restrições
● Restrições descrevem uma classe de indivíduos
que é determinado pelo tipo e possivelmente pelo
número de relatiomentos que eles participam.
● Restrições podem ser agrupados em 3 principais
categorias:
– Quantifier restrictions (Existencial,Universal)
– Cardinality restrictions (Min ≥, Equal , =, Max , ≤)
– HasValue restrictions
Restrição Existencial
● O tipo mais comum de restrição que usaremos é
uma restrição existencial , a qual tem com o
simbolo .
● A restrição existencial significa “alguns valores
de” ou “no mínumo um”
● Descreve uma classe de indivíduos que têm no
mínimo uma relação com uma propriedade
especificada para um indivíduo que é um membro
de uma classe específica
Criando restrições existenciais
● Crie uma restrição dizendo que uma pizza só
pode ter uma base.
● Crie uma restrição onde a Pizza Margarita tem
que ter no mínimo uma cobertura de Tomate.
● Crie uma restrição a qual a Pizza America tenha
como cobertura mozzarella, tomate e calabreza.
temCobertura
tura
temCober
temCobertura
temCobertura
temCobertura
Mozzerella
TemCobertura Mozzarella
Condições Necessárias
● Até agora, todas as condições das classes
descrições são necessary conditions
● Dada uma classe, condições necessárias são as
condiçoes que um indivíduo deve satisfazer para
ser membro da classe.
● Por exemplo, a pizza Margerita...
– Se um indivíduo é um membro da Pizza_Margerita, é
necessariamente uma Pizza tem que ter no mínimo a
cobertura de mozzarella e no mínimo ter uma
cobertura de tomate.
● Com as Condições Necessárias, se conhecemos
que um indivíduo é um membro de uma dada
classe, sabemos também que deve satisfazer as
condições necessárias da classe.
– E se dado um indivíduo que satisfaça algumas
condições, a qual classe ele é membro?
● OWL também suporta condições Necessárias e
Suficiente, as quais nos permitem determinar que
qualquer indivíduos que satisfaça as condições
podem ser inferidos a ser um membro de uma
classeitions can be inferred to be a member of the
class que as condições estejam inseridas.
Condições Necessáris e Suficientes
● Exemplo:
– Sendo Classe A subclasse da Classe B, se todos os
indivíduos na Classe A estão também na Classe B.
– Portanto, se todos os indivíduos da Classe B
satisfazem as condições necessárias e sufficiente da
Classe A, todos eles deve ser também membros da
Classe A, e podemos inferir que B é uma subclasse da
Classe A .
● Crie uma classe Pizza de queijo que tenha como restrição
ter no mínimo cobertura de queijo.
Definidindo a Pizza Vegetariana
● Definiremos que uma Pizza Vegetariana é
qualquer pizza que somente tenha cobertura de
vegetais
● Para tanto decidiremos que uma cobertura
vegetais é qualquer pizza que tenha como
cobertura Queijo ou Vegetais
– Usaremos a Classe União para especifiar isto.
– Será uma condição necessária e suficiente
Restrição Universal
● Queremos dizer que Pizza Vegetariana tem
somente cobertura que seja cobertura de vegetais
– Condição necessária e suficiente
– Iremos usar Restrição Universal para especificar isto
● Restrições Universais são escritas usando o
símbolo
– Significa “para todos os valores de” ou “somente”
– Descreve que uma classe de indivíduos que para uma
dada propriedade, somente tenha relações com
indiívudos da classe específica.
Subclasses de Pizza Vegetariana
● Usemos o reasoner para classificar a ontologia...