DCI-UFPE 1
Web Semântica e a
Recuperação da Informação
Roteiro
• Evolução da Web
• Web Semântica
• Estrutura da Web Semântica
• Linguagens da Web Semântica
• RDF
• Ontologia (RDFS e OWL)
• Exemplo de acesso à Dbpedia
• Conclusão
Gerações da Web
Terceira Geração
-significado separado da estrutura
-máquinas realizando inferências visando auxiliar na interpretação do significado e da relevância das informações
-baseada em RDF, RFDS, OWL, DAM+OIL, Topic Maps, SHOE, XOL
Segunda Geração
-estrutura separada da apresentação
-metadados para representação e organização da informação -baseada em XML, XLS
Primeira Geração
-apresentação separada da localização
-publicação rápida e acesso irrestrito a textos integrais -baseada em HTML, CSS, PDF
Web Semântica
• A web semântica foi proposta por Tim
Berners-Lee em 1998 como uma extensão da web .
– O artigo clássico desta proposição é “The Semantic
Web” de Tim Berners-Lee, James Hendler e Ora Lassila
publicado em 2001.
– Desde então a Ciência da Informação busca se
apropriar deste conceito e das tecnologias
relacionadas.
• Extensão da web atual a fim de permitir
processamento automático de informações pelos
computadores.
Dados vinculados (Linked Data)
• A web de dados foi proposta por Tim Berners-Lee em
2006 como uma extensão da web, utilizando as
tecnologias criadas para a web semântica e alguns
princípios.
– A finalidade é publicar e compartilhar dados na web, bem como dar suporte a consolidação da web semântica.
– Motivado inicialmente pela disponibilização e acesso aberto a grandes bases de dados científicas na web.
• A web de dados visa permitir inferências sobre dados
publicados na web ligando os dados através de links
semânticos.
Exemplo de Base de Dados de Triplas
(modelo em grafo)
Web Semântica
• Web Semantica ou Ontologia de Web - organização
semântica das informações, adicionando significado
e interpretação lógica aos serviços e documentos
através da representação explícita do conhecimento
(semântica legível por máquina), base para o
desenvolvimento de serviços e aplicações mais
inteligentes
Web Semântica
A web semântica tem como objetivo fornecer uma
estrutura de descrição do significado dos documentos e
serviços na web a fim de permitir a realização de
inferências sobre os significados pelo computador.
◦ Esta estrutura e construída por meio da adoção de linguagens que visam fornecer uma descrição para o
conhecimento representado por meio de ontologias, e a
associação dos termos aos documentos e serviços na web. ◦ Deseja-se que os computadores sejam capazes de converter
de diferentes formatos, extrair, reunir, avaliar,
organizar/classificar, e selecionar/filtrar informação de interesse via programas chamados “agentes inteligentes”.
Linguagens da Web Semântica
Linguagem Função
XML Estruturação sintática de documentos
XML Schema Controle sintático à linguagem XML
(restrições à estrutura e definição de tipo de dados dos documentos)
RDF Mecanismo de descrição de recursos e seus relacionamentos através de triplas (objeto, propriedade, valor da propriedade). Descrição específica do objeto.
RDF Schema Define um vocabulário para descrição de objetos e suas relações. Permite definir classes, relações de subclasse e propriedades específicas para certa aplicação. Especifica/personaliza o significado dos elementos dos metadados para um domínio específico.
OWL Fornece um vocabulário para definição formal de ontologias. Descrição dos significados e relações do domínio.
Base de conhecimento (Knowledge
Base)
• As bases de conhecimento na web semântica são constituídas da especificação de dois tipos de conjuntos de declarações (statements):
Base terminológica – define o vocabulário (tipo das coisas, tipo das relações ou propriedades das coisas), especificada através de ontologias criadas ou reusadas usando RDFS e OWL.
Base de fatos ou instâncias – define as coisas e suas relações usando termos dos vocabulários, especificada por meio de RDF.
• Hipótese do Mundo Aberto (Open World Assumption) - adotada na Web Semântica\Web de dados
– Toda base de conhecimento tem informação incompleta – Um recurso pode ser de diferentes tipos ao mesmo tempo
– Se não há nenhuma declaração sobre um fato ou ele não pode ser inferido, nada se pode informar (unknown)
– É sempre possível adicionar novos fatos a bases existentes, isto é, as bases podem ser estendidas ou combinadas livremente
RDF (Resource Description Framework)
• Permite publicar e intercambiar dados (fatos).
• Os fatos são declarados através da especificação de
uma tripla:
– Recurso (Sujeito) – especificado por uma URI
– Propriedade (Predicado) – especificado por uma URI
Representação em Grafo
lei:426
“426”
“06/04/1993”
“Governo do Distrito...”
lei:numero
lei:data
lei:autor
RDF (Resource Description Framework)
• Exemplo de uso de RDF (notação N-triple):
– Recurso – Propriedade – Valor <http://www.cl.df.gov.br/legislacao/lei426> < http://www.cl.df.gov.br/legislação/numero> ”426” . <http://www.cl.df.gov.br/legislacao/lei426> <http://www.cl.df.gov.br/legislação/data> "06/04/1993” . <http://www.cl.df.gov.br/legislacao/lei426>
RDF (Resource Description Framework)
• Exemplo de uso de RDF (notação Turtle):
– Recurso
– Propriedade
– Valor
@prefix lei: <http://www.cl.df.gov.br/legislacao/> .
lei:lei426 lei:numero ”426”;
lei:data "06/04/1993” ;
RDF (Resource Description Framework)
• Exemplo de uso de RDF (notação RDF/XML):
– Recurso – Propriedade – Valor <?xml version=“1.0” encoding=“ISSO-8859-1”?> <rdf:RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#” xmlns:lei=“http://www.cl.df.gov.br/legislacao/”> <rdf:Description rdf:about=“http://www.cl.df.gov.br/legislacao/lei426”> <lei:numero>426</lei:numero>
<lei:data>06/04/1993</lei:data>
<lei:autor>Governo do Distrito Federal</lei:autor> </rdf:Description>
RDF Dublin Core
• Exemplo de uso de RDF e Dublin Core
<?xml version="1.0"?> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc= "http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://www.w3schools.com"> <dc:description>W3Schools - Free tutorials</dc:description>
<dc:publisher>W3CSchools</dc:publisher>
<dc:date>2008-09-01</dc:date>
<dc:type>Web Development Tutorial</dc:type>
<dc:format>text/html</dc:format>
<dc:language>en</dc:language> </rdf:Description>
Ontologia
Elemento basilar para construção da Web
Semântica.
Acredita-se que são capazes de permitir um
entendimento comum e compartilhado sobre
um determinado domínio de conhecimento,
tanto entre pessoas como entre computadores.
◦ garantem a comunicação livre de ambiguidades.
É um modelo conceitual que captura e explica o
vocabulário utilizado nas aplicações semânticas.
Ontologia
• É uma especificação explícita, formal e
compartilhada de uma conceituação.
– Conceituação - modelo abstrato de algum
fenômeno, sendo identificados os conceitos
relevantes desse fenômeno.
• Explícita - o tipo de conceitos utilizados e as restrições a esse uso são explicitamente definidos
• Formal - legível por máquina
• Compartilhada - captura um conhecimento consensual de um grupo
Ontologia
Cada campo do conhecimento humano tem
utilizado modelos próprios/adequados para
comunicar conceitos e relacionamentos ligados às
suas áreas específicas de trabalho, visando
coordenação de atividades de membros, rapidez
na criação e implementação de inovações.
◦ A web semântica pode ajudar na evolução do
conhecimento humano como um todo.
◦ O papel das ontologias é explicitar o vocabulário
utilizado e fornecer um padrão para o
Ontologias
Componentes básicos das ontologias:
◦ Classe – descreve um conjunto abstrato de objetos, representam conceitos. Permite a descrição de um grupo de instâncias por meio de propriedades. Ex: Tigre, Carnívoro.
◦ Propriedade – descreve atributo que caracteriza os objetos de uma classe. Pode ser um par atributo-tipo do valor ou uma relação entre classes (atributo-classe). Ex: Tigre mede Inteiro.
◦ Relações – propriedades que representa tipos de relações existentes entre classes em um domínio. Ex: Tigre é-um-subtipo-de Carnívoro.
◦ Instâncias - instância, indivíduo ou elemento pertencente a uma classe. Ex: Diego é-instancia-de Tigre.
RDF Schema (RDFS)
• Permite definir o vocabulário de arquivos RDF,
definindo ontologias de base. Exemplo de uso:
– lei complementar e lei ordinária são subclasses de norma – lei complementar e lei ordinária são normas
<?xml version=“1.0”>
<rdf:RDF xmlms:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#
xmlns:rdfs=http://www.w3.org/2000/01/rdf-shema#
xmlns:base=http://www.cl.df.gov.br/legislação> <rdfs:Class rdf:ID=“norma”/>
<rdfs:Class rdf:ID=“leicomplementar”>
<rdfs:subClassOf rdf:resource=“#norma”/> </rdf:Class>
<rdfs:Class rdf:ID=“leiordinaria”>
<rdfs:subClassOf rdf:resource=“#norma”/> </rdf:Class>
RDF Schema (RDFS)
• Através de RDFS podem ser definidas ontologias de
base contendo:
– Classes – Definidas através de instanciação da classe rdfs:Class e definição de uma URI.
• Exemplo: :Planet rdf:type rdfs:Class.
– Hierarquia de Classes – definida através das relações de subclasse (propriedade rdfs:subClassOf)
• Exemplo :Planet rdfs:subClassOf:CelestialBody .
– Propriedades – Definidas através da instanciação da classe rdf:Property especificação do domínio (rdfs:domain) e imagem (rdfs:range) de cada propriedade
• Exemplo: :satelliteOf rdf:type rdf:Property ;
rdfs:domain :CelestialBody .
rdfs:range :CelestialBody .
– Hierarquia de Propriedades – definida através das relações de subpropriedade (propriedade rdfs:subClassOf)
Exemplo de RDFS (turtle)
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix : <http://example.org/Space#> .
:Planet rdf:type rdfs:Class ;
rdfs:subClassOf :CelestialBody . :Satellite rdf:type rdfs:Class ;
rdfs:subClassOf :CelestialBody . :ArtificialSatellite rdf:type rdfs:Class ;
rdfs:subClassOf :Satellite . :satelliteOf rdf:type rdf:Property ;
rdfs:domain :CelestialBody . rdfs:range :CelestialBody . :Earth rdf:type :Planet .
:Moon rdf:type :Satellite ;
:satelliteOf :Earth . :Sputnik1 rdf:type :ArtificialSatellite ;
:satelliteOf :Earth ;
rdfs:label "Sputnik 1"@en .
Hierarquia
de Classes
Hierarquia
de Propriedades
Definição
de Instâncias
RDF Schema (RDFS)
• O que RDFS não define numa ontologia:
– Restrições a propriedades globais em um contexto local
• Exemplo: Restringir que certos animais comem somente vegetais ou somente carne dado que Animal come Comida, Vegetal é Comida, Carne é comida
– Restrições sobre propriedades (transitividade, não inversível, única por instância)
– Disjunção entre classes e propriedades
• Exemplo: Disjunção entre as classes Homem e Mulher que é Pessoa.
– Restrições na cardinalidade
• Exemplo: Cada ser humano geralmente tem no máximo duas pessoas que são seus pais, em Pai é Humano, e Pai pai-de Humano
– Restrições sobre instanciação de recursos
• Exemplo: condutor é instância ou de Ciclista ou de Motociclista ou de Motorista num dado evento (exclusivo entre múltiplas subclasse)
– A equivalência de duas URIs que representam o mesmo recurso. – Negação na definição de fatos.
RDF Schema (RDFS)
• Para dar conta das restrições não cobertas por RDFS, se faz
uso de OWL para definir ontologias mais complexas.
OWL
OWL (Web Ontology Language) é uma linguagem de construção de ontologias que permite a interpretação
algoritmica do significado e processamento dos significados pela máquina.
◦ Os recursos são descritos como classes, subclasses, propriedades, ou instância de uma classe (indivíduos).
◦ Entre as classes, além de relações hierárquicas de gênero-espécie, permite a definição de relacionamentos de interseção, união,
disjunção, cardinalidade, igualdade, e enumeração.
◦ Permite a definição de restrições sobre propriedades como domínio, intervalo, cardinalidade, valor simples, valor univoco, valor específico, valor instância de uma classe; bem como relações de simetria,
associatividade, comutação, igualdade.
◦ Permite definir relações entre indivíduos como equivalência, desigualdade, mutuamente diferentes.
OWL
Um documento owl pode ser escrito com o uso de uma
sintaxe baseada em xml (namespace owlx) ou em uma
sintaxe que utiliza RDF e RDFSchema (namespace owl).
A OWL possui três sublinguagens, cada uma sendo uma
extensão de sua predecessora mais simples:
◦ OWL Lite - permite a construção de uma hierarquia de
classificação e de restrições simples. Dá suporte à migração de taxonomias e tesauros para o formato de ontoglogia. ◦ OWL DL - máximo de expressividade enquanto retendo
completeza computacional. A ontologia pode ser mapeada para linguagens de lógica de descrição.
◦ OWL Full - máximo de expressividade sem garantias computacionais.
Exemplo de Ontologias:
•Lattes:
http://www.inf.pucrs.br/~ontolp/Visualizacao/Curriculo/50674.html
•Beer:
SPARQL
É um protocol e linguagem de consulta a bases de dados
RDF.
Tem uma semelhança sintática com a linguagem de
consulta SQL para banco de dados, mas diferentemente é
baseada em triplas rdf (na notação turtle) para busca
sobre fatos, e pode resultar em subgrafos RDF.
Cada base de dados do Linked Data oferece geralmente
um serviço chamado endpoint, que aceita consultas
SPARQL.
Os agentes inteligentes na web utilizarão SPARQL para
obter conhecimento sobre fatos nas bases de dados RDF
do linked data.
Exemplo: Dbpedia
http://dbpedia.org/resource/Pluto
http://dbpedia.org/resource
/Clyde_Tombaugh
http://dbpedia.org/resource/Streator,_Illinois
http://dbpedia.org/ontology
/Planet
http://dbpedia.org/property/discoverer http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://dbpedia.org/ontology/birthPlaceExemplo: Dbpedia
• Em notação N-Triples
<http://dbpedia.org/resource/Pluto> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://dbpedia.org/ontology/Planet>. <http://dbpedia.org/resource/Pluto> <http://dbpedia.org/ontology/discovered> "1930" . <http://dbpedia.org/resource/Pluto> <http://dbpedia.org/ontology/discovered> <http://dbpedia.org/resource/Clyde_Tombaugh> .Exemplo: Dbpedia
• Em notação Turtle (Terse RDF Triple Language)
– @prefix – associa prefix-label com URI
– @base – fornece URI para complementar todas as URI
– As duas notações abaixo são equivalentes:
@prefix dbo: <http://dbpedia.org/ontology/> . @base <http://dbpedia.org/resource/> .
<Pluto> dbo:discovered "1930" .
<Pluto> dbo:discoverer <Clyde_Tombaugh> . @prefix dbo: <http://dbpedia.org/ontology/> . @base <http://dbpedia.org/resource/> .
<Pluto> dbo:discovered "1930" ;
Exemplo: Dbpedia
• Em notação RDF/XML
<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbo="http://dbpedia.org/ontology/">
<rdf:Description
rdf:about="http://dbpedia.org/resource/Pluto"> <dbo:discovered>1930</dbo:discovered>
<dbo:discoverer
rdf:resource="http://dbpedia.org/resource/Clyde_Tombaugh"/> </rdf:Description>
Exemplo: Dbpedia
• SPARQL endpoint:
http://dbpedia.org/sparql/
– Exemplo de query:
– Resultado
select distinct ?planeta
where {
?planeta rdf:type dbo:Planet.
?planeta dbo:discoverer dbr:Clyde_Tombaugh.
} LIMIT 100
planeta
http://dbpedia.org/resource/3754_Kathleen http://dbpedia.org/resource/Pluto
Exemplo: Dbpedia
• SPARQL endpoint:
http://dbpedia.org/sparql/
– Exemplo de query:
– Qual o resultado esperado?
select distinct ?Astronomo
where {
?planeta rdf:type dbo:Planet.
?planeta dbo:discoverer ?Astronomo.
?Astronomo rdf:type dbo:Person.
Exemplo: Dbpedia
• SPARQL endpoint:
http://dbpedia.org/sparql/
– Como obter uma lista de Astrônomo e o planeta
descoberto por ele?
select distinct ?Astronomo ?planeta
where {
?planeta rdf:type dbo:Planet.
?planeta dbo:discoverer ?Astronomo.
?Astronomo rdf:type dbo:Person.
Ferramentas para construção de
Ontologias
W3C
http://www.w3.org/standards/semanticweb/
Protégé: Editor, ambiente e framework gratuito e de código aberto
◦ http://protege.stanford.edu/
◦ http://webprotege.stanford.edu/
Chimaera/Ontolingua: Ferramentas para construção de ontologias
◦ http://www.ksl.stanford.edu/software/ontolingua/
ONTOKEM: Ferramenta para construção de ontologias (pt-br)
◦ http://ontokem.egc.ufsc.br/
ONTOLP: Construção de ontologias a partir de textos
◦ http://www.inf.pucrs.br/ontolp/downloads-ontolpplugin.php
Tutoriais
◦ http://protegewiki.stanford.edu/wiki/Protege4GettingStarted
Repositórios de Ontologias
Mecanismo de busca por ontologias
◦ http://swoogle.umbc.edu/
Lista de Boas Ontologias do W3C
http://www.w3.org/wiki/Good_Ontologies
Repositórios de ontologia
◦ http://www.inf.pucrs.br/~ontolp/downloads.php ◦ http://owl.cs.manchester.ac.uk/repository/ ◦ http://www.daml.org/ontologies/ ◦ http://www.schemaweb.info/ ◦ http://www.ksl.stanford.edu/software/ontolingua/ ◦ http://pronto.metadata.net/ontologies Sistema de recuperação de informação baseado em ontologias
Aplicações da Web Semântica
Site da BBC (Semantic Publishing) http://www.bbc.com/sport/football/teams/chelsea
http://www.bbc.co.uk/ontologies
http://www.bbc.co.uk/ontologies/coreconcepts
http://www.bbc.co.uk/blogs/bbcinternet/2012/04/sports_dynamic_semantic.
html
Site da Best Buy
http://www.bestbuy.com/
http://www.heppnetz.de/projects/goodrelations/
http://wiki.goodrelations-vocabulary.org/Main_Page
http://wiki.goodrelations-vocabulary.org/Datasets
Redação de feeds com Zemanta
http://www.zemanta.com/
Nasa XSearch
https://sweet.jpl.nasa.gov/
Ontologias mais populares da área
de Documentação
Dublin Core Elements (DC) - Basic resource metadata – Namespace URI: http://purl.org/dc/elements/1.1/
Dublin Core Terms (DCT) - Basic resource metadata (DCMI Metadata Terms) – Namespace URI: http://purl.org/dc/terms/
Dublin Core Type - Basic resource types (DCMI Type Vocabulary) – Namespace URI: http://purl.org/dc/dcmitype/
Bibliographic Ontology - Bibliographic metadata (BIBO) – Namespace URI: http://purl.org/ontology/bibo/
• VIAF - The Virtual International Authority File – Namespace URI: https://viaf.org/
• Friend of a friend - Relationships between people and organizations (FOAF) – Namespace URI: http://xmlns.com/foaf/0.1/
• Europeana Data Model (EDM)
– Namespace URI: http://www.europeana.eu/schemas/edm/
• SKOS
– Namespace URI: http://www.w3.org/2004/02/skos/core#
• ORE
Conclusões
A web semântica será uma realidade após:
◦ a construção de bases de dados (bases de conhecimento) contendo
informações estruturadas utilizando linguagens padrão (rdf, rdfs e owl), regras de inferência e raciocinadores;
◦ a criação de programas (agentes inteligentes) que coletem o conteúdo de diversas bases de conhecimento, processem essas informações e troquem os resultados com outros programas.
A construção de uma ontologia é um processo mais complexo que a construção de um vocabulário controlado, taxonomia ou tesauro para determinado domínio do conhecimento.
As ontologias são os instrumentos-chave para a interoperabilidade de metadados entre sistemas documentais.
As vantagens/desvantagens da “anotação semântica” dos documentos com base em ontologias para recuperação de informação ainda é um assunto de pesquisa, embora as ontologias já se mostrem úteis na indexação automática, na classificação automática de documentos e na criação de portais semânticos de informação.
◦ A recuperação da informação na web semântica terá como
finalidade principal a resposta à perguntas, em detrimento à
busca por documentos da web atual.
Referências
(FEITOSA, 2006) Capítulo 4
http://semanticweb.org/wiki/Main_Page
VILLALOBOS, Ana Paula Oliveira; Silva, Dircéia Cristina da. AS
POTENCIALIDADES DA WEB SEMÂNTICA PARA A CIÊNCIA DA INFORMAÇÃO.
Ponto de Acesso, Salvador, v. 4, n. 2, p. 58-75, ago./set. 2010.
RAMALHO, Rogério Aparecido Sá; VIDOTTI, Silvana Aparecida Borsetti Gregório; FUJITA, Mariângela Spotti Lopes. Web semântica: uma
investigação sob o olhar da Ciência da Informação. DataGramaZero, Rio de Janeiro, v. 8, n. 6, dez. 2007.
SOUZA, Renato Rocha; ALVARENGA, Lídia. A Web Semântica e suas contribuições para a ciência da informação. Ciência da Informação, Brasília, v. 33, n. 1, p. 132-141, jan./abr. 2004.
ROCHA, Rafael Port da. Metadados, Web semântica, categorização automática: combinando esforços humanos e computacionais para a
descoberta e uso dos recursos da web. Em Questão: Revista da Faculdade
de Biblioteconomia e Comunicação da UFRGS, Porto Alegre, v. 10, n. 1, p.