SlideShare uma empresa Scribd logo
1 de 130
Baixar para ler offline
Tutorial Linked Data:
 Construindo um Espaço
 de Dados Global na Web

Regis P. Magalhães, José Antônio F. de Macêdo,
Vânia Maria Ponte Vidal
{regispires, jose.macedo, vvidal}@lia.ufc.br

Percy E. Salas , Karin K. Breitman ,
Marco A. Casanova
{psalas,karin,casanova}@inf.puc-rio.br
2



Agradecimentos Especiais
• Sorën Auer – Universidade de Leipzig – pelos
  slides gentilmente cedidos;

• Prof. Palazzo – UFRGS – pelos exemplos em
  Sparql.
3




Motivação
Tente encontrar na Web ...
5




  Informação
está disponível
  na Web, mas
 opaca para as
    buscas !
6



Web de Documentos
• Internet, Documentos e Links
7



Problemas
• As pessoas não estão interessadas em
  documentos, mas em coisas que estão neles;
• As pessoas podem analisar os documentos para
  extrair significado:
 ▫ As máquinas ainda não fazem isso de forma viável
 ▫ HTML define a estrutura de um documento, mas
   não explica o seu significado
• Como permitir que máquinas compreendam os
  dados publicados na Web?
8


Como os dados estão publicados na
Web?
• Diversos modelos/formatos:
 ▫ HTML, Bancos de dados relacionais, XML, CSV,
   XLS, PDF, ...
• Heterogeneidade:
 ▫   Diferentes formatos
 ▫   Diferentes modelos de dados
 ▫   Nomes diferentes com o mesmo significado
 ▫   Ausência de vínculos entre fontes de dados
     diferentes
• Conclusão:
 ▫ Dificuldade para consumir e integrar os dados
9


           A cauda longa de domínios da Informação
               Pictures
                                                    The Long Tail - Chris
               Encyclopedia
                                                    Anderson (Wired, Oct. ´04)
               News                                 adaptado para domínios de
                Video                               informação
Popularidade




                 Calendar




                     Requirements-
                     EngineeringTalent
                                           Special interest
                                management communities Itinerary of      Gene
                                                            King George sequences
                                …
                                          …                 …          …
 Tipos de
 conteúdo
 atualmente
 com suporte           Tipos de conteúdo com pouco (ou inexistente) suporte
10



APIs proprietárias isolando os dados




Imagem: Bob Jagensdorf, http://flickr.com/photos/darwinbell/, CC-BY
11



Solução
• Complementar texto nas paginas Web com
  dados conectados abertos e combinar/integrar
  de forma inteligente tal informação estruturada
  de diferentes fontes:

             HTML
                            Search engine          HTML
                                               RDF
                    RDF
           Web                                        Web
          server                                     server


            DB                                        DB
   creches.rj.br                            imoveis.rj.br
   Tem tudo sobre creches                   Sabe tudo sobre ofertas de
   no Rio                                   imóveis no Rio
Linking Data




© CC-BY-NC-ND by ~Dezz~ (residae on flickr)
13



Linked Data
“Linked Data é um conjunto das melhores
práticas para publicação e conexão de dados
estruturados na Web, permitindo estabelecer
links entre itens de diferentes fontes de dados
para formar um único espaço de dados global.”

 Heath, T. and Bizer, C. (2011). Linked Data: Evolving the Web into a
                 Global Data Space. Morgan & Claypool, 1st edition.

O pontapé inicial para essas melhores práticas foram os princípios de
Linked Data estabelecidos por Tim Berners Lee em 2006.
http://www.w3.org/DesignIssues/LinkedData.html
14



Princípios de Linked Data
1. Usar URIs como nomes para coisas.
2. URIs HTTP para que as pessoas possam
   procurar (dereferenciar) esses nomes.
3. Quando alguém procurar uma URI, prover
   informação útil, usando os padrões (RDF,
   SPARQL).
4. Incluir links para outras URIs, de modo que
   seja possivel a descoberta de mais informação.

Tim Berners-Lee 2006
http://www.w3.org/DesignIssues/LinkedData.html
15



Boas práticas
• Os princípios foram estendidos a partir das
  experiências da comunidade, resultando em
  boas práticas de publicação e consumo de
  Linked Data.
• Documentos importantes:
 ▫ Bizer, C., Cyganiak, R., and Heath, T. (2007). How to
   Publish Linked Data on the Web.
   http://www4.wiwiss.fu-
   berlin.de/bizer/pub/LinkedDataTutorial/.
 ▫ Sauermann, L. and Cyganiak, R. (2008). Cool URIs for
   the Semantic Web. http://www.w3.org/TR/cooluris/.
16



Plano 5 estrelas de TimBL’s para dados abertos

                                ★ Disponibilize seus dados na
                                      web sob licença aberta
                    ★★ Disponibilize os dados de
                         forma estruturada
                               (Planilha Excel sheet em vez de imagem de uma tabela)

                  ★★★ Use um formato não-proprietário
                                 (Arquivo CSV no lugar de planilha Excel)


                ★★★★ Use formato de Linked Data
                                 (URIs para definir coisas, RDF para representar dados)


              ★★★★★ Conecte seus dados com dados de
                     outros para criar contexto

                 More: http://lab.linkeddata.deri.ie/2010/star-scheme-by-example/
17



Web de Dados
• Linked Data torna a Web em um enorme banco
  de dados global:
 ▫ O Espaço de Dados Global é chamado de Web de
   Dados.
• A Web de Dados forma um imenso grafo global
  constituído de bilhões de triplas RDF de várias
  fontes cobrindo os mais variados domínios.
18


Exemplo de Linked Data




               18
19



Web de Dados: características
• Genérica e pode conter qualquer tipo de dado;
• Qualquer pessoa pode publicar dados;
• Não há restrições para seleção de vocabulários;
• Dados são auto-descritos;
• Mecanismo padrão de acesso aos dados (HTTP) e
  modelo de dados padrão (RDF) simplificam o acesso aos
  dados;
• Aplicações que usam a Web de dados não se limitam a
  um conjunto fixo de fontes de dados, podendo inclusive
  descobrir novas fontes em tempo de execução.
20



   Web de Documentos x Web de Dados

       Web de Documentos                      Web de Dados
Navegadores HTML                    Navegadores RDF
Links HTML conectando               Links RDF interligando dados
documentos
Mecanismo de identificação - URIs   Mecanismo de identificação – URIs
Mecanismo de acesso – HTTP          Mecanismo de acesso – HTTP
Formato de conteúdo – HTML          Modelo de dados – RDF
               –                    Linguagem de consulta – SPARQL
21

Da Web de documentos para a
Web Semântica


                                                    Semantic Web
                                                    (Visão 1998, começando???)
    Data Web (since 2006)                           • Raciocínio
    • Dereferenciamento URI                         • Lógica, Regras
    • Integração de dados                           • Confiança
    • Serialização RDF
                        Social Web (since 2003)
                        • Folksonomies/Tagging
                        • Reputação
                        • Grupos, relacionamentos
        Web (since 1992)
        • HTTP
        • HTML/CSS/JavaScript
22



Web de Dados x Semantic Web
Linked data em poucas palavras
1. Usa Modelo de dados RDF
                                          starts       17.11.2011
             organizes
    W3C                  W3C.br 2011
                                       takesPlaceIn   Rio de Janeiro
2. É serializado em triplas:
   W3C              organizes          W3C.br-2011
   W3C.br-2011      starts              “20111117”^^xsd:date
   W3C.br-2011      takesPlaceAt        Rio de Janeiro

3. Usa negociação de conteúdo
24




Padrões usados no Linked Data
25



 Padrões usados no Linked Data
• URIs – identificam objetos e conceitos,
  permitindo que eles sejam dereferenciados
  para obtenção de informações a seu respeito.

• HTTP – Mecanismo de acesso universal

• RDF – Modelo de dados descentralizado
  comum baseado em grafo

• SPARQL – Linguagem e protocolo para
  consulta sobre grafos RDF
26



HTTP URIs
• Um Identificador Uniforme de Recursos (URI) é uma
  seqüência (compacta) de caracteres que identifica
  um recurso físico ou abstrato [RFC3986]

• Sintaxe

 URI = protocolo":" path [ "?" query ] [ "#" fragment ]

• Exemplo

http://lia.ufc.br/~regispires/researchers.rdf#ufc
27



  HTTP - Negociação de Conteúdo




 http://www4.wiwiss.fu-berlin.de/factbook/resource/Russia
A(URI identifica o recurso session for dereferencing a URI identifying a non-information
   complete example of a HTTP sem informação sobre a Rússia)
  http://www4.wiwiss.fu-berlin.de/factbook/data/Russia
resource is given in Appendix A.
  (Recurso de informação com uma representação RDF/XML que descreve a Rússia)
 http://www4.wiwiss.fu-berlin.de/factbook/page/Russia
