Pontifícia Universidade Católica do Rio Grande do Sul
Faculdade de Informática
Programa de Pós-Graduação em Ciência da Computação
Introdução ao SPARQL
Anderson Bestteti
[email protected]
Orientadora: Prof(a). Dr(a). Renata Vieira
Sumário






Introdução
A linguagem SPARQL
Consultas sobre arquivos RDF & OWL
Ferramentas
Referências
Perguntas
2
Introdução
 SPARQL é uma recomendação do W3C a partir de
Janeiro de 2008.
 Seu propósito é permitir que arquivos RDF sejam
consultados através de uma linguagem SQL Like.
 Permite ao usuário combinar dados de arquivos
RDF, provenientes de diferentes fontes.
 SPARQL é uma linguagem orientada a dados, ou
seja, recupera dados armazenados em arquivos
RDF.
3
A linguagem SPARQL
 A vantagem da semelhança com SQL é que
diminui a curva de aprendizado.
 Principais cláusulas:





SELECT [DISTINCT]
FROM (opcional)
WHERE (opcional)
ORDER BY (opcional)
UNION (opcional – funcionamento diferente do SQL)
4
A linguagem SPARQL
 Algumas cláusulas específicas da SPARQL:
 BASE: define a URI base de um recurso;
 FILTER: aplica um filtro sobre as linhas recuperadas pela
consulta;
 LIMIT: limita a quantidade de linhas recuperadas da consulta;
 OFFSET: permite que seja aplicado um deslocamento sobre o
conjunto de linhas recuperadas pela consulta;
 OPTIONAL: permite que uma linha seja recuperada mesmo que
não exista o valor de uma propriedade do RDF;
 PREFIX: cria um “apelido” para a URI de um arquivo RDF/OWL;
 Variáveis são identificadas com os símbolos “?”
e/ou “$”.
 Literais são delimitados por aspas simples ou dupla
5
Consultas sobre RDF e OWL
 SPARQL é construída sobre triple pattern, ou
seja: subject, predicate e object.
 Segue a mesma estrutura de construção de
um arquivo RDF. Exemplo:
<http://www.daml.org/2003/01/periodictable/PeriodicTable#Na> table:name "sodium".
<Element rdf:ID="Na" xmlns="http://www.daml.org/2003/01/periodictable/PeriodicTable#">
<name>sodium</name>
<symbol>Na</symbol>
<atomicNumber>11</atomicNumber>
<atomicWeight>22.989770</atomicWeight>
<group rdf:resource="#group_1"/>
<period rdf:resource="#period_3"/>
<block rdf:resource="#s-block"/>
<standardState rdf:resource="#solid"/>
<color>silvery white</color>
<classification rdf:resource="#Metallic"/>
<casRegistryID>7440-23-5</casRegistryID>
</Element>
6
Consultas sobre RDF e OWL
 Exemplo de uma consulta simples:
PREFIX table:<http://www.daml.org/2003/01/periodictable/PeriodicTable#>
SELECT ?name
FROM http://www.daml.org/2003/01/periodictable/PeriodicTable.owl
WHERE {?element table:name ?name.}
 Retorna:
---------------------------------------------------------| name
|
==========================================================
| "unununium"^^<http://www.w3.org/2001/XMLSchema#string> |
| "copper"^^<http://www.w3.org/2001/XMLSchema#string>
|
| "bismuth"^^<http://www.w3.org/2001/XMLSchema#string>
|
----------------------------------------------------------
7
Consultas sobre RDF e OWL

Aplicando outras cláusulas do SPARQL:
BASE <http://www.daml.org/2003/01/periodictable/>
PREFIX table:<PeriodicTable#>
SELECT ?name ?symbol ?group
FROM <PeriodicTable.owl>
WHERE {?element table:name
?name.
?element table:symbol ?symbol.
?element table:group ?group.}
ORDER BY ?group ?name
LIMIT 8
OFFSET 5

