74
Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni [email protected] Professor do IFC-Araquari Aluno de Doutorado do EGC/UFSC

Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

  • Upload
    dodieu

  • View
    238

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Minicurso: Introdução ao RDF e SPARQL

Rafael de Moura Speroni [email protected]

Professor do IFC-Araquari Aluno de Doutorado do EGC/UFSC

Page 2: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

● Linked Data ● Web de Documentos X Web de Dados ● RDF ● SPARQL RDF Query Language

Apresentação

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 2

Page 3: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Web Semântica

“A Web Semântica é uma Web de Dados — de datas e títulos e números e propriedades químicas e quaisquer outros tipos de dados que se possa imaginar. A coleção de tecnologias da Web Semântica (RDF, OWL, SKOS, SPARQL, etc.) provê um ambiente onde aplicações podem buscar estes dados, realizar inferências utilizando vocabulários, etc.”

http://www.w3.org/standards/semanticweb/data

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 3

Page 4: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

As camadas da Web Semântica

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 4

Fonte: w3c

Page 5: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

“Linked Data provê um paradigma de publicação no qual não apenas documentos, mas também dados, podem ser “cidadãos de primeira classe” da Web, possibilitando a extensão da Web com um espaço global de dados baseado em padrões abertos – a Web de Dados.”

Tom Heath & Chris Bizer. Linked Data: Evolving the Web into a Global Data Space, 2010.

Linked Data

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 5

Page 6: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

1. Use URIs como nomes paras as coisas 2. Use HTTP URIs, de forma que as pessoas possam procurar por

estes nomes 3. Quando alguém procurar por uma URI, forneça informações

úteis, usando os padrões (RDF*, SPARQL) 4. Inclua links para outras URIs, para que as pessoas possam

descobrir mais coisas

Tim Berners-Lee. Linked Data - Design Issues. 2006

Linked Data - Os 4 Princípios

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 6

Page 7: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

● Uma teia global de documentos interligados ● Um local onde qualquer um pode dizer o que quiser sobre

qualquer coisa ● Uma vasta coleção de conhecimentos legíveis para humanos ● Documentos são ligados, mas os links não são qualificados

Web de Documentos

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 7

Page 8: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Web de Documentos

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 8

Page 9: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Web de Documentos

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 9

Endereço

Título

Localização

Evento

Data

Page 10: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Web de Documentos

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 10

Endereço

Título

Localização

Evento

Data

Page 11: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

● Uma rede global de declarações (statements) interligadas ● Um local onde qualquer um pode dizer o que quiser sobre

qualquer coisa ● Uma vasta coleção de conhecimentos legíveis para máquinas ● Os links entre as Declarações são qualificados

Web de Dados

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 11

Page 12: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Web de Dados

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 12

Page 13: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

O Projeto Linking Open Data

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 13

Page 14: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Linking Open Data Cloud

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 14

Page 15: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

● Um modelo de dados simples e poderoso ● Expressa relacionamentos entre as coisas ● Projetado para funcionar na arquitetura da Web ● O modelo de dados da Web de Dados Documentação: http://w3.org/RDF

RDF - Resource Description Framework

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 15

Page 16: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF – Resource Description Framework • RDF é um modelo de dados de grafos baseado em triplas de sujeito, predicado e

objeto:

• Um grafo pode ser considerado uma coleção de caminhos da forma: • nó – arco de predicado – nó – arco de predicado - ... – nó

SUJEITO OBJETO

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 16

Predicado

Page 17: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 17

Page 18: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF – Resource Description Framework

http://lodbrasil.com.br

Página Web

a

Apresentação

01/08/2014

titulo

publicado

sobre

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 18

Evento

a

19/11/2014

21/11/2014

inicio

fim

http://lodkem.ufsc.br/resource/lodbrasil2014

LOD Brasil 2014 nome

Page 19: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF – Resource Description Framework

sobre localização http://lodkem.ufsc.br/resource/municipio4205407

Município

Ilha da Magia

a

apelido

nome

Florianópolis

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 19

Evento

a

19/11/2014

21/11/2014

inicio

fim