URI Aliases informação com uma representação HTML que descreve a Rússia)
  (recurso de
28




Modelo RDF
29



 Modelo RDF
• Resource Description Framework

• Descentralizado, baseado em grafo e
  extensível;

• Permite a interligação entre conjuntos de
  dados distintos;

• Torna possível a implementação de aplicações
  genéricas capazes de operar sobre o espaço de
  dados global [Heath and Bizer 2011]
30



Tripla RDF
                            isPresidentOf
 •Dilma Roussef                                 Brasil

     Sujeito               Predicado           Objeto
 Uso permitido:
    Sujeito : URI ou nó vazio
    Predicado: URI (também chamado de propriedades)
    Objeto :      URI ou nó vazio ou literal
31


            Exemplo de Grafo RDF
               longitude Rio de •      hasAreaCode
  22.54                                               021
                         Janeiro

        latitude                              locatedIn
43.12                            hasMayor
                   isMayorOf                    Rio de
                        Eduardo Paes            Janeiro
        born                                              locatedIn
1969-11-14                       isMemberOf
                                                    Brazil
                               PMDB
browser dereferences this URI over the Web, asking for con
                                                               32
       displays the retrieved information (click here to have Disco
       that he is based near Berlin, using the DBpedia URI http://d
Link for the non-information resource Berlin. As the surfer is inte
      RDF
       dereference this URI by clicking on it. The browser now der
       application/rdf+xml .
33



Link RDF (cont.)
34



Link RDF (cont.)
35



 URI Alias – owl:sameAs

prefix owl: <http://www.w3.org/2002/07/owl#>

Sujeito: http://www.w3.org/People/Berners-Lee/card#i
Predicado: http://www.w3.org/2002/07/owl#sameAs
Obj: http://www4.wiwiss.fu-berlin.de/dblp/resource/person/100007

Sujeito: http://dbpedia.org/resource/Tim_Berners-Lee
Predicado: http://www.w3.org/2002/07/owl#sameAs
Obj: http://www4.wiwiss.fu-berlin.de/dblp/resource/person/100007
36



Serializaçao RDF
                N3: "Notation 3" – formalismo extendido




                                  N-Triples: parte de N3


                    Quelle:http://www.w3.org/DesignIssues/Notation3.html




             Turtle: Extensão de N-Triples (shortcuts)
37



RDF: Formatos de Serialização
• RDF/XML
  ▫ Mais antigo e mais amplamente usado.
  ▫ Prolixo e pouco legível para o ser humano.
• N3 (Notation 3) [Berners-Lee 1998]
  ▫ Mais expressivo que RDF/XML.
• Turtle [Beckett 2007]
  ▫ Subconjunto de N3.
• N-Triples
  ▫ Subconjunto de N3 e Turtle
  ▫ Não possui alguns atalhos dos outros formatos como
    recursos aninhados e URIs compactas
     Termina ficando prolixo, mas simples para fazer parse.
• RDFa
  ▫ RDF embutido em HTML
• JSON
38



Prefixos de namespaces
 Sem prefixo

 http://dbpedia.org/resource/Leipzig
 http://www.w3.org/2000/01/rdf-schema#label
 "Leipzig"@de .



 Com prefixo

 @prefix dbp:<http://dbpedia.org/resource/>
 @prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#>

 dbp:Leipzig   rdfs:label         "Leipzig"@de .
39



   Sintaxe Turtle : Atalhos
http://dbpedia.org/resource/Leipzig
http://dbpedia.org/property/hasMayor        http://dbpedia.org/resource/Burkhard_Jung ;
http://www.w3.org/2000/01/rdf-schema#label "Leipzig"@de ;
http://www.w3.org/2003/01/geo/wgs84_pos#lat       "51.333332"^^xsd:float ;
http://www.w3.org/2003/01/geo/wgs84_pos#lon       "12.383333"^^xsd:float .

Atalhos para prefixos de namespace:
 @prefix    rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
 @prefix    rdfs:<http://www.w3.org/2000/01/rdf-schema#> .
 @prefix    dbp:<http://dbpedia.org/resource/> .
 @prefix    dbpp:<http://dbpedia.org/property/> .
 @prefix    geo:<http://www.w3.org/2003/01/geo/wgs84_pos#> .

 dbp:Leipzig
 dbpp:hasMayor           dbp:Burkhard_Jung ;
 rdfs:label              "Leipzig"@de ;
 geo:lat                 "51.333332"^^xsd:float ;
 geo:lon                 "12.383333"^^xsd:float .
40



RDF/JSON
 ▫ JSON = JavaScript Object Notation
 ▫ Formato compacto para troca de dado entre
   aplicações

 ▫ Documentos JSON são códigos JavaScript válidos

 ▫ Redução de overhead no parsing e serialização
   comparado ao XML

         { "S" : { "P" : [ O ] } }
41



Exemplo JSON
{
  "http://dbpedia.org/resource/Leipzig" : {
      "http://dbpedia.org/property/hasMayor":
             [ { "type":"uri", "value":"http://dbpedia.org/resource/Burkhard_Jung" } ],
      "http://www.w3.org/2000/01/rdf-schema#label":
             [ { "type":"literal", "value":"Leipzig", "lang":"en" } ] ,
      "http://www.w3.org/2003/01/geo/wgs84_pos#lat":
             [ { "type":"literal", "value":"51.3333",
                     "datatype":"http://www.w3.org/2001/XMLSchema#float" } ]
       "http://www.w3.org/2003/01/geo/wgs84_pos#lon":
%                  [ { "type":"literal", "value":"12.3833",
                    "datatype":"http://www.w3.org/2001/XMLSchema#float" } ]
   }
}
42



Sintaxe RDFa
• RDFa = Resource Description Framework – in –
  attributes;

• Incorporação de RDF no XHTML;

• Maior overhead que outras serializações devido
  à incorporação no HTML;

• Menos legível.
43



   Exemplo RDFa
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
   "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html version="XHTML+RDFa 1.0" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml"
      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
      xmlns:dbpp="http://dbpedia.org/property/"
      xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
 <head><title>Leipzig</title></head>
 <body about="http://dbpedia.org/resource/Leipzig">
   <h1 property="rdfs:label" xml:lang="de">Leipzig</h1>
   <p>Leipzig is a city in Germany. Leipzig's mayor is
  <a href="Burkhard_Jung" rel="dbpp:hasMayor">Burkhard Jung</a>. It is located
       at latitude <span property="geo:lat" datatype="xsd:float">51.3333</span>
           and longitude <span property="geo:lon" datatype="xsd:float">12.3833</span>.</p>
 </body>
</html>
44



 Convertendo BD Relacional em RDF




Fonte: Consuming Linked Data Tutorial – WWW Conference 2010
45



 Grafo RDF correspondente




Fonte: Consuming Linked Data Tutorial – WWW Conference 2010
46



 Vinculando com Revyu.com




Fonte: Consuming Linked Data Tutorial – WWW Conference 2010
47




Vocabulários
48



Vocabulários
• Esquema do RDF;

• Define os termos (classes e propriedades);

• Tipicamente RDFS ou família OWL.
Vocabulários comuns
• FOAF (Friend-of-a-Friend) para descrição de pessoas e suas redes
  sociais.
• SIOC (Semantically-Interlinked Online Communities) para descrição
  de forums e blogs.
• SKOS (Simple Knowledge Organization System) para representação
  de taxonomias de tópicos.
• DC (Dublin Core)
• VoiD (Vocabulary of Interlinked Datasets) para expressar metadados
  gerais sobre datasets.
• Organization Ontology para descrever estrutura de organizações.
• GoodRelations para descrição de produtos e entidades de negócio.
• Music Ontology para artistas, álbuns, e shows.
• Review Vocabulary termos para representação de opiniões.
Uso de vocabulários comuns




4th Linked Data on the Web Workshop (LDOW 2011).
51


 Vocabulários: Friend-of-a-Friend (FOAF)
  define classes e propriedades para representar
  informação sobre pessoas e seus relacionamentos




Soeren rdf:type          foaf:Person .
Soeren foaf:currentProject
http://OntoWiki.net .
Soeren foaf:homepage http://aksw.org/Soeren .
Soeren foaf:knows        http://sembase.at/Tassilo .
Soeren foaf:sha1         09ac456515dee .
52




The
Linked Open Data Project
53



Projeto Linking Open Data

• Esforço espontâneo e voluntário da comunidade
  iniciado em janeiro de 2007.
• Objetivo principal:
 ▫ Desenvolver Linked Data a partir da identificação
   de dados existentes sob licença livre e convertê-los
   para RDF de acordo com os princípios do Linked
   Data.
Linked Open Data cloud




               2007   2008
                               2008       2010
                                          2009
                         2008      2009
                           2008




          54
Dados Ligados na Web: Setembro 2011
                                                 User Generated
                                                    Content
                                Media




      Government

                                                                            Publications




                                        Cross-
                                        Domain


                   Geographic                               Life Sciences




Mais de 31 bilhões de triplas RDF
Mais de 504 milhões de links RDF entre fontes de dados
56



Conjunto de dados
Um conjunto de dados é um conjunto de
 triplas RDF publicadas, mantidas ou agregadas
 por um único provedor
57



Conjunto de Links
• Um link RDF é uma tripla RDF cujos sujeito e
  objeto estão descritos em diferentes conjuntos
  de dados
• Um linkset é uma coleção de links RDF entre
  dois conjuntos de dados
58



LOD cloud stats
                  Distribuição das triplas




                  Distribuição dos links




                             http://lod-cloud.net/state/
59



LOD – Outubro de 2010
•   207 conjuntos de dados
•   Mais de 28 bilhões de triplas RDF
•   Aproximadamente 395 milhões de links RDF
•   Vários domínios
60


Número de Triplas




4th Linked Data on the Web Workshop (LDOW 2011).
61


Crescimento por domínio




4th Linked Data on the Web Workshop (LDOW 2011).
62



Descrição de Conjunto de dados- VoID

•   Meta dados do conjunto de dados em geral
•   Meta dados de acesso
•   Meta dados estruturais
•   Descrição de linksets
•   http://www.w3.org/TR/void/
63




SPARQL – Consultando Linked
Data
64



Protocolo e Linguagem SPARQL
 ▫ SPARQL Protocol and RDF Query Language;

 ▫ Linguagem de consulta de alto nível para
   recuperação de informações contidas em grafos
   RDF;

 ▫ Protocolo usado para enviar consultas e recuperar
   resultados através do protocolo HTTP;

 ▫ Fontes Linked Data tipicamente fornecem um
   SPARQL Endpoint que é um serviço Web com
   suporte ao protocolo SPARQL.
65



Exemplo: Pessoas e seus nomes

PREFIX ex: <http://inria.fr/schema#>
SELECT ?person ?name
WHERE {
         ?person rdf:type ex:Person
         ?person ex:name ?name .
      }
66



Exemplo - Resultado
<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#" >
 <head>
  <variable name="person"/>
  <variable name="name"/>
 </head>
 <results ordered="false" distinct="false">
  <result>
   <binding name="person">
    <uri>http://inria.fr/schema#fg</uri>
   </binding>
   <binding name="name">
    <literal>gandon</literal>
   </binding>
  </result>
  <result> ...
67


Exemplo: Pessoas com pelo menos 18
anos

PREFIX ex: <http://inria.fr/schema#>
SELECT ?person ?name
WHERE {
 ?person rdf:type ex:Person
 ?person ex:name ?name .
 ?person ex:age ?age .
 FILTER (?age > 17)
      }
68


Exemplo: Recuperar a idade, se
disponível

PREFIX ex: <http://inria.fr/schema#>
SELECT ?person ?name ?age
WHERE {
 ?person rdf:type ex:Person
 ?person ex:name ?name .
 OPTIONAL { ?person ex:age ?age }
      }
69


Exemplo: Adultos implícitos e
explícitos
PREFIX ex: <http://inria.fr/schema#>
SELECT ?name
WHERE {
         ?person ex:name ?name .
           {
         { ?person rdf:type ex:Adult}
         UNION
         { ?person ex:age ?age
             FILTER (?age > 17) }
             }
       }
70


Exemplo: Resultados 21 a 40
ordenados por nome

PREFIX ex: <http://inria.fr/schema#>
SELECT ?person ?name
WHERE {
 ?person rdf:type ex:Person
 ?person ex:name ?name .
      }
ORDER BY ?name
LIMIT 20
OFFSET 20
Armazenamento de dados no
Modelo RDF
Estratégias de Armazenamento
• In-memory
 ▫ Armazenamento do grafo RDF na memória principal.
 ▫ Exemplos: Jena, Sesame
• Native (RDF Store)
 ▫ Solução própria para armazenamento de grafos RDF.
 ▫ Exemplos: Jena TDB , Sesame RDF Repository,
   Virtuoso RDF Triple Store, OWLIM
• Non-native
 ▫ Usam bancos de dados de terceiros.
 ▫ Exemplos: Jena SDB, Sesame PgSQL/MySQL
   Repository, Virtuoso, ARQ
Triple ou Quad Store?
• Normalmente Triple Stores são de fato Quad
  Stores pois suportam Named Graphs.
• Named Graph é simplesmente uma coleção de
  triplas RDF nomeada por uma URI que
  identifica o grafo.
 ▫ Usado para manter a proveniência dos dados
   RDF.
OpenLink Virtuoso RDF Triple Store
• Native RDF Store.
• Licença: Open source e proprietária.
• Servidor web e endpoint SPARQL.
• Suporta bilhões de triplas.
• Usado para armazenamento de DBpedia,
  data.gov, etc.
AllegroGraph
• Alto desempenho
    ▫ Suporte a bilhões de triplas com bom
      desempenho.
•   Uso eficiente de memória.
•   Suporta SPARQL, RDFS++ e Prolog reasoning.
•   Tipos geo-espaciais e temporais nativos.
•   Reasoning Geospatial e Temporal eficientes.
•   Suporte a análise de redes sociais.
•   Gerenciador de armazenamento em nuvem
    (Amazon EC2)
OWLIM           (http://www.ontotext.com/owlim)

• RDF Store (Native) proprietária.
• Implementado em Java.
• Compatível com Sesame e Jena.
• Suporte a reasoning robusto e transparente (RDFS, OWL Horst
  and OWL 2 RL).
• Alta escalabilidade e excelente desempenho comparado a outras
  alternativas.
• Extensões geo-espaciais eficientes.
• Versões:
    ▫ OWLIM-Lite – gratuito para qualquer uso.
       Suporta dezenas de milhões de triplas.
    ▫ OWLIM-SE – gratuito para pesquisa e avaliação.
       Suporta dezenas de bilhões de triplas.
    ▫ OWLIM-Enterprise – comercial.
       Replication Cluster com balanceamento de carga e recuperação de
        falhas.
RDF Benchmarks
http://www.w3.org/wiki/RdfStoreBenchmarking

• Comparam a performance de sistemas de
  armazenamento que expõem SPARQL Endpoints,
  sejam RDF Stores ou não.

• Berlin SPARQL Benchmark (BSBM)
 ▫ http://www4.wiwiss.fu-berlin.de/bizer/BerlinSPARQLBenchmark/
• Lehigh University Benchmark (LUBM)
 ▫ http://swat.cse.lehigh.edu/projects/lubm/
• SP²Bench SPARQL Performance Benchmark
  (SP2B)
 ▫ http://dbis.informatik.uni-freiburg.de/index.php?project=SP2B
Publicação de Linked Data
Publicação de Linked Data
• Publicar Linked Data: usar os princípios e
  melhores práticas de Linked Data para
  disponibilizar os dados na Web.
• Requisitos mínimos:
 ▫ Fornecer URIs dereferenciáveis para cada
   entidade.
 ▫ Criar links RDF para outras fontes de dados.
• Desejável:
 ▫ Disponibilização de SPARQL Endpoints e dumps
   dos dados.
Interface Linked Data
• Tratar requisições de URIs.
• Dereferenciar URIs.
• Tratar dos redirecionamentos 303 requeridos
  pela arquitetura Web.
• Negociação de conteúdo entre descrições de um
  mesmo recurso em diferentes formatos.

http://dblp.l3s.de/d2r/resource/authors/Marco_A._Casanova
http://dblp.l3s.de/d2r/page/authors/Marco_A._Casanova
http://dblp.l3s.de/d2r/data/authors/Marco_A._Casanova
Publicação de dados de fontes RDF
como Linked Data
• Fontes de dados que adotam o modelo RDF são
  normalmente armazenadas em arquivo RDF ou
  RDF Store.
Publicação de arquivos RDF como
Linked Data
• Simples
• Usado para arquivos pequenos
• RDF/XML
 ▫ Formato de serialização mais antigo e usado para
   publicação de Linked Data.
Arquivo RDF no formato Turtle
@prefix    rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
@prefix    owl:    <http://www.w3.org/2002/07/owl#> .
@prefix    foaf:   <http://xmlns.com/foaf/0.1/> .
@prefix    dc:     <http://purl.org/dc/elements/1.1/> .
@prefix    :       <http://lia.ufc.br/~regispires/researchers.rdf#> .

# The <> (the empty URI) means "this document".
<> a                   foaf:Document ;
    dc:title           "Researchers file" .

:ufc
       a                   foaf:Organization ;
       foaf:name           "Universidade Federal do Ceará" .

:vania
    a                      foaf:Person ;
    foaf:name              "Vânia Maria Ponte Vidal" ;
    foaf:Organization      :ufc ;
    owl:sameAs             <http://dblp.l3s.de/d2r/resource/V%C3%A2nia_Maria_Ponte_Vidal> .
Conversão de Turtle para RDF/XML
• Conversores on-line:
 ▫ Babel
    http://simile.mit.edu/babel
 ▫ RDFConverter
    http://www.mindswap.org/2002/rdfconvert/
Arquivo RDF no formato RDF/XML
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
    xmlns:owl="http://www.w3.org/2002/07/owl#"
    xmlns:foaf="http://xmlns.com/foaf/0.1/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns="http://lia.ufc.br/~regispires/researchers.rdf#">

<rdf:Description rdf:about="">
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
    <dc:title>Researchers file</dc:title>
</rdf:Description>

<rdf:Description rdf:about="http://lia.ufc.br/~regispires/researchers.rdf#ufc">
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Organization"/>
    <foaf:name>Universidade Federal do Ceará</foaf:name>
</rdf:Description>

<rdf:Description rdf:about="http://lia.ufc.br/~regispires/researchers.rdf#vania">
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <foaf:name>Vânia Maria Ponte Vidal</foaf:name>
    <foaf:Organization rdf:resource="http://lia.ufc.br/~regispires/researchers.rdf#ufc"/>
    <owl:sameAs rdf:resource="http://dblp.l3s.de/d2r/resource/V%C3%A2nia_Maria_Ponte_Vidal"/>
</rdf:Description>
</rdf:RDF>
Interface Linked Data
• Disponibilização de um arquivo RDF/XML:
 ▫ Possibilita o dereferenciamento de URIs
 ▫ Uso de RDF Links
• Não resolve:
 ▫ Redirecionamentos 303 e a negociação de
   conteúdo.
• Fornecimento de interface Linked Data através
  do serviço Pubby (http://www4.wiwiss.fu-
  berlin.de/pubby/)
RDFa: RDF embutido em documento Web
 • Textos e links legíveis ao ser humano
   coexistindo com dados que poderão ser
   processados pelas máquinas.
 • Alterações centralizadas em um único
   documento.
Publicação de dados de RDF Store
como Linked Data
• Tipicamente envolve:
 ▫ Disponibilização de interface Linked Data
 ▫ SPARQL Endpoint
• Servidor Joseki ou Fuseki pode ser usado como
  SPARQL Endpoint de uma RDF Store.
• Pubby pode prover a interface Linked Data.
 ▫ Realiza consulta SPARQL usando o comando
   DESCRIBE para obtenção do resultado em
   formato RDF.
Publicação de dados de fontes não RDF
como Linked Data
• Dados publicados devem estar no modelo RDF ou
  ser convertidos para ele.
• Abordagens para lidar com dados não RDF:
 ▫ Processo de Conversão (abordagem materializada)
    Gerar RDF através de algum conversor
      Triplify, D2R, Babel (PUC Rio), StdTrip (PUC Rio)
 ▫ Fornecer uma visão RDF (abordagem virtual)
    Acesso a dados que não estão no modelo RDF através
     de um RDF Wrapper
    Conversão dinâmica baseada em mapeamentos
     estabelecidos entre o modelo nativo e o modelo RDF.
RDB-to-RDF Wrappers
• Criam visões RDF a partir de
  mapeamentos entre as estruturas
  relacionais e os grafos RDF.
 ▫ Triplify
 ▫ Plataforma D2RQ
 ▫ Virtuoso RDF Views
RDB-to-RDF Wrappers
• Triplify
  ▫ Converte os resultados de consultas SQL em RDF,
    JSON e Linked Data.
  ▫ 3 bilhões de triplas do dataset LinkedGeoData
    foram geradas pelo Triplify.
RDB-to-RDF Wrappers
• Triplify
  ▫ Simples. Menos de 500 linhas de código.
  ▫ Na maioria das aplicações Web apenas um pequeno
    número de consultas (3 a 7) é suficiente para extrair as
    informações relevantes.
  ▫ Já possui configurações prontas para triplificar dados
    de várias aplicações Web populares (WordPress,
    Drupal, Joomla!, OSCommerce, phpBB, Gallery, etc.).




   Figura: http://triplify.org/About
RDB-to-RDF Wrappers
• Plataforma D2RQ
 ▫ Fornece a infra-estrutura necessária para acessar
   bancos de dados relacionais como grafos RDF
   virtuais.
• Componentes
 ▫ Linguagem de mapeamento D2RQ
 ▫ Mecanismo D2RQ
 ▫ Servidor D2R
RDB-to-RDF Wrappers
• Plataforma D2RQ - Arquitetura
RDB-to-RDF Wrappers
• Virtuoso RDF Views
 ▫ Mapeia dados relacionais em RDF de forma
   dinâmica.
 ▫ Os mapeamentos são escritos em uma linguagem
   declarativa.
RDB2RDF
• Grupo de trabalho do W3C criado em 2009.
• Definição da linguagem R2RML
 ▫ R2RML: RDB to RDF Mapping Language
 ▫ Mapeamento de dados e esquemas relacionais para RDF
 ▫ Tende a substituir as soluções de mapeamento já
   existentes.
• Direct Mapping of Relational Data to RDF
 ▫ http://www.w3.org/TR/rdb-direct-mapping/
 ▫ A partir de um banco de dados relacional, ele gera um
   grafo RDF (direct graph).
 ▫ Define uma transformação simples, servindo de base
   para transformações mais complexas.
 ▫ Provê um comportamento padrão para R2RML.
Melhores práticas para publicação de
Linked Data
• Selecionar URIs adequadas
 ▫ Evitar URIs contendo algum detalhe de
   implementação ou do ambiente em que estão
   publicadas
 ▫ URIs relacionadas a um mesmo recurso
    http://dblp.l3s.de/d2r/resource/V%C3%A2nia_Maria_Ponte_Vidal
    http://dblp.l3s.de/d2r/page/V%C3%A2nia_Maria_Ponte_Vidal
    http://dblp.l3s.de/d2r/data/V%C3%A2nia_Maria_Ponte_Vidal
Melhores práticas para publicação de
Linked Data
• Usar URIs dereferenciáveis.
• Utilizar URIs estáveis.
• Criar links para outras fontes de dados
Melhores práticas para publicação de
Linked Data
• Publicação de Metadados
 ▫ Facilita a seleção dos dados relevantes.
 ▫ Devem ser fornecidos metadados sobre
   proveniência e licenciamento dos dados.
 ▫ Também é recomendável a disponibilização de
   metadados sobre a fonte de dados.
Suporte a Metadados
                      Visualização de dados
                      sobre um gene
                      providos pelo Pubby.
                      Inclui metadados de
                      proveniência.

                      Triplify, Pubby e D2R
                      Server possuem
                      suporte para
                      metadados.


                       Fonte:
                       Integrating Provenance into the
                       Web of Data
                       Olaf Hartig and Jun Zhao
Metadados de Licenciamento e
Proveniência
• Somente 18 (9,05 %) das 207 fontes de dados
  fornecem informação de licença machine-
  readable.
• Somente 50 (25.25 %) das fontes de dados
  fornecem informação de proveniência
  machine-readable.
Melhores práticas para publicação de
Linked Data
• Usar termos de vocabulários amplamente
  usados.
 ▫ Objetivo: facilitar o processamento de Linked
   Data pelas aplicações clientes
• Novos termos só devem ser definidos se não
  forem encontrados em vocabulários já existentes
Melhores práticas para publicação de
Linked Data
• Estabelecer relações entre os termos de
  vocabulários proprietários para termos de outros
  vocabulários.
 ▫ Uso das propriedades owl:equivalentClass,
   owl:equivalentProperty, rdfs:subClassOf,
   rdfs:subPropertyOf.
Mapeamentos de Vocabulários
• Somente 9 (7,32%) de 123 fontes de dados que
  usam termos proprietários fornecem
  mapeamentos de termos para outros
  vocabulários.
• Exemplo:
   <http://xmlns.com/foaf/0.1/Person>
   owl:equivalentClass
   <http://dbpedia.org/ontology/Person> .
Melhores práticas para publicação de
Linked Data
• Explicitar formas de acesso adicional aos dados
 ▫ SPARQL endpoints e RDF dumps.
Validação dos dados publicados como
Linked Data
• É necessário garantir que os dados realmente
  estão de acordo com os princípios e melhores
  práticas de Linked Data.
• Ferramentas
 ▫   W3C Validation Service
 ▫   Eyeball
 ▫   cURL
 ▫   Vapour
 ▫   Sindice Web Data Inspector
 ▫   Navegadores RDF
Consumo de Linked Data
Consumo de Linked Data
• Ponto de partida
 ▫ URIs
 ▫ Palavras-chave
 ▫ Consultas SPARQL
• Tipos de Aplicações que consomem Linked Data
 ▫ Aplicações genéricas
 ▫ Aplicações de domínio específico
Aplicações genéricas para consumo de
Linked Data
• Navegadores RDF
• Mecanismos de Busca Linked Data
• Outras aplicações genéricas
Navegadores Linked Data
   Permitem a navegação entre fontes de dados
    seguindo links expressos como triplas RDF.
        LOD Browser Switch
        Explorator
        Disco Hiperdata Browser
        Marbles
        Tabulator
        LinkSailor
        Graphite RDF Browser
Disco
Tabulator
Marbles
   Pontos coloridos correlacionam a origem dos
    dados com uma lista de fontes de dados.
Mecanismos de busca
• Rastreiam a Web seguindo links RDF e
  possibilitam consultas sobre dados agregados.
  ▫   Sindice
  ▫   Sig.ma
  ▫   VisiNav
  ▫   Watson
115
Outras aplicações genéricas
• sameAs
 ▫ Serviço online de coreferenciamento
 ▫ Encontrar URIs de diferentes fontes de dados que
   representam um mesmo conceito
• LDSpider
 ▫ Segue links para obter dados e os armazena em
   arquivo RDF ou em RDF Store através de SPARQL
   Update.
Aplicações de domínio específico para
consumo de Linked Data
• Linked Data Mashups
Aplicações de domínio específico
   BBC Programmes e BBC Music
Revyu
   Avaliação / Classificação
DBPedia Mobile   • Exibe informações de
                   diversas fontes
                   (DBPedia, Revyu,
                   Flickr), baseado na
                   localização do usuário
                   obtida por GPS.
APIs para manipulação de Linked Data
•   Sesame
•   Jena
•   Named Graphs API for Jena (NG4J)
•   Semantic Web Client Library (SWClLib)
•   ARQ2
Limitações e Desafios
Limitações e Desafios
• Interfaces com o usuário precárias
• Desempenho insatisfatório em consultas sobre
  múltiplas fontes de dados.
• Instabilidade no acesso a fontes.
• Verificação da qualidade dos dados publicados.
• Tornar mais transparente a integração de dados
  entre múltiplas fontes.
• RDF Links quebrados.
• Descoberta de fontes de dados relevantes e
  confiáveis.
• Privacidade dos dados e restrições sobre eles.
• Explicitar os direitos de cópia e reprodução sobre os
  dados.
Limitações e Desafios
• Mapeamento entre os vocabulários existentes.
• Manutenção de dados para evitar acesso a
  informações que não estejam mais disponíveis.
• Detecção de inconsistências.
Conclusão
Conclusão
   Potencial de revolucionar como os dados são
    acessados e usados.
   Sucesso de mashups, mas dificuldade para usar
    muitas fontes de dados heterogêneas.
   Linked Data permitem que aplicações usem fontes de
    dados sem limites através de mecanismos de acesso
    padronizados.
       A intenção é aproveitar todo o potencial da Web
Conclusão




      Slide from Tim Berners-Lee's TED talk in Feb 09
Referências
• Berners-Lee, T. (2006). Linked Data – Design Issues.
  http://www.w3.org/DesignIssues/LinkedData.html.
• Bizer, C., Heath, T., and Berners-Lee, T. (2009). Linked Data - The Story So Far. Int. J. Semantic
  Web Inf. Syst., 5(3):1–22. Disponível em: http://tomheath.com/papers/bizer-heath-berners-lee-
  ijswis-linked-data.pdf
• Bizer, C., Cyganiak, R., and Heath, T. (2007). How to Publish Linked Data on the Web.
  http://www4.wiwiss.fuberlin.de/bizer/pub/LinkedDataTutorial/.
• Heath, T. and Bizer, C. (2011). Linked Data: Evolving the Web into a Global Data Space. Morgan &
  Claypool.
• Langegger, A. (2010). A Flexible Architecture for Virtual Information Integration based on
  Semantic Web Concepts. PhD thesis, J. Kepler University Linz.
• Linking Open Data Project Wiki. Disponível em:
  http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData
• Intro Slides. 4th Linked Data on the Web Workshop (LDOW 2011).
• Introduction to Linked Data Slides. Consuming Linked Data Tutorial. (LDOW 2010)
• Prud’hommeaux, E. and Seaborne, A. (2008). SPARQL Query Language for RDF.
  http://www.w3.org/TR/rdf-sparql-query/.
• Clark, K. G., Feigenbaum, L., and Torres, E. (2008). SPARQL Protocol for RDF.
  http://www.w3.org/TR/rdf-sparql-protocol/.
Obrigado!
   Dúvidas, sugestões, comentários?



http://groups.google.com/group/linked-data

Mais conteúdo relacionado

Mais procurados

Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...Slide Marvels
 
Li fi Technology
Li fi TechnologyLi fi Technology
Li fi TechnologyErVKEC
 
Li fi technology - A complete overview
Li fi technology - A complete overviewLi fi technology - A complete overview
Li fi technology - A complete overviewLingaraj2410
 
Apresentação - Apple
Apresentação - AppleApresentação - Apple
Apresentação - AppleMicael Luz
 
Internet Of Things (IoT)
Internet Of Things (IoT) Internet Of Things (IoT)
Internet Of Things (IoT) kiran kumar
 
DATA TRANSMISSION THROUGH ILLUMINATION
DATA TRANSMISSION THROUGH ILLUMINATIONDATA TRANSMISSION THROUGH ILLUMINATION
DATA TRANSMISSION THROUGH ILLUMINATIONPravin Ahirwar
 
A Literature Survey on Internet of Things (IoT)
A Literature Survey on Internet of Things (IoT)A Literature Survey on Internet of Things (IoT)
A Literature Survey on Internet of Things (IoT)Eswar Publications
 
Työ­e­lä­män tie­to­suo­ja ja tie­to­suo­ja­vas­taa­van työ­kalu­pak­ki
Työ­e­lä­män tie­to­suo­ja ja tie­to­suo­ja­vas­taa­van työ­kalu­pak­kiTyö­e­lä­män tie­to­suo­ja ja tie­to­suo­ja­vas­taa­van työ­kalu­pak­ki
Työ­e­lä­män tie­to­suo­ja ja tie­to­suo­ja­vas­taa­van työ­kalu­pak­kiHarto Pönkä
 

Mais procurados (20)

Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
Internet of Things (IoT) - Slide Marvels, Top PowerPoint presentation design ...
 
Li fi Technology
Li fi TechnologyLi fi Technology
Li fi Technology
 
Cloud storage
Cloud storageCloud storage
Cloud storage
 
TensorFlow Object Detection API
TensorFlow Object Detection APITensorFlow Object Detection API
TensorFlow Object Detection API
 
10 min IoT ppt
10 min IoT ppt10 min IoT ppt
10 min IoT ppt
 
SGBD
SGBDSGBD
SGBD
 
IoT - Internet of Things
IoT -  Internet of ThingsIoT -  Internet of Things
IoT - Internet of Things
 
Li fi technology - A complete overview
Li fi technology - A complete overviewLi fi technology - A complete overview
Li fi technology - A complete overview
 
Wearable computing
Wearable computingWearable computing
Wearable computing
 
Li fi ppt
Li fi pptLi fi ppt
Li fi ppt
 
Smart home
Smart homeSmart home
Smart home
 
Apresentação - Apple
Apresentação - AppleApresentação - Apple
Apresentação - Apple
 
Icloud by Apple
Icloud by AppleIcloud by Apple
Icloud by Apple
 
LIFI TECHNOLOGY
LIFI TECHNOLOGYLIFI TECHNOLOGY
LIFI TECHNOLOGY
 
Internet Of Things (IoT)
Internet Of Things (IoT) Internet Of Things (IoT)
Internet Of Things (IoT)
 
DATA TRANSMISSION THROUGH ILLUMINATION
DATA TRANSMISSION THROUGH ILLUMINATIONDATA TRANSMISSION THROUGH ILLUMINATION
DATA TRANSMISSION THROUGH ILLUMINATION
 
IoT presentation
IoT presentationIoT presentation
IoT presentation
 
A Literature Survey on Internet of Things (IoT)
A Literature Survey on Internet of Things (IoT)A Literature Survey on Internet of Things (IoT)
A Literature Survey on Internet of Things (IoT)
 
Työ­e­lä­män tie­to­suo­ja ja tie­to­suo­ja­vas­taa­van työ­kalu­pak­ki
Työ­e­lä­män tie­to­suo­ja ja tie­to­suo­ja­vas­taa­van työ­kalu­pak­kiTyö­e­lä­män tie­to­suo­ja ja tie­to­suo­ja­vas­taa­van työ­kalu­pak­ki
Työ­e­lä­män tie­to­suo­ja ja tie­to­suo­ja­vas­taa­van työ­kalu­pak­ki
 
I - Mode Technology
I - Mode TechnologyI - Mode Technology
I - Mode Technology
 

Destaque

Estágio Supervisionado e NPI - UFC Quixadá
Estágio Supervisionado e NPI - UFC QuixadáEstágio Supervisionado e NPI - UFC Quixadá
Estágio Supervisionado e NPI - UFC QuixadáCamilo Almendra
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducaoRegis Magalhães
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosRegis Magalhães
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Regis Magalhães
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosRegis Magalhães
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaAdriano Teixeira de Souza
 

Destaque (20)

Estágio Supervisionado e NPI - UFC Quixadá
Estágio Supervisionado e NPI - UFC QuixadáEstágio Supervisionado e NPI - UFC Quixadá
Estágio Supervisionado e NPI - UFC Quixadá
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Java 15 Jar
Java 15 JarJava 15 Jar
Java 15 Jar
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 07-pdo
Prog web 07-pdoProg web 07-pdo
Prog web 07-pdo
 
Easy Rails
Easy RailsEasy Rails
Easy Rails
 
Java 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral DetalhadoJava 01 Java Visao Geral Detalhado
Java 01 Java Visao Geral Detalhado
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Java 14 Javadoc
Java 14 JavadocJava 14 Javadoc
Java 14 Javadoc
 
Pascal Tipos
Pascal TiposPascal Tipos
Pascal Tipos
 
Prog web 06-php-oo
Prog web 06-php-ooProg web 06-php-oo
Prog web 06-php-oo
 
Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011Linked Data - Minicurso - SBBD 2011
Linked Data - Minicurso - SBBD 2011
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Curso Ruby
Curso RubyCurso Ruby
Curso Ruby
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Prog web 08-php-mvc
Prog web 08-php-mvcProg web 08-php-mvc
Prog web 08-php-mvc
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 

Semelhante a Linked Data: Construindo um Espaço de Dados Global na Web

Web Semântica - RoadShow TI Senac SP
Web Semântica - RoadShow TI Senac SPWeb Semântica - RoadShow TI Senac SP
Web Semântica - RoadShow TI Senac SPTalita Pagani
 
Perspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomiaPerspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomiaNaira Michelle Alves Pereira
 
Descrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticosDescrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticosJaider Andrade Ferreira
 
Web Semântica e Ontologias
Web Semântica e OntologiasWeb Semântica e Ontologias
Web Semântica e OntologiasDaniela Brauner
 
Introdução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.comIntrodução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.comRenan Moreira de Oliveira
 
Integrando a Web Social e a Web Semântica com PHP
Integrando a Web Social e a Web Semântica com PHPIntegrando a Web Social e a Web Semântica com PHP
Integrando a Web Social e a Web Semântica com PHPOtávio Calaça Xavier
 
Palestra Dia da Liberdade dos Documentos - 2011-03-30
Palestra Dia da Liberdade dos Documentos - 2011-03-30Palestra Dia da Liberdade dos Documentos - 2011-03-30
Palestra Dia da Liberdade dos Documentos - 2011-03-30UEPA
 
Apresentação linked data
Apresentação linked dataApresentação linked data
Apresentação linked dataUmberto Diniz
 
Dados Ligados (Linked Data) CONSEGI 2011
Dados Ligados (Linked Data) CONSEGI 2011Dados Ligados (Linked Data) CONSEGI 2011
Dados Ligados (Linked Data) CONSEGI 2011Pablo Mendes
 
Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeElvis Fusco
 
Visualização de dados
Visualização de dadosVisualização de dados
Visualização de dadoslrmodesto
 
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...Leandro Borges
 
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Renato Bongiorno Bonfanti
 
Apresentação - Primeiras Indicações Doutorado
Apresentação - Primeiras Indicações Doutorado Apresentação - Primeiras Indicações Doutorado
Apresentação - Primeiras Indicações Doutorado Luis Felipe
 

Semelhante a Linked Data: Construindo um Espaço de Dados Global na Web (20)

Linked Data
Linked DataLinked Data
Linked Data
 
Palestra Introdução a Linked Data
Palestra Introdução a Linked DataPalestra Introdução a Linked Data
Palestra Introdução a Linked Data
 
Web Semântica - RoadShow TI Senac SP
Web Semântica - RoadShow TI Senac SPWeb Semântica - RoadShow TI Senac SP
Web Semântica - RoadShow TI Senac SP
 
Perspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomiaPerspectivas da web semântica para a biblioteconomia
Perspectivas da web semântica para a biblioteconomia
 
Descrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticosDescrição de recursos em wikis semânticos
Descrição de recursos em wikis semânticos
 
Web 3 - A Web de Dados
Web 3 - A Web de DadosWeb 3 - A Web de Dados
Web 3 - A Web de Dados
 
Web Semântica e Ontologias
Web Semântica e OntologiasWeb Semântica e Ontologias
Web Semântica e Ontologias
 
WEB 3.0
WEB 3.0WEB 3.0
WEB 3.0
 
Tópico 3 - RDF
Tópico 3 - RDFTópico 3 - RDF
Tópico 3 - RDF
 
Introdução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.comIntrodução a web semântica e o case da globo.com
Introdução a web semântica e o case da globo.com
 
Integrando a Web Social e a Web Semântica com PHP
Integrando a Web Social e a Web Semântica com PHPIntegrando a Web Social e a Web Semântica com PHP
Integrando a Web Social e a Web Semântica com PHP
 
Palestra Dia da Liberdade dos Documentos - 2011-03-30
Palestra Dia da Liberdade dos Documentos - 2011-03-30Palestra Dia da Liberdade dos Documentos - 2011-03-30
Palestra Dia da Liberdade dos Documentos - 2011-03-30
 
Apresentação linked data
Apresentação linked dataApresentação linked data
Apresentação linked data
 
Dados Ligados (Linked Data) CONSEGI 2011
Dados Ligados (Linked Data) CONSEGI 2011Dados Ligados (Linked Data) CONSEGI 2011
Dados Ligados (Linked Data) CONSEGI 2011
 
Web 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na RedeWeb 3.0 - A Semântica na Rede
Web 3.0 - A Semântica na Rede
 
Visualização de dados
Visualização de dadosVisualização de dados
Visualização de dados
 
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
Do Gopher, Web Crawler, Google, pagerank, sitemaps, ontologia, ao Big Data, W...
 
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
 
Apresentação - Primeiras Indicações Doutorado
Apresentação - Primeiras Indicações Doutorado Apresentação - Primeiras Indicações Doutorado
Apresentação - Primeiras Indicações Doutorado
 
Web Crawlers
Web CrawlersWeb Crawlers
Web Crawlers
 

Mais de Regis Magalhães

Mais de Regis Magalhães (17)

High Dimensional Data
High Dimensional DataHigh Dimensional Data
High Dimensional Data
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Prog web 09-php-crud-mvc
Prog web 09-php-crud-mvcProg web 09-php-crud-mvc
Prog web 09-php-crud-mvc
 
Prog web 05-php-mysql
Prog web 05-php-mysqlProg web 05-php-mysql
Prog web 05-php-mysql
 
Prog web 04-php-gd
Prog web 04-php-gdProg web 04-php-gd
Prog web 04-php-gd
 
Prog web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhosProg web 03-php-sessoes-cookies_cabecalhos
Prog web 03-php-sessoes-cookies_cabecalhos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 02-php-primeiros-passos
Prog web 02-php-primeiros-passosProg web 02-php-primeiros-passos
Prog web 02-php-primeiros-passos
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 01-php-introducao
Prog web 01-php-introducaoProg web 01-php-introducao
Prog web 01-php-introducao
 
Java 01 Java Visao Geral Resumo
Java 01 Java Visao Geral ResumoJava 01 Java Visao Geral Resumo
Java 01 Java Visao Geral Resumo
 
Merci 10 Completo
Merci 10 CompletoMerci 10 Completo
Merci 10 Completo
 
php 01 introducao
php 01 introducaophp 01 introducao
php 01 introducao
 
java 00 Introducao
java 00 Introducaojava 00 Introducao
java 00 Introducao
 
POO Plano de Curso
POO Plano de CursoPOO Plano de Curso
POO Plano de Curso
 
Php 04 Mysql
Php 04 MysqlPhp 04 Mysql
Php 04 Mysql
 
Php 08 Oo
Php 08 OoPhp 08 Oo
Php 08 Oo
 

Linked Data: Construindo um Espaço de Dados Global na Web

  • 1. Tutorial Linked Data: Construindo um Espaço de Dados Global na Web Regis P. Magalhães, José Antônio F. de Macêdo, Vânia Maria Ponte Vidal {regispires, jose.macedo, vvidal}@lia.ufc.br Percy E. Salas , Karin K. Breitman , Marco A. Casanova {psalas,karin,casanova}@inf.puc-rio.br
  • 2. 2 Agradecimentos Especiais • Sorën Auer – Universidade de Leipzig – pelos slides gentilmente cedidos; • Prof. Palazzo – UFRGS – pelos exemplos em Sparql.
  • 5. 5 Informação está disponível na Web, mas opaca para as buscas !
  • 6. 6 Web de Documentos • Internet, Documentos e Links
  • 7. 7 Problemas • As pessoas não estão interessadas em documentos, mas em coisas que estão neles; • As pessoas podem analisar os documentos para extrair significado: ▫ As máquinas ainda não fazem isso de forma viável ▫ HTML define a estrutura de um documento, mas não explica o seu significado • Como permitir que máquinas compreendam os dados publicados na Web?
  • 8. 8 Como os dados estão publicados na Web? • Diversos modelos/formatos: ▫ HTML, Bancos de dados relacionais, XML, CSV, XLS, PDF, ... • Heterogeneidade: ▫ Diferentes formatos ▫ Diferentes modelos de dados ▫ Nomes diferentes com o mesmo significado ▫ Ausência de vínculos entre fontes de dados diferentes • Conclusão: ▫ Dificuldade para consumir e integrar os dados
  • 9. 9 A cauda longa de domínios da Informação Pictures The Long Tail - Chris Encyclopedia Anderson (Wired, Oct. ´04) News adaptado para domínios de Video informação Popularidade Calendar Requirements- EngineeringTalent Special interest management communities Itinerary of Gene King George sequences … … … … Tipos de conteúdo atualmente com suporte Tipos de conteúdo com pouco (ou inexistente) suporte
  • 10. 10 APIs proprietárias isolando os dados Imagem: Bob Jagensdorf, http://flickr.com/photos/darwinbell/, CC-BY
  • 11. 11 Solução • Complementar texto nas paginas Web com dados conectados abertos e combinar/integrar de forma inteligente tal informação estruturada de diferentes fontes: HTML Search engine HTML RDF RDF Web Web server server DB DB creches.rj.br imoveis.rj.br Tem tudo sobre creches Sabe tudo sobre ofertas de no Rio imóveis no Rio
  • 12. Linking Data © CC-BY-NC-ND by ~Dezz~ (residae on flickr)
  • 13. 13 Linked Data “Linked Data é um conjunto das melhores práticas para publicação e conexão de dados estruturados na Web, permitindo estabelecer links entre itens de diferentes fontes de dados para formar um único espaço de dados global.” Heath, T. and Bizer, C. (2011). Linked Data: Evolving the Web into a Global Data Space. Morgan & Claypool, 1st edition. O pontapé inicial para essas melhores práticas foram os princípios de Linked Data estabelecidos por Tim Berners Lee em 2006. http://www.w3.org/DesignIssues/LinkedData.html
  • 14. 14 Princípios de Linked Data 1. Usar URIs como nomes para coisas. 2. URIs HTTP para que as pessoas possam procurar (dereferenciar) esses nomes. 3. Quando alguém procurar uma URI, prover informação útil, usando os padrões (RDF, SPARQL). 4. Incluir links para outras URIs, de modo que seja possivel a descoberta de mais informação. Tim Berners-Lee 2006 http://www.w3.org/DesignIssues/LinkedData.html
  • 15. 15 Boas práticas • Os princípios foram estendidos a partir das experiências da comunidade, resultando em boas práticas de publicação e consumo de Linked Data. • Documentos importantes: ▫ Bizer, C., Cyganiak, R., and Heath, T. (2007). How to Publish Linked Data on the Web. http://www4.wiwiss.fu- berlin.de/bizer/pub/LinkedDataTutorial/. ▫ Sauermann, L. and Cyganiak, R. (2008). Cool URIs for the Semantic Web. http://www.w3.org/TR/cooluris/.
  • 16. 16 Plano 5 estrelas de TimBL’s para dados abertos ★ Disponibilize seus dados na web sob licença aberta ★★ Disponibilize os dados de forma estruturada (Planilha Excel sheet em vez de imagem de uma tabela) ★★★ Use um formato não-proprietário (Arquivo CSV no lugar de planilha Excel) ★★★★ Use formato de Linked Data (URIs para definir coisas, RDF para representar dados) ★★★★★ Conecte seus dados com dados de outros para criar contexto More: http://lab.linkeddata.deri.ie/2010/star-scheme-by-example/
  • 17. 17 Web de Dados • Linked Data torna a Web em um enorme banco de dados global: ▫ O Espaço de Dados Global é chamado de Web de Dados. • A Web de Dados forma um imenso grafo global constituído de bilhões de triplas RDF de várias fontes cobrindo os mais variados domínios.
  • 19. 19 Web de Dados: características • Genérica e pode conter qualquer tipo de dado; • Qualquer pessoa pode publicar dados; • Não há restrições para seleção de vocabulários; • Dados são auto-descritos; • Mecanismo padrão de acesso aos dados (HTTP) e modelo de dados padrão (RDF) simplificam o acesso aos dados; • Aplicações que usam a Web de dados não se limitam a um conjunto fixo de fontes de dados, podendo inclusive descobrir novas fontes em tempo de execução.
  • 20. 20 Web de Documentos x Web de Dados Web de Documentos Web de Dados Navegadores HTML Navegadores RDF Links HTML conectando Links RDF interligando dados documentos Mecanismo de identificação - URIs Mecanismo de identificação – URIs Mecanismo de acesso – HTTP Mecanismo de acesso – HTTP Formato de conteúdo – HTML Modelo de dados – RDF – Linguagem de consulta – SPARQL
  • 21. 21 Da Web de documentos para a Web Semântica Semantic Web (Visão 1998, começando???) Data Web (since 2006) • Raciocínio • Dereferenciamento URI • Lógica, Regras • Integração de dados • Confiança • Serialização RDF Social Web (since 2003) • Folksonomies/Tagging • Reputação • Grupos, relacionamentos Web (since 1992) • HTTP • HTML/CSS/JavaScript
  • 22. 22 Web de Dados x Semantic Web
  • 23. Linked data em poucas palavras 1. Usa Modelo de dados RDF starts 17.11.2011 organizes W3C W3C.br 2011 takesPlaceIn Rio de Janeiro 2. É serializado em triplas: W3C organizes W3C.br-2011 W3C.br-2011 starts “20111117”^^xsd:date W3C.br-2011 takesPlaceAt Rio de Janeiro 3. Usa negociação de conteúdo
  • 24. 24 Padrões usados no Linked Data
  • 25. 25 Padrões usados no Linked Data • URIs – identificam objetos e conceitos, permitindo que eles sejam dereferenciados para obtenção de informações a seu respeito. • HTTP – Mecanismo de acesso universal • RDF – Modelo de dados descentralizado comum baseado em grafo • SPARQL – Linguagem e protocolo para consulta sobre grafos RDF
  • 26. 26 HTTP URIs • Um Identificador Uniforme de Recursos (URI) é uma seqüência (compacta) de caracteres que identifica um recurso físico ou abstrato [RFC3986] • Sintaxe URI = protocolo":" path [ "?" query ] [ "#" fragment ] • Exemplo http://lia.ufc.br/~regispires/researchers.rdf#ufc
  • 27. 27 HTTP - Negociação de Conteúdo http://www4.wiwiss.fu-berlin.de/factbook/resource/Russia A(URI identifica o recurso session for dereferencing a URI identifying a non-information complete example of a HTTP sem informação sobre a Rússia) http://www4.wiwiss.fu-berlin.de/factbook/data/Russia resource is given in Appendix A. (Recurso de informação com uma representação RDF/XML que descreve a Rússia) http://www4.wiwiss.fu-berlin.de/factbook/page/Russia URI Aliases informação com uma representação HTML que descreve a Rússia) (recurso de
  • 29. 29 Modelo RDF • Resource Description Framework • Descentralizado, baseado em grafo e extensível; • Permite a interligação entre conjuntos de dados distintos; • Torna possível a implementação de aplicações genéricas capazes de operar sobre o espaço de dados global [Heath and Bizer 2011]
  • 30. 30 Tripla RDF isPresidentOf •Dilma Roussef Brasil Sujeito Predicado Objeto Uso permitido: Sujeito : URI ou nó vazio Predicado: URI (também chamado de propriedades) Objeto : URI ou nó vazio ou literal
  • 31. 31 Exemplo de Grafo RDF longitude Rio de • hasAreaCode 22.54 021 Janeiro latitude locatedIn 43.12 hasMayor isMayorOf Rio de Eduardo Paes Janeiro born locatedIn 1969-11-14 isMemberOf Brazil PMDB
  • 32. browser dereferences this URI over the Web, asking for con 32 displays the retrieved information (click here to have Disco that he is based near Berlin, using the DBpedia URI http://d Link for the non-information resource Berlin. As the surfer is inte RDF dereference this URI by clicking on it. The browser now der application/rdf+xml .
  • 35. 35 URI Alias – owl:sameAs prefix owl: <http://www.w3.org/2002/07/owl#> Sujeito: http://www.w3.org/People/Berners-Lee/card#i Predicado: http://www.w3.org/2002/07/owl#sameAs Obj: http://www4.wiwiss.fu-berlin.de/dblp/resource/person/100007 Sujeito: http://dbpedia.org/resource/Tim_Berners-Lee Predicado: http://www.w3.org/2002/07/owl#sameAs Obj: http://www4.wiwiss.fu-berlin.de/dblp/resource/person/100007
  • 36. 36 Serializaçao RDF N3: "Notation 3" – formalismo extendido N-Triples: parte de N3 Quelle:http://www.w3.org/DesignIssues/Notation3.html Turtle: Extensão de N-Triples (shortcuts)
  • 37. 37 RDF: Formatos de Serialização • RDF/XML ▫ Mais antigo e mais amplamente usado. ▫ Prolixo e pouco legível para o ser humano. • N3 (Notation 3) [Berners-Lee 1998] ▫ Mais expressivo que RDF/XML. • Turtle [Beckett 2007] ▫ Subconjunto de N3. • N-Triples ▫ Subconjunto de N3 e Turtle ▫ Não possui alguns atalhos dos outros formatos como recursos aninhados e URIs compactas  Termina ficando prolixo, mas simples para fazer parse. • RDFa ▫ RDF embutido em HTML • JSON
  • 38. 38 Prefixos de namespaces Sem prefixo http://dbpedia.org/resource/Leipzig http://www.w3.org/2000/01/rdf-schema#label "Leipzig"@de . Com prefixo @prefix dbp:<http://dbpedia.org/resource/> @prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#> dbp:Leipzig rdfs:label "Leipzig"@de .
  • 39. 39 Sintaxe Turtle : Atalhos http://dbpedia.org/resource/Leipzig http://dbpedia.org/property/hasMayor http://dbpedia.org/resource/Burkhard_Jung ; http://www.w3.org/2000/01/rdf-schema#label "Leipzig"@de ; http://www.w3.org/2003/01/geo/wgs84_pos#lat "51.333332"^^xsd:float ; http://www.w3.org/2003/01/geo/wgs84_pos#lon "12.383333"^^xsd:float . Atalhos para prefixos de namespace: @prefix rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#> . @prefix dbp:<http://dbpedia.org/resource/> . @prefix dbpp:<http://dbpedia.org/property/> . @prefix geo:<http://www.w3.org/2003/01/geo/wgs84_pos#> . dbp:Leipzig dbpp:hasMayor dbp:Burkhard_Jung ; rdfs:label "Leipzig"@de ; geo:lat "51.333332"^^xsd:float ; geo:lon "12.383333"^^xsd:float .
  • 40. 40 RDF/JSON ▫ JSON = JavaScript Object Notation ▫ Formato compacto para troca de dado entre aplicações ▫ Documentos JSON são códigos JavaScript válidos ▫ Redução de overhead no parsing e serialização comparado ao XML { "S" : { "P" : [ O ] } }
  • 41. 41 Exemplo JSON { "http://dbpedia.org/resource/Leipzig" : { "http://dbpedia.org/property/hasMayor": [ { "type":"uri", "value":"http://dbpedia.org/resource/Burkhard_Jung" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "type":"literal", "value":"Leipzig", "lang":"en" } ] , "http://www.w3.org/2003/01/geo/wgs84_pos#lat": [ { "type":"literal", "value":"51.3333", "datatype":"http://www.w3.org/2001/XMLSchema#float" } ] "http://www.w3.org/2003/01/geo/wgs84_pos#lon": % [ { "type":"literal", "value":"12.3833", "datatype":"http://www.w3.org/2001/XMLSchema#float" } ] } }
  • 42. 42 Sintaxe RDFa • RDFa = Resource Description Framework – in – attributes; • Incorporação de RDF no XHTML; • Maior overhead que outras serializações devido à incorporação no HTML; • Menos legível.
  • 43. 43 Exemplo RDFa <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html version="XHTML+RDFa 1.0" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:dbpp="http://dbpedia.org/property/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"> <head><title>Leipzig</title></head> <body about="http://dbpedia.org/resource/Leipzig"> <h1 property="rdfs:label" xml:lang="de">Leipzig</h1> <p>Leipzig is a city in Germany. Leipzig's mayor is <a href="Burkhard_Jung" rel="dbpp:hasMayor">Burkhard Jung</a>. It is located at latitude <span property="geo:lat" datatype="xsd:float">51.3333</span> and longitude <span property="geo:lon" datatype="xsd:float">12.3833</span>.</p> </body> </html>
  • 44. 44 Convertendo BD Relacional em RDF Fonte: Consuming Linked Data Tutorial – WWW Conference 2010
  • 45. 45 Grafo RDF correspondente Fonte: Consuming Linked Data Tutorial – WWW Conference 2010
  • 46. 46 Vinculando com Revyu.com Fonte: Consuming Linked Data Tutorial – WWW Conference 2010
  • 48. 48 Vocabulários • Esquema do RDF; • Define os termos (classes e propriedades); • Tipicamente RDFS ou família OWL.
  • 49. Vocabulários comuns • FOAF (Friend-of-a-Friend) para descrição de pessoas e suas redes sociais. • SIOC (Semantically-Interlinked Online Communities) para descrição de forums e blogs. • SKOS (Simple Knowledge Organization System) para representação de taxonomias de tópicos. • DC (Dublin Core) • VoiD (Vocabulary of Interlinked Datasets) para expressar metadados gerais sobre datasets. • Organization Ontology para descrever estrutura de organizações. • GoodRelations para descrição de produtos e entidades de negócio. • Music Ontology para artistas, álbuns, e shows. • Review Vocabulary termos para representação de opiniões.
  • 50. Uso de vocabulários comuns 4th Linked Data on the Web Workshop (LDOW 2011).
  • 51. 51 Vocabulários: Friend-of-a-Friend (FOAF) define classes e propriedades para representar informação sobre pessoas e seus relacionamentos Soeren rdf:type foaf:Person . Soeren foaf:currentProject http://OntoWiki.net . Soeren foaf:homepage http://aksw.org/Soeren . Soeren foaf:knows http://sembase.at/Tassilo . Soeren foaf:sha1 09ac456515dee .
  • 53. 53 Projeto Linking Open Data • Esforço espontâneo e voluntário da comunidade iniciado em janeiro de 2007. • Objetivo principal: ▫ Desenvolver Linked Data a partir da identificação de dados existentes sob licença livre e convertê-los para RDF de acordo com os princípios do Linked Data.
  • 54. Linked Open Data cloud 2007 2008 2008 2010 2009 2008 2009 2008 54
  • 55. Dados Ligados na Web: Setembro 2011 User Generated Content Media Government Publications Cross- Domain Geographic Life Sciences Mais de 31 bilhões de triplas RDF Mais de 504 milhões de links RDF entre fontes de dados
  • 56. 56 Conjunto de dados Um conjunto de dados é um conjunto de triplas RDF publicadas, mantidas ou agregadas por um único provedor
  • 57. 57 Conjunto de Links • Um link RDF é uma tripla RDF cujos sujeito e objeto estão descritos em diferentes conjuntos de dados • Um linkset é uma coleção de links RDF entre dois conjuntos de dados
  • 58. 58 LOD cloud stats Distribuição das triplas Distribuição dos links http://lod-cloud.net/state/
  • 59. 59 LOD – Outubro de 2010 • 207 conjuntos de dados • Mais de 28 bilhões de triplas RDF • Aproximadamente 395 milhões de links RDF • Vários domínios
  • 60. 60 Número de Triplas 4th Linked Data on the Web Workshop (LDOW 2011).
  • 61. 61 Crescimento por domínio 4th Linked Data on the Web Workshop (LDOW 2011).
  • 62. 62 Descrição de Conjunto de dados- VoID • Meta dados do conjunto de dados em geral • Meta dados de acesso • Meta dados estruturais • Descrição de linksets • http://www.w3.org/TR/void/
  • 64. 64 Protocolo e Linguagem SPARQL ▫ SPARQL Protocol and RDF Query Language; ▫ Linguagem de consulta de alto nível para recuperação de informações contidas em grafos RDF; ▫ Protocolo usado para enviar consultas e recuperar resultados através do protocolo HTTP; ▫ Fontes Linked Data tipicamente fornecem um SPARQL Endpoint que é um serviço Web com suporte ao protocolo SPARQL.
  • 65. 65 Exemplo: Pessoas e seus nomes PREFIX ex: <http://inria.fr/schema#> SELECT ?person ?name WHERE { ?person rdf:type ex:Person ?person ex:name ?name . }
  • 66. 66 Exemplo - Resultado <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#" > <head> <variable name="person"/> <variable name="name"/> </head> <results ordered="false" distinct="false"> <result> <binding name="person"> <uri>http://inria.fr/schema#fg</uri> </binding> <binding name="name"> <literal>gandon</literal> </binding> </result> <result> ...
  • 67. 67 Exemplo: Pessoas com pelo menos 18 anos PREFIX ex: <http://inria.fr/schema#> SELECT ?person ?name WHERE { ?person rdf:type ex:Person ?person ex:name ?name . ?person ex:age ?age . FILTER (?age > 17) }
  • 68. 68 Exemplo: Recuperar a idade, se disponível PREFIX ex: <http://inria.fr/schema#> SELECT ?person ?name ?age WHERE { ?person rdf:type ex:Person ?person ex:name ?name . OPTIONAL { ?person ex:age ?age } }
  • 69. 69 Exemplo: Adultos implícitos e explícitos PREFIX ex: <http://inria.fr/schema#> SELECT ?name WHERE { ?person ex:name ?name . { { ?person rdf:type ex:Adult} UNION { ?person ex:age ?age FILTER (?age > 17) } } }
  • 70. 70 Exemplo: Resultados 21 a 40 ordenados por nome PREFIX ex: <http://inria.fr/schema#> SELECT ?person ?name WHERE { ?person rdf:type ex:Person ?person ex:name ?name . } ORDER BY ?name LIMIT 20 OFFSET 20
  • 71. Armazenamento de dados no Modelo RDF
  • 72. Estratégias de Armazenamento • In-memory ▫ Armazenamento do grafo RDF na memória principal. ▫ Exemplos: Jena, Sesame • Native (RDF Store) ▫ Solução própria para armazenamento de grafos RDF. ▫ Exemplos: Jena TDB , Sesame RDF Repository, Virtuoso RDF Triple Store, OWLIM • Non-native ▫ Usam bancos de dados de terceiros. ▫ Exemplos: Jena SDB, Sesame PgSQL/MySQL Repository, Virtuoso, ARQ
  • 73. Triple ou Quad Store? • Normalmente Triple Stores são de fato Quad Stores pois suportam Named Graphs. • Named Graph é simplesmente uma coleção de triplas RDF nomeada por uma URI que identifica o grafo. ▫ Usado para manter a proveniência dos dados RDF.
  • 74. OpenLink Virtuoso RDF Triple Store • Native RDF Store. • Licença: Open source e proprietária. • Servidor web e endpoint SPARQL. • Suporta bilhões de triplas. • Usado para armazenamento de DBpedia, data.gov, etc.
  • 75. AllegroGraph • Alto desempenho ▫ Suporte a bilhões de triplas com bom desempenho. • Uso eficiente de memória. • Suporta SPARQL, RDFS++ e Prolog reasoning. • Tipos geo-espaciais e temporais nativos. • Reasoning Geospatial e Temporal eficientes. • Suporte a análise de redes sociais. • Gerenciador de armazenamento em nuvem (Amazon EC2)
  • 76. OWLIM (http://www.ontotext.com/owlim) • RDF Store (Native) proprietária. • Implementado em Java. • Compatível com Sesame e Jena. • Suporte a reasoning robusto e transparente (RDFS, OWL Horst and OWL 2 RL). • Alta escalabilidade e excelente desempenho comparado a outras alternativas. • Extensões geo-espaciais eficientes. • Versões: ▫ OWLIM-Lite – gratuito para qualquer uso.  Suporta dezenas de milhões de triplas. ▫ OWLIM-SE – gratuito para pesquisa e avaliação.  Suporta dezenas de bilhões de triplas. ▫ OWLIM-Enterprise – comercial.  Replication Cluster com balanceamento de carga e recuperação de falhas.
  • 77. RDF Benchmarks http://www.w3.org/wiki/RdfStoreBenchmarking • Comparam a performance de sistemas de armazenamento que expõem SPARQL Endpoints, sejam RDF Stores ou não. • Berlin SPARQL Benchmark (BSBM) ▫ http://www4.wiwiss.fu-berlin.de/bizer/BerlinSPARQLBenchmark/ • Lehigh University Benchmark (LUBM) ▫ http://swat.cse.lehigh.edu/projects/lubm/ • SP²Bench SPARQL Performance Benchmark (SP2B) ▫ http://dbis.informatik.uni-freiburg.de/index.php?project=SP2B
  • 79. Publicação de Linked Data • Publicar Linked Data: usar os princípios e melhores práticas de Linked Data para disponibilizar os dados na Web. • Requisitos mínimos: ▫ Fornecer URIs dereferenciáveis para cada entidade. ▫ Criar links RDF para outras fontes de dados. • Desejável: ▫ Disponibilização de SPARQL Endpoints e dumps dos dados.
  • 80. Interface Linked Data • Tratar requisições de URIs. • Dereferenciar URIs. • Tratar dos redirecionamentos 303 requeridos pela arquitetura Web. • Negociação de conteúdo entre descrições de um mesmo recurso em diferentes formatos. http://dblp.l3s.de/d2r/resource/authors/Marco_A._Casanova http://dblp.l3s.de/d2r/page/authors/Marco_A._Casanova http://dblp.l3s.de/d2r/data/authors/Marco_A._Casanova
  • 81. Publicação de dados de fontes RDF como Linked Data • Fontes de dados que adotam o modelo RDF são normalmente armazenadas em arquivo RDF ou RDF Store.
  • 82. Publicação de arquivos RDF como Linked Data • Simples • Usado para arquivos pequenos • RDF/XML ▫ Formato de serialização mais antigo e usado para publicação de Linked Data.
  • 83. Arquivo RDF no formato Turtle @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix : <http://lia.ufc.br/~regispires/researchers.rdf#> . # The <> (the empty URI) means "this document". <> a foaf:Document ; dc:title "Researchers file" . :ufc a foaf:Organization ; foaf:name "Universidade Federal do Ceará" . :vania a foaf:Person ; foaf:name "Vânia Maria Ponte Vidal" ; foaf:Organization :ufc ; owl:sameAs <http://dblp.l3s.de/d2r/resource/V%C3%A2nia_Maria_Ponte_Vidal> .
  • 84. Conversão de Turtle para RDF/XML • Conversores on-line: ▫ Babel  http://simile.mit.edu/babel ▫ RDFConverter  http://www.mindswap.org/2002/rdfconvert/
  • 85. Arquivo RDF no formato RDF/XML <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://lia.ufc.br/~regispires/researchers.rdf#"> <rdf:Description rdf:about=""> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Document"/> <dc:title>Researchers file</dc:title> </rdf:Description> <rdf:Description rdf:about="http://lia.ufc.br/~regispires/researchers.rdf#ufc"> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Organization"/> <foaf:name>Universidade Federal do Ceará</foaf:name> </rdf:Description> <rdf:Description rdf:about="http://lia.ufc.br/~regispires/researchers.rdf#vania"> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/> <foaf:name>Vânia Maria Ponte Vidal</foaf:name> <foaf:Organization rdf:resource="http://lia.ufc.br/~regispires/researchers.rdf#ufc"/> <owl:sameAs rdf:resource="http://dblp.l3s.de/d2r/resource/V%C3%A2nia_Maria_Ponte_Vidal"/> </rdf:Description> </rdf:RDF>
  • 86. Interface Linked Data • Disponibilização de um arquivo RDF/XML: ▫ Possibilita o dereferenciamento de URIs ▫ Uso de RDF Links • Não resolve: ▫ Redirecionamentos 303 e a negociação de conteúdo. • Fornecimento de interface Linked Data através do serviço Pubby (http://www4.wiwiss.fu- berlin.de/pubby/)
  • 87. RDFa: RDF embutido em documento Web • Textos e links legíveis ao ser humano coexistindo com dados que poderão ser processados pelas máquinas. • Alterações centralizadas em um único documento.
  • 88. Publicação de dados de RDF Store como Linked Data • Tipicamente envolve: ▫ Disponibilização de interface Linked Data ▫ SPARQL Endpoint • Servidor Joseki ou Fuseki pode ser usado como SPARQL Endpoint de uma RDF Store. • Pubby pode prover a interface Linked Data. ▫ Realiza consulta SPARQL usando o comando DESCRIBE para obtenção do resultado em formato RDF.
  • 89. Publicação de dados de fontes não RDF como Linked Data • Dados publicados devem estar no modelo RDF ou ser convertidos para ele. • Abordagens para lidar com dados não RDF: ▫ Processo de Conversão (abordagem materializada)  Gerar RDF através de algum conversor  Triplify, D2R, Babel (PUC Rio), StdTrip (PUC Rio) ▫ Fornecer uma visão RDF (abordagem virtual)  Acesso a dados que não estão no modelo RDF através de um RDF Wrapper  Conversão dinâmica baseada em mapeamentos estabelecidos entre o modelo nativo e o modelo RDF.
  • 90. RDB-to-RDF Wrappers • Criam visões RDF a partir de mapeamentos entre as estruturas relacionais e os grafos RDF. ▫ Triplify ▫ Plataforma D2RQ ▫ Virtuoso RDF Views
  • 91. RDB-to-RDF Wrappers • Triplify ▫ Converte os resultados de consultas SQL em RDF, JSON e Linked Data. ▫ 3 bilhões de triplas do dataset LinkedGeoData foram geradas pelo Triplify.
  • 92. RDB-to-RDF Wrappers • Triplify ▫ Simples. Menos de 500 linhas de código. ▫ Na maioria das aplicações Web apenas um pequeno número de consultas (3 a 7) é suficiente para extrair as informações relevantes. ▫ Já possui configurações prontas para triplificar dados de várias aplicações Web populares (WordPress, Drupal, Joomla!, OSCommerce, phpBB, Gallery, etc.). Figura: http://triplify.org/About
  • 93. RDB-to-RDF Wrappers • Plataforma D2RQ ▫ Fornece a infra-estrutura necessária para acessar bancos de dados relacionais como grafos RDF virtuais. • Componentes ▫ Linguagem de mapeamento D2RQ ▫ Mecanismo D2RQ ▫ Servidor D2R
  • 95. RDB-to-RDF Wrappers • Virtuoso RDF Views ▫ Mapeia dados relacionais em RDF de forma dinâmica. ▫ Os mapeamentos são escritos em uma linguagem declarativa.
  • 96. RDB2RDF • Grupo de trabalho do W3C criado em 2009. • Definição da linguagem R2RML ▫ R2RML: RDB to RDF Mapping Language ▫ Mapeamento de dados e esquemas relacionais para RDF ▫ Tende a substituir as soluções de mapeamento já existentes. • Direct Mapping of Relational Data to RDF ▫ http://www.w3.org/TR/rdb-direct-mapping/ ▫ A partir de um banco de dados relacional, ele gera um grafo RDF (direct graph). ▫ Define uma transformação simples, servindo de base para transformações mais complexas. ▫ Provê um comportamento padrão para R2RML.
  • 97. Melhores práticas para publicação de Linked Data • Selecionar URIs adequadas ▫ Evitar URIs contendo algum detalhe de implementação ou do ambiente em que estão publicadas ▫ URIs relacionadas a um mesmo recurso  http://dblp.l3s.de/d2r/resource/V%C3%A2nia_Maria_Ponte_Vidal  http://dblp.l3s.de/d2r/page/V%C3%A2nia_Maria_Ponte_Vidal  http://dblp.l3s.de/d2r/data/V%C3%A2nia_Maria_Ponte_Vidal
  • 98. Melhores práticas para publicação de Linked Data • Usar URIs dereferenciáveis. • Utilizar URIs estáveis. • Criar links para outras fontes de dados
  • 99. Melhores práticas para publicação de Linked Data • Publicação de Metadados ▫ Facilita a seleção dos dados relevantes. ▫ Devem ser fornecidos metadados sobre proveniência e licenciamento dos dados. ▫ Também é recomendável a disponibilização de metadados sobre a fonte de dados.
  • 100. Suporte a Metadados Visualização de dados sobre um gene providos pelo Pubby. Inclui metadados de proveniência. Triplify, Pubby e D2R Server possuem suporte para metadados. Fonte: Integrating Provenance into the Web of Data Olaf Hartig and Jun Zhao
  • 101. Metadados de Licenciamento e Proveniência • Somente 18 (9,05 %) das 207 fontes de dados fornecem informação de licença machine- readable. • Somente 50 (25.25 %) das fontes de dados fornecem informação de proveniência machine-readable.
  • 102. Melhores práticas para publicação de Linked Data • Usar termos de vocabulários amplamente usados. ▫ Objetivo: facilitar o processamento de Linked Data pelas aplicações clientes • Novos termos só devem ser definidos se não forem encontrados em vocabulários já existentes
  • 103. Melhores práticas para publicação de Linked Data • Estabelecer relações entre os termos de vocabulários proprietários para termos de outros vocabulários. ▫ Uso das propriedades owl:equivalentClass, owl:equivalentProperty, rdfs:subClassOf, rdfs:subPropertyOf.
  • 104. Mapeamentos de Vocabulários • Somente 9 (7,32%) de 123 fontes de dados que usam termos proprietários fornecem mapeamentos de termos para outros vocabulários. • Exemplo: <http://xmlns.com/foaf/0.1/Person> owl:equivalentClass <http://dbpedia.org/ontology/Person> .
  • 105. Melhores práticas para publicação de Linked Data • Explicitar formas de acesso adicional aos dados ▫ SPARQL endpoints e RDF dumps.
  • 106. Validação dos dados publicados como Linked Data • É necessário garantir que os dados realmente estão de acordo com os princípios e melhores práticas de Linked Data. • Ferramentas ▫ W3C Validation Service ▫ Eyeball ▫ cURL ▫ Vapour ▫ Sindice Web Data Inspector ▫ Navegadores RDF
  • 108. Consumo de Linked Data • Ponto de partida ▫ URIs ▫ Palavras-chave ▫ Consultas SPARQL • Tipos de Aplicações que consomem Linked Data ▫ Aplicações genéricas ▫ Aplicações de domínio específico
  • 109. Aplicações genéricas para consumo de Linked Data • Navegadores RDF • Mecanismos de Busca Linked Data • Outras aplicações genéricas
  • 110. Navegadores Linked Data  Permitem a navegação entre fontes de dados seguindo links expressos como triplas RDF.  LOD Browser Switch  Explorator  Disco Hiperdata Browser  Marbles  Tabulator  LinkSailor  Graphite RDF Browser
  • 111. Disco
  • 113. Marbles  Pontos coloridos correlacionam a origem dos dados com uma lista de fontes de dados.
  • 114. Mecanismos de busca • Rastreiam a Web seguindo links RDF e possibilitam consultas sobre dados agregados. ▫ Sindice ▫ Sig.ma ▫ VisiNav ▫ Watson
  • 115. 115
  • 116.
  • 117. Outras aplicações genéricas • sameAs ▫ Serviço online de coreferenciamento ▫ Encontrar URIs de diferentes fontes de dados que representam um mesmo conceito • LDSpider ▫ Segue links para obter dados e os armazena em arquivo RDF ou em RDF Store através de SPARQL Update.
  • 118. Aplicações de domínio específico para consumo de Linked Data • Linked Data Mashups
  • 119. Aplicações de domínio específico  BBC Programmes e BBC Music
  • 120. Revyu  Avaliação / Classificação
  • 121. DBPedia Mobile • Exibe informações de diversas fontes (DBPedia, Revyu, Flickr), baseado na localização do usuário obtida por GPS.
  • 122. APIs para manipulação de Linked Data • Sesame • Jena • Named Graphs API for Jena (NG4J) • Semantic Web Client Library (SWClLib) • ARQ2
  • 124. Limitações e Desafios • Interfaces com o usuário precárias • Desempenho insatisfatório em consultas sobre múltiplas fontes de dados. • Instabilidade no acesso a fontes. • Verificação da qualidade dos dados publicados. • Tornar mais transparente a integração de dados entre múltiplas fontes. • RDF Links quebrados. • Descoberta de fontes de dados relevantes e confiáveis. • Privacidade dos dados e restrições sobre eles. • Explicitar os direitos de cópia e reprodução sobre os dados.
  • 125. Limitações e Desafios • Mapeamento entre os vocabulários existentes. • Manutenção de dados para evitar acesso a informações que não estejam mais disponíveis. • Detecção de inconsistências.
  • 127. Conclusão  Potencial de revolucionar como os dados são acessados e usados.  Sucesso de mashups, mas dificuldade para usar muitas fontes de dados heterogêneas.  Linked Data permitem que aplicações usem fontes de dados sem limites através de mecanismos de acesso padronizados.  A intenção é aproveitar todo o potencial da Web
  • 128. Conclusão Slide from Tim Berners-Lee's TED talk in Feb 09
  • 129. Referências • Berners-Lee, T. (2006). Linked Data – Design Issues. http://www.w3.org/DesignIssues/LinkedData.html. • Bizer, C., Heath, T., and Berners-Lee, T. (2009). Linked Data - The Story So Far. Int. J. Semantic Web Inf. Syst., 5(3):1–22. Disponível em: http://tomheath.com/papers/bizer-heath-berners-lee- ijswis-linked-data.pdf • Bizer, C., Cyganiak, R., and Heath, T. (2007). How to Publish Linked Data on the Web. http://www4.wiwiss.fuberlin.de/bizer/pub/LinkedDataTutorial/. • Heath, T. and Bizer, C. (2011). Linked Data: Evolving the Web into a Global Data Space. Morgan & Claypool. • Langegger, A. (2010). A Flexible Architecture for Virtual Information Integration based on Semantic Web Concepts. PhD thesis, J. Kepler University Linz. • Linking Open Data Project Wiki. Disponível em: http://esw.w3.org/topic/SweoIG/TaskForces/CommunityProjects/LinkingOpenData • Intro Slides. 4th Linked Data on the Web Workshop (LDOW 2011). • Introduction to Linked Data Slides. Consuming Linked Data Tutorial. (LDOW 2010) • Prud’hommeaux, E. and Seaborne, A. (2008). SPARQL Query Language for RDF. http://www.w3.org/TR/rdf-sparql-query/. • Clark, K. G., Feigenbaum, L., and Torres, E. (2008). SPARQL Protocol for RDF. http://www.w3.org/TR/rdf-sparql-protocol/.
  • 130. Obrigado! Dúvidas, sugestões, comentários? http://groups.google.com/group/linked-data