Your SlideShare is downloading. ×
Linked Data Tutorial - Conferencia W3C Brasil 2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Linked Data Tutorial - Conferencia W3C Brasil 2011

3,592

Published on

Slides do Tutorial Linked Data: …

Slides do Tutorial Linked Data:
Construindo um Espaço de Dados Global na Web. Apresentado na Conferência W3C Brasil 2011.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,592
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
124
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tutorial Linked Data: Construindo um Espaço de Dados Global na WebRegis P. Magalhães, José Antônio F. de Macêdo,Vânia Maria Ponte Vidal{regispires, jose.macedo, vvidal}@lia.ufc.brPercy E. Salas , Karin K. Breitman ,Marco A. Casanova{psalas,karin,casanova}@inf.puc-rio.br
  • 2. 2Agradecimentos Especiais• Sorën Auer – Universidade de Leipzig – pelos slides gentilmente cedidos;• Prof. Palazzo – UFRGS – pelos exemplos em Sparql.
  • 3. 3Motivação
  • 4. Tente encontrar na Web ...
  • 5. 5 Informaçãoestá disponível na Web, mas opaca para as buscas !
  • 6. 6Web de Documentos• Internet, Documentos e Links
  • 7. 7Problemas• 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. 8Como os dados estão publicados naWeb?• 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çãoPopularidade 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. 10APIs proprietárias isolando os dadosImagem: Bob Jagensdorf, http://flickr.com/photos/darwinbell/, CC-BY
  • 11. 11Soluçã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. 13Linked Data“Linked Data é um conjunto das melhorespráticas para publicação e conexão de dadosestruturados na Web, permitindo estabelecerlinks entre itens de diferentes fontes de dadospara 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 deLinked Data estabelecidos por Tim Berners Lee em 2006.http://www.w3.org/DesignIssues/LinkedData.html
  • 14. 14Princípios de Linked Data1. 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 2006http://www.w3.org/DesignIssues/LinkedData.html
  • 15. 15Boas 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. 16Plano 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. 17Web 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. 18Exemplo de Linked Data 18
  • 19. 19Web 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 DadosNavegadores HTML Navegadores RDFLinks HTML conectando Links RDF interligando dadosdocumentosMecanismo de identificação - URIs Mecanismo de identificação – URIsMecanismo de acesso – HTTP Mecanismo de acesso – HTTPFormato de conteúdo – HTML Modelo de dados – RDF – Linguagem de consulta – SPARQL
  • 21. 21Da Web de documentos para aWeb 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. 22Web de Dados x Semantic Web
  • 23. Linked data em poucas palavras1. Usa Modelo de dados RDF starts 17.11.2011 organizes W3C W3C.br 2011 takesPlaceIn Rio de Janeiro2. É serializado em triplas: W3C organizes W3C.br-2011 W3C.br-2011 starts “20111117”^^xsd:date W3C.br-2011 takesPlaceAt Rio de Janeiro3. Usa negociação de conteúdo
  • 24. 24Padrõ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. 26HTTP 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 ]• Exemplohttp://lia.ufc.br/~regispires/researchers.rdf#ufc
  • 27. 27 HTTP - Negociação de Conteúdo http://www4.wiwiss.fu-berlin.de/factbook/resource/RussiaA(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/Russiaresource 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/RussiaURI Aliases informação com uma representação HTML que descreve a Rússia) (recurso de
  • 28. 28Modelo RDF
  • 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. 30Tripla 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 locatedIn43.12 hasMayor isMayorOf Rio de Eduardo Paes Janeiro born locatedIn1969-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://dLink 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. 33Link RDF (cont.)
  • 34. 34Link RDF (cont.)
  • 35. 35 URI Alias – owl:sameAsprefix owl: <http://www.w3.org/2002/07/owl#>Sujeito: http://www.w3.org/People/Berners-Lee/card#iPredicado: http://www.w3.org/2002/07/owl#sameAsObj: http://www4.wiwiss.fu-berlin.de/dblp/resource/person/100007Sujeito: http://dbpedia.org/resource/Tim_Berners-LeePredicado: http://www.w3.org/2002/07/owl#sameAsObj: http://www4.wiwiss.fu-berlin.de/dblp/resource/person/100007
  • 36. 36Serializaç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. 37RDF: 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. 38Prefixos 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 : Atalhoshttp://dbpedia.org/resource/Leipzighttp://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. 40RDF/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. 41Exemplo 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. 42Sintaxe 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. Leipzigs 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 RDFFonte: Consuming Linked Data Tutorial – WWW Conference 2010
  • 45. 45 Grafo RDF correspondenteFonte: Consuming Linked Data Tutorial – WWW Conference 2010
  • 46. 46 Vinculando com Revyu.comFonte: Consuming Linked Data Tutorial – WWW Conference 2010
  • 47. 47Vocabulários
  • 48. 48Vocabulá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 comuns4th 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 relacionamentosSoeren rdf:type foaf:Person .Soeren foaf:currentProjecthttp://OntoWiki.net .Soeren foaf:homepage http://aksw.org/Soeren .Soeren foaf:knows http://sembase.at/Tassilo .Soeren foaf:sha1 09ac456515dee .
  • 52. 52TheLinked Open Data Project
  • 53. 53Projeto 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 SciencesMais de 31 bilhões de triplas RDFMais de 504 milhões de links RDF entre fontes de dados
  • 56. 56Conjunto de dadosUm conjunto de dados é um conjunto de triplas RDF publicadas, mantidas ou agregadas por um único provedor
  • 57. 57Conjunto 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. 58LOD cloud stats Distribuição das triplas Distribuição dos links http://lod-cloud.net/state/
  • 59. 59LOD – 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. 60Número de Triplas4th Linked Data on the Web Workshop (LDOW 2011).
  • 61. 61Crescimento por domínio4th Linked Data on the Web Workshop (LDOW 2011).
  • 62. 62Descriçã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. 63SPARQL – Consultando LinkedData
  • 64. 64Protocolo 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. 65Exemplo: Pessoas e seus nomesPREFIX ex: <http://inria.fr/schema#>SELECT ?person ?nameWHERE { ?person rdf:type ex:Person ?person ex:name ?name . }
  • 66. 66Exemplo - 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. 67Exemplo: Pessoas com pelo menos 18anosPREFIX ex: <http://inria.fr/schema#>SELECT ?person ?nameWHERE { ?person rdf:type ex:Person ?person ex:name ?name . ?person ex:age ?age . FILTER (?age > 17) }
  • 68. 68Exemplo: Recuperar a idade, sedisponívelPREFIX ex: <http://inria.fr/schema#>SELECT ?person ?name ?ageWHERE { ?person rdf:type ex:Person ?person ex:name ?name . OPTIONAL { ?person ex:age ?age } }
  • 69. 69Exemplo: Adultos implícitos eexplícitosPREFIX ex: <http://inria.fr/schema#>SELECT ?nameWHERE { ?person ex:name ?name . { { ?person rdf:type ex:Adult} UNION { ?person ex:age ?age FILTER (?age > 17) } } }
  • 70. 70Exemplo: Resultados 21 a 40ordenados por nomePREFIX ex: <http://inria.fr/schema#>SELECT ?person ?nameWHERE { ?person rdf:type ex:Person ?person ex:name ?name . }ORDER BY ?nameLIMIT 20OFFSET 20
  • 71. Armazenamento de dados noModelo 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 Benchmarkshttp://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
  • 78. Publicação de Linked Data
  • 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._Casanovahttp://dblp.l3s.de/d2r/page/authors/Marco_A._Casanovahttp://dblp.l3s.de/d2r/data/authors/Marco_A._Casanova
  • 81. Publicação de dados de fontes RDFcomo 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 comoLinked 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 Storecomo 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 RDFcomo 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
  • 94. RDB-to-RDF Wrappers• Plataforma D2RQ - Arquitetura
  • 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 deLinked 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 deLinked Data• Usar URIs dereferenciáveis.• Utilizar URIs estáveis.• Criar links para outras fontes de dados
  • 99. Melhores práticas para publicação deLinked 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 eProveniê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 deLinked 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 deLinked 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 deLinked Data• Explicitar formas de acesso adicional aos dados ▫ SPARQL endpoints e RDF dumps.
  • 106. Validação dos dados publicados comoLinked 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
  • 107. Consumo de Linked Data
  • 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 deLinked 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
  • 112. Tabulator
  • 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. 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.
  • 117. Aplicações de domínio específico paraconsumo de Linked Data• Linked Data Mashups
  • 118. Aplicações de domínio específico BBC Programmes e BBC Music
  • 119. Revyu Avaliação / Classificação
  • 120. DBPedia Mobile • Exibe informações de diversas fontes (DBPedia, Revyu, Flickr), baseado na localização do usuário obtida por GPS.
  • 121. APIs para manipulação de Linked Data• Sesame• Jena• Named Graphs API for Jena (NG4J)• Semantic Web Client Library (SWClLib)• ARQ2
  • 122. Limitações e Desafios
  • 123. 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.
  • 124. 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.
  • 125. Conclusão
  • 126. 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
  • 127. Conclusão Slide from Tim Berners-Lees TED talk in Feb 09
  • 128. 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/.
  • 129. Obrigado! Dúvidas, sugestões, comentários?http://groups.google.com/group/linked-data

×