Como parte das atividades de docência da disciplina INF de 2021.2, ministrei duas aulas de SPARQL no curso do CCE
Planejamento
15/09
- Contexto e Motivação para SPARQL
- Sintaxe SPARQL - Parte 1
OFFSET faz com que as soluções geradas comecem após o número especificado de triplas. Um OFFSET de zero não tem efeito. Usar LIMIT e OFFSET para selecionar subconjuntos diferentes das soluções de consulta se combinado com ORDER BY.
20/09
- Exemplos Sintaxe SPARQL - Parte 1
- Sintaxe SPARQL - Parte 2
- LOD
- Exemplos Sintaxe SPARQL - Parte 2
AVG: Calcula o valor médio de uma expressão numérica.
COUNT: conta o número de vezes que o valor especificado é associado à variável fornecida.
GROUP_CONCAT: executa uma concatenação de string de todos os valores vinculados à variável fornecida.
MAX: Retorna o valor máximo do conjunto de valores especificado.
MIN: Retorna o valor mínimo do conjunto de valores especificado.
SAMPLE: Retorna um valor arbitrário do conjunto de valores especificado.
SUM: Adiciona os valores especificados.
Uma consulta SPARQL pode especificar o conjunto de dados a ser usado para correspondência usando a cláusula FROM e a cláusula FROM NAMED para descrever o conjunto de dados RDF. O FROM/WHERE especifica um OR e não AND. Quando não especifica o FROM é sempre o default graph que faz o merge de todos os grafos. Todos são grafos do mesmo repositório (local).
Federated Query SPARQL 1.1: encapsular vários repositórios remotos em um único repositório virtual que pode ser manipulada como se fosse uma executando uma consulta SPARQL paralela. EndPoint é um repositório que responde a consultas SPARQLs
SERVICE <URI>
DELETE / INSERT pq não tem UPDATE
A operação LOAD lê um documento RDF de um IRI e insere as triplas no grafo especificado.
A operação CLEAR remove todos as triplas no(s) grafo(s) especificado(s) sem remover o grafo. … Semelhante ao TRUNCATE
A operação CREATE cria um novo grafo em repositórios que suportam grafos vazios.
A operação DROP remove um grafo e todo o seu conteúdo.
A operação COPY modifica um grafo para conter uma cópia de outro.
A operação MOVE move todos os dados de um grafo para outro.
Linked Open Data (LOD) é um conjunto de princípios para o compartilhamento na web de dados, que podem ser usados e distribuídos livremente, de modo interligado com outras bases e legíveis por máquina.
★ torne seus dados disponíveis na Web sob uma licença aberta
★★ torne seus dados disponíveis em formato estruturados
★★★ utilize formatos não-proprietários (ex. CSV e não excel)
★★★★ utilize identificadores únicos e universais (URIs) para identificar recursos
★★★★★ conecte seus dados com dados de outras fontes para prover contexto (dados linkado)
FROM <https://triplydb.com/Triply/
WHERE {?s ?p ?o }
SELECT ?s ?p ?o
FROM graphs:vocab
WHERE {?s ?p ?o }
SELECT distinct ?pred
FROM graphs:data
WHERE {?s ?pred ?o }
SELECT distinct ?class
FROM graphs:data
WHERE {?s a ?class }
ORDER BY ?class
PREFIX lmdb: <https://triplydb.com/Triply/
SELECT ?d1 ?name
WHERE {?d1 a lmdb:Director; rdfs:label ?name }
ORDER BY ?name
PREFIX lmdb: <https://triplydb.com/Triply/
SELECT distinct ?title ?name
WHERE {?d1 a lmdb:Director; rdfs:label ?name .
?f1 a lmdb:Film; rdfs:label ?title; lmdb:director ?d1}
ORDER BY ?title
PREFIX lmdb: <https://triplydb.com/Triply/
SELECT distinct ?title ?name
WHERE {?d1 a lmdb:Director; rdfs:label ?name .
?f1 a lmdb:Film; rdfs:label ?title; lmdb:director ?d1
FILTER regex(?title, "^Batman")}
ORDER BY ?title
PREFIX lmdb: <https://triplydb.com/Triply/
ASK
WHERE { ?s a lmdb:Film; lmdb:country country:BR .
}
PREFIX rdfs: <http://www.w3.org/2000/01/
SELECT ?genre_name (count(?genre_name) AS ?total)
WHERE {
?s lmdb:genre ?genre . ?genre rdfs:label ?genre_name
}
GROUP BY ?genre_name
ORDER BY DESC(?total)
SELECT ?class (count(?class) AS ?total)
FROM graphs:data
WHERE {?s a ?class }
GROUP BY ?class
ORDER BY DESC(?total)
Comentários
Postar um comentário
Sinta-se a vontade para comentar. Críticas construtivas são sempre bem vindas.