Upload
internet
View
109
Download
4
Embed Size (px)
Citation preview
Linguagem de consulta SPARQL
Maria Gabriela Cardoso
Agenda
- Web Semântica- RDF- SPARQL- Consultas SPARQL- Conclusão- Referências
Internet
- Informações não estruturadas;- A proposta da Web Semântica- Dados estruturados- Seguindo ontologias
RDF
- Resource Description Framework; - Flexível e extensível para representar informações;- Recursos são descritos através de declarações e possuem propriedades que têm valor;
RDF
- Usado para representar informações pessoais, redes sociais, metadados sobre artefatos digitais, integração sobre diferentes fontes de informação;- Grande vantagem para desenvolvedores utilizarem uma linguagem de consulta para o RDF;
RDF
-Composto por três recursos: Sujeito, predicado e objeto;- A W3C (organização de padronização, recomenda a utilização de RDF).
SPARQL
- Consultas SPARQL são executadas sobre conjuntos de dados RDF (gráficos RDF);- RDF -> Triplas compostas por sujeito, predicado e objeto (São representados por URIs);- Objetos também podem ser representados por literais;- Também pode ser aplicada sobre extensões do RDF (Ex: OWL).
SPARQL
- URIs: <http://example.com/resource> ou prefixo:name
- Literais: "string" "13.4"^^xsd:float ou "string with language"@enz
SPARQL
Sendo assim, as triplas são dos formatos:
- URI (sujeito) URI(Predicado) URI(objeto) - prefixo:sujeito prefixo2:predicado prefixo3:objeto- prefixo:sujeito prefixo2:predicado "literal"
SPARQL
Esquematização de uma consulta
SPARQL
Declaração de prefixos
PREFIX wine:<http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SPARQL
Formas de consulta
- SELECT- ASK- CONSTRUCT- DESCRIBE
SPARQL
Definição do dataset
SPARQL
Definição do dataset
SPARQL
O padrão de consulta (WHERE)
SPARQL
O padrão de consulta (WHERE)
Consultas
- Realizadas no Protégé (Versão 4.2.0)- Fonte de dados: wine.owlhttp://www.w3.org/TR/2003/CR-owl-guide-20030818/wine
- Fonte de dados já importada para as
consultas. Não é preciso informar o
dataset no FROM.
Consultas
PREFIX wine:<http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#>SELECT ?Wine ?FlavorWHERE { ?Wine wine:hasFlavor ?Flavor}
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Flavor ?LocationWHERE { ?Wine wine:hasFlavor ?Flavor;?Wine wine:locatedIn ?Location.}
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Flavor ?LocationWHERE { ?Wine wine:hasFlavor ?Flavor; wine:locatedIn ?Location.}
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT DISTINCT ?Sugar WHERE { ?Wine wine:hasSugar ?Sugar.}
PREFIX wine:<http://www.w3.org/...>SELECT ?Sugar WHERE { ?Wine wine:hasSugar ?Sugar.}
Consultas
Com distinct Sem distinct
Consultas
PREFIX wine:<http://www.w3.org/...>ASKWHERE { ?Wine wine:locatedIn wine:NewZealandRegion.}
Consultas
PREFIX wine:<http://www.w3.org/...>DESCRIBE ?WineWHERE { ?Wine wine:locatedIn wine:NewZealandRegion.}
Consultas
Consultas
PREFIX ex: <http://www.snee.com/ns/demo#> CONSTRUCT { ?p ex:hasGrandfather ?g . } WHERE {?p ex:hasParent ?parent; ?parent ex:hasParent ?g ; ?g ex:gender :male . }
Consultas
NetoNetoNetoNetoNetoNetoNetoNetoNetoNeto
AvôAvôAvôAvôAvôAvôAvôAvôAvôAvô
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?LocationWHERE { ?Wine wine:locatedIn ?Location.FILTER (?Location != wine:NewZealandRegion)}
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?Location ?Sugar WHERE { ?Wine wine:locatedIn ?Location.OPTIONAL {?Wine wine:hasSugar ?Sugar}}
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?WineWHERE { {?Wine wine:locatedIn wine:SonomaRegion}UNION {?Wine wine:locatedIn wine:CaliforniaRegion}}
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?LocationWHERE { ?Wine wine:locatedIn ?Location.FILTER (?Location = wine:SonomaRegion || ?Location = wine:CaliforniaRegion)}
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Location WHERE { ?Wine wine:locatedIn ?Location.} ORDER BY ?Location
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?Location ?SugarWHERE { ?Wine wine:locatedIn ?Location.?Wine wine:hasSugar ?Sugar.} GROUP BY ?Sugar ?Location
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?Location (COUNT(?Location) as ?Count)WHERE { ?Wine wine:locatedIn ?Location.} GROUP BY ?Location HAVING(COUNT(?Location) > 3)
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Sugar WHERE { ?Wine wine:hasSugar ?Sugar.} LIMIT 10
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Sugar WHERE { ?Wine wine:hasSugar ?Sugar.} OFFSET 5
Consultas
Consultas
PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Sugar WHERE { ?Wine wine:hasSugar ?Sugar.} LIMIT 5OFFSET 5
Consultas
Conclusões- A linguagem de consulta padronizada para dados RDF com múltiplas implementações oferece aos desenvolvedores e usuários finais uma maneira de escrever e de consumir os resultados de consultas em toda esta vasta gama de informações.
- A tecnologia foi desenvolvida para permitir buscas em diferentes fontes de informação, independente do formato dos resultados.
- Criação de projetos em web semântica. Por exempo o DBpedia, que extrai informações de forma estruturada da Wikipedia.
Conclusões- http://pt.wikipedia.org/wiki/W3C
- http://en.wikipedia.org/wiki/SPARQL
- http://www.w3.org/TR/2004/WD-rdf-sparql-query-20041012/
- http://www.w3.org/2009/Talks/0615-qbe/
http://pt.wikipedia.org/wiki/Resource_Description_Framework
Dúvidas
?