Modulo:Wikidata: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m a marzo 2016 ritradotto "identificativo esterno"
entity-not-found in getLabel non necessario, "or nil" superflui, rivista getId e riaggiunta _getId rimossa per errore, commenti
Riga 370:
-------------------------------------------------------------------------------
 
-- RitornaRestituisce true se lo statement contiene il qualifier richiesto con un dato valore
local function hasQualifierValue(statement, qualifierId, qualifierValue)
local ret = false
Riga 385:
end
 
-- RitornaRestituisce i claim con il rank richiesto
local function filterRankValue(claims, rank)
local ret = {}
Riga 396:
end
 
-- RitornaRestituisce una table contenente gli statement per la property richiesta,
-- oppure nil se l'entity o la proprietà non esistono.
-- Gli statement ritornatirestituiti sono eventualmente filtrati in base ai parametri:
-- "rank", "qualifier", "qualifiertype" e "n"
local function getClaims(property, args)
Riga 471:
end
 
-- con args.qualifiertype=latest ritornarestituisce solo il più recente
if args.qualifier and args.qualifiertype == 'latest' then
local latest, latestTime
Riga 489:
end
 
-- con args.n ritornarestituisce solo l'n-esimo elemento
if args.n then
local n = tonumber(args.n)
Riga 499:
 
-------------------------------------------------------------------------------
-- Funzioni esportate per altri APImoduli
-------------------------------------------------------------------------------
 
Riga 514:
end
 
-- RitornaRestituisce il valore di una proprietà di Wikidata oppure nil se l'entity o
-- la proprietà non esistono, o se per parametri di selezione gli statement sono zero.
function p._getProperty(args, rawTable)
Riga 520:
 
-- parametri posizionali
property = args[1] and string.upper(args[1]) or nil
if not property then
error(i18n.errors['property-param-not-provided'], 2)
Riga 526:
value = args[2]
-- fix uppercase
args.qualifier = args.qualifier and string.upper(args.qualifier) or nil
 
if value then
Riga 538:
end
 
-- RitornaRestituisce il valore di un qualifier di una proprietà di Wikidata,
-- o nil se l'entity o la proprietà non esistono, o se per parametri di selezione non ci sono risultati.
function p._getQualifier(args)
Riga 544:
 
-- parametri posizionali
property = args[1] and string.upper(args[1]) or nil
if not property then
error(i18n.errors['property-param-not-provided'], 2)
end
qualifier = args[2] and string.upper(args[2]) or nil
if not qualifier then
error(i18n.errors['qualifier-param-not-provided'], 2)
Riga 571:
end
 
-- RitornaRestituisce l'indice dello statement con il valore richiesto, o nil se non trovato.
function p._indexOf(args)
local ret, property, value, claims
 
-- parametri posizionali
property = args[1] and string.upper(args[1]) or nil
if not property then
error(i18n.errors['property-param-not-provided'], 2)
Riga 599:
end
 
-- RitornaRestituisce il numero di statement di una proprietà di Wikidata.
function p._N(args)
local property, claims
 
-- parametri posizionali
property = args[1] and string.upper(args[1]) or nil
if not property then
error(i18n.errors['property-param-not-provided'], 2)
Riga 637:
end
 
-- RitornaRestituisce true se la proprietà P31 (instance of) ha come valore almeno uno tra gli entityId specificati
function p._instanceOf(args)
return p._propertyHasEntity('P31', args)
end
 
-- RitornaRestituisce true se la proprietà P279 (subclass of) ha come valore almeno uno tra gli entityId specificati
function p._subclassOf(args)
return p._propertyHasEntity('P279', args)
end
 
-- RitornaRestituisce l'etichetta di un item o di una proprietà Wikidata.
function p._getLabel(args)
local entity = mw.wikibase.getEntity(entityIdargs[1] and string.upper(args[1]))
-- parametri posizionali
localreturn entityId = args[1]entity and string.upperentity:getLabel(args[12]) or nil
local langCode = args[2]
 