Retorna:
--------------------------------------| name
| symbol | group
|
=======================================
| "rubidium"
| "Rb"
| #group_1> |
| "sodium"
| "Na"
| #group_1> |
| "nickel"
| "Ni"
| #group_10> |
| "palladium" | "Pd"
| #group_10> |
| "platinum"
| "Pt"
| #group_10> |
| "ununnilium" | "Uun"
| #group_10> |
| "copper"
| "Cu"
| #group_11> |
| "gold"
| "Au"
| #group_11> |
---------------------------------------
8
Consultas sobre RDF e OWL
 Consultas sobre o modelo OMV:
PREFIX omv: <http://omv.ontoware.org/2005/05/ontology#>
SELECT ?x ?numberOfClasses ?numberOfIndividuals
WHERE {?x omv:numberOfClasses ?numberOfClasses.
?x omv:numberOfIndividuals ?numberOfIndividuals.
}
 Retorna:
------------------------------------------------------| x
| numberOfClasses | numberOfIndividuals |
=======================================================
| OntoMusica | 19
| 458
|
| SmartPhone | 123
| 78
|
| CvLattes
| 179
| 0
|
| LO
| 117
| 117
|
| Arte-dl
| 170
| 151
|
| OntoECO
| 60
| 60
|
|-----------------------------------------------------|
9
Consultas sobre RDF e OWL
 Consultas sobre o modelo OMV – Dados
Opcionais:
PREFIX omv: <http://omv.ontoware.org/2005/05/ontology#>
SELECT ?x ?numberOfClasses ?numberOfIndividuals ?creationDate
WHERE {?x omv:numberOfClasses ?numberOfClasses.
?x omv:numberOfIndividuals ?numberOfIndividuals.
OPTIONAL {?x omv:creationDate ?creationDate.} }
 Retorna:
---------------------------------------------------------------------| x
| numberOfClasses | numberOfIndividuals | creationDate |
======================================================================
| OntoMusica | 19
| 458
| "01/01/2006" |
| SmartPhone | 123
| 78
| "01/01/2007" |
| CvLattes
| 179
| 0
|
|
| LO
| 117
| 117
| "01/01/2007" |
| Arte-dl
| 170
| 151
| "01/01/2005" |
| OntoECO
| 60
| 60
| "01/01/2004" |
----------------------------------------------------------------------
10
Ferramentas
 Protégé possui o SPARQL integrado em seu
ambiente.
11
Ferramentas
 Twinkle: SPARQL Tool, é uma ferramenta que
permite ao usuário criar e salvar as suas
consultas.
 Apresenta algumas facilidades para definir a
localização dos recursos.
12
Referências

Tutoriais e Documentação









Ferramentas utilizadas



XML.com – Introducing SPARQL: Querying the Semantic Web. Disponível em
http://www.xml.com/pub/a/2005/11/16/introducing-sparql-querying-semantic-webtutorial.html. Acesso em 03/2009.
W3C – RDF Primer. Disponível em http://www.w3.org/TR/rdf-primer/. Acesso em
03/2009.
IBM - Search RDF data with SPARQL. Diposnível em
http://www.ibm.com/developerworks/library/j-sparql/. Acesso em 04/2009.
W3C – SPARQL Query Language for RDF. Disponível em http://www.w3.org/TR/rdfsparql-query/#introduction. Acesso 03/2009.
SPARQL RDF Query Language Reference. Disponível em
http://www.dajobe.org/2005/04-sparql/. Acesso em 04/2009.
XQuery/SPARQL Tutorial. Disponível em
http://en.wikibooks.org/wiki/XQuery/SPARQL_Tutorial. Acesso em 03/2009.
SPARQL e-Book download. Disponível em http://www.pdf-search-engine.com/sparqlpdf.html. Acesso em 04/2009.
Wikipedia – SPARQL. Disponível em http://en.wikipedia.org/wiki/SPARQL. Acesso em
04/2009.
Protégé 3.3.1
Twinkle: SPARQL Tool
Pesquisas no Google: SPARQL e “SPARQL tutorial”
13
Fim
Perguntas?
14
Download

Apresentação - Faculdade de Informática