http://lodkem.ufsc.br/resource/lodbrasil2014

LOD Brasil 2014 nome

Page 20: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF – Resource Description Framework

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 20

http://lodbrasil.com.br

Página Web

a

Apresentação

01/08/2014

titulo

publicado

sobre

Evento

a

19/11/2014

21/11/2014

inicio

fim

http://lodkem.ufsc.br/resource/lodbrasil2014

LOD Brasil 2014

nome

http://lodkem.ufsc.br/resource/municipio4205407

Município

Ilha da Magia

a

apelido

nome

Florianópolis

localização

Page 21: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

● Representam coisas na Web (ex. páginas) ● Representam coisas que não estão na Web (ex. pessoas, locais) ● Podem representar qualquer coisa ● São nomeados por meio de URIs (normalmente)

RDF - Recursos (Resources)

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 21

Page 22: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

● Valores podem ser ‘literais’ ou outros recursos ● Valores literais podem ter tipos específicos (números, datas, strings) ● Outros recursos são URIs para que sejam seguidas e se encontre

outros recursos

RDF - Valores (Values)

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 22

Page 23: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

● As relações entre os Recursos ● São nomeadas por URIs ● Descritas em Schemas, Vocabulários ou Ontologias

RDF - Propriedades (Properties)

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 23

Page 24: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

● Descritas em termos de: Sujeito; Predicado; Objeto

RDF - Triplas

LOD Brasil 2014 http://lodkem.ufsc.br/resource/municipio4205407

apelido localização Ilha da Magia

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 24

Page 25: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF - Triplas

LOD Brasil 2014 http://lodkem.ufsc.br/resource/municipio4205407

apelido localização Ilha da Magia

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 25

Page 26: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF - Triplas

LOD Brasil 2014 http://lodkem.ufsc.br/resource/municipio4205407

apelido localização Ilha da Magia

Sujeito Predicado Objeto

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 26

Page 27: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF - Triplas

LOD Brasil 2014 http://lodkem.ufsc.br/resource/municipio4205407

apelido localização Ilha da Magia

Sujeito Predicado Objeto

Sujeito Objeto Predicado

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 27

Page 28: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF - Triplas

LOD Brasil 2014 http://lodkem.ufsc.br/resource/municipio4205407

apelido localização Ilha da Magia

Sujeito Predicado Objeto

Sujeito Objeto Predicado

Declaração de Tripla

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 28

Page 29: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF - Triplas

LOD Brasil 2014 http://lodkem.ufsc.br/resource/municipio4205407

apelido localização Ilha da Magia

Sujeito Predicado Objeto

Sujeito Objeto Predicado

Declaração de Tripla

Declaração de Tripla

Page 30: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF - Merging

● Os recursos descritos são nomeados por URIs ● Duas pessoas usando um mesmo URI estão

descrevendo a mesma coisa ● Uma mesma URI em dois datasets pe, na verdade

uma URI única com todas as propriedades dos dois datasets

● Dados RDF podem usar URIs de diferentes websites

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 30

Page 31: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF - Merging

• Recursos com a mesma URI utilizada em diferentes grafos RDF

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 31

http://lodkem.ufsc.br/resource/municipio4205407

nome

Ilha da Magia

Florianópolis

apelido http://lodkem.ufsc.br/resource/mu

nicipio4205407

populacao

421203

Page 32: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF - Merging

• Na verdade, trata-se de um único recurso

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 32

http://lodkem.ufsc.br/resource/municipio4205407

nome

Ilha da Magia

Florianópolis

apelido

populacao

421203

Page 33: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

● Turtle - Terse Triple Language (TTL) ● N-Triples

o sub-conjunto do TTL o http://www.w3.org/TR/n-triples/

● RDF/JSON (ainda um draft W3C) o Para aplicações com suporte a JSON (ex.: AJAX) o https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-json/index.html

● RDFa o RDF em documentos HTML, tornando-os machine-readable o http://www.w3.org/TR/xhtml-rdfa-primer/

● RDF/XML o Recomendação W3C o Transferência entre máquinas

RDF - Serializações

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 33

Page 34: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

