Modulo:Wikidata/man: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m descrizione e precisazione
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à}}</nowiki></code>.
 
== Utilizzo ==
Il modulo ha quattro funzioni:
* '''formatStatements''': restituisce il valore di una proprietà di Wikidata. Nel caso una proprietà ha più di un valore (''statement'') li può restituire tutti, separandoli con una virgola e inserendo la congiunzione "e" prima dell'ultimo valore, oppure filtrarli se si specifica un rank, un qualifier o un indice. Permette di formattare l'output 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. <ttcode><nowiki>[[Savoia (dipartimento)|Savoia]]</nowiki></ttcode>). Il nome italiano della voce viene ricavato dall'interlink del rispettivo elemento su Wikidata; se il soggetto non è presente su Wikidata, il valore viene restituito senza wikilink.
* '''getQualifier''': restituisce il valore di un qualifier di una proprietà di Wikidata. Se la proprietà ha più statement 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 e indice (dello statement) come per la formatStatements.
* '''N''': ritorna il numero di statement della proprietà richiesta.
* '''<span style="color:blue;">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à ha più di un valore (''statement'') li verifica tutti. 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 ''true''un numero corrispondente allo statement verificato.
 
=== Parametri di formatStatements ===
Riga 12:
 
Parametri di selezione:
* ''property'': l'identificatore della proprietà;
** esempio: <code><nowiki>{{#invoke:Wikidata|formatStatements|property=p19}}</nowiki></code> ritornerà: [[Firenze]] ([[d:P19]] è il luogo di nascita).
* ''rank'': se valorizzato, il modulo ritorna solo gli statement che hanno un certo rank. I rank disponibili sono i tre definiti da Wikidata: ''deprecated'', ''normal'' e ''preferred'', più il tipo ''best''. 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 di una proprietà. Verranno ritornati solo gli statement che posseggono quel qualifier.
* ''qualifiervalue'': l'identificatore del valore del qualifier 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 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 ritorna l'n-esimo;
** esempio: <code><nowiki>{{#invoke:Wikidata|formatStatements|property=p101|n=1}}</nowiki></code> ritornerà: [[poeta]] ([[d:P101]] è la professione, mentre con n=2 avrebbe ritornato [[scrittore]], con n=3 [[politico]]).
* ''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 da 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, altrimenti quello della proprietà p19 su Wikidata.
* ''entityId'': per ora '''<span style="color:red;">NON FUNZIONANTE</span>''', quando sarà attivato permetterà di specificare un'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=p101|separator=/|conjunction=/}}</nowiki></code> ritornerà: [[scrittorepoeta]]/[[politicoscrittore]]/[[poetapolitico]].
* ''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: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, lo stesso risultato dell'esempio precedente.
* ''<span style="color:blue;">novaluepattern</span>'':<ref name="newpedia" /> 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=p101|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=p101|orderedlist=1}}</nowiki></code>.
<span id="nolink" />
* ''formatting'': esegue formattazioni speciali, attulmente i valori consentiti sono: <code><span style="color:blue;">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''.
 
=== Parametri di getQualifier ===
Riga 50:
=== 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:P40]] è "figlio").
 
=== Parametri di checkStatements ===
La funzione checkStatements ha tredue parametri, di cui ''property'' eè ''value'' sono '''obbligatoriobbligatorio'''.
* ''property'': l'identificatore della proprietà.
* ''value'': il valore da verificare; ''value'' viene generalmentepuò espresso sia come stringa di testo (nonsia facome differenzaidentificatore tradell'elemento maiuscolecorrispondente esu minuscole)Wikidata;
** esempio: <code><nowiki>{{#invoke:Wikidata|checkStatements|property=p101|value=poeta}}</nowiki></code> ritornerà: true1 ([[d:P101]] è la professione, ed effettivamentee "poeta" è unala delleprima professioni presentiprofessione),
** esempio: <code><nowiki>{{#invoke:Wikidata|checkStatements|property=p101|value=q49757|formatting=raw}}</nowiki></code> ritornerà: true1 ([[d:P101]] è la professione e [[d:Q49757]] è "poeta").
* ''formatting'': se valorizzato con <code>formatting=raw</code> il parametro ''value'' viene interpretato come identificatore dell'elemento corrispondente su Wikidata.
** esempio: <code><nowiki>{{#invoke:Wikidata|checkStatements|property=p101|value=q49757|formatting=raw}}</nowiki></code> ritornerà: true ([[d:P101]] è la professione e [[d:Q49757]] è "poeta")
 
==Note==