Aiuto:Wikidata/SPARQL
Questa pagina raccoglie una serie di query SPARQL per Wikidata, con la caratteristica, rispetto ad altre pagine come d:Wikidata:SPARQL query service/queries/examples, di eseguire le ricerche più semplici e fondamentali, orientate agli utenti itwiki e scritte in modo che gli identificativi delle proprietà e i valori da ricercare possono essere facilmente rimpiazzati da quelli che servono di volta in volta all'utente.
Tutte le query visualizzano:
- il numero dell'elemento (Qxxxx)
- l'etichetta in italiano, se quest'ultima non è disponibile, sarà visualizzata quella in inglese, se manca anche questa sarà visualizzato il numero dell'elemento; è ottenuto tramite la riga:
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
- se la query restituisce troppi risultati il risultato è limitato ai primi 100; è ottenuto tramite la riga:
LIMIT 100
Per ottenere solo il numero di risultati sostiture negli esempi la prima riga (SELECT ...) con: SELECT (COUNT(?item) AS ?total)
Ricerca degli elementi con una specifica proprietà
[modifica | modifica wikitesto]Esempio di come ricercare gli elementi con una specifica proprietà.
# Ricerca gli elementi che hanno la proprietà codice municipale norvegese (P2504)
SELECT ?item ?itemLabel ?propVal
WHERE {
?item wdt:P2504 ?propVal .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Ricerca gli elementi che hanno due specifiche proprietà (entrambe).
# Ricerca gli elementi che hanno sia la proprietà codice municipale norvegese (P2504) che la proprietà identificativo LCNAF (P244)
SELECT ?item ?itemLabel ?propVal ?propVal2
WHERE {
?item wdt:P2504 ?propVal .
?item wdt:P244 ?propVal2 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Ricerca gli elementi che hanno una proprietà e non ne hanno invece un'altra.
# Ricerca gli elementi che hanno la proprietà codice municipale norvegese (P2504) e non hanno la proprietà identificativo LCNAF (P244)
SELECT ?item ?itemLabel ?propVal
WHERE {
?item wdt:P2504 ?propVal .
MINUS { ?item wdt:P244 [] } .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Ricerca degli elementi in base al valore della proprietà
[modifica | modifica wikitesto]Esempi di come ricercare gli elementi in base al valore di una certa proprietà. La query può cambiare a seconda del tipo di proprietà.
Proprietà di tipo Elemento
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo elemento con uno specifico valore.
# Ricerca gli elementi che hanno la proprietà "istanza di" (P31) uguale a museo (Q33506)
SELECT ?item ?itemLabel
WHERE {
?item wdt:P31 wd:Q33506 .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Proprietà di tipo Stringa
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo stringa con uno specifico valore.
# Ricerca gli elementi che hanno la proprietà codice di lingua Wikimedia (P424) uguale a it
SELECT ?item ?itemLabel
WHERE {
?item wdt:P424 "it" .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Proprietà di tipo File multimediale su Commons
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo File multimediale su Commons con uno specifico valore.
Occorre:
- anteporre
http://commons.wikimedia.org/wiki/Special:FilePath/
al nome del file da ricercare - sostituire gli spazi con %20
- racchiudere l'URL risultante tra "<" e ">"
# Ricerca gli elementi che hanno la proprietà logo (P154) uguale a "The GIMP icon - gnome.svg"
SELECT ?item ?itemLabel
WHERE {
?item wdt:P154 <http://commons.wikimedia.org/wiki/Special:FilePath/The%20GIMP%20icon%20-%20gnome.svg> .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Proprietà di tipo Forma geografica
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo Forma geografica con uno specifico valore.
Occorre:
- anteporre
http://commons.wikimedia.org/data/main/
al nome della mappa da ricercare - sostituire gli spazi con "+"
- racchiudere l'URL risultante tra "<" e ">"
# Ricerca gli elementi che hanno la proprietà geoshape (P3896) uguale a "Data:United States.map"
SELECT ?item ?itemLabel
WHERE {
?item wdt:P3896 <http://commons.wikimedia.org/data/main/Data:United+States.map> .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Proprietà di tipo Coordinate geografiche
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo Coordinate geografiche con uno specifico valore.
# Ricerca gli elementi che hanno una specifica latitudine e longitudine in P625
SELECT ?item ?itemLabel
WHERE {
?item p:P625 ?coord .
?coord psv:P625 ?coord_node .
?coord_node wikibase:geoLatitude "48.858"^^xsd:decimal .
?coord_node wikibase:geoLongitude "2.2953"^^xsd:decimal .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Non conoscendo a priori la latitudine e la longitudine esatta da ricercare, presumibilmente la ricerca sarà eseguita nei dintorni di un certo punto, come nell'esempio seguente.
# Ricerca gli elementi entro un chilometro da una specifica latitudine e longitudine in P625
SELECT ?item ?itemLabel ?distance
WHERE {
SERVICE wikibase:around {
?item wdt:P625 ?coord .
bd:serviceParam wikibase:center "Point(2.2953 48.858)"^^geo:wktLiteral .
bd:serviceParam wikibase:radius "1" .
bd:serviceParam wikibase:distance ?distance .
}
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Proprietà di tipo Testo monolingua
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo Testo monolingua con uno specifico valore.
# Ricerca gli elementi che hanno la proprietà soprannome (P1449) uguale a "Ville-Lumière"
SELECT ?item ?itemLabel
WHERE {
?item wdt:P1449 ?propVal .
FILTER(STR(?propVal) = "Ville-Lumière") .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
La stessa query precedente ma specificando anche che la lingua utilizzata dev'essere il francese.
# Ricerca gli elementi che hanno la proprietà soprannome (P1449) uguale a "Ville-Lumière" e la lingua utilizzata è il francese
SELECT ?item ?itemLabel
WHERE {
?item wdt:P1449 ?propVal .
FILTER(STR(?propVal) = "Ville-Lumière" && LANG(?propVal) = "fr") .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
L'ultima query può essere anche scritta più semplicemente come:
# Ricerca gli elementi che hanno la proprietà soprannome (P1449) uguale a "Ville-Lumière" e la lingua utilizzata è il francese
SELECT ?item ?itemLabel
WHERE {
?item wdt:P1449 "Ville-Lumière"@fr .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Proprietà di tipo Quantità
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo Quantità con uno specifico valore.
# Ricerca gli elementi che hanno la proprietà altezza sul mare (P2044) uguale a "10000"
SELECT ?item ?itemLabel
WHERE {
?item p:P2044 ?statement .
?statement psv:P2044 ?valuenode .
?valuenode wikibase:quantityAmount "10000"^^xsd:decimal .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
La stessa query precedente ma specificando anche che l'unità di misura utilizzata dev'essere il piede (Q3710).
# Ricerca gli elementi che hanno la proprietà altezza sul mare (P2044) uguale a "10000" e l'unità di misura è il piede (Q3710)
SELECT ?item ?itemLabel
WHERE {
?item p:P2044 ?statement .
?statement psv:P2044 ?valuenode .
?valuenode wikibase:quantityUnit wd:Q3710 .
?valuenode wikibase:quantityAmount "10000"^^xsd:decimal .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Proprietà di tipo Tabular data
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo Tabular data con uno specifico valore.
Occorre:
- anteporre
http://commons.wikimedia.org/data/main/
al nome della tabella da ricercare - sostituire gli spazi con "+"
- racchiudere l'URL risultante tra "<" e ">"
# Ricerca gli elementi che hanno la popolazione tabellare (P4179) uguale a "Data:Taipei Beitou District Population.tab"
SELECT ?item ?itemLabel
WHERE {
?item wdt:P4179 <http://commons.wikimedia.org/data/main/Data:Taipei+Beitou+District+Population.tab> .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Proprietà di tipo Data e ora
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo Data e ora con uno specifico valore.
# Ricerca gli elementi che hanno la proprietà data di nascita (P569) uguale a 4 luglio 1807
SELECT ?item ?itemLabel
WHERE {
?item wdt:P569 "1807-07-04T00:00:00Z"^^xsd:dateTime .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Proprietà di tipo URL
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo URL con uno specifico valore.
# Ricerca gli elementi che hanno la proprietà sito web ufficiale (P856) uguale a http://www.example.com
SELECT ?item ?itemLabel
WHERE {
?item wdt:P856 <http://www.example.com> .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Proprietà di tipo Identificativo esterno
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo Identificativo esterno con uno specifico valore.
# Ricerca gli elementi che hanno l'identificativo IMDb uguale a tt0068646
SELECT ?item ?itemLabel
WHERE {
?item wdt:P345 "tt0068646" .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Proprietà di tipo Espressione matematica
[modifica | modifica wikitesto]Ricerca gli elementi che hanno una proprietà di tipo Espressione matematica con uno specifico valore.
Per questa query c'è ancora qualche problema in risoluzione a Phab:T195765.
Etichette, descrizioni e alias
[modifica | modifica wikitesto]Ricerca gli elementi che hanno l'etichetta con uno specifico valore.
# Ricerca gli elementi che hanno l'etichetta in italiano uguale a "Parigi"
SELECT ?item
WHERE {
?item rdfs:label "Parigi"@it .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Ricerca gli elementi che hanno la descrizione con uno specifico valore.
# Ricerca gli elementi che hanno la descrizione in italiano uguale a "capoluogo della città metropolitana di Milano e della Lombardia"
SELECT ?item ?itemLabel
WHERE {
?item schema:description "capoluogo della città metropolitana di Milano e della Lombardia"@it .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Ricerca gli elementi che hanno un alias con uno specifico valore.
# Ricerca gli elementi che hanno un alias in italiano uguale a "Città eterna"
SELECT ?item ?itemLabel
WHERE {
?item skos:altLabel "Città eterna"@it .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Sitelink
[modifica | modifica wikitesto]Tutte le query precedenti possono essere ulteriormente ristrette per:
- avere una voce in itwiki:
FILTER EXISTS { ?wit schema:about ?item . ?wit schema:inLanguage "it" }
- non avere una voce in itwiki:
FILTER NOT EXISTS { ?wit schema:about ?item . ?wit schema:inLanguage "it" }
Esempi:
# Ricerca gli elementi che hanno la proprietà codice municipale norvegese (P2504) e una voce in itwiki
SELECT ?item ?itemLabel ?propVal
WHERE {
?item wdt:P2504 ?propVal .
FILTER EXISTS { ?wit schema:about ?item . ?wit schema:inLanguage "it" }
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
# Ricerca gli elementi che hanno la proprietà codice municipale norvegese (P2504) e che non hanno una voce in itwiki
SELECT ?item ?itemLabel ?propVal
WHERE {
?item wdt:P2504 ?propVal .
FILTER NOT EXISTS { ?wit schema:about ?item . ?wit schema:inLanguage "it" }
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Qualificatori
[modifica | modifica wikitesto]Esempio di come ricercare gli elementi con una specifica proprietà con uno specifico qualificatore.
# Ricerca gli elementi che hanno la proprietà via (P669) con qualificatore numero civico (P670)
SELECT ?item ?itemLabel ?qVal
WHERE {
?item p:P669 ?statement .
?statement pq:P670 ?qVal .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100
Esempio di come ricercare gli elementi in base al valore di una certa proprietà (di tipo elemento) e al valore di un suo qualificatore (di tipo stringa).
# Ricerca gli elementi che hanno la proprietà via (P669) uguale a via Giuseppe Garibaldi (Q2343106) con qualificatore numero civico (P670) uguale a "1"
SELECT ?item ?itemLabel
WHERE {
?item p:P669 ?statement .
?statement ps:P669 wd:Q2343106 .
?statement pq:P670 "1" .
SERVICE wikibase:label { bd:serviceParam wikibase:language "it,en" }
}
LIMIT 100