linked data tutorial - conferencia w3c brasil 2011

Post on 19-Jan-2015

3.447 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

Agradecimentos Especiais

• Sorën Auer – Universidade de Leipzig – pelosslides gentilmente cedidos;

• Prof. Palazzo – UFRGS – pelos exemplos emSparql.

2

Motivação

3

Tente encontrar na Web ...

5

Informação está disponível

na Web, mas opaca para as

buscas !

Web de Documentos

• Internet, Documentos e Links

6

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?

7

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

8

A cauda longa de domínios da Informação

Pictures

News

Video

Encyclopedia

Calendar

Tipos de conteúdo atualmente com suporte

Genesequences

Itinerary ofKing George

Talentmanagement

Po

pu

lari

da

de

Tipos de conteúdo com pouco (ou inexistente) suporte

The Long Tail - Chris Anderson (Wired, Oct. ´04)adaptado para domínios de informação

… …

Requirements-Engineering

……

Special interestcommunities

9

APIs proprietárias isolando os dados

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

10

Solução

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

11

Web server

Web server

creches.rj.brTem tudo sobre crechesno Rio

imoveis.rj.brSabe tudo sobre ofertas de imóveis no Rio

DB

Web server

DB

Web server

Search engineHTML HTML

RDFRDF

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

Linking Data

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

13

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 2006http://www.w3.org/DesignIssues/LinkedData.html

14

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/.

15

Plano 5 estrelas de TimBL’s para dados abertos

16

★ Disponibilize seus dados naweb sob licença aberta

★★ Disponibilize os dados deforma 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/

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.

17

Exemplo de Linked Data

18

18

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.

19

Web de Documentos x Web de Dados

Web de Documentos Web de Dados

Navegadores HTML Navegadores RDF

Links HTML conectando

documentos

Links RDF interligando dados

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

20

Da Web de documentos para a

Web Semântica

Web (since 1992)• HTTP• HTML/CSS/JavaScript

Semantic Web(Visão 1998, começando???)• Raciocínio• Lógica, Regras• Confiança

Social Web (since 2003)• Folksonomies/Tagging• Reputação• Grupos, relacionamentos

Data Web (since 2006)• Dereferenciamento URI• Integração de dados• Serialização RDF

21

Web de Dados x Semantic Web

22

Linked data em poucas palavras1. Usa Modelo de dados RDF

W3C.br 2011

Rio de Janeiro

17.11.2011

W3Corganizes

starts

takesPlaceIn

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

Padrões usados no Linked Data

24

Padrões usados no Linked Data

• URIs – identificam objetos e conceitos, permitindo que eles sejam dereferenciadospara 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

25

HTTP URIs

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

• Sintaxe

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

• Exemplo

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

26

HTTP - Negociação de Conteúdo

A complete example of a HTTP session for dereferencing a URI identifying a non-information

resource is given in Appendix A.

URI Aliases

In an open environment like the Web it often happens that different information providers talk about

the same non-information resource, for instance a geographic location or a famous person. As they

do not know about each other, they introduce different URIs for identifying the same real-world object.

For instance: DBpedia a data source providing information that has been extracted from Wikipedia

uses the URI http://dbpedia.org/resource/Berlin to identify Berlin. Geonames is a data source

providing information about millions of geographic locations uses the URI

http://sws.geonames.org/2950159/ to identify Berlin. As both URIs refer to the same non-information

resource, they are called URI aliases. URI aliases are common on the Web of Data, as it can not

realistically be expected that all information providers agree on the same URIs to identify a non-

information resources. URI aliases provide an important social function to the Web of Data as they

are dereferenced to different descriptions of the same non-information resource and thus allow

different views and opinions to be expressed. In order to still be able to track that different information

providers speak about the same non-information resource, it is common practice that information

providers set owl:sameAs links to URI aliases they know about. This practice is explained in Section

6 in more detail.

