Come continuare

Come continuare

Congratulazioni! Hai finito questo tutorial.

Questo tutorial ha una portata limitata e mira solo ad insegnare alcuni dei concetti fondamentali riguardanti l’uso di SPARQL per interrogare Wikidata. Ma c’è molto altro da scoprire: più funzioni, più parole chiave, altre costruzioni di query e persino altri tipi di query! Abbiamo coperto solo le basi qui.

Below you will find a list of suggestions on how to continue learning SPARQL. However, before we Di seguito troverai un elenco di suggerimenti su come continuare ad imparare SPARQL. Tuttavia, prima di concludere, c’è un aspetto importante del Wikidata Query Service che vorremmo sottolineare. Sebbene WDQS offra uno strumento unico per il recupero delle informazioni, la sua utilità è una funzione della qualità dei dati archiviati su Wikidata. Quanto più completi, accurati e affidabili sono i dati sottostanti, tanto migliori e utili saranno i risultati delle nostre query. Mentre esplori le query su Wikidata, potresti incontrare dati incompleti, imprecisi o non aggiornati. Ci auguriamo certamente che utilizzando WDQS sarai anche incoraggiato a impegnarti con Wikidata e ad unirti allo sforzo della comunità di curare questo database.

Risorse per un ulteriore apprendimento di SPARQL/WDQS:

  • Tutorial SPARQL in Wikidata, compresi più esercizi con i quali puoi esercitarti.
  • Un libro SPARQL/Wikidata su Wikibooks.
  • Una lista di esempi di query – puoi imparare molto osservando la sintassi e le costruzioni utilizzate in queste query. Spesso potresti trovare qui una query adatta ai tuoi scopi e che deve solo essere adattata. Non c’è bisogno di reinventare la ruota! Questi esempi sono anche accessibili e ricercabili tramite l’interfaccia Wikidata Query Service (sotto il pulsante “Esempi”).
  • Richiedi una query – la tua query non funziona e non riesci a capire perché? Non sai come formulare la query? Questa pagina è quella dove la comunità di Wikidata può rispondere a domande e fornire aiuto.

Coordinate

Interrogazioni Where: coordinate

Le query “Where” si riferiscono al recupero di posizioni geografiche che possono essere espresse in coordinate. È quindi possibile presentare queste informazioni sotto forma di mappa.

Consigliamo di ripassare l’introduzione a Wikidata e conoscere la struttura di Wikidata, così come la sezione relativa alla query più semplice prima di procedere.

Cominciamo con un semplice esempio: dove sono accaduti gli incidenti aerei?

Dopo aver eseguito la query, scorrere fino ai risultati. Sopra la tabella, fai clic sulla freccia accanto all’occhio. Apparirà un menu a discesa. Scegli “Mappa” dal menu e WDQS visualizzerà le posizioni su una mappa. Puoi cliccare su ogni punto per vedere l’etichetta dell’articolo e le coordinate associate.

Un altro modo per visualizzare i risultati nella vista Mappa consiste nello specificarlo nella query stessa. Il codice sulla riga 2, dopo il segno dell’hashtag, dice alla query che i risultati della query devono essere mostrati non come una tabella, ma come una mappa.

Non è necessario ricordare il codice esatto per la visualizzazione della mappa: grazie alla funzione di completamento automatico di WDQS, una volta digitato un hashtag nella finestra della query, un menu a tendina suggerirà le diverse opzioni di visualizzazione.

Dichiarazioni con qualificatori

Istruzioni di interrogazione con i qualificatori

Molte affermazioni in Wikidata non sono solo semplici triplette sotto forma di Item-Property-Value, ma possono anche includere un qualificatore. I qualificatori consentono alle affermazioni di essere ampliate, annotate o contestualizzate oltre ciò che può essere espresso in una semplice coppia proprietà-valore. I qualificatori vengono utilizzati per descrivere ulteriormente o perfezionare il valore di una proprietà fornita in una dichiarazione. Si noti che un’istruzione dovrebbe comunque fornire dati utili anche senza un qualificatore; il qualificatore è lì solo per fornire ulteriori informazioni.

Prendiamo ad esempio la proprietà “data di pubblicazione” (P577). La seguente query recupera la data di pubblicazione per ciascuno dei film della serie Star Wars:

Sebbene ci siano 9 film nella serie, otteniamo 32 risultati. Come mai?

Come abbiamo visto prima, una proprietà può avere più valori. In questo caso, ci sono diversi valori per “data di pubblicazione” per film. Come mai? Perché ci sono date di uscita diverse per paesi diversi. Per ogni valore c’è un qualificatore che indica la proprietà “luogo di pubblicazione” (P291) e il suo valore. Ad esempio, per l’oggetto Star Wars Episodio IV: Una nuova speranza (Q17738):

Publication date (P577) has the property place of publication (P291) as qualifier

In che modo la nostra query può recuperare solo la data di pubblicazione negli Stati Uniti?

Per fare questo abbiamo bisogno di capire come vengono rappresentati questi dati.

Spiegazione dei qualificatori

Finora abbiamo avuto affermazioni come:

Questo legame tra l’oggetto e il suo valore è una “proprietà diretta”. Nelle nostre domande ci siamo riferiti ad esso con il prefisso wdt.

Nel modello di dati di Wikidata, per ogni proprietà diretta che collega un elemento e un valore, esiste anche una semplice proprietà (p) che collega l’elemento a un nodo di istruzione. Quel nodo di istruzione è quindi collegato al valore della proprietà diretta da un’istruzione di proprietà (ps), come mostrato in questa vista grafica:

Un altro modo per descrivere questi dati è attraverso affermazioni:

