53
Linguagem de consulta SPARQL Maria Gabriela Cardoso

Linguagem de consulta SPARQL Maria Gabriela Cardoso

Embed Size (px)

Citation preview

Page 1: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Linguagem de consulta SPARQL

Maria Gabriela Cardoso

Page 2: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Agenda

- Web Semântica- RDF- SPARQL- Consultas SPARQL- Conclusão- Referências

Page 3: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Internet

- Informações não estruturadas;- A proposta da Web Semântica- Dados estruturados- Seguindo ontologias

Page 4: Linguagem de consulta SPARQL Maria Gabriela Cardoso

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;

Page 5: Linguagem de consulta SPARQL Maria Gabriela Cardoso

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;

Page 6: Linguagem de consulta SPARQL Maria Gabriela Cardoso

RDF

-Composto por três recursos: Sujeito, predicado e objeto;- A W3C (organização de padronização, recomenda a utilização de RDF).

Page 7: Linguagem de consulta SPARQL Maria Gabriela Cardoso

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).

Page 8: Linguagem de consulta SPARQL Maria Gabriela Cardoso

SPARQL

- URIs: <http://example.com/resource> ou prefixo:name

- Literais: "string" "13.4"^^xsd:float ou "string with language"@enz

Page 9: Linguagem de consulta SPARQL Maria Gabriela Cardoso

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"

Page 10: Linguagem de consulta SPARQL Maria Gabriela Cardoso

SPARQL

Esquematização de uma consulta

Page 11: Linguagem de consulta SPARQL Maria Gabriela Cardoso

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#>

Page 12: Linguagem de consulta SPARQL Maria Gabriela Cardoso

SPARQL

Formas de consulta

- SELECT- ASK- CONSTRUCT- DESCRIBE

Page 13: Linguagem de consulta SPARQL Maria Gabriela Cardoso

SPARQL

Definição do dataset

Page 14: Linguagem de consulta SPARQL Maria Gabriela Cardoso

SPARQL

Definição do dataset

Page 15: Linguagem de consulta SPARQL Maria Gabriela Cardoso

SPARQL

O padrão de consulta (WHERE)

Page 16: Linguagem de consulta SPARQL Maria Gabriela Cardoso

SPARQL

O padrão de consulta (WHERE)

Page 17: Linguagem de consulta SPARQL Maria Gabriela Cardoso

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.

Page 18: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine#>SELECT ?Wine ?FlavorWHERE { ?Wine wine:hasFlavor ?Flavor}

Page 19: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 20: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Flavor ?LocationWHERE { ?Wine wine:hasFlavor ?Flavor;?Wine wine:locatedIn ?Location.}

Page 21: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 22: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Flavor ?LocationWHERE { ?Wine wine:hasFlavor ?Flavor; wine:locatedIn ?Location.}

Page 23: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 24: Linguagem de consulta SPARQL Maria Gabriela Cardoso

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.}

Page 25: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Com distinct Sem distinct

Page 26: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>ASKWHERE { ?Wine wine:locatedIn wine:NewZealandRegion.}

Page 27: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>DESCRIBE ?WineWHERE { ?Wine wine:locatedIn wine:NewZealandRegion.}

Page 28: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 29: Linguagem de consulta SPARQL Maria Gabriela Cardoso

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 . }

Page 30: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

NetoNetoNetoNetoNetoNetoNetoNetoNetoNeto

AvôAvôAvôAvôAvôAvôAvôAvôAvôAvô

Page 31: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?LocationWHERE { ?Wine wine:locatedIn ?Location.FILTER (?Location != wine:NewZealandRegion)}

Page 32: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 33: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>SELECT ?Location ?Sugar WHERE { ?Wine wine:locatedIn ?Location.OPTIONAL {?Wine wine:hasSugar ?Sugar}}

Page 34: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 35: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>SELECT ?WineWHERE { {?Wine wine:locatedIn wine:SonomaRegion}UNION {?Wine wine:locatedIn wine:CaliforniaRegion}}

Page 36: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 37: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?LocationWHERE { ?Wine wine:locatedIn ?Location.FILTER (?Location = wine:SonomaRegion || ?Location = wine:CaliforniaRegion)}

Page 38: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 39: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Location WHERE { ?Wine wine:locatedIn ?Location.} ORDER BY ?Location

Page 40: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 41: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>SELECT ?Location ?SugarWHERE { ?Wine wine:locatedIn ?Location.?Wine wine:hasSugar ?Sugar.} GROUP BY ?Sugar ?Location

Page 42: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 43: Linguagem de consulta SPARQL Maria Gabriela Cardoso

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)

Page 44: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 45: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Sugar WHERE { ?Wine wine:hasSugar ?Sugar.} LIMIT 10

Page 46: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 47: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Sugar WHERE { ?Wine wine:hasSugar ?Sugar.} OFFSET 5

Page 48: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 49: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

PREFIX wine:<http://www.w3.org/...>SELECT ?Wine ?Sugar WHERE { ?Wine wine:hasSugar ?Sugar.} LIMIT 5OFFSET 5

Page 50: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Consultas

Page 51: Linguagem de consulta SPARQL Maria Gabriela Cardoso

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.

Page 53: Linguagem de consulta SPARQL Maria Gabriela Cardoso

Dúvidas

?