Associated Descriptions

Within this tutorial we use a new term which is not part of the standard Web Architecture terminology

but useful in the Linked Data context. The term is associated description and it refers to the

description of a non-information resource that a client obtains by dereferencing a specific URI

identifying this non-information resource. For example: Deferencing the URI

http://www4.wiwiss.fu-berlin.de/factbook/resource/Russia(URI identifica o recurso sem informação sobre a Rússia)http://www4.wiwiss.fu-berlin.de/factbook/data/Russia(Recurso de informação com uma representação RDF/XML que descreve a Rússia)http://www4.wiwiss.fu-berlin.de/factbook/page/Russia(recurso de informação com uma representação HTML que descreve a Rússia)

27

Modelo RDF

28

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]

29

Tripla RDF

Uso permitido:

Sujeito : URI ou nó vazio

Predicado: URI (também chamado de propriedades)

Objeto : URI ou nó vazio ou literal

Dilma Roussef BrasilisPresidentOf

Sujeito Predicado Objeto

30

Exemplo de Grafo RDF

•021Rio de

Janeiro

hasAreaCode

Eduardo Paes

hasMayor

Rio de Janeiro

locatedIn43.12

latitude

22.54longitude

BrazilPMDB

1969-11-14 isMemberOf

locatedInborn

isMayorOf

31

Link RDF

RDF Links

represent typed links between two resources. RDF links consist of three URI references. The

URIs in the subject and the object position of the link identify the interlinked resources. The

URI in the predicate position defines the type of the link. For instance, an RDF link can state

that a person is employed by an organization. Another RDF link can state that the persons

knows certain other people.

RDF links are the foundation for the Web of Data. Dereferencing the URI that appears as the

destination of a link yields a description of the linked resource. This description will usually contain

additional RDF links which point to other URIs that in turn can also be dereferenced, and so on. This

is how individual resource descriptions are woven into the Web of Data. This is also how the Web of

Data can be navigated using a Linked Data browser or crawled by the robot of a search engine.

Let's take an RDF browser like Disco or Tabulator as an example. The surfer uses the browser to

display information about Richard from his FOAF profile. Richard has identified himself with the URI

http://richard.cyganiak.de/foaf.rdf#cygri. When the surfer types this URI into the navigation bar, the

browser dereferences this URI over the Web, asking for content type application/rdf+xml and

displays the retrieved information (click here to have Disco do this). In his profile, Richard has stated

that he is based near Berlin, using the DBpedia URI http://dbpedia.org/resource/Berlin as URI alias

for the non-information resource Berlin. As the surfer is interested in Berlin, he instructs the browser to

dereference this URI by clicking on it. The browser now dereferences this URI asking for

application/rdf+xml.

After being redirected with a HTTP 303 response code, the browser retrieves an RDF graph

describing Berlin in more detail. A part of this graph is shown below. The graph contains a literal

triple stating that Berlin has 3.405.259 inhabitants and another RDF link to a resource representing a

list of German cities.

32

Link RDF (cont.)

As both RDF graphs share the URI http://dbpedia.org/resource/Berlin, they naturally merge together,

as shown below.

The surfer might also be interested in other German cities. Therefore he lets the browser dereference

the URI identifying the list. The retrieved RDF graph contains more RDF links to German cities, for

instance, Hamburg and München as shown below.

33

Link RDF (cont.)

Seen from a Web perspective, the most valuable RDF links are those that connect a resource to

external data published by other data sources, because they link up different islands of data into a

Web. Technically, such an external RDF link is a RDF triple which has a subject URI from one data

source and an object URI from another data source. The box below contains various external RDF

links taken from different data sources on the Web.

Examples of External RDF Links

# Two RDF links taken from DBpedia

<http://dbpedia.org/resource/Berlin>

owl:sameAs <http://sws.geonames.org/2950159/> .

<http://dbpedia.org/resource/Tim_Berners-Lee>

