Topic on User talk:ValterVB

Jump to navigation Jump to search

Limite timeout per la query raggiunto

10
Discanto (talkcontribs)

Ciao Valer! Scusa se ti disturbo. Mi capita a volte, utilizzando  il Wikidata Query, di ricevere in risposta ad una richiesta (es.: http://tinyurl.com/yaaj5hge ) il messaggio di  "Limite timeout per la query raggiunto". Come potrei aggirare l'ostacolo stando sempre in ambito Wikidata Query? Ti ringrazio anticipatamente per l'eventuale riscontro.  

Discanto (talkcontribs)

https://query.wikidata.org/#SELECT %3Fitem %3FitemLabel WHERE {%0A SERVICE wikibase%3Alabel { bd%3AserviceParam wikibase%3Alanguage "it". }%0A %3Fitem wdt%3AP31 wd%3AQ13406463.%0A}%0AORDER BY %3FitemLabel

ValterVB (talkcontribs)

Quel messaggio capita quando la query ci mette troppo tempo e quindi viene interrotta in automatico. Purtroppo una query come quella qua sopra mi sa che difficilmente riuscirà ad essere eseguita, potrebbe coinvolgere troppi codici, dovresti provare a limitarla aggiungendo altri criteri, oppure ad eliminare la parte che ti recupera le etichette, questa è spesso la parte più pesante, tieni conto che sono 291751 item.

Discanto (talkcontribs)

Ho visto... però senza etichette non mi serve... Ma eventualmente sarebbe possibile circoscrivere la ricerca alla sola Wiki italiana?

ValterVB (talkcontribs)
SELECT DISTINCT ?item ?itemLabel WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "it". }
  ?item wdt:P31 wd:Q13406463.
  ?sitelink schema:about ?item.
  FILTER(EXISTS {
    ?wfr schema:about ?item.
    ?wfr schema:inLanguage "it".
  })
}
ORDER BY ?itemLabel

Try it!

Così dovrebbe funzionare

Discanto (talkcontribs)

o ad esempio ai soli elementi in cui sia presente l'etichetta in italiano?

ValterVB (talkcontribs)
SELECT DISTINCT ?item ?etichetta WHERE {
  ?item wdt:P31 wd:Q13406463.
  OPTIONAL {
    ?item rdfs:label ?etichetta.
    FILTER((LANG(?etichetta)) = "it")
  }
  FILTER(BOUND(?etichetta))
}

Try it!

Anche questo sembra farcela.

Discanto (talkcontribs)

Grazie Valter. Sei un artista!

Senti, voglio approfittare ancora per 30 secondi della tua disponibilità e ti garantisco che per almeno sei mesi non ti disturbo più... Ho creato una dozzina di voci ("Aree urbane della Svezia" https://petscan.wmflabs.org/?psid=6131438 ) e vorrei creare non ad uno ad uno ma in blocco i collegamenti ai relativi elementi che sono già presenti in WD. Mi pare di aver letto che si potesse fare con QuickStatements ma non saprei che riga di comando usare. Potresti aiutarmi (sempre se e quando hai un attimo di tempo)?

ValterVB (talkcontribs)

Se ho capito la domanda, in blocco mi sa che non è possibile, ma solo singolarmente, cliccando su "check Wikidata" in petscan ti si apre "Duplicity" tool per collegare pagine a item.

Discanto (talkcontribs)

Si hai capito bene. Ok pazienza, farò ad uno ad uno... Ti ringrazio ancora. Buon proseguimento!