logo

Sparql Endpoint

I Linked Data sono modellati secondo il modello dati RDF: ogni concetto può essere mappato in questo modello informativo che non è legato a nessun tipo di dato in particolare. Sia l'informazione spaziale che quella classica alfanumerica può essere espressa secondo questo semplice modello la cui unità base è sempre una tripletta della forma:


(soggetto, predicato, oggetto)


che si richiama al modo di pensare e di rappresentare il mondo esterno tipico della mente umana. "L'acqua è calda" oppure "il leone mangia la zebra" sono esempi di concetti che possono essere tradotti in alcune triplette: (acqua, è un, sostanza chimica), (acqua, ha temperatura, calda) e (leone, è un, animale), (zebra, è un, animale) e (leone, mangia, zebra). Le triplette RDF possono essere conservare in un database apposito chiamato "triple store" che non solo permette la conservazione delle triple, ma offre un linguaggio di interrogazione standard: SPARQL.


SPARQL è pronunciato come sparkle (scintilla) ed è frutto di un acronimo recursivo che significa Sparql Protocol And Rdf Query Language (protocollo sparql di interrogazione di RDF). Sebbene la sua sintassi sia relativamente semplice e ricordi il più noto SQL, non  sempre risulta immediato e naturale; una query SPARQL semplicemente chiede al sistema di estrarre tutte le triple che soddisfano gli schemi di triple che sono contenuti nella clausola WHERE della query stessa.
Per esempio, la query:

SELECT ?nome 
WHERE {
  ?soggetto rdf:type foaf:person.  
  ?soggetto foaf:name ?nome.
  ?soggetto foaf:mbox mailto:info@dati.lazio.it. 
}

 

estrae tutte le triplette (in verità solamente il nome del soggetto) che hanno l'indirizzo email uguale a mailto:info@dati.lazio.it. Quei tre schemi di triplette presenti nella clausola WHERE devono essere provati su ogni tripletta contenuta nel database e quelle che soddisfano il triplo filtro sono presentate come risultato.


A differenza di uno SQL, un punto di accesso per richieste SPARQL è sempre accessibile attraverso il protocollo HTTP e le query, opportunamente codificate in modo da poter essere scritte all'interno di una HTTP GET, diventano il parametro di un servizio web.

 

Sparql Endpoint