owl:sameAs <http://www4.wiwiss.fu-berlin.de/dblp/resource/person/100007> .

# RDF links taken from Tim Berners-Lee's FOAF profile

<http://www.w3.org/People/Berners-Lee/card#i>

owl:sameAs <http://dbpedia.org/resource/Tim_Berners-Lee> ;

foaf:knows <http://www.w3.org/People/Connolly/#me> .

# RDF links taken from Richard Cyganiaks's FOAF profile

34

URI Alias – owl:sameAs

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

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

35

Serializaçao RDFN3: "Notation 3" – formalismo extendido

N-Triples: parte de N3

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

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

36

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

37

Prefixos de namespaces

38

@prefix dbp:<http://dbpedia.org/resource/>

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

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

http://dbpedia.org/resource/Leipzig

http://www.w3.org/2000/01/rdf-schema#label

"Leipzig"@de .

Sem prefixo

Com prefixo

Sintaxe Turtle : Atalhoshttp://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 .

39

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 ] } }

40

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" } ]

}

}

41

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.

42

Exemplo RDFa

43

<?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>

Convertendo BD Relacional em RDF

Fonte: Consuming Linked Data Tutorial – WWW Conference 2010

44

Grafo RDF correspondente

Fonte: Consuming Linked Data Tutorial – WWW Conference 2010

45

Vinculando com Revyu.com

Fonte: Consuming Linked Data Tutorial – WWW Conference 2010

46

Vocabulários

47

Vocabulários

• Esquema do RDF;

• Define os termos (classes e propriedades);

• Tipicamente RDFS ou família OWL.

48

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 metadadosgerais 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 .

The

Linked Open Data Project

52

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 LinkedData.

53

20082007

20082008

20082009

20092010

54

Linked Open Data cloud

Dados Ligados na Web: Setembro 2011

Media

Geographic

Cross-

Domain

Life Sciences

Government

User Generated

Content

Publications

Mais de 31 bilhões de triplas RDF

Mais de 504 milhões de links RDF entre fontes de dados

Conjunto de dados

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

56

Conjunto de Links

• Um link RDF é uma tripla RDF cujos sujeito eobjeto estão descritos em diferentes conjuntosde dados

• Um linkset é uma coleção de links RDF entre dois conjuntos de dados

57

LOD cloud statsDistribuição das triplas

Distribuição dos links

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

58

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

59

Número de Triplas

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

60

Crescimento por domínio

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

61

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/

62

SPARQL – Consultando Linked

Data

63

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.

64

PREFIX ex: <http://inria.fr/schema#>

SELECT ?person ?name

WHERE {

?person rdf:type ex:Person

?person ex:name ?name .

}

Exemplo: Pessoas e seus nomes

65

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> ...

66

Exemplo: Pessoas com pelo menos 18

anos

67

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)

}

Exemplo: Recuperar a idade, se

disponível

68

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 }

}

Exemplo: Adultos implícitos e

explícitos

69

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) }

}

}

Exemplo: Resultados 21 a 40

ordenados por nome

70

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/MySQLRepository, 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 queidentifica 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 bomdesempenho.

• 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 outrasalternativas.

• 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 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

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 dumpsdos 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._Casanovahttp://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" .

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

:vaniaa 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 LinkedGeoDataforam 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 linguagemdeclarativa.

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 MetadadosVisualização de dados sobre um gene providos pelo Pubby.Inclui metadados de proveniência.

Triplify, Pubby e D2R Server possuemsuporte parametadados.

Fonte: Integrating Provenance into the Web of DataOlaf 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ênciamachine-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 nalocalização do usuárioobtida 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ãoacessados e usados.

Sucesso de mashups, mas dificuldade para usarmuitas fontes de dados heterogêneas.

Linked Data permitem que aplicações usem fontes de dados sem limites através de mecanismos de acessopadronizados.

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

top related