Apresentacao Web Semânticas SBBD 2007 - Presentation Transcript
Web Semântica Bernadette Farias Lóscio [email_address] Universidade Federal do Ceará – UFC Departamento de Computação
Conteúdo
A Web (Sintática x Semântica)
Tecnologias para a Web Semântica
Aplicações
Conclusões
Web Atual
Páginas direcionadas para pessoas e não para o processamento
O principal foco é apresentação de informações
O processo de interpretação é feito pelos usuários
Web Atual Por que os computadores não conseguem interpretar as informações? Faltam informações sobre as páginas!
Web Atual A Web atual é uma Web Sintática!
Web Sintática
Principal ferramenta: mecanismos de busca baseados em palavras-chave
Problemas...
Grande número de páginas com pouca precisão
Informações distribuídas em várias páginas e integração manual
Web Sintática O que fazer? Adicionar semântica as páginas!
Web Semântica
Representar o conteúdo da Web para facilitar o seu processamento
Categorizar as informações para facilitar o acesso
Web Semântica Cenário clássico (Tim Berners Lee, 2001)
A Lucy quer marcar uma consulta e uma série de sessões de fisioterapia para a mãe dela!
A consulta tem que ser no horário que a Lucy tem disponibilidade
De preferência deve ser próximo da casa dela
O médico e os fisioterapeutas devem ser qualificados e credenciados pelo plano de saúde
Web Semântica Agente da Lucy Agente do médico Informações sobre o tratamento da mãe da Lucy Quais médicos atendem aos requisitos iniciais? Casa os horários da Lucy com os horários vagos dos profissionais Serviços médicos
Web Semântica Arquitetura em níveis
XML
Proposta pelo W3C
Linguagem de marcação extensível
Troca de informações
Usada para criação de novas linguagens de marcação
XML
Exemplo:
<eventosSBC> <evento codigo=“XXIISBBD”> <nome> Simpósio Brasileiro de Banco de Dados </nome> <cidade> João Pessoa </cidade> <local> Hotel Tambaú </local> <periodo> <inicio> 15/10/2007 </inicio> <fim> 19/10/2007 </fim> </periodo> ... </evento> ... </eventosSBC>
XML
Esquema XML
Define a estrutura de um conjunto de instâncias de documentos XML
Define elementos válidos e seus respectivos modelos de conteúdo
mecanismo para identificar unicamente os elementos e atributos de XML
definido através de um URI (ex: URL)
Exemplo:
xmlns:xsd =“http://www.w3.org/2001/XMLSchema”
Web Semântica Principais Tecnologias metadados ontologias agentes lógica
Metadados Dados sobre dados ! “ informações para a Web que podem ser compreendidas por máquinas”. (W3C – World Wide Web Consortium)
Metadados
“ O termo se refere a qualquer informação utilizada para a identificação, descrição e localização de recursos.”
(International Federation of Library Associations)
Metadados
As páginas html não trazem metadados explícitos!
As tags html especificam detalhes de apresentação!
Metadados
Como adicionar semântica às páginas html?
XML e RDF
Metadados XML é suficiente?
<curso nome= “Banco de Dados” >
<professor> Berna Farias </professor>
</curso>
<professor nome=“Berna Farias”>
<leciona> Banco de Dados </leciona>
</professor>
A semântica dos dados não fica explícita!
RDF Resource Description Framework
Linguagem baseada em XML para descrever metadados na Web
Objetiva tornar a semântica dos recursos Web acessíveis a máquinas
RDF
Descrevendo recursos Web com RDF
Propriedades para itens de compra
Informações sobre páginas (título e autor)
Conteúdo e classificação de figuras
Conteúdo para máquinas de busca
RDF Idéias básicas recurso propriedade valor + + Sentença
RDF Idéias básicas
É um objeto sobre o qual queremos “falar”! Ex: autores, livros, hotéis...
Deve ter um identificador universal único (URI) Ex: URL
recurso propriedade valor + + Sentença
RDF Idéias básicas
Recursos que descrevem relacionamentos entre recursos
Ex: escrito_por, idade, título...
recurso propriedade valor + + Sentença
RDF Idéias básicas
É um objeto que pode ser um recurso ou um literal!
Ex: nome de uma pessoa
recurso propriedade valor + + Sentença
RDF Visões de uma sentença
Exemplo de sentença:
Berna Farias criou o site
http://www.lia.ufc.br/~bernafarias
RDF Visões de uma sentença
Exemplo de sentença:
Berna Farias criou o site
http://www.lia.ufc.br/~bernafarias
recurso propriedade literal
RDF Visões de uma sentença ...como uma tripla: ( http://www.lia.ufc.br/~bernafarias, http://meudominio.org/criadoPor, “Berna Farias”) http://www.lia.ufc.br/~bernafarias Berna Farias criadoPor ... como um grafo:
RDF
Representação que pode ser processada
<rdf:RDF>
<rdf:Description
about = “http://www.lia.ufc.br/~bernafarias”>
<b:criadoPor> Berna Farias </b:criadoPor>
</rdf:Description>
</rdf:RDF>
RDF Sintaxe básica
Elemento raiz <rdf: RDF>
Contém um conjunto de elementos
<rdf: Description>
Cada elemento especifica uma sentença sobre um recurso
<rdf:RDF>
<rdf:Description about = “91002043177”>
<uni:nome> Berna Farias </uni:nome>
<uni:cargo> professor </uni:cargo>
</rdf:Description>
<rdf:Description about = “CK120”>
<uni:nomeDisciplina> Banco de Dados </uni:nomeDisciplina>
<uni:ensinadoPor> Berna Farias </uni:ensinadoPor>
</rdf:Description>
</rdf:RDF>
RDF Sintaxe básica RDF - Exemplo
RDF Sintaxe básica
rdf: resource
<rdf:Description about = “92345566994”> <uni:nome> Vania Vidal </uni:nome> <uni:cargo> professor </uni:cargo> </rdf:Description> <rdf:Description about = “CK120”> <uni:nomeDisciplina> Fundamentos de Banco de Dados </uni:nomeDisciplina> <uni:ensinadoPor rdf:resource = “ 92345566994 ”/> </rdf:Description>
RDF
RDF permite descrever recursos
RDF não define a semântica de um domínio
Como descrever um domínio em particular? Usando RDF Schema!
RDF Schema Idéias básicas
Permite definir termos de um vocabulário e relacionamentos entre eles
Oferece um significado extra aos recursos e propriedades RDF
Este significado extra (semântica) especifica como um termo deve ser interpretado
RDF Schema Idéias básicas
Utiliza-se o RDF Schema em conjunto com o RDF
RDF Schema é um tipo de dicionário que pode ser lido por máquinas
RDF Schema Idéias básicas
Principais conceitos
Classes
Propriedades
Hierarquia de classes
Hierarquia de propriedades
Níveis RDF e RDF Schema Banco de Dados Berna Farias ensinadoPor RDF RDFS prof. adjunto prof. visitante prof. substituto funcionario professor subClassOf subClassOf subClassOf subClassOf literal id fone domain domain range range range range disciplina ensinadoPor envolve subPropertyOf domain domain
Dois professores não podem ter o mesmo valor para CPF!
A linguagem OWL
União de classes
<owl:Class rdf:ID=“pessoasUni”>
<owl:unionOf rdf:parseType = “Collection”>
<owl:Class rdf:about = “professor”/>
<owl:Class rdf:about = “aluno”/>
</owl:unionOf>
</owl:Class>
A linguagem OWL
Interseção de classes
<owl:Class rdf:ID = “professorCS”>
<owl:intersectionOf rdf:parseType=“Collection”>
<owl:Class rdf:about = “professor”/>
<owl: Restriction>
<owl:onProperty rdf:resource=“#pertenceA”/>
<owl:hasvalue
rdf:resource=“#DepartamentoCS”/>
</owl:Restriction>
</owl:intersectionOf>
</owl:Class>
A linguagem OWL
Criação de instâncias
<rdf:Description rdf:ID = “91887711”>
<rdf:type rdf:resource =“#professor”>
</rdf:Description>
Ou
<professor rdf:ID = “91887711”/>
Etapas do Projeto de uma Ontologia
Determinar o escopo
Considerar o reuso
Enumerar termos
Definir taxonomia
Definir propriedades
Definir restrições
Definir instâncias
1. Determinar o escopo
Qual o domínio a ser coberto pela ontologia?
Para quê será usada esta ontologia?
Para que tipo de questões a informação na ontologia deve oferecer respostas?
2. Considerar o reuso
Por que reutilizar outras ontologias?
Para poupar esforços
Para interagir com as ferramentas que usam outras ontologias
Para empregar ontologias que foram validadas através do uso em outras aplicações.
3. Enumerar termos
Quais os termos sobre os quais vamos falar?
Quais as propriedades desses termos?
O que queremos dizer sobre esses termos?
4. Definir taxonomia
Definir as classes que irão compor a ontologia
Definir a hierarquia das classes, incluindo os conceitos de superclasses e subclasses
5. Definir propriedades
Definir as propriedades de objetos que definem relacionamentos entre classes
Definir propriedades de dados
Definir domain e range para as propriedades
6. Definir restrições
Restrições sobre Propriedades (facetas) descrevem ou limitam o conjunto de valores possíveis para as propriedades
7. Definir instâncias
Criar as instâncias das classes
Atribuir os valores das propriedades para as instância de acordo com as restrições definidas
Exemplo
Criar uma ontologia para representação de relações de parentesco
Quais termos serão representados pela ontologia?
Pai, mãe, filho, filha, irmã, irmão...
A ferramenta Protégé
Protégé – Criação de Classes
Protégé – Criação de Classes
Protégé – Criação de Propriedades
Protégé – Criação de Instâncias
Protégé – Criação de Restrições
Protégé – Criação de Restrições
Protégé – Criação de Restrições
Protégé – Criação de Restrições
Protégé – Criação de Instâncias
Protégé
Ontologias Ferramentas
Editores de Ontologias e de Metadados. Ex.: OilEd, OntoEdit, Protégé
Ferramentas de Visualização. Ex.: OilViz (do OilEd), TGViz
Mecanismos de Inferência (reasoners). Ex.: JESS, FaCT, RACER, Pellet
Bibliotecas de Ontologias
Reutilização de ontologias é importante!
Sistemas de gerência de bibliotecas de ontologias oferecem
Suporte à reutilização
Infra-estrutura para armazenamento, busca e recuperação de ontologias
Mecanismos de tradução de ontologias
Suporte para a edição de ontologias
Ex: Ontolingua, WebOnto, Ontology Server
Web Semântica Principais Tecnologias metadados ontologias agentes lógica
Agentes de Software
“ Em vez de fazer tudo para os usuários, os agentes (de software) vão achar maneiras possíveis de atender às suas necessidades, e então oferecer as opções ao usuário.”
(James Hendler)
Agentes de Software Características
Autonomia
Proatividade
Adaptatividade
Mobilidade
Interatividade
...
Comportam-se mais como um assistente do que como uma ferramenta
Agentes de software na Web Semântica
Serão responsáveis por:
Coordenar tarefas de busca
Comparação e negociação na rede
Não vão agir de modo 100% autônomo
Vão realizar o trabalho “pesado” para que o usuário tome decisões
Agentes de Software na Web Semântica
Vão se comunicar através do compartilhamento de ontologias do domínio
Ontologias servirão como base para a troca de informações entre agentes de software
Agentes de Software na Web Semântica
E se não existir uma única ontologia?
Agentes de Software na Web Semântica
Como os agentes de software determinam se conceitos compartilhados são semanticamente equivalentes?
Agentes de Software na Web Semântica
Como agentes de software determinam se conceitos diferentes têm o mesmo significado?
Como agentes de software determinam se suas ontologias pertencem a um mesmo domínio?
Agentes de Software na Web Semântica Como prover a interoperabilidade semântica entre os agentes? Alinhamento de ontologias!
Agentes de Software Interoperabilidade semântica Agente 1 Ontologia 1 Agente 2 Ontologia 2 mapeamentos semânticos (O 1 , O 2 ) Domínio A alinhamento
Alinhamento de ontologias Publicacao ISBN autor ano String String Integer Livro editora String Periódico classif. String Livro editora String ISBN String ano Integer Ontologia 1 Ontologia 2 Artigo confer. String Autor nome String Artigo confer. String
Web Semântica Principais Tecnologias metadados ontologias agentes lógica
Lógica
Como pode ser usada na Web Semântica?
Para descobrir novos conhecimentos e auxiliar na tomada de decisões
Lógica
Pode ser usada para descobrir conhecimento ontológico que não está explícito
Ex:
Todos os professores são funcionários da universidade
Se Berna é uma professora então Berna é uma funcionária da universidade
Lógica
Pode ser usado por agentes inteligentes para auxiliar a tomada de decisões
Ex:
Um agente de compras pode decidir oferecer um desconto para um cliente com base na seguinte regra
clienteFiel(X) desconto(5%)
Lógica
Pode oferecer explicações para conclusões
Os passos para se chegar a uma conclusão podem ser rastreados
Recursos importante porque aumenta a confiança dos usuários
Lógica
Explicações são necessárias para a comunicação entre agentes
Agente 1 Agente 2 Você me deve R$100,00 Por que? compra(X, Item) ٨ preco(Item,P) ٨ entrega (Item, X) deve(X, P)
Lógica
Deverá ser capaz de ser processada...
Aplicações Comércio eletrônico
O processamento de informações é feito manualmente
O que fazer?
Usar agentes para interpretar as informações
Usar ontologias
Benefícios com a Web Semântica
Informações extraídas em um único formato
Aplicações Web Semântica Geo-espacial
Busca Semântica
Dicionários Geográficos
Catálogos de Metadados
(Opções + simples de compartilhamento)
Geo-Ontologias
Descrição de dados e serviços espaciais
Conclusão
A Web Semântica é uma evolução da Web atual
Agentes farão o “trabalho pesado”
Ontologias serão usadas para definição de vocabulários comuns para os agentes
A troca de informações entre os agentes poderá ser feita com linguagens baseadas em XML
Estratégias de negociação poderão ser escritas em lógica
O primeiro passo poderá ser dados pelas grandes organizações
Conclusão
Grande desafio:
adoção da tecnologia!
Bibliografia
Breitman, K. “Web Semântica: a Internet do Futuro”. Editora LTC, 2005.
Goméz-Pérez, A., Corcho, O., Fernandez-Lopez, M. “Ontological Engineering (Advanced Information and Knowledge Processing)”, Springer-Verlag, 2004.
Uschold, M., Gruninger, M. “ Ontologies and Semantics for Seamless Connectivity”. ACM SIGMOD Record Vol. 33, Issue 4, 2004.
“ DAML+OIL: a Reason-able Web Ontology Language”. Keynote talk given at WES/CAiSE 2002, Toronto, May 28th, 2002.
“ OWL Web Ontology Language Guide”. W3C Recommendation 10 February 2004 in http:// www.w3.org/TR/owl-guide/
Lacy, L.W. “OWL – Representing Information Using the Web Ontology Language”, Trafford, 2005.
RDF/XML Syntax Specification (Revised). Dave Beckett, Editor. W3C Recommendation, 10 February 2004, Available at: http://www.w3.org/TR/rdf-syntax-grammar/.
0 comments
Post a comment