Differenze tra le versioni di "Wikimania 2023/SPARQL: access and analyze data from Wikidata"

Da Wikimedia Italia.
Jump to navigation Jump to search
(Creata pagina con "Cose da sapere per fare query semplici su Wikidata. Per fare una ricerca su Wikidata tramite query si parte dal sito [https://query.wikidata.org/ query.wikidata.org] (il link...")
 
Riga 1: Riga 1:
 
Cose da sapere per fare query semplici su Wikidata. Per fare una ricerca su Wikidata tramite query si parte dal sito [https://query.wikidata.org/ query.wikidata.org] (il link si trova anche nella sidebar di Wikidata).
 
Cose da sapere per fare query semplici su Wikidata. Per fare una ricerca su Wikidata tramite query si parte dal sito [https://query.wikidata.org/ query.wikidata.org] (il link si trova anche nella sidebar di Wikidata).
  
Innanzututto bisogna dire al query service <!--grazie di esistere-->cosa vogliamo ottenere come risultato. Lo si può fare inserendo una riga contenente la keyword <span style="color:red; font-family:monospace">SELECT</span> seguita dalle variabili di nostro intresse.
+
Innanzitutto bisogna dire al query service <!--grazie di esistere-->cosa vogliamo ottenere come risultato. Lo si può fare inserendo una riga contenente la keyword {{HS|SELECT}} seguita dalle variabili di nostro intresse.
  
Ad esempio, se vogliamo come risultato della nostra query una colonna con gli identificativi wikidata (quelli che iniziano con <code>Q</code>) e una seconda colonna con le etichette corrispondenti, dovremo scrivere:
+
Ad esempio, se vogliamo come risultato della nostra query una colonna con gli identificativi wikidata (quelli che iniziano con <code>Q</code>):
  
 
{{sparql|provami=no|1=
 
{{sparql|provami=no|1=
SELECT ?item ?itemLabel
+
SELECT ?item
 
}}
 
}}
  
A questo punto bisogna scegliere quali elementi estrarre dal database di Wikidata. Ad esempio, se volessi solo ed esclusivamente tutti i gatti domestici presenti su Wikidata dovrei scrivere la riga
+
A questo punto bisogna scegliere quali elementi estrarre dal database di Wikidata e possiamo farlo utilizzando la keyword {{HS|WHERE}} e delle semplici parentesi graffe. Ad esempio, se volessi solo ed esclusivamente tutti i gatti domestici presenti su Wikidata dovrei scrivere la riga
  
 
{{sparql|provami=no|1=
 
{{sparql|provami=no|1=
?item wdt:P31 wdt:146.
+
?item wdt:P31 wd:Q146.
 
}}
 
}}
  
dove <span style="color:green; font-family:monospace">?item</span> è una variabile, wdt: una proprietà ([[:d:P31|P31]] = istanza di) e wd: uno specifico valore ([[:d:Q146|Q146]] = gatto domestico) per la proprietà. Questi tre elementi formano ua tripla.
+
dove {{HS|?item}} è una variabile, wdt: una proprietà ([[:d:P31|P31]] = istanza di) e wd: uno specifico valore ([[:d:Q146|Q146]] = gatto domestico) per la proprietà. Questi tre elementi formano una tripla.
  
Combinata alla riga <span style="color:red; font-family:monospace">SELECT</span> vista prima, avremo quindi:
+
Combinata alla riga {{HS|SELECT}} vista prima, avremo quindi:
 
{{sparql|1=
 
{{sparql|1=
SELECT ?item ?itemLabel
+
SELECT ?item
?item wdt:P31 wdt:146.
+
WHERE {
 +
?item wdt:P31 wd:Q146.
 +
}
 
}}
 
}}
  
 +
A questo punto abbiamo ottenuto un risultato machine readable, ma noi poveri umani vediamo solo un elenco di Q e numeri. Possiamo però chiedere gentilmente di restituire, insieme ai codici identificativi, anche le etichette in una lingua specifica (proviamo con l'italiano e, come alternativa, l'inglese). Bisogna quindi aggiungre un {{HS|?itemLabel}} alla prima riga (quella che inizia con {{HS|SELECT}}) e introdurre una nuova riga, all'interno delle parentesi graffe della keyword {{HS|WHERE}}, con una nuova keyword: {{HS|SERVICE}}.
  
  
 
<span style="color:#2c4c8c">fniwgnogoongno</span>
 
<span style="color:#2c4c8c">fniwgnogoongno</span>

Versione delle 12:07, 15 ago 2023

Cose da sapere per fare query semplici su Wikidata. Per fare una ricerca su Wikidata tramite query si parte dal sito query.wikidata.org (il link si trova anche nella sidebar di Wikidata).

Innanzitutto bisogna dire al query service cosa vogliamo ottenere come risultato. Lo si può fare inserendo una riga contenente la keyword SELECT seguita dalle variabili di nostro intresse.

Ad esempio, se vogliamo come risultato della nostra query una colonna con gli identificativi wikidata (quelli che iniziano con Q):

SELECT ?item


A questo punto bisogna scegliere quali elementi estrarre dal database di Wikidata e possiamo farlo utilizzando la keyword WHERE e delle semplici parentesi graffe. Ad esempio, se volessi solo ed esclusivamente tutti i gatti domestici presenti su Wikidata dovrei scrivere la riga

?item wdt:P31 wd:Q146.


dove ?item è una variabile, wdt: una proprietà (P31 = istanza di) e wd: uno specifico valore (Q146 = gatto domestico) per la proprietà. Questi tre elementi formano una tripla.

Combinata alla riga SELECT vista prima, avremo quindi:

SELECT ?item
WHERE {
?item wdt:P31 wd:Q146.
}

▶️ Prova la query!

A questo punto abbiamo ottenuto un risultato machine readable, ma noi poveri umani vediamo solo un elenco di Q e numeri. Possiamo però chiedere gentilmente di restituire, insieme ai codici identificativi, anche le etichette in una lingua specifica (proviamo con l'italiano e, come alternativa, l'inglese). Bisogna quindi aggiungre un ?itemLabel alla prima riga (quella che inizia con SELECT) e introdurre una nuova riga, all'interno delle parentesi graffe della keyword WHERE, con una nuova keyword: SERVICE.


fniwgnogoongno