Utente:Alex brollo/Wikidata

Da Wikisource.
Jump to navigation Jump to search

Wikidata è un sistema organizzato di entità, corredato di metodi per rintracciare facilmente, in qualsiasi wikipedia (col tempo, in qualsiasi progetto della grande famiglia wiki) le millanta informazioni correlate a tale entità.

Sembra risolva, in modo geniale, l’annoso problema di collegare univocamente una entità a un suo nome unico, quello che nei record di un database è il famoso id - suppongo, abbreviazione di identificatore.

Esempio 1[modifica]

Verona, intesa come l’entità descritta dalla frase città del Veneto, capoluogo della provincia omonima, è una entità ben precisa, unica. Non ci sono altre Verona che siano corrispondenti alla definizione. Come tale, ha diritto a essere indicata con un nome unico, che vale per tutti i progetti wiki. Sia essa chiamata Verona, Горад Верона oppure 베로나, si tratta sempre della stessa entità. Su Wikidata, il nome dell’entità Verona è Q2028. Quindi, in qualsiasi wiki e per qualsiasi lingua e alfabeto, il link [[d:Q2028]] punta all’entità Verona; come tutti i link, possiamo aggiungere un secondo parametro (eviterei 베로나 per chiarezza, suggerisco Verona) e quindi il link diventa [[d:Q2028|Verona]], che produce Verona; ma nulla impedisce di scrivere [[d:Q2028|la città di Giulietta e Romeo]] che produce la città di Giulietta e Romeo.:-).

Bot[modifica]

Quattro righe in python:

wikidata=wikipedia.Site("it","wikidata") # definisce wikidata come oggetto sito
pagina=wikipedia.Page(wikidata,"Q2028")  # definisce pagina come pagina relativa a Verona su wikidata
dati=pagina.get()                        # acchiappo in dati il contenuto della pagina come stringa JSON
obj=json.loads(dati)                     # trasformo la stringa json in oggetto

e in obj adesso ho un formidabile oggetto che contiene tutti i nomi dell'entità Verona in ogni wikipedia esistente, e parecchio altro. :-)

Copioincollo dalla console python una "interrogazione" a uno dei millanta elementi di questo oggetto:

>>> print obj["description"]["it"]
città del Veneto, capoluogo della provincia omonima

Chiedendo quale sia la descrizione collegata all'oggetto Q2028 (Verona) in lingua italiana, ottengo il risultato in seconda riga; ma posso chiederne la descrizione in lingua greca o russa o peggio:

>>> print obj["description"]["el"]
ιταλική δήμος

>>> print obj["description"]["ru"]
Город в Италии

>>> print obj["description"]["ar"]
كومونا


Recupero dati via Special:EntityData[modifica]

risultato==""; $.getJSON("https://www.wikidata.org/wiki/Special:EntityData/Q3757067.json", function(data) {risultato=data})

t=$.getJSON("https://www.wikidata.org/wiki/Special:EntityData/Q3757067.json"); label it: t.responseJSON.entities.Q3757067.labels.it.value description it : t.responseJSON.entities.Q3757067.descriptions.it.value itwiki : t.responseJSON.entities.Q3757067.sitelinks.itwiki.title itwikisource: t.responseJSON.entities.Q3757067.sitelinks.itwikisource.title