● É uma notação human-readable ● http://w3.org/TR/turtle/ ● É a sintaxe base para os padrões em SPARQL

RDF - Serialização com Turtle

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 34

Page 35: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

A tripla: Representada em Turtle: <http://.../municipio4205407> a <http://.../Municipio>

RDF - Serialização com Turtle

http://.../municipio4205407 http://.../Municipio a

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 35

Sujeito Predicado Objeto

Page 36: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

@prefix geopolitica: <http://lodkem.ufsc.br/onto/geopoliticabr#> . <http://lodkem.ufsc.br/resource/municipio4205407> a geopolitica:Municipio ; geopolitica:temNome “Florianópolis” ; geopolitica:temApelido “Ilha da Magia” .

RDF - Serialização com Turtle

http://.../municipio4205407

Florianópolis

Ilha da Magia

http://.../Municipio

a

nome

apelido

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 36

Page 37: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

@prefix geopolitica: <http://lodkem.ufsc.br/onto/geopoliticabr#> .

<http://lodkem.ufsc.br/resource/municipio4205407>

a geopolitica:Municipio ;

geopolitica:temNome “Florianópolis” ;

geopolitica:temApelido “Ilha da Magia” .

<http://lodkem.ufsc.br/resource/estado42>

a geopolitica:Estado ;

geopolitica:temNome “Santa Catarina” .

RDF - Serialização com Turtle

http://.../municipio4205407

Florianópolis

Ilha da Magia

http://.../Municipio a

temNome

temApelido

http://.../estado42 pertenceEstado

http://.../Estado

a

Santa Catarina

temNome

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 37

Page 38: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

● Sub-conjunto do TTL ● http://w3.org/TR/n-triples/ ● Não contém diretivas de parsing ● As triplas n-triple também são triplas Turtle

RDF - Serialização com N-Triples

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 38

Page 39: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

As triplas Turtle: @prefix geopolitica: <http://lodkem.ufsc.br/onto/geopoliticabr#> <http://lodkem.ufsc.br/resource/municipio4205407> a geopolitica:Municipio ; geopolitica:temNome “Florianópolis” ; geopolitica:temApelido “Ilha da Magia” .

São representadas em N-Triples <http://lodkem.ufsc.br/resource/municipio4205407> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/geopoliticabr#Municipio> .

<http://lodkem.ufsc.br/resource/municipio4205407> <http://lodkem.ufsc.br/onto/geopoliticabr#temNome> “Florianópolis” .

<http://lodkem.ufsc.br/resource/municipio4205407> <http://lodkem.ufsc.br/onto/geopoliticabr#temApelido> “Ilha da Magia” .

RDF - Serialização com N-Triple

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 39

Page 40: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF – Serialização RDF/XML

• O grafo RDF é representado na sintaxe XML; • Os nós e arcos de predicados são representados por sequências de elementos;

http://www.w3.org/TR/REC-rdf-syntax/

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 40

http://.../municipio4205407

Florianópolis

Ilha da Magia

http://.../Municipio

a

nome

apelido

Page 41: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF Schema - RDFS

• É uma extensão semântica do RDF. • Provê mecanismos para a descrição de grupos de recursos relacionados e as relações

entre eles. • Usado para determinar as características de outros recursos, tais como domain e

range das propriedades. • Conjunto de classes com propriedades, provendo os elementos básicos para a

descrição de vocabulários RDF, ou ontologias, por exemplo:

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 41

rdfs:Resource rdfs:Class rdfs:type rdfs:subClassOf rdfs:Literal rdfs:Datatype

rdfs:Property rdfs:domain rdfs:range rdfs:subPropertyOf rdfs:label rdfs:comment

Page 42: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF Schema – RDFS

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 42

http://.../Municipio

http://.../Area

rdfs:Class

rdfs:SubclassOf

rdf:type

rdf:type

rdfs:Property

http://.../temNomeMun

rdf:type

rdfs:Literal

rdfs:range

Page 43: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Como Publicar Linked Data

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 43

http://.../Municipio

http://.../Area

rdfs:Class

rdfs:SubclassOf

rdf:type

rdf:type