ElementoProprietàValore
Q17738wdt:P5771977-05-25
Q17738p:P577Q17738-nodo istruzione
Q17738-nodo istruzioneps:P5771977-05-25

Nell’ultima riga, il nodo dell’istruzione serve da “Elemento” in un’istruzione Elemento-Proprietà-Valore.

Le istruzioni che hanno un qualificatore hanno un collegamento aggiuntivo dal nodo dell’istruzione  – un qualificatore di proprietà (pq) – come mostrato nel diagramma seguente:

Possiamo ora formulare una query per ottenere la data di pubblicazione (P577) dei film della serie Guerre stellari se il luogo di pubblicazione (P291) sono gli USA:

Un altro esercizio

| Esercizio: per ciascuno dei film della trilogia originale di Star Wars (Q25540859) elenca i membri del cast (P161) e il ruolo del personaggio (P453) che hanno interpretato

mostra la soluzione

Se hai imparato a rimuovere i duplicati usando il modificatore DISTINCT, modifica la query per elencare i ruoli dei personaggi unici nella trilogia originale di Star Wars e gli attori che li hanno interpretati.

mostra la soluzione

Coordinate collegate

Recupero delle coordinate legate ai valori

Nella query precedente, le coordinate erano direttamente collegate agli elementi che abbiamo selezionato. Ma le coordinate non sono sempre direttamente collegate agli articoli di nostro interesse. La seguente query mostra i luoghi delle riprese per ogni film della serie Guerre stellari.

La query restituisce il valore della proprietà P915 (luogo delle riprese) per ogni film. Dopo aver appreso come recuperare i dati collegati ai valori, è un compito abbastanza semplice recuperare le coordinate per ogni posizione:

# Un po’ di sintassi

Un modo più breve per formulare la query precedente consiste nell’usare parentesi quadre per unire le due affermazioni alle righe 7 e 8. Quindi, invece di:
?item wdt:P915 ?location. 
?location wdt:P625 ?coords.

Noi scriviamo:
?item wdt:P915 [wdt:P625 ?coords]. 

Cosa è cambiato nei risultati? Come mai?

La mappa mostra le stesse posizioni, ma poiché questa sintassi omette la variabile ?location, ?locationLabel è vuota e l’etichetta della posizione non viene visualizzata.

Esercizio

| Esercizio: quali film sono stati girati in Nuova Zelanda (Q664)?

Hint: Make sure that your query retrieves films for which filming location (P915) is in the administrative territorial entity (P131) of New Zealand.

show solution

The following solution shows the filming locations:

Or, using abbreviated syntax (filming locations not listed):

Note that duplicates are removed from the results using the DISTINCT modifier.

Recupero dei dati collegati ai valori

Recupero dei dati collegati ai valori

So far the values we retrieved in our queries were directly related to the item we were selecting. Suppose we wanted to show the birthplace of the director of each of the Star Wars films.

#Star Wars films

SELECT ?item  ?itemLabel ?directorLabel ?pobLabel
WHERE 
{ 
  ?item wdt:P179 wd:Q22092344. # item is part of the series Star Wars (film series)
  ?item wdt:P57 ?director.     # item’s director property’s value is collected by the director variable
  ?director wdt:P19 ?pob.      # the place of birth of the director is collected in the ?pob variable
 SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". }
}

The query selects items that are part of the star wars series, and retrieves each film’s director, and the director’s P19 (place of birth) property and its value.

Importantly, P19 and its value are linked to the director – not to the film! We are retrieving the value (the place of birth) of a property (P19) of a value (the director) of a property (P57) of the item that we are selecting.

Here is a graph view of the data for the film Star Wars Episode V: The Empire Strikes Back (Q181795):

A graph view showing Q119348 (Irving Kershner) as both the object (Value) of the statement regarding the director property of Q181795, and the subject (Item) of the statement regarding the place of birth property.

Item Q181795 is the subject (shown in blue) in the Item-Property-Value statement:
Q181795 – P57 (director) – Q119348 (Irvin Kershner).
Item Q119348 is the value or object (shown in green) of the director property (shown in black).

Item Q119348 is also the subject of the statement:
Q119348 – P19 (place of birth) – Q1345 (Philadelphia)

Now run the query:

# A little bit of syntax

A shorter way of formulating the above query is using square brackets to join the two match patterns on lines 7 and 8. So instead of:
?item wdt:P57 ?director. 
?director wdt:P19 ?dob.

We write:
?item wdt:P57 [wdt:P19 ?dob]. 

What has changed in the results? Why?

This syntax omits the ?director variable, so ?directorLabel is empty.

DISTINCT

DISTINCT – visualizzazione risultati unici

Diamo nuovamente un’occhiata alla query che elenca tutte le opere d’arte (Q838948) dell’universo di Star Wars.

Se esegui la query vedrai che ci sono alcuni duplicati nei risultati: alcuni oggetti, come Q19590955 (Rogue One) e Q6074 (Star Wars Episodio VII: Il risveglio della Forza) appaiono più di una volta.
I modelli di query spesso restituiscono duplicati: ciò può accadere se, ad esempio, si utilizza il modello “?item wdt:P31/wdt:P279* ?class” e sono presenti più percorsi da ?item a ?class: otterrai un nuovo risultato per ciascuno di questi percorsi. Ad esempio, l’elemento Q19590955 (Rogue One) ha sia “film” che “3D film” come valori di P31 e ognuno ha un percorso per la classe “opera d’arte”, quindi l’elemento viene visualizzato due volte nei risultati.

Per eliminare i duplicati, aggiungiamo il modificatore DISTINCT dopo SELECT:

Skip to content