Differenze tra le versioni di "Wikimania 2023/SPARQL: access and analyze data from Wikidata"
| Riga 44: | Riga 44: | ||
} | } | ||
}} | }} | ||
| − | |||
| − | |||
Versione delle 18:26, 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):
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
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. È fondamentale il punto alla fine della riga.
Combinata alla riga SELECT vista prima, avremo quindi:
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 seguita da una stringa (che si può non imparare a memoria, basta copiarla dalle query di esempio, come quella dei gatti).
Al posto di it possiamo inserire [AUTO_LANGUAGE] per far sì che di default l'etichetta compaia nella lingua dell'interfaccia dell'utente (se esiste, altrimenti passa alla seconda scelta, in questo caso inglese (en) che può essere sostituta con il codice di qualsiasi lingua. Si possono inserire ulteriori lingue come terza quarta, quinta scelta, separandole sempre con una virgola (I codici lingua utilizzabili sono quelli ISO 639-1 e ISO 639-2). Esempio:
fniwgnogoongno