Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SPARQL: un API per ghermire dati

482 views

Published on

Introduzione a SPARQL per muovere i primi passi nella Linked Data Cloud.

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

SPARQL: un API per ghermire dati

  1. 1. SPARQL Un’API per domarli, un’API per trovarli, un’API per ghermirli e nell'oscurità incatenarli
  2. 2. SPAR...cosa?
  3. 3. SPARQL Protocol and RDF Query Language Il linguaggio di interrogazione per grafi RDF
  4. 4. Una sola API, un mondo da esplorare
  5. 5. Le informazioni salvate in un RDF sono organizzate a grafo Nei database di tutti i giorni abbiamo a che fare con tabelle Coi linked data si usano i grafi!
  6. 6. Una query SPARQL naviga il grafo per rintracciare ciò che le diciamo di cercare Il nostro compito è tradurre una domanda in linguaggio naturale in una query SPARQL
  7. 7. Federico Fellini Italia Anita Ekberg Marcello Mastroianni 8½ La dolce vita Francia Il pianista dbo:director dbo:director dbo:country dbo:country dbo:country dbo:starred dbo:starred dbo:starred foaf:knows dbo:country
  8. 8. Quali sono i film che sono stati girati in Italia? Guardiamo nel grafo!
  9. 9. Federico Fellini Italia Anita Ekberg Marcello Mastroianni 8½ La dolce vita Francia Il pianista dbo:director dbo:director dbo:country dbo:country dbo:country dbo:starred dbo:starred dbo:starred foaf:knows dbo:country
  10. 10. 8½ La dolce vita
  11. 11. Quali sono i film che sono stati girati in Italia? SELECT ?movie WHERE { ?movie rdfs:type dbo:Film . ?movie dbo:country dbr:Italia . }
  12. 12. Quali sono i film che sono stati girati in Italia? SELECT ?movie WHERE { ?movie rdfs:type dbo:Film . ?movie dbo:country dbr:Italia . }
  13. 13. Quali sono i film che sono stati girati in Italia? SELECT ?movie WHERE { ?movie rdfs:type dbo:Film . ?movie dbo:country dbr:Italia . }
  14. 14. Quali sono i film che sono stati girati in Italia? SELECT ?movie WHERE { ?movie rdfs:type dbo:Film . ?movie dbo:country dbr:Italia . }
  15. 15. Quali sono i film che sono stati girati in Italia? SELECT ?movie WHERE { ?movie rdfs:type dbo:Film . ?movie dbo:country dbr:Italia . } ?movie è una variabile “Tutto ciò”, “ogni cosa che”
  16. 16. Quali sono i film che sono stati girati in Italia? SELECT ?movie WHERE { ?movie rdfs:type dbo:Film . ?movie dbo:country dbr:Italia . } Tutte le cose Di tipo Film
  17. 17. 8½ La dolce vita Il pianista
  18. 18. Quali sono i film che sono stati girati in Italia? SELECT ?movie WHERE { ?movie rdfs:type dbo:Film . ?movie dbo:country dbr:Italia . } Tutte le cose La cui nazione è Italia
  19. 19. Italia dbo:country ?movie dbo:country dbr:Italia
  20. 20. Federico Fellini Italia Anita Ekberg Marcello Mastroianni 8½ La dolce vita Francia Il pianista dbo:director dbo:director dbo:country dbo:country dbo:country dbo:starred dbo:starred dbo:starred foaf:knows dbo:country
  21. 21. Italia 8½ La dolce vita Francia Il pianista dbo:country dbo:country dbo:country dbo:country
  22. 22. Italia 8½ La dolce vita dbo:country dbo:country
  23. 23. 8½ La dolce vita
  24. 24. Quali sono i film che sono stati girati in Italia? SELECT ?movie WHERE { ?movie rdfs:type dbo:Film . ?movie dbo:country dbr:Italia . }
  25. 25. Come faccio a scegliere le triple da usare in una query SPARQL? Ci sono almeno due modi per capire come tradurre le domande in linguaggio naturale nei soggetti-predicati-oggetti presenti in certo grafo
  26. 26. O ntologia!
  27. 27. Query SPARQL da esplorazione Quando un’ontologia non è presente o è di difficile consultazione si può esplorare il grafo con qualche query SPARQL generica
  28. 28. Quali sono le classi presenti nel grafo? SELECT DISTINCT ?o WHERE { ?s rdfs:type ?o }
  29. 29. Federico Fellini Italia Anita Ekberg Marcello Mastroianni 8½ La dolce vita Francia Il pianista dbo:director dbo:director dbo:country dbo:country dbo:country dbo:starred dbo:starred dbo:starred foaf:knows dbo:country
  30. 30. Regista AttoreFilm Nazione
  31. 31. Quanto sono utilizzate le classi presenti nel grafo? SELECT ?o (COUNT (DISTINCT ?s) as ?n) WHERE { ?s rdfs:type ?o } ORDER BY DESC (?n)
  32. 32. Federico Fellini Italia Anita Ekberg Marcello Mastroianni 8½ La dolce vita Francia Il pianista dbo:director dbo:director dbo:country dbo:country dbo:country dbo:starred dbo:starred dbo:starred foaf:knows dbo:country
  33. 33. Regista AttoreFilm Nazione 21 3 2 ...nel nostro esempio...
  34. 34. Regista AttoreFilm Nazione 19.8025.260 106.613 3.361 ...su DBpedia...
  35. 35. Quali sono i predicati più utilizzati nel grafo? SELECT ?p (COUNT(?s) AS ?count ) WHERE { ?s ?p ?o } GROUP BY ?p ORDER BY DESC (?count)
  36. 36. Federico Fellini Italia Anita Ekberg Marcello Mastroianni 8½ La dolce vita Francia Il pianista dbo:director dbo:director dbo:country dbo:country dbo:country dbo:starred dbo:starred dbo:starred foaf:knows dbo:country
  37. 37. dbo:director dbo:director dbo:country dbo:country dbo:country dbo:starred dbo:starred dbo:starred foaf:knows dbo:country
  38. 38. Sintassi Tutti la sintassi di SPARQL 1.1 è descritta in: https://www.w3.org/TR/sparql11-query/
  39. 39. Qualche esempio reale per prendere confidenza Facciamo qualche esercizio su endpoint esistenti: ● http://dbpedia.org/sparql ● https://contrattipubblici.org/sparql
  40. 40. Ordinediesecuzione
  41. 41. SPARQL Update SPARQL può essere utilizzato anche in scrittura. Si possono modificare grafi RDF con SPARQL! https://www.w3.org/TR/2013/REC-sparql11-update-20130321/
  42. 42. Query SPARQL federate Dopo tanta fatica eccoci all’apoteosi dei Linked Data!
  43. 43. Keepintouch! Made in alessio.melandri@synapta.it @AlessioMelandri https://synapta.it @synapta CC-BY

×