Mòdul:Wikibase

De Viquidites
Salta a la navegació Salta a la cerca

Mòdul que proporciona funcions bàsiques d'accés a Wikidata. Està copiat de la documentació de mw:Extension:Wikibase Client/Lua. Per a funcions més desenvolupades adaptades a les necessitats de la Viquipèdia, vegeu Mòdul:Wikidata.

Funcions:

id

Retorna l'id de l'element de Wikidata corresponent a la pàgina. Sintaxi:

{{#invoke:wikibase|id}}

No utilitza cap paràmetre, només analitza la pròpia pàgina. En cas de no existir l'element retorna "cap".

Exemple, per aquesta pàgina: cap

label

Retorna l'etiqueta d'un element donat. Sintaxi:

{{#invoke:wikibase|label}}
{{#invoke:wikibase|label|<id>}}

Sense cap paràmetre retorna l'etiqueta de l'element associat a la pàgina actual. Proporcionant l'id retornarà l'etiqueta corresponent. En cas de no existir o ser erroni no retorna res.

Exemple: {{#invoke:wikibase|label|Q11799}} → Pau

page

Retorna el títol de pàgina local per un element donat. Sintaxi:

{{#invoke:wikibase|page|<id>}}

Sense cap paràmetre retorna la pròpia pàgina. Proporcionant l'id retornarà la pàgina local enllaçada en l'element corresponent. En cas de no existir o ser erroni no retorna res.

Exemple: {{#invoke:wikibase|page|Q11799}} →

firstproperty

Retorna la primera propietat donada de l'element corresponent a la pàgina. Sintaxi:

{{#invoke:wikibase|firstproperty|<pxx>}}

Cal proporcionar la propietat amb "p" inicial minúscula seguida de números. Si hi ha diferents valors només retorna el primer. És una alternativa a {{#property|<pxx>}} que retorna la llista de valors separats per una coma.

Vegeu la documentació a mw:Extension:WikibaseClient/Lua


-- Module:Wikibase
local p = {}

-- Return the item ID of the item linked to the current page.
function p.id(frame)
    entity = mw.wikibase.getEntityObject()
    if entity == nil then
        return "cap"
    end
    return entity.id
end
 
-- Return the label of a given data item.
function p.label(frame)
    if frame.args[1] == nil then
        entity = mw.wikibase.getEntityObject()
        if not entity then return nil end
        id = entity.id
    else
        id = frame.args[1]
    end
    return mw.wikibase.label( id )
end
 
-- Return the local page about a given data item.
function p.page(frame)
    if frame.args[1] == nil then
        entity = mw.wikibase.getEntityObject()
        if not entity then return nil end
        id = entity.id
    else
        id = frame.args[1]
    end
    return mw.wikibase.sitelink( id )
end

-- Return the first value of given property of the item linked to the current page.
function p.firstproperty(frame)
    local property = frame.args[1]
    local entity = mw.wikibase.getEntityObject()
    if not entity then return nil end
    if not entity.claims then return nil end
    local hasProp = entity.claims[property]
    if not hasProp then return nil end
    return hasProp[0].mainsnak.datavalue.value
end

return p