rdfs:Property

http://.../temNomeMun

rdf:type

rdfs:Literal

rdfs:range

Grafo RDF TripleStore

BD

Exposição (Quando dados não RDF-nativo)

Sujeito Predicado Objeto http://.../Municipio rdf:type rdfs:Class

http://.../Municipio rdfs:SubclassOf http://.../Area

http://.../Area rdf:type rdfs:Class

mapeamento

Page 44: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

• Expondo Bancos de Dados Relacionais ou outros formatos em Linked Data • D2R • Triplify • R2O • NOR2O • Virtuoso

• Usando Triple Stores nativos • Sesame • Jena • Owlim • Talis

• Incorporando na forma de RDFa em CMSs • Drupal • Joomla • Wordpress

Como Publicar Linked Data

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 44

Page 45: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF no Virtuoso

• Servidor que permite armazenamento de dados em RDF • Versão Open-Source • Interface Web • Conta com um Quad-Store

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 45

Page 46: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Como Consumir Linked Data

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 46

http://.../Municipio

http://.../Area

rdfs:Class

rdfs:SubclassOf

rdf:type

rdf:type

rdfs:Property

http://.../temNomeMun

rdf:type

rdfs:Literal

rdfs:range

Grafo RDF

Sujeito Predicado Objeto http://.../Municipio rdf:type rdfs:Class

http://.../Municipio rdfs:SubclassOf http://.../Area

http://.../Area rdf:type rdfs:Class

TripleStore

SPARQL

Aplicações

BD

Exposição (Quando dados não RDF-nativo)

mapeamento

Page 47: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Como consumir Linked Data

• Linked Data Browsers • Tabulator Browser • Marbles • OpenLink RDF Browser • Zitgist RDF Browser • Disco Hyperdata Browser • Fenfire

• Linked Data mashups • sites que combinam linked data • DBPedia.org • Revyu.com • LODKEM - EGC - UFSC

• Motores de Busca • Falcons • Sindice • Microsearch • SWSE • Swoogle • Watson

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 47

Page 48: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

RDF – Virtuoso SPARQL EndPoint

• Interface para consultas SPARQL • REST based SPARQL Web Services • Suporta requisições GET e POST • Diferentes formatos de resposta

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 48

Page 49: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

SPARQL Query

• SPARQL (Simple Protocol and RDF Query Language) é a linguagem de consulta da web semântica. Ele nos permite:

• Recuperar valores de dados estruturados e semiestruturados; • Explorar dados ao consultar relações desconhecidas; • Realizar uniões complexas de conjuntos de dados diferentes em uma única e simples

consultas.

• SPARQL 1.1 Query Language • W3C Recommendation 21 March 2013

• http://www.w3.org/TR/sparql11-query/

LOD Brasil 2014 | 19 a 21 de novembro | Florianópolis 49

Page 50: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL

• São 4 formas de consulta • SELECT – Retorna todos ou um subconjunto das variáveis de um padrão de consulta;

• CONSTRUCT – Retorna um grafo RDF construído pela substituição de variáveis em um

conjunto de modelos de triplas;

• ASK – Retorna um indicador booleano indicando se um padrão de consulta é encontrado ou não;

• DESCRIBE – Retorna um grafo RDF que descreve os recursos encontrados. Ver “Concise Bounded Descriptions”

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 50

Page 51: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL • Uma consulta SPARQL SELECT é composta, em ordem, por:

# declarações de prefixo PREFIX foo: <http://example.com/resources/> ... # cláusula de resultado SELECT ... # definição de conjunto de dados FROM ... # padrão de consulta WHERE { ... } # modificadores de consulta ORDER BY ...

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 51

Declarações de prefixos, para abreviar URIs

Quais grafos RDF estão sendo consultados

Que informação deve ser retornada

O que consultar no conjunto de dados

limites, ordenação, e outros que podem modificar o resultado final

Page 52: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL

• A maioria das consultas SPARQL contêm um conjunto de padrões de triplas.

• Padrões de triplas são como triplas RDF, com a diferença de que sujeito, predicado e objeto podem ser variáveis, representadas por um caractere “?”.

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 52

