Modulo:Wikidata/man: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m descrizione e precisazione
fix vari
Riga 1:
Il [[Aiuto:Moduli|modulo]] [[Aiuto:Lua|Lua]] '''Wikidata''' serve per leggere il valore delle proprietà di [[Aiuto:Wikidata|Wikidata]] relative alla pagina corrente, cioè la pagina in cui è utilizzato il modulo. Sarà in futuro possibile leggere le proprietà anche di pagine diverse da quella corrente. Il modulo fornisce un utilizzo più avanzato, a volte senza alternativa, rispetto a quello che si può ottenere con la ''magic word'': <code><nowiki>{{#property:NumProprietàproprietà}}</nowiki></code>.
 
== Utilizzo ==
Il modulo ha quattro funzioni:
* '''formatStatements''': restituisce il valore di una proprietà di Wikidata. Nel caso una proprietà haabbia più di ununa valoredichiarazione (''statement'') li può restituire tutti i valori, separandoli con una virgola e inserendo la congiunzione "e" prima dell'ultimo valore, oppure filtrarli se si specifica un ''rank'' (valutazione), un ''qualifier'' (qualificatore) o un indice. Permette di formattare l'outputil risultato attraverso delle opzioni (da qui il nome formatStatements). Se la pagina non ha un elemento su Wikidata, oppure non ha la proprietà specificata, oppure il valore della proprietà è a sua volta un elemento che non ha un'etichetta in italiano, non restituisce nulla. Se possibile ([[#nolink|e se non diversamente specificato]]), i valori delle proprietà sono restituiti con wikilink, compresa eventuale disambiguazione nascosta con la barra verticale (es. <code><nowiki>[[Savoia (dipartimento)|Savoia]]</nowiki></code>). Il nome italiano della vocecollegamento viene ricavato dall'interlink in italiano del rispettivo elemento su Wikidata; se il soggetto non è presente su Wikidata, oppure non possiede un interlink in italiano, il valore viene restituito senza wikilink.
* '''getQualifier''': restituisce il valore di un ''qualifier'' (qualificatore) di una proprietà di Wikidata. Se la proprietà ha più ''statement'' (dichiarazioni) e il ''qualifier'' è presente in più ''statement'', oppure se il ''qualifier'' ha più valori, li può restituire tutti, oppure si possono filtrare in base a ''rank'' (valutazione) e indice (dello ''statement'') come per la funzione ''formatStatements''.
* '''N''': ritorna il numero di ''statement'' (dichiarazioni) della proprietà richiesta.
* '''<span style="color:blueteal;">checkStatements</span>'''<ref name="newpedia">:Funzionalità nuova e aggiuntiva rispetto al corrispondente modulo su Wikipedia.</ref> verifica se una proprietà di Wikidata ha un determinato valore. Nel caso una proprietà haabbia più di ununa valoredichiarazione (''statement'') line verifica tutti i valori. Se la pagina non ha un elemento su Wikidata, oppure non ha la proprietà specificata, oppure il valore della proprietà non corrisponde a quello da verificare, non restituisce nulla; altrimenti restituisce un numero corrispondente alloall'indice dello ''statement'' verificato.
 
=== Parametri di formatStatements ===
La funzione ''formatStatements'' ha i seguenti parametri, l'unico '''obbligatorio''' è ''property''. Gli esempi utilizzati fanno riferimento alla voce [[Dante Alighieri]] (il cui elemento su Wikidata è questo: [[d:Q1067|Q1067]]).
 
;Parametri di selezione:
* ''property'': l'identificatore della proprietà;
** esempio: <code><nowiki>{{#invoke:Wikidata|formatStatements|property=p19}}</nowiki></code> ritornerà: [[Firenze]] ([[d:Property:P19|P19]] è il luogo di nascita).
* ''rank'': se valorizzato, il modulo ritorna solo gli ''statement'' che hanno un certo ''rank'' (valutazione). I ''rank'' disponibili sono i tre definiti da Wikidata: ''deprecated'' (sconsigliato), ''normal'' (normale) e ''preferred'' (consigliato), più il tipo ''best'' (migliore). Con quest'ultimo vengono ritornati gli ''statement'' a partire dal ''rank'' più alto: i ''preferred'' se presenti altrimenti i ''normal''.
* ''qualifier'': l'identificatore di un ''qualifier'' (qualificatore) di una proprietà. Verranno ritornati solo gli ''statement'' che posseggono quel ''qualifier''.
* ''qualifiervalue'': l'identificatore del valore del ''qualifier'' (qualificatore) specificato con il parametro ''qualifier''. Verranno ritornati solo gli ''statement'' che posseggono quel ''qualifier'' e con il valore specificato con ''qualifiervalue''.
* ''qualifiertype'': ulteriore filtro sul ''qualifier'' (qualificatore) specificato. Ha attualmente un unico valore accettato, <code>qualifiertype=latest</code>: se il ''qualifier'' contiene un valore di tipo "time", verrà ritornato solo lo ''statement'' che possiede quel ''qualifier'' e con il valore più recente.
* ''n'': se la proprietà ha più ''statement'' (dichiarazioni) ritorna lsolo il valore dell'n-esimo;
** esempio: <code><nowiki>{{#invoke:Wikidata|formatStatements|property=p101p106|n=1}}</nowiki></code> ritornerà: [[poeta]] ([[d:P101Property:P106|P106]] è la professione, mentre con n=2 avrebbe ritornato [[scrittore]], con n=3 [[politico]], ecc.).
* ''value'': se valorizzato, il modulo ritorna il valore di questo parametro invece di quello su Wikidata, formattandolo eventualmente secondo il pattern se specificato. Serve quando si usa il modulo daall'interno di un template, per dare la precedenza al valore passato al template rispetto a quello su Wikidata;
** esempio: <code><nowiki>{{#invoke:Wikidata|formatStatements|property=p19|value={{{LuogoNascita|}}}}}</nowiki></code> ritornerà: il valore di LuogoNascita se valorizzato nel template, altrimenti quello della proprietà p19[[d:Property:P19|P19]] su Wikidata.
* ''entityId'': l'identificatore dell'entità – per ora '''<span style="color:red;">NON FUNZIONANTE</span>''', quando sarà attivato permetterà di specificare un'entità (''entity'') di Wikidata relativa a una pagina diversa da quella in cui ci si trova.
 
;Parametri per la formattazione del risultato:
* ''separator'': separatore tra valori multipli, se diverso da virgola_spazio;
* ''conjunction'': separatore tra gli ultimi due valori, se diverso da spazio_e_spazio;
** esempio: <code><nowiki>{{#invoke:Wikidata|formatStatements|property=p101p106|separator=/|conjunction=/}}</nowiki></code> ritornerà: [[poeta]]/[[scrittore]]/[[politico]].
* ''pattern'': pattern utilizzato per ogni ''statement'', sia per le proprietà che per il parametro "value" quando presente. La stringa "$1" verrà rimpiazzata dal valore ritornato per ogni sua occorrenza;
** esempio: <code><nowiki>{{#invoke:Wikidata|formatStatements|property=p18|pattern=[[File:$1|thumb|Il nome del file è $1]]}}</nowiki></code> ritornerà: <code><nowiki>[[File:Portrait de Dante.jpg|thumb|Il nome del file è Portrait de Dante.jpg]]</nowiki></code> ([[d:Property:P18|P18]] è l'immagine).
** esempio con "value": <code><nowiki>{{#invoke:Wikidata|formatStatements|property=p18|value={{{Immagine|}}}|pattern=[[File:$1|thumb|Il nome del file è $1]]}}</nowiki></code> In un template, se il parametro Immagine fosse valorizzato a "Test.png" allora ritornerebbe <code><nowiki>[[File:Test.png|thumb|Il nome del file è Test.png]]</nowiki></code>, altrimenti se Immagine non fosse valorizzato, ritornerebbe lo stesso risultato dell'esempio precedente.
* ''<span style="color:blueteal;">novaluepattern</span>'':<ref name="newpedia" /> se valorizzato, applica il pattern precedentemente definito solo agli ''statement'' di Wikidata e non al parametro "value"; si deve assegnargli un valore qualunque, es: "novaluepattern=no".
* ''list'': formatta il risultato ritornato come lista non ordinata; si deve assegnargli un valore qualunque, es: "list=sì". Eventuali parametri ''separator'' e ''conjunction'' vengono ignorati;
** esempio: <code><nowiki>{{#invoke:Wikidata|formatStatements|property=p101p106|list=1}}</nowiki></code>.
* ''orderedlist'': formatta il risultato ritornato come lista ordinata; si deve assegnargli un valore qualunque, es: "orderedlist=sì". Eventuali parametri ''separator'' e ''conjunction'' vengono ignorati. Se sono presenti entrambi i parametri ''list'' e ''orderedlist'' viene creata una lista non ordinata;
** esempio: <code><nowiki>{{#invoke:Wikidata|formatStatements|property=p101p106|orderedlist=1}}</nowiki></code>.
<span id="nolink" />
* ''formatting'': esegue formattazioni speciali, attulmente i valori consentiti sono:
** <code><span style="color:blueteal;">formatting=nolink</span></code><ref name="newpedia" /> per ritornare il risultato senza wikilink (anche se disponibile);
** <code>formatting=latitude</code> e <code>formatting=longitude</code> per ritornare solo latitudine o longitudine in caso di proprietà di tipo coordinata.
* ''value-module'': nome di un modulo che effettua una formattazione speciale.
* ''value-function'': funzione nel modulo ''value-module''.
Line 43 ⟶ 45:
=== Parametri di getQualifier ===
Parametri di selezione:
* gli stessi di ''formatStatements'', con in più la differenza che i parametri obbligatori sono, oltre "property", anche "qualifier".
 
Parametri per la formattazione del risultato:
* gli stessi di ''formatStatements'', ad eccezione di ''list'' e ''orderedlist'' (non disponibili).
 
=== Parametri di N ===
La funzione ''N'' ha un unico parametro (ordinale) '''obbligatorio''' per specificare la proprietà.
* esempio: <code><nowiki>{{#invoke:Wikidata|N|p40}}</nowiki></code> ritornerà: 2 ([[d:Property:P40|P40]] è "figlio").
 
=== Parametri di checkStatements ===
La funzione ''checkStatements'' ha due parametri, di cui ''property'' è '''obbligatorio'''.
* ''property'': l'identificatore della proprietà.
* ''value'': il valore da verificare; ''value'' può essere espresso sia come stringa di testo sia come identificatore dell'elemento corrispondente su Wikidata;
** esempio: <code><nowiki>{{#invoke:Wikidata|checkStatements|property=p101p106|value=poeta}}</nowiki></code> ritornerà: 1 ([[d:P101Property:P106|P106]] è la professione, e "poeta" è la prima professione),
** esempio: <code><nowiki>{{#invoke:Wikidata|checkStatements|property=p101p106|value=q49757}}</nowiki></code> ritornerà: 1 ([[d:P101Property:P106|P106]] è la professione e [[d:Q49757|Q49757]] è l'identificatore dell'elemento "poeta").
 
==Note==
Line 63 ⟶ 65:
 
== Pagine correlate ==
* [[Template:Wikidata]], richiama in modo semplificato la funzione ''formatStatements''
* [[Template:Wikidata Check]], richiama in modo semplificato la funzione ''checkStatements''
* [[Wikiquote:Pagina delle prove di Wikidata]]
 
<includeonly>{{interprogetto|nolink}}