Aiuto:Wikidata/SPARQL

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

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

Provala!

# 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

Provala!

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

Provala!

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

Provala!

  Progetto Wikidata: collabora a Wikipedia sull'argomento Wikidata