sumário
DESCRIPTION
Sumário. Introdução A linguagem SPARQL Consultas sobre arquivos RDF & OWL Ferramentas Referências Perguntas. 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. - PowerPoint PPT PresentationTRANSCRIPT
Pontifícia Universidade Católica do Rio Grande do SulFaculdade de Informática
Programa de Pós-Graduação em Ciência da Computação
Introdução ao SPARQLIntrodução ao SPARQL
Anderson Bestteti
Orientadora: Prof(a). Dr(a). Renata Vieira
2
Sumário
Introdução A linguagem SPARQL Consultas sobre arquivos RDF & OWL Ferramentas Referências Perguntas
3
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.
4
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)
5
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
6
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>
7
Exemplo de uma consulta simples:PREFIX table:<http://www.daml.org/2003/01/periodictable/PeriodicTable#> SELECT ?nameFROM http://www.daml.org/2003/01/periodictable/PeriodicTable.owlWHERE {?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> |----------------------------------------------------------
Consultas sobre RDF e OWL
8
Aplicando outras cláusulas do SPARQL:BASE <http://www.daml.org/2003/01/periodictable/>PREFIX table:<PeriodicTable#>SELECT ?name ?symbol ?groupFROM <PeriodicTable.owl>WHERE {?element table:name ?name. ?element table:symbol ?symbol. ?element table:group ?group.}ORDER BY ?group ?nameLIMIT 8OFFSET 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> |---------------------------------------
Consultas sobre RDF e OWL
9
Consultas sobre o modelo OMV:PREFIX omv: <http://omv.ontoware.org/2005/05/ontology#>SELECT ?x ?numberOfClasses ?numberOfIndividualsWHERE {?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 ||-----------------------------------------------------|
Consultas sobre RDF e OWL
10
Consultas sobre o modelo OMV – Dados Opcionais:PREFIX omv: <http://omv.ontoware.org/2005/05/ontology#>SELECT ?x ?numberOfClasses ?numberOfIndividuals ?creationDateWHERE {?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" |----------------------------------------------------------------------
Consultas sobre RDF e OWL
11
Ferramentas
Protégé possui o SPARQL integrado em seu ambiente.
12
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.
13
Referências
Tutoriais e Documentação XML.com – Introducing SPARQL: Querying the Semantic Web. Disponível em
http://www.xml.com/pub/a/2005/11/16/introducing-sparql-querying-semantic-web-tutorial.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/rdf-
sparql-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/sparql-
pdf.html. Acesso em 04/2009. Wikipedia – SPARQL. Disponível em http://en.wikipedia.org/wiki/SPARQL. Acesso em
04/2009. Ferramentas utilizadas
Protégé 3.3.1 Twinkle: SPARQL Tool
Pesquisas no Google: SPARQL e “SPARQL tutorial”
14
Fim
Perguntas?