Page 53: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL

• Considerando as triplas (sujeito, predicado, objeto): <http://lodkem.ufsc.br/resource/ciki2014> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#Evento> .

<http://lodkem.ufsc.br/resource/lodbrasil2014> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#Evento> .

• Consultar todos os eventos da ontologia: SELECT ?evento

WHERE{

?evento <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#Evento>

}

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 53

?evento http://lodkem.ufsc.br/onto/minicurso#Evento

rdf:type

Page 54: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL

• Considerando as triplas (sujeito, predicado, objeto): <http://lodkem.ufsc.br/resource/ciki2014> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#Evento> .

<http://lodkem.ufsc.br/resource/lodbrasil2014> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#Evento> .

• Consultar todos os eventos da ontologia: SELECT ?evento

WHERE{

?evento <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#Evento>

}

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 54

?evento http://lodkem.ufsc.br/onto/minicurso#Evento

rdf:type

Page 55: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL

• Considerando as triplas (sujeito, predicado, objeto): <http://www.egc.ufsc.br/ciki> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#PaginaWeb> .

<http://lodbrasil.com.br> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#PaginaWeb> .

• Consultar todas as Páginas Web: SELECT ?pagina

WHERE{

?pagina <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#PaginaWeb>

}

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 55

?pagina http://lodkem.ufsc.br/onto/minicurso#PaginaWeb

rdf:type

Page 56: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL

• Considerando as triplas (sujeito, predicado, objeto): <http://www.egc.ufsc.br/ciki> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#PaginaWeb> .

<http://lodbrasil.com.br> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#PaginaWeb> .

• Consultar todas as Páginas Web: SELECT ?pagina

WHERE{

?pagina <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://lodkem.ufsc.br/onto/minicurso#PaginaWeb>

}

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 56

?pagina http://lodkem.ufsc.br/onto/minicurso#PaginaWeb

rdf:type

Page 57: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL

• A mesma consulta utilizando prefixos

PREFIX minicurso: <http://lodkem.ufsc.br/onto/minicurso#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?pagina WHERE{ ?pagina rdf:type minicurso:PaginaWeb } *Alguns prefixos já são previamente definidos no SPARQL Endpoint

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 57

Page 58: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

• Consultar todos os Eventos e suas respectivas Páginas Web: prefix minicurso: <http://lodkem.ufsc.br/onto/minicurso#> select ?nomeEvento, ?pagina WHERE {?pagina rdf: type minicurso:PaginaWeb . ?pagina minicurso:sobreEvento ?evento . ?evento minicurso:temNomeEvento ?nomeEvento}

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 58

Consultas SPARQL

?pagina http://lodkem.ufsc.br/onto/minicurso#PaginaWeb

rdf:type

?evento minicurso:temNomeEvento ?nomeEvento

Page 59: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

• Consultar todos os Eventos e suas respectivas Páginas Web: prefix minicurso: <http://lodkem.ufsc.br/onto/minicurso#> select ?nomeEvento, ?pagina WHERE {?pagina rdf: type minicurso:PaginaWeb . ?pagina minicurso:sobreEvento ?evento . ?evento minicurso:temNomeEvento ?nomeEvento}

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 59

Consultas RDF

?pagina http://lodkem.ufsc.br/onto/minicurso#PaginaWeb

rdf:type

?evento minicurso:temNomeEvento ?nomeEvento

Page 60: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL

• Comparação de Literais SELECT ?v WHERE { ?v ?p "cat" }

• Comparação de Tipos Numéricos SELECT ?v WHERE { ?v ?p 42 }

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 60

Page 61: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL – Optional

• É possível especificar partes opcionais nos padrões de busca: • Nos dados de exemplo:

• O evento “LOD Brasil” tem como local de realização o município “Florianópolis”, para o qual está definido o estado “Santa Catarina”.

• o evento “CIKI 2014” tem como local de realização o município “Loja”, no Equador, para o qual não consta, nos dados, um estado.

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 61

Page 62: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL - Optional

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 62

http://lodkem... municipio42025407

http:/lodkem.../lodbrasil2014

