Mòdulu:Wikidata/man
Il modulo Wikidata implementa le funzionalità dei template {{Wikidata}}, {{WikidataQ}}, {{WikidataIdx}}, {{WikidataN}}, {{WikidataLabel}}, {{WikidataDescription}}, {{WikidataLink}}, {{WikidataId}}, {{WikidataTipo}} e {{WikidataIstanza}}.
Utilizzo da un altro modulo
canciaIl modulo può essere usato anche da un altro modulo tramite "require". È sufficiente inserire all'inizio del modulo:
local mWikidata = require('Modulo:Wikidata')
Le funzioni hanno gli stessi nomi di quelle utilizzate dai template ma con un underscore iniziale e ricevono come argomento, invece del frame, una table con cui specificare gli argomenti.
_getProperty(args, rawTable)
: per l'utilizzo della tabella args vedere il manuale del template {{Wikidata}}. Il parametro aggiuntivo rawTable, se valorizzato a true, fa sì che le dichiarazioni non vengano unite in un'unica stringa come per il template (separate dalla virgola e con la "e" prima dell'ultima), ma venga invece restituita una sequence, contenente le stringhe separate per ciascuna dichiarazione._getQualifier(args)
: vedere {{WikidataQ}}_indexOf(args)
: vedere {{WikidataIdx}}_N(args)
: vedere {{WikidataN}}_getLabel(args)
: vedere {{WikidataLabel}}_getDescription(args)
: vedere {{WikidataDescription}}_getLink(args)
: vedere {{WikidataLink}}_getDatatype(args)
: vedere {{WikidataTipo}}_getId(args)
: vedere {{WikidataId}}_instanceOf(args)
: vedere {{WikidataIstanza}}_subClassOf(args)
: analogamente, vedere {{WikidataIstanza}}
A queste si aggiungono tre funzioni specifiche del modulo, che permettono di iterare sulle dichiarazioni di una proprietà:
_getClaims(property, args)
: restituisce una sequence con le dichiarazioni di una proprietà, come _getProperty, ma senza formattarle. Per gli argomenti utilizzabili nella tabella args vedere i parametri di selezione nel manuale del template {{Wikidata}}. Può restituirenil
nel caso in cui la pagina non sia collegata a Wikidata._formatStatement(statement, args)
: formatta una dichiarazione (parametro statement) ottenuta tramite getClaims. Per l'utilizzo della tabella args vedere i parametri di formattazione nel manuale del template {{Wikidata}}._formatQualifiers(claim, qualifier, args, rawTable, retTable)
: formatta un qualificatore (parametro qualifier) di una dichiarazione (parametro claim) ottenuta tramite getClaims. Per l'utilizzo della tabella args vedere i parametri di formattazione nel manuale del template {{Wikidata}}. Il parametro rawTable, se valorizzato a true, fa sì che eventuali valori multipli di un qualificatore vengano restituiti come sequence invece che come unica stringa (con retTable è possibile specificare una sequence già esistente).
- Esempio
local mWikidata = require('Modulo:Wikidata')
local p = {}
function p.main(frame)
local capitale, data, stati, italia, onu
-- utilizzo della funzione getProperty
capitale = mWikidata._getProperty( { 'P36', from = 'Q183' } )
-- utilizzo della funzione getQualifier
data = mWikidata._getQualifier( { 'P36', 'P580', from = 'Q183' } )
-- utilizzo della funzione N
stati = mWikidata._N( { 'P47', from = 'Q183' } )
-- utilizzo della funzione indexOf
italia = mWikidata._indexOf( { 'P47', 'Q38', from = 'Q183' } )
-- utilizzo della funzione instanceOf
onu = mWikidata._instanceOf( { 'Q160016', from = 'Q183' } )
return string.format('La capitale della Germania è %s, dal %s. ' ..
'Confina con %s Stati, con l\'Italia: %s. ' ..
'Membro delle Nazioni Unite: %s.',
capitale, data, stati, italia and 'si' or 'no', onu and 'sì' or 'no')
end
return p
- Esempio con getClaims, formatStatement e formatQualifiers
local mWikidata = require('Modulo:Wikidata')
local p = {}
function p.main(frame)
local scuole = {}
local claims
claims = mWikidata._getClaims('P69', { from = 'Q42' })
for _, claim in ipairs(claims) do
local scuola = mWikidata._formatStatement(claim)
local inizio = mWikidata._formatQualifiers(claim, 'P580')
local fine = mWikidata._formatQualifiers(claim, 'P582')
table.insert(scuole, string.format('%s dal %s al %s', scuola, inizio, fine))
end
return 'Douglas Adams ha frequentato: ' .. table.concat(scuole, ', ')
end
return p