web semântica: conceitos e tecnologias
DESCRIPTION
Web Semântica: Conceitos e TecnologiasTRANSCRIPT
PIPCA - Computação Aplicada
Web Semântica: Conceitos e Tecnologias
João Pablo Silva da Silva([email protected])
19/05/2010
PIPCA - Computação Aplicada
Roteiro
• Web Semântica
• Visão Geral, Estruturas e Aplicações
• Ontologias
• Definição, Elementos e Engenharia
• OWL
• Definição e Estrutura
• Consultas
• Consultas DL e SPARQL
20/05/2010 2Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Visão Geral
• Extensão da Web que permite que humanos e computadores trabalhem em cooperação.
• Surgiu em 2001 quando Tim Berners-Lee, James Hendler e Ora Lassila publicaram um artigo na revista Scientific American.
• Tem como finalidade atribuir um significado aos conteúdos publicados na Internet de modo que seja perceptível tanto pelo humano como pelo computador.
• Objetiva desenvolver tecnologias e linguagens que tornem a informação legível para as máquinas.
20/05/2010 3Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Estrutura da Rede Semântica
20/05/2010 4Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
A Onda Semântica
20/05/2010 5Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Aplicações Web Semântica (1)
• Freebase: Uma base de dados aberta, onde as pessoas criam dados e conectam esses dados entre si, onde são classificados por temas e seções.
• Powerset: É um motor de busca de linguagem natural. Pode processar perguntas, por exemplo.
• Twine: Aprende sobre você e os seus interesses a partir do conteúdo que você cria e compartilha, fazendo um grafo desse conteúdo.
• AdaptiveBlue: Um plug-in que oferece links de acordo com o contexto da página que se está navegando.
• Hakia: Apontado como um dos mais promissores motores de busca em alternativa ao Google, faz a análise de sentenças na hora de fazer uma busca.
20/05/2010 6Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Aplicações Web Semântica (2)
• Talis: Plataforma para criação de aplicações semânticas na web, sendo possível criar, compartilhar e reutilizar informações nessa plataforma.
• TrueKnowledge: Tenta responder as suas perguntas a partir de uma base de dados com conhecimentos e conexões.
• TripIt: Organizador de viagens, sendo possível criar viagens e receber informações do flickr e wikipedia, dentre outras coisas.
• ClearForest: Permite identificar pessoas, países, tecnologias, companhias, organizações, produtos e dados geográficos em um texto.
• Spock: Permite buscar por pessoas e obter informações associadas a essas pessoas.
20/05/2010 7Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Roteiro
• Web Semântica
• Visão Geral, Estruturas e Aplicações
• Ontologias
• Definição, Elementos e Engenharia
• OWL
• Definição e Estrutura
• Consultas
• Consultas DL e SPARQL
20/05/2010 8Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Definindo Ontologias
• Especificação explicita de conceitualizações.
• Define primitivas representacionais de um determinado domínio de conhecimento.
• Conceitos, Atributos e Associações.
• São representações formais, explicitas e compartilhadas.
• Formais, pois são manipuláveis por computadores.
• Explicitas, pois são uma forma de representação.
• Compartilhadas, pois viabilizam a colaboração
20/05/2010 9Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Elementos de uma Ontologia (1)
• Conceitos
• Também chamado de classes.
• São abstrações que caracterizam o que se quer representar.
• Exemplo: Pessoa, Cidade, Profissão, etc.
• Atributos
• Também chamado de propriedades.
• São características aplicáveis a um conceito.
• Exemplo: Nome da Pessoa, População da Cidade, etc.
20/05/2010 10Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Elementos de uma Ontologia (2)
• Associações
• Também chamado de relacionamentos.
• Estabelecem as relações entre os conceitos.
• Exemplo: Pessoa pertence a Cidade, etc.
• Indivíduos
• Também chamado de instâncias.
• São as ocorrências de cada conceito.
• Exemplo: João, Maria, Porto Alegre, Motorista, etc.
20/05/2010 11Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Bibliotecas de Ontologias
• A DAML Ontology Library mantém um legado de ontologias em DAML.
• O SchemaWeb é um diretório de esquemas RDF expressos em RDFS, OWL e DAML+OIL.
• O Swoogle é um diretório e mecanismo de busca para todos os recursos RDF disponíveis na Web, incluindo ontologias.
• A biblioteca OntoSelect oferece um serviço similar para ontologias em RDF/S, DAML e OWL.
• O Ontaria é um "diretório pesquisável e navegável de dados da web semântica", que foca em vocabulários RDF com ontologias OWL.
20/05/2010 12Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Engenharia de Ontologias (1)
Onto
logy D
evelo
pm
ent 1
01
20/05/2010 13Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Engenharia de Ontologias (2)
• Determinar Domínio e Escopo, onde é definido o domínio de conhecimento que se quer representar e qual o escopo da aplicação que se deseja construir.
• Considerar Reuso de Ontologias, a qual faz pensar sobre questões de reuso de ontologias já definidas.
• Enumerar Termos Importantes, que leva ao levantamento de termos do domínio sem a preocupação de classificá-los como conceito ou propriedade.
20/05/2010 14Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Engenharia de Ontologias (3)
• Definir Classes e Hierarquias, onde, a partir da listagem de termos, eliminam-se redundâncias e definem-se as classes da ontologia organizadas em uma hierarquia.
• Definir Propriedades de Classes, sendo definidas propriedades que complementam a descrição dos conceitos da ontologia.
• Definir Restrições de Propriedades, onde são estabelecidas restrições para cada propriedade.
• Criar Instâncias da Ontologia, que estabelece a criação de indivíduos para a ontologia.
20/05/2010 15Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Roteiro
• Web Semântica
• Visão Geral, Estruturas e Aplicações
• Ontologias
• Definição, Elementos e Engenharia
• OWL
• Definição e Estrutura
• Consultas
• Consultas DL e SPARQL
20/05/2010 16Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Definição
• OWL propõe uma linguagem padrão para descrever classes e seus relacionamentos, os quais podem ser usados por aplicações e documentos web.
• Derivada das linguagens OIL e DAML+OIL.
• Desenvolvida para aumentar capacidade de expressar semântica disponível em XML, RDF e RDFS.
• OWL é capaz de:
• formalizar um domínio de conhecimento;
• definir indivíduos para um domínio de conhecimento;
• inferir sobre um domínio de conhecimento.
20/05/2010 17Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Sublinguagens: OWL Lite
• Suporta usuários que necessitam de uma classificação hierárquica e restrições simples.
• Embora suporte restrições de cardinalidade, ela sópermite valores de cardinalidade 0 ou 1.
• É mais simples fornecer ferramentas que suportem OWL Lite que seus parentes mais expressivos.
• Também permite um caminho de migração mais rápido de tesauros e outras taxonomias.
• Tem uma menor complexidade formal que OWL DL.
20/05/2010 18Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Sublinguagens: OWL DL
• Suporta usuários que querem a máxima expressividade, enquanto mantém a:
• computabilidade: todas as conclusões sejam computáveis;
• decidibilidade: todas as computações tem tempo finito.
• Inclui todas as construções da linguagem OWL, porém elas somente podem ser usadas com algumas restrições:
• embora uma classe possa ser subclasse de muitas classes, uma classe não pode ser instância de outra classe.
• É assim chamada devido a sua correspondência com as lógicas de descrição.
20/05/2010 19Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Sublinguagens: OWL Full
• Suporta usuários que querem a máxima expressividade e a liberdade sintática do RDF sem nenhuma garantia computacional:
• em OWL Full uma classe pode ser tratada simultaneamente como uma coleção de indivíduos e como um indivíduo por si mesma.
• Permite que uma ontologia aumente o vocabulário pré-definido de RDF ou OWL.
• É improvável que algum software de inferência venha a ser capaz de suportar completamente cada recurso da OWL Full.
20/05/2010 20Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Relações entre as Sublinguagens
• Toda ontologia OWL Lite válida é uma ontologia OWL DL válida.
• Toda ontologia OWL DL válida é uma ontologia OWL Full válida.
• Toda conclusão OWL Lite válida é uma conclusão OWL DL válida.
• Toda conclusão OWL DL válida é uma conclusão OWL Full válida.
20/05/2010 21Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Namespaces
• Componentes iniciais necessários indicar qual vocabulário será utilizado.
• Provê a correta interpretação, desambiguação, dos termos utilizados na ontologia.
20/05/2010 22Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Cabeçalhos
• Após os namespaces uma série de outras definições a respeito da ontologia podem ser feitas.
• Tags de comentário, versionamento, importação, dentre outras, podem ser usadas.
• Propriedades usadas como anotações também podem ser declaradas.
20/05/2010 23Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Classes
• O conceito mais básico em um domínio corresponde as classes raízes da ontologia.
• Cada indivíduo em OWL pertence a classe owl:Thing.• Cada classe definida é subclasses de owl:Thing.
• A tag rdf:Class nada diz sobre a classe. É apenas um identificador pode ser um número, um caractere, etc.
20/05/2010 24Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Subclasses
• Outro conceito fundamental é o de subclasses, o qual permite definir a hierarquia da taxonomia através de generalizações/especializações.
• A tag rdfs:label permite dar um nome mais significativo para a classe.
• Nomes podem ser dados de acordo com o idioma.
20/05/2010 25Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Indivíduos
• São instâncias das classes.
20/05/2010 26Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Propriedades
• As classes e os indivíduos não seriam interessantes se fossem definidas somente por taxonomias.
• As propriedades permitem definir fatos sobre classes e indivíduos. Sendo de dois tipos:
• DataType Properties: relação entre instâncias de classes e literais;
• Object Properties: relação entre instâncias de duas classes.
• Para restringir uma propriedade utiliza-se domain e range:
20/05/2010 27Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Herança entre Propriedades
• Diferentemente das linguagens de programação, onde os tipos são utilizados para verificar consistência, em OWL, o tipo pode ser usado para inferir.
• Desta forma, pode-se inferir que “SaltonChardonnay1998” évinho pois o domínio de <feitoDaUva> é vinho.
20/05/2010 28Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Herança entre Propriedades
• Assim como classes, propriedades podem ser organizadas hierarquicamente:
• O Descritor relaciona o vinho aos seus componentes, como: gosto, suavidade, corpo e sabor. A Cor é uma sub-propriedade de Descritor.
20/05/2010 29Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Restrições de Propriedades
• É possível expandir a definição de Vinho, para indicar que um Vinho é feito de pelo menos uma uva vinífera.
• Esta subclasse anônima representa o conjunto de coisas com pelo menos uma propriedade feitoDaUva.
20/05/2010 30Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Tipos de Dados
• A OWL utiliza a maioria dos tipos de dados do XML Schema, como:
• Exemplo:
20/05/2010 31Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Propriedade de Indivíduo
• Primeiro descreve-se os indivíduos Região e Vinícola, para então definir o vinho CabernetSauvignon.
20/05/2010 32Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Propriedades Transitivas
• P(x,y) e P(y,z) implica P(x,z).
• A propriedade localizadoEm é transitiva.
20/05/2010 33Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Propriedades Simétricas
• P(x,y) iff P(y,x).
• A propriedade regiaoAdjacente é simétrica.
• A região do ValeDosVinhedos é adjacente àCapitalDoChampagne, e vice-versa.
20/05/2010 34Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Propriedades Funcionais
• Propriedade Funcional: P(x,y) e P(x,z) implica y = z.
• temFabricante é funcional. Um vinho tem um único Fabricante, isto é, um Vinho pode ser associado apenas com um Fabricante.
20/05/2010 35Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Propriedades Inversas
• P1(x,y) iff P2(y,x).
• A iff B significa que (A implica em B) e (B implica em A).
• Vinhos possuem fabricantes, que na definição de Vinhos são restritos à Vinícolas. Então cada Vinícola produz um conjunto de vinhos que as identifica como fabricantes.
20/05/2010 36Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Propriedades Inversamente Funcional
• P(y,x) e P(z,x) implica que y = z.
• O inverso de uma Propriedade Funcional é uma Propriedade inversamente funcional.
• owl:InverseFunctional implica que os elementos do range provêm um identificador único para cada elemento do domínio.
20/05/2010 37Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Restrições Aplicadas ao Contexto (1)
• Os mecanismos vistos até o momento para restringir TIPO são globais, já que se aplicam à todas as instâncias da propriedade.
• Os mecanismos allValuesFrom e someValuesFrom se aplicam somente ao contexto local onde foram definido.
20/05/2010 38Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Restrições Aplicadas ao Contexto (2)
• O fabricante do Vinho deve ser uma Vinicola. A restrição allValuesFrom aplica-se na propriedade temFabricante somente da classe Vinho. Outros fabricantes não são atingidos por esta restrição.
• Se utilizar someValuesFrom, quer dizer que pelo menos uma das propriedades temFabricante deve ser uma Vinicola.
20/05/2010 39Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Cardinalidades
• É possível definir um número de elementos EXATO na cardinalidade.
• Um Vinho deve ter apenas 1 Ano de Fabricação.
20/05/2010 40Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
hasValue
• É possível definir uma classe a partir da existência de indivíduos com algumas propriedades específicas.
• Um indivíduo será membro desta classe se possuir pelo menos uma de suas propriedades que satisfaça uma condição.
• Aqui, é declarado que todos vinhos Tannat são secos. Isto é, sua propriedade temAcucar deve ter pelo menos um valor igual à Seco.
20/05/2010 41Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Equivalência entre Classes e Propriedades
• Utiliza-se a propriedade owl:equivalentClass para indicar que duas classes possuem a mesma instância.
• Com objetivo de agrupar uma série de componentes de ontologias, como sendo parte de uma terceira ontologia, pode ser útil afirmar que uma primeira classe ou propriedade em particular é equivalente a uma segunda classe ou propriedade.
20/05/2010 42Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Equivalência entre Classes e Propriedades
• Aqui afirma-se que uma classe Vinho na ontologia Food estabelece um link com as características da ontologia Vinho, através da definição de uma classe na ontologia Food (&food;Vinho), e posteriormente declarando-a equivalente a classe vinho, da ontologia Vinho.
• Da mesma forma pode-se utilizar owl:equivalentProperty para relacionar propriedades.
20/05/2010 43Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Declaração de Indivíduos Iguais
• A utilização é parecida com a das classes, porém através deste se afirma que dois indivíduos são idênticos.
• Utilizado para identificar indivíduos em diferentes documentos a um outro, com objetivo de unificar duas ontologias.
• Para OWL, dois diferentes nomes não significa que eles referem-se a indivíduos diferentes.
20/05/2010 44Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Declaração de Indivíduos Diferentes
• Utilizado para declarar que dois indivíduos são diferentes.
• Utilizado para declarar que todos indivíduos são diferentes.
20/05/2010 45Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Classes Complexas
• OWL fornece construtores com os quais é possível formar classes.
• Estes construtores são utilizados para criar as “class expressions”.
• OWL suporta:
• “set operations”
• “namely union”
• “intersection”
• “complement”
20/05/2010 46Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Operações: Intersecção
• intersectionOf Identifica que tudo o que for vinho e branco, é uma instancia de Vinho Branco.
20/05/2010 47Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Operações: União
• unionOf utilizado para identificar que a classe Fruta inclui as extensões de FrutaDoce e as extensões de FrutaNaoDoce.
20/05/2010 48Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Operações: Complemento
• complementOf é utilizado para identificar indivíduos de um domínio que não pertencem a algumas classes.
• A classes NaoAlimento inclui como seus membros todos os indivíduos que NÃO pertencem a extensão de Alimento.
20/05/2010 49Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Classes Enumeradas
• oneOf fornece meios para especificar uma classe através da enumeração direta de seus membros. O seguinte define que a classe CorDoVinho possui os membros Branco, Rose e Tinto.
• Cada elemento do construtor oneOf deve ser um individuo declarado.
• Um indivíduo deve pertencer a alguma classe, no exemplo acima cada indivíduo foi referenciado pelo nome.
20/05/2010 50Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Classes Disjuntas
• Definindo Fruta como sendo a união entre FrutaDoce e FrutaNaoDoce.
• disjointWith parciona Fruta em duas sub-classes distintas, por elas não são conectadas.
20/05/2010 51Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Roteiro
• Web Semântica
• Visão Geral, Estruturas e Aplicações
• Ontologias
• Definição, Elementos e Engenharia
• OWL
• Definição e Estrutura
• Consultas
• Consultas DL e SPARQL
20/05/2010 52Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Sintaxe Manchester
• Sintaxe suportada pelo Protégé-OWL para realização de consultas baseadas em lógica de descrição.
20/05/2010 53Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Exemplo de Consultas DL (1)
20/05/2010 54Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Exemplo de Consultas DL (2)
20/05/2010 55Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Exemplo de Consultas DL (3)
20/05/2010 56Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Cláusulas SPARQL
• Similar ao SQL e serve para realizar consultas em grafos RDF ou OWL.
20/05/2010 57Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Exemplo de Consulta SPARQL (1)
20/05/2010 58Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Exemplo de Consulta SPARQL (2)
20/05/2010 59Web Semântica: Conceitos e Tecnologias
PIPCA - Computação Aplicada
Exemplo de Consulta SPARQL (3)
20/05/2010 60Web Semântica: Conceitos e Tecnologias