Minicurso:Evento

http:/lodkem.../ciki2014

CIKI 2014

Florianópolis http://lodkem...

estado42

Santa Catarina

LOD Brasil 2014 http://lodkem... municipioLoja

Loja

minicurso:temNomeEvento minicurso:temLocalizacao minicurso:temLocalizacao minicurso:temNomeEvento

geopolitica:temNomeMun geopolitica:temNomeMun geopolitica:pertenceEstado

geopolitica:temNomeEst

*Observe que o município Loja não tem Estado

Page 63: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL – Optional

• Sem OPTIONAL: PREFIX minicurso: <http://lodkem.ufsc.br/onto/minicurso#> PREFIX geopolitica: <http://lodkem.ufsc.br/onto/geopoliticabr#> SELECT ?evento, ?nomeMunicipio, ?nomeEstado WHERE{

?evento rdf:type minicurso:Evento . ?evento minicurso:temLocalizacao ?municipio . ?municipio geopolitica:temNomeMun ?nomeMunicipio . ?municipio geopolitica:pertenceEstado ?estado . ?estado geopolitica:temNomeEst ?nomeEstado }

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 63

Page 64: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL – Optional

• Sem OPTIONAL: PREFIX minicurso: <http://lodkem.ufsc.br/onto/minicurso#> PREFIX geopolitica: <http://lodkem.ufsc.br/onto/geopoliticabr#> SELECT ?evento, ?nomeMunicipio, ?nomeEstado WHERE{

?evento rdf:type minicurso:Evento . ?evento minicurso:temLocalizacao ?municipio . ?municipio geopolitica:temNomeMun ?nomeMunicipio . ?municipio geopolitica:pertenceEstado ?estado . ?estado geopolitica:temNomeEst ?nomeEstado }

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 64

Page 65: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL – Optional

• Com OPTIONAL: PREFIX minicurso: <http://lodkem.ufsc.br/onto/minicurso#> PREFIX geopolitica: <http://lodkem.ufsc.br/onto/geopoliticabr#> SELECT ?evento, ?nomeMunicipio, ?nomeEstado WHERE{

?evento rdf:type minicurso:Evento . ?evento minicurso:temLocalizacao ?municipio . ?municipio geopolitica:temNomeMun ?nomeMunicipio . OPTIONAL {?municipio geopolitica:pertenceEstado ?estado . ?estado geopolitica:temNomeEst ?nomeEstado } }

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 65

Page 66: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL – Optional

• Com OPTIONAL: PREFIX minicurso: <http://lodkem.ufsc.br/onto/minicurso#> PREFIX geopolitica: <http://lodkem.ufsc.br/onto/geopoliticabr#> SELECT ?evento, ?nomeMunicipio, ?nomeEstado WHERE{

?evento rdf:type minicurso:Evento . ?evento minicurso:temLocalizacao ?municipio . ?municipio geopolitica:temNomeMun ?nomeMunicipio . OPTIONAL {?municipio geopolitica:pertenceEstado ?estado . ?estado geopolitica:temNomeEst ?nomeEstado } }

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 66

Page 67: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL – Filter

• Filtragem por expressões regulares (REGEX): • Expressões reguares (REGEX)

PREFIX minicurso: <http://lodkem.ufsc.br/onto/minicurso#>

PREFIX geopolitica: <http://lodkem.ufsc.br/onto/geopoliticabr#>

SELECT ?evento, ?nomeMunicipio, ?nomeEstado

WHERE{

?evento rdf:type minicurso:Evento .

?evento minicurso:temLocalizacao ?municipio .

?municipio geopolitica:temNomeMun ?nomeMunicipio .

OPTIONAL {?municipio geopolitica:pertenceEstado ?estado .

?estado geopolitica:temNomeEst ?nomeEstado }

FILTER regex (?nomeMunicipio, "loja", "i")

}

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 67

Page 68: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL – Filter

• Filtragem por expressões regulares (REGEX): • Expressões reguares (REGEX)

PREFIX minicurso: <http://lodkem.ufsc.br/onto/minicurso#>

