140 likes | 262 Views
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.
E N D
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. 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. Introdução
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) 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 A linguagem SPARQL
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". Consultas sobre RDF e OWL • <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>
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> | ---------------------------------------------------------- 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> | --------------------------------------- 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 | |-----------------------------------------------------| 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" | ---------------------------------------------------------------------- Consultas sobre RDF e OWL
Protégé possui o SPARQL integrado em seu ambiente. 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. Ferramentas
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” Referências
Perguntas? Fim