local entity = mw.wikibase.getEntity(entityId)
if not entity then
error(i18n.errors['entity-not-found'], 2)
end
 
return entity:getLabel(langCode)
end
 
-- RitornaRestituisce il titolo della pagina collegata a un dato item Wikidata.
function p._getLink(args)
-- parametri posizionali
local entityId = args[1] and string.upper(args[1]) or nil
if not entityId then
error(i18n.errors['entityid-param-not-provided'], 2)
Riga 672 ⟶ 664:
end
 
-- RitornaRestituisce il datatype di una proprietà Wikidata.
function p._getDatatype(args)
local ret, property, entity, datatype
 
-- parametri posizionali
property = args[1] and string.upper(args[1]) or nil
if not property then
error(i18n.errors['property-param-not-provided'], 2)
Riga 717 ⟶ 709:
end
 
-- RitornaRestituisce l'ID dell'item Wikidata collegato alla pagina corrente o a una pagina specificata.
-- (nota: segue i redirect fermandosi al primo redirect collegato a un elemento)
local function getIdFromTitle(titleString)
function p.getId_getId( frame args)
local title = mw.title.new(titleString)
local ret
while title do
if not entityargs[1] then
local id = mw.wikibase.getEntityIdForTitle(title.prefixedText)
local title = mw.title.new(titleStringargs[1])
if id then
while title do
return id
local id = mw.wikibase.getEntityIdForTitle(title.prefixedText)
if id then
return ret = id
break
else
title = title.redirectTarget
end
end
else
title = title.redirectTarget
returnret = mw.wikibase.getEntityIdForCurrentPage()
end
return nilret
end
 
-------------------------------------------------------------------------------
function p.getId( frame )
-- Funzioni esportate per i template
local args = (frame.args[1] and frame.args) or (frame:getParent() and frame:getParent().args) or {}
-------------------------------------------------------------------------------
if not args[1] then
return mw.wikibase.getEntityIdForCurrentPage()
end
for _, titleString in ipairs(args) do
local id = getIdFromTitle(titleString)
if id then
return id
end
end
return nil
end
 
-- Entry-pointFunzione per il template {{Wikidata}}
function p.getProperty(frame)
return select(2, xpcall(function()
return p._getProperty(getArgs(frame, { parentOnly = true }))
end, errhandler))
end
 
-- Entry-pointFunzione per il template {{WikidataQ}}
function p.getQualifier(frame)
return select(2, xpcall(function()
return p._getQualifier(getArgs(frame, { parentOnly = true }))
end, errhandler))
end
 
-- Entry-pointFunzione per il template {{WikidataIdx}}
function p.indexOf(frame)
return select(2, xpcall(function()
return p._indexOf(getArgs(frame, { parentOnly = true }))
end, errhandler))
end
 
-- Entry-pointFunzione per il template {{WikidataN}}
function p.N(frame)
return select(2, xpcall(function()
return p._N(getArgs(frame, { parentOnly = true }))
end, errhandler))
end
 
-- Entry-pointFunzione per il template {{WikidataLabel}}
function p.getLabel(frame)
return select(2, xpcall(function()
return p._getLabel(getArgs(frame, { parentOnly = true }))
end, errhandler))
end
 
-- Entry-pointFunzione per il template {{WikidataLink}}
function p.getLink(frame)
return select(2, xpcall(function()
return p._getLink(getArgs(frame, { parentOnly = true }))
end, errhandler))
end
 
-- Entry-pointFunzione per il template {{WikidataIstanza}}
function p.instanceOf(frame)
return select(2, xpcall(function()
return p._instanceOf(getArgs(frame, { parentOnly = true })) and 1 or ''
end, errhandler))
end
 
-- Entry-pointFunzione per il template {{WikidataTipo}}
function p.getDatatype(frame)
return select(2, xpcall(function()
return p._getDatatype(getArgs(frame, { parentOnly = true }))
end, errhandler))
end
 
-- Funzione per il template {{WikidataId}}
function p.getId(frame)
return select(2, xpcall(function()
return p._getId(getArgs(frame, { parentOnly = true }))
end, errhandler))
end