PREFIX geopolitica: <http://lodkem.ufsc.br/onto/geopoliticabr#>

SELECT ?evento, ?nomeMunicipio, ?nomeEstado

WHERE{

?evento rdf:type minicurso:Evento .

?evento minicurso:temLocalizacao ?municipio .

?municipio geopolitica:temNomeMun ?nomeMunicipio .

OPTIONAL {?municipio geopolitica:pertenceEstado ?estado .

?estado geopolitica:temNomeEst ?nomeEstado }

FILTER regex (?nomeMunicipio, "loja", "i")

}

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 68

Page 69: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL - Filter

• Exemplos • FILTER (?preco < 30.5) • FILTER (?idade >=18) • FILTER ( ?date > "2005-01-01T00:00:00Z"^^xsd:dateTime ) • FILTER ( xsd:dateTime(?date) < xsd:dateTime("2005-01-01T00:00:00Z") ) • FILTER isBlank(?c) • FILTER isIRI(?mbox) • FILTER isLiteral(?mbox) • FILTER regex(str(?mbox), "@work.example") • FILTER ( lang(?name) = "ES" ) • FILTER ( datatype(?shoeSize) = xsd:integer ) • FILTER (?mbox1 = ?mbox2 && ?name1 != ?name2)

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 69

Page 70: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL - Modificadores

• SPARQL conta, ainda, com modificadores de sequência de soluções, como por exemplo:

• Order by – ordena os resultados • Projeção – Escolhe algumas variáveis • Distinct – garante que os resultados sejam únicos • Offset – controla o início dos resultados • Limit – restringe o número de registros em um resultado de consulta

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 70

Page 71: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL – Modificadores

PREFIX minicurso: <http://lodkem.ufsc.br/onto/minicurso#> PREFIX geopolitica: <http://lodkem.ufsc.br/onto/geopoliticabr#> SELECT ?evento, ?nomeMunicipio, ?nomeEstado WHERE{ ?evento rdf:type minicurso:Evento . ?evento minicurso:temLocalizacao ?municipio .

?municipio geopolitica:temNomeMun ?nomeMunicipio . OPTIONAL {?municipio geopolitica:pertenceEstado ?estado . ?estado geopolitica:temNomeEst ?nomeEstado } } ORDER BY ?nomeMunicipio

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 71

Page 72: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Consultas SPARQL – Modificadores

PREFIX minicurso: <http://lodkem.ufsc.br/onto/minicurso#> PREFIX geopolitica: <http://lodkem.ufsc.br/onto/geopoliticabr#> SELECT ?evento, ?nomeMunicipio, ?nomeEstado WHERE{ ?evento rdf:type minicurso:Evento . ?evento minicurso:temLocalizacao ?municipio .

?municipio geopolitica:temNomeMun ?nomeMunicipio . OPTIONAL {?municipio geopolitica:pertenceEstado ?estado . ?estado geopolitica:temNomeEst ?nomeEstado } } ORDER BY DESC(?nomeMunicipio)

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 72

Page 73: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Referências

• Tim Berners-Lee. Linked Data - Design Issues. 2006. - http://www.w3.org/DesignIssues/LinkedData.html

• Linked Data community - http://linkeddata.org/ • Tom Heath & Chris Bizer. Linked Data: Evolving the Web into a Global Data Space, 2010. -

http://linkeddatabook.com • W3C

• http://www.w3.org/standards/semanticweb/data • http://w3.org/RDF • http://www.w3.org/TR/n-triples/ • http://w3.org/TR/turtle/ • http://www.w3.org/TR/xhtml-rdfa-primer/ • http://www.w3.org/TR/REC-rdf-syntax/ • https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-json/index.html • http://www.w3.org/TR/sparql11-query/

LOD BRASIL, Linked Open Data | 19 a 21 de novembro de 2014 | Florianópolis 73

Page 74: Minicurso: Introdução ao RDF e SPARQL - inf.ufsc.brjose.todesco/LODBrasil/Minicurso/rdf_sparql.pdf · Minicurso: Introdução ao RDF e SPARQL Rafael de Moura Speroni rafaelsperoni@ifc

Realização

Apoio