1. RDF/RDF Schema
Grupo:
Alex Dayrell
Diego Maia
Felipe Torres
Hugo Richard
Max Sales
Vinicius Pereira
2. História do RDF
W3C
W3C ou World Wide Web Consortium é a principal organização
padrão internacional para a rede mundial de computadores (World
Wide Web). Foi organizado como uma associação aonde membros
mantém uma equipe totalmente dedicada para a proposta de
trabalho unificado no desenvolvimento de padrões para a WEB. Em
Fevereiro de 2008, a organização tinha 434 membros.
A W3C ainda está engajada na educação e serviços para a
comunidade, desenvolvendo softwares e servidores como um fórum
aberto com o objetivo de discutir sobre a WEB.
A W3C é chefiada por “Sir Tim Berners-Lee”, criador do primeiro
browser para internet e o autor primário das especificações do URL
original, HTTP e HTML, as principais tecnologias que foram as bases
para a WEB.
4. História do RDF
RDF
O RDF é pertencente á família do W3C.
Teve como predecessor mais próximo o MCF, um projeto iniciado por
Ramanathan V. Guha, enquanto trabalhava na Apple Computer
A W3C publicou uma especificação do modelo de dados do RDF e
da sintaxe do XML como uma recomendação em 1999. Foi então
iniciado um trabalho em uma nova versão que foi publicada em 2004,
com base no conjunto das especificações anteriormente relatadas
pela W3C.
Ainda havia algumas implementações baseada nas recomendações
de 1999 que tinham que ser completamente atualizadas, a adoção
dessas especificações melhoradas foram rápidas desde que foram
desenvolvidas para o público aberto, ao contrário de algumas
tecnologias mais novas da W3C. A maioria dos novatos da RDF não
têm noção que as especificações antigas do sistema ainda existem.
5. Motivação
A idéia da Web Semântica surgiu em 2001, quando Tim Berners-Lee,
James Hendler e Ora Lassila publicaram um artigo na revista
Scientific American, intitulado: “Web Semântica: um novo formato de
conteúdo para a Web que tem significado para computadores vai
iniciar uma revolução de novas possibilidades.”
Web Semântica é uma proposta para tornar o conteúdo da internet
interpretável por máquinas, o que facilitaria a integração de sistemas
e bancos de dados na Internet.
A web semântica não está somente relacionada ao conteúdo de um
recurso, mas também à forma de como este se relaciona com os
demais recursos na web. Portanto, é essencial que os recursos
disponibilizados sejam expressivos o bastante para que as máquinas
ou agentes sejam capazes de processar e entender o real significado
do dado, intermediando as necessidades de cada usuário e as fontes
de informações disponíveis.
6. Motivação
Atualmente, existem projetos em desenvolvimento em várias
comunidades científicas internacionais visando criar ferramentas
para descrição de recursos eletrônicos, ou seja, para que os
computadores consigam interpretar a linguagem humana e até
mesmo indexar de forma eletrônica os documentos inseridos na
Internet ou nas bases de dados destas próprias comunidades
científicas. São exemplos destes projetos:
Scorpion Project, desenvolvido pela comunidade americana;
Projeto INDEXA, desenvolvido no Brasil;
DESIRE - Development of a European Service for Information on
Researchand Education, da Comunidade Européia.
7. Motivação
Berners-Lee (2001), idealizador da nova web, cita um exemplo do
que a Web Semântica será capaz de fazer. Neste exemplo, um
usuário pede ao computador que ele encontre um médico de uma
determinada área da medicina e dá à máquina algumas restrições,
tais como: este médico deve ter seu consultório no mesmo bairro que
o usuário e deve estar ligado à comunidade acadêmica. O
computador navega pela rede e encontra algumas opções. De uma
maneira inteligente e automática, ele deve comparar a agenda do
usuário com a agenda do médico e oferecer opções de horários para
consulta. O usuário só terá o trabalho de escolher o horário que
melhor lhe convém.
O RDF é o coração da WEB Semântica!!!
9. Introdução
RDF significa Resource Description Framework, que em português é algo
como Framework de Descrição de Recursos.
A internet é como uma biblioteca sem ordem alguma. Não temos um banco
de dados sobre a internet organizado, listando o conteúdo, seus autores,
data de criação, preços de produtos, localização de lojas e diversas outras
características. Isso se chama metainformação (informação sobre
informação).
Com o RDF, a proposta não é centralizar essa metainformação sobre a
internet em um único banco, mas criar uma maneira com a qual cada
página, cada recurso possa criar sua própria metainformação e torná-la
disponível para quem precisar.
O RDF não é uma linguagem, embora faça uso de algumas linguagens pra
se expressar. As mais comuns são o XML (formando RDF/XML), e o
TURTLE (uma linguagem feita para expressar RDF de maneira simples).
10. Introdução
O RDF é um sistema para auxílio ao desenvolvimento de metadados
cuja finalidade é promover a interoperabilidade entre aplicações que
compartilham informações que sejam entendidas por sistemas na
web (ZANETE, 2002). Metadados representados em RDF são
usados para dar significado aos recursos da Web Semântica por
permitir que estes sejam manipulados e compreendidos por
máquinas.
Ele não predefine qualquer semântica nem pressupõe um domínio
específico de conhecimento. Trata-se assim de um mecanismo de
descrição neutro, que serve para descrever recursos de qualquer
área do conhecimento (RDF, 1999 apud BAX; REZENDE, 2001).
11. Introdução
Em RDF, um domínio de conhecimento é definido via um RDF
Schema (RDF, 1998). É no RDF Schema, portanto, que é definida a
semântica e as características de uma propriedade. Uma aplicação
que crie metadados em RDF e outra que utilize estes metadados
devem utilizar o mesmo Schema para um funcionamento adequado.
12. Conhecimentos Necessários para
Uso do RDF
HTML :
HTML (acrônimo para a expressão inglesa HyperText Markup
Language, que significa Linguagem de Marcação de Hipertexto) é
uma linguagem de marcação utilizada para produzir páginas na Web.
XHTML:
XHTML, ou eXtensible Hypertext Markup Language, é uma
reformulação da linguagem de marcação HTML baseada em XML.
Combina as tags de marcação HTML com regras da XML; este
processo de padronização tem em vista a exibição de páginas Web
em diversos dispositivos (televisão, palm, celular, etc). A intenção é
melhorar a acessibilidade.
13. Conhecimentos Necessários para
Uso do RDF
XML:
XML (eXtensible Markup Language) é uma recomendação da W3C
para gerar linguagens de marcação para necessidades especiais. É
um subtipo de SGML (acrônimo de Standard Generalized Markup
Language, ou Linguagem Padronizada de Marcação Genérica) capaz
de descrever diversos tipos de dados. Seu propósito principal é a
facilidade de compartilhamento de informações através da Internet.
XML Namespaces:
Extensão do XML criada para evitar o conflito de nomes de
elementos.
14. RDF e a Busca de Informações na
WEB
O RDF é um método geral para decompor qualquer tipo de
conhecimento em pedaços pequenos, com algumas regras sobre a
semântica, ou significado desses pedaços.
O ponto é ter um método tão simples que pode expressar qualquer
informação, e ainda assim estruturado de tal forma que se possam
fazer coisas úteis com isso no computador.
RDF é projetado para representar conhecimento em um mundo
distribuído. Isto significa que o RDF está particularmente preocupado
com o significado.
15. RDF e a Busca de Informações na
WEB
Tudo que é mencionado no RDF significa algo, se é uma referência
para algo concreto, um conceito abstrato, ou uma informação.
Padrões construídos em RDF descrevem inferências lógicas entre
informações e como procura-las em um grande banco de dados do
RDF.
O que faz o RDF ser adaptado para o conhecimento distribuído na
rede é que com o uso de suas aplicações é possível reunir arquivos
de RDF postados por diferentes pessoas ao redor da Internet.
16. RDF e a Busca de Informações na
WEB
Através disso, pode-se aprender facilmente mais coisas,
conseguindo mais informações sobre o assunto, do que na leitura de
um único documento. Isto é feito de dois modos, primeiro são feitos
links entre documentos com vocabulários em comum, e em segundo
lugar é permitido para qualquer documento o uso de qualquer
vocabulário.
Essa flexibilidade é claramente única do RDF, de modo que facilita a
busca de informações na internet, já que partindo do pressuposto
que documentos com o mesmo vocabulário geralmente terão o
mesmo tema em comum, com o uso do RDF as pesquisas podem ter
um melhor resultado para o usuário.
17. RDF e a Busca de Informações na WEB
Casos de Uso
Integração de dados de diferentes fontes sem uma linguagem de
programação em comum.
Oferecimento de dados pra re-utilização por outros grupos.
Descentralização de dados, para que um único grupo não “possua”
todas as informações..
Fazer algo que requer grandes quantidade de dados (browse, query,
match, extract). Para isso é desenvolvida uma ferramenta genérica
que permita faze-lo em cima do modelo de dados do RDF (com a
vantagem de não ser amarrada á uma única tecnologia de
representação de dados, como um banco de dados específico, por
exemplo).
18. RDF e a Busca de Informações na WEB
Exemplo Prático de Uso
E-bay e Amazon são exemplos de sites que utilizam o RDF na
estrutura de pesquisa para correlacionar dados de fontes
diferentes, no caso os vários produtos publicados por diferentes
vendedores no site.
Já que ambos são mercados virtuais o uso do RDF auxilia
bastante aos compradores a encontrar os produtos desejados e
em preços acessíveis, relacionando para cada, caso haja,
vários vendedores e as informações do produto desejado.
19. RDF e a Busca de Informações na WEB
Exemplo Prático de Uso
20. RDF e a Busca de Informações na WEB
Exemplo Prático de Uso
Aqui vai ser mostrado um cenário em que a informação
compartilhada e distribuída na internet faz muito sentido: um banco
de dados com produtos de múltiplos vendedores, com o comentário
desses produtos sendo feito também por vários avaliadores.
Nenhum vendedor está sendo responsável por manter um banco de
dados central para este projeto, especialmente, já que este conterá
informações de produtos competidores e avaliações negativas sobre
os produtos. Igualmente, não é possível um dos avaliadores terem
recursos para manter um banco de dados desse porte sempre
atualizado.
21. RDF e a Busca de Informações na WEB
Exemplo Prático de Uso
O RDF foi montado especialmente para este tipo de projeto. Com o
uso deste, cada vendedor e avaliador publicará as informações em
RDF nos próprios sites. Os vendedores escolherão URIs (um
identificador global utilizado pelo RDF para linkar nomes com o
mesmo significado) para os produtos deles, e os avaliadores usarão
esse URIs ao compor seus comentários.
Os vendedores não precisam concordar em um esquema comum
para a nomeação de seus produtos e os avaliadores não são
“amarrados” pelo formato de dados utilizado pelos vendedores. O
RDF permite para os vendedores e avaliadores trabalharem com
seus dados, sem forçá-los a utilizar um único vocabulário e
representação dos dados.
22. RDF e a Busca de Informações na WEB
Exemplo Prático de Uso
23. RDF e a Busca de Informações na WEB
RDF – Mais Exemplos de Uso
Descrevendo propriedades para itens á venda, como o preço e
disponibilidade (como visto no exemplo anterior)
Descrevendo planejamento de tempo para eventos na web
Descrevendo informações sobre web pages, como conteúdo, autor,
data de criação e modificação
Descrevendo conteúdo e avaliação para figuras da web
Descrevendo conteúdo para métodos de pesquisa
Descrevendo bibliotecas eletrônicas
24. A Sintaxe do RDF
O RDF usa identificadores Web, conhecidos como URIs, para
identificar recursos.
Ele descreve esses recursos usando os pares propriedade e valor da
proprieade.
Um recurso é qualquer entidade que pode ter um URI, como
http://www.meusite.com.br/RDF.
Uma propriedade é um recurso que tem um nome, como 'autor' ou
'home page'.
Um valor de propriedade é algo como 'Hugo Alves Richard' ou 'http://
www.meusite.com.br/.'
25. A Sintaxe do RDF: Exemplo 1
Exemplo simplificado de um documento RDF:
<?xml version="1.0"?>
<RDF>
<Description about="http://www.meusite.com.br/RDF">
<author>Hugo Alves Richard</author>
<homepage>http://www.meusite.com/</homepage>
</Description>
</RDF>
26. A Sintaxe do RDF
A combinação de um recurso, uma propriedade e um valor de
propriedade forma o que se chama declaração – também conhecidos
como sujeito, predicado e objeto da daclaração.
Por exemplo:
Declaração: 'O autor de http://www.meusite.com.br/RDF é Hugo Alves
Richard'
O sujeito da declaração é 'http://www.meusite.com.br/RDF'.
O predicado é 'autor'.
E o objeto é 'Hugo Alves Richard'
Tudo muito simples e intuitivo, não é mesmo?
27. A Sintaxe do RDF: Exemplo 2
Vejamos mais um exemplo:
Title Artist Country Company Price Year
Empire Bob Dylan USA Columbia 10.90 1985
Burlesque
Hide your Bonnie UK CBS 9.90 1988
Heart Tyler Records
...
29. A Sintaxe do RDF: Exemplo 2
</rdf:Description>
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Hide your heart">
<cd:artist>Bonnie Tyler</cd:artist>
<cd:country>UK</cd:country>
<cd:company>CBS Records</cd:company>
<cd:price>9.90</cd:price>
<cd:year>1988</cd:year>
</rdf:Description> ...
</rdf:RDF>
30. A Sintaxe do RDF
A primeira linha do documento RDF é uma declaração XML.
Essa declaração é seguida pelo elemento raíz do documento RDF:
<rdf:RDF>.
O elemento <rdf:Description> contém a descrição do recurso
identificado pelo atributo rdf:about.
Os elementos <cd:artist>, <cd:country>, <cd:company>, etc., são as
propriedades do recurso.
Para facilitar a visualização e o aprendizado do RDF o W3C criou o
W3C's RDF Validation Service.
Esse simples validador analisa sintaticamente o seu documento RDF
e gera visões tabulares e/ou gráficas do documento analisado.
31. A Sintaxe do RDF: Containers
Existe um outro recurso interessante no RDF que são os chamados
elementos containers.
Eles são usado para descrever grupos de coisas.
Exemplo: listar os autores de um livro ou os componentes de uma
banda.
O elemento container <rdf:Bag> é usado para descrever membros
cuja ordem não é importante.
O elemento container <rdf:Seq> é usado para descrever membros
cuja ordem é importante – por exemplo, os elementos estão em
ordem alfabética.
Por fim, o elemento container <rdf:Alt> é usado para descrever
membros em que se deve fazer uma escolha por um, e apenas um,
deles.
32. Modelo de containers
O RDF define três tipos de objetos de containers, a saber:
Bag. É uma lista não ordenada de recursos ou literal, ou seja, é usada para
declarar que uma propriedade tem múltiplos valores e que não importa a
ordem em que esses valores são dados.
Sequence. É uma lista ordenada de recursos ou literal, ou seja, é usada
para declarar que uma propriedade tem múltiplos valores e que a ordem em
que esses valores são dados é significante.
Alternative. É uma lista de recursos ou literal que representa alternativa de
valores para uma propriedade. Neste caso, qualquer um dos valores na lista
pode ser escolhido como apropriado.
Para representar um container, a RDF usa a propriedade type para
identificar uma coleção específica, que deve ser declarada como sendo
uma instância de um dos objetos de containers. A relação entre os
membros do container e seus recursos é definida por um conjunto de
propriedades nomeadas simplesmente por “_1”, “_2”, “_3”, etc.
33. A Sintaxe do RDF: <rdf:Bag>
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Bag>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>George</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Bag>
</cd:artist>
</rdf:Description>
34. A Sintaxe do RDF: <rdf:Seq>
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:artist>
<rdf:Seq>
<rdf:li>George</rdf:li>
<rdf:li>John</rdf:li>
<rdf:li>Paul</rdf:li>
<rdf:li>Ringo</rdf:li>
</rdf:Seq>
</cd:artist>
</rdf:Description>
35. A Sintaxe do RDF: <rdf:Alt>
<rdf:Description
rdf:about="http://www.recshop.fake/cd/Beatles">
<cd:format>
<rdf:Alt>
<rdf:li>CD</rdf:li>
<rdf:li>Record</rdf:li>
<rdf:li>Tape</rdf:li>
</rdf:Alt>
</cd:format>
</rdf:Description>
36. A Sintaxe do RDF: Coleção
Existe ainda um recurso no RDF chamado coleção.
Esse recurso é usado para descrever grupos que contêm somente os
membros especificados.
Uma coleção é descrita pelo atributo rdf:parseType=”Collection”
37. A Sintaxe do RDF: Coleção
<rdf:Description
rdf:about="http://recshop.fake/cd/Beatles">
<cd:artist rdf:parseType="Collection">
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/George"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/John"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Paul"/>
<rdf:Description rdf:about="http://recshop.fake/cd/Beatles/Ringo"/>
</cd:artist>
</rdf:Description>
38. RDF Schema
RDF- Representam relacionamentos entre recursos.
RDF Schema - provê mecanismos para declaração dessas
propriedades.
A especificação da RDF Schema foi diretamente pensada levando
em consideração problemas específicos e imediatos.
Os problemas em questão são:
- PICS (Platform for Internet Content Selection)
- os metadados simples da Web,
- mapa de sites e outras ferramentas de
navegação - P3P (Platform for Privacy
Preferences Project), descritos a seguir.
39. RDF Schema
PICS. O modelo e sintaxe RDF é adequado para representar rótulos
de PICS, que foi originalmente desenvolvido para ajudar pais e
professores a controlar o que as crianças acessam na Internet, além de
facilitar outros usos de rótulos, incluindo assinatura de código e
privacidade. A RDF Schema, no entanto, não fornece um mapeamento
de propósito geral de sistemas de avaliação de PICS dentro de uma
representação de RDF.
Metadados simples da Web. Uma aplicação óbvia da RDF está na
descrição de páginas da Web. Essa é uma das funções básicas da
iniciativa Dublin Core. O Dublin Core [DCMI,2001] é um conjunto de
15 elementos largamente aplicáveis para descrever recursos da Web
para habilitar sua descoberta
40. RDF Schema
Mapa de sites e outras ferramentas de navegação. A especificação
da RDF Schema fornece recursos suficientes para criar modelos RDF
que representam sistemas hierárquicos para representar taxonomia de
assuntos. Mapas de sites, dicionários e esquemas de classificação de
bibliotecas são exemplos bem conhecidos de sistemas hierárquicos.
P3P. A plataforma Projeto de Preferências de Privacidade requer uma
gramática para construção de declarações sobre práticas de coleção de
dados e preferências pessoais como exercício sobre estas práticas,
assim como uma sintaxe de dados estruturados de troca. O uso de um
esquema de metadados para descrever a estrutura formal de descrição
de práticas de privacidade permitirá privacidade na prática de dados
para serem utilizados junto com outros metadados em uma consulta
durante descoberta de recurso, e permitirá a um agente de software
agir de acordo com a privacidade dos metadados usando as mesmas
técnicas como utilizadas para outros metadados descritivos.
41. RDF Schema
RDF Schema define propriedades específicas que podem ser
utilizadas para definir esquemas.
É um sistema de classes extensível e genérico que pode ser utilizado
como base para esquemas de um domínio específico. Esses
esquemas podem ser compartilhados e estendidos através de
refinamento de subclasses. Além disso, definições de metadados
podem ser reutilizadas através do compartilhamento de esquemas.
Um esquema para as publicações e autores pode ser definido em
RDF(S). Por questões de espaço, são mostradas apenas as
definições das classes Autor, Publicação e Artigo.
42. RDF Schema
Como tudo em RDF é considerado um recurso, RDF Schema
estabelece que esses recursos podem ser organizados em classes.
Um recurso pode ser instância de uma ou mais classes. As classes
podem estar organizadas em uma hierarquia de subclasses. Isso
significa que qualquer recurso de um tipo que é subclasse de outro, é
também considerado como sendo do tipo da superclasse. O sistema
de tipos de RDF Schema define propriedades em termos das classes
de recursos aos quais elas se aplicam.
43. RDF Schema
RDF Schema considera que os recursos rdfs são classes.
Todas as coisas que estão sendo descritas por expressões RDF são
chamadas Recursos e são consideradas instâncias da classe rdfs.
Todo modelo RDF que utiliza o mecanismo de esquema fornece
45. Críticas sobre o RDF
RDF foi criticado em 2001 quanto as seguintes questões:
A sintaxe XML para RDF é muito verbosa.
A notação do trio sujeito, predicado e objeto não é expressiva o
suficiente.
A habilidade do RDF de consolidar enunciados é lidada de maneira
ambígua.
46. Futuro
Há muitos esforços concentrados na evolução do RDF e há ainda muito por
se fazer para que ela esteja consolidada. Soluções práticas incluem:
(a) a derivação de RDF a partir de fontes XML;
(b) a convergência de mapas de tópicos (topic maps) com RDF;
(c) a emergência de “motores” e de banco de dados em RDF;
(d) interfaces com o usuário (gerais ou específicas) para dados RDF,
implementando dessa forma novos websites.
− Estas soluções ficam aqui consideradas como
sugestões para trabalhos futuros.
47. Código RDF na prática
http://www.kanzaki.com/works/2003/imagedesc/yakito
http://www.cs.rpi.edu/~puninj/XMLJ/classes/class8/all