Esta páxina está semiprotexida

Módulo:Wikibase

Na Galipedia, a Wikipedia en galego.
Saltar ata a navegación Saltar á procura
Test Template Info-Icon - Version (2).svg Indicacións de uso do módulo

Uso

Este módulo define funcións para acceder ós datos de Wikidata.

Exemplos

  • ID: {{#invoke:Wikibase|id}} → Q8565357
  • Etiqueta(): {{#invoke:Wikibase|etiqueta}} → Wikibase
  • Etiqueta(Q29): {{#invoke:Wikibase|etiqueta|Q29}} → España
  • Etiqueta(q555555): {{#invoke:Wikibase|etiqueta|q555555}} → Sam Webb
  • Enlace(): {{#invoke:Wikibase|enlace}} → Módulo:Wikibase
  • Enlace(Q29): {{#invoke:Wikibase|enlace|Q29}} → España
  • Enlace(q555555): {{#invoke:Wikibase|enlace|q555555}} → Sam Webb
  • descricion(P166): {{#invoke:Wikibase|descricion|p166}} → premio ou recoñecemento recibido por unha persoa, organización ou obra creativa

Nota: Este módulo é usado polo Modelo:Commonscat para determinar a ligazón á categoría de commons correspondente baseándose no valor da propiedade correspondente no wikidata

Esta documentación está transcluída desde Módulo:Wikibase/uso. Os editores poden probar cambios no mesmo en Módulo:Wikibase/probas.
Por favor, engade as categorías na subpáxina de documentación e os interwikis no Wikidata. Ver as subpáxinas deste módulo.

-- Module:Wikibase
local p = {}

-- Devuelve a ID do ítem, o nome ou a ligazón da páxina na wiki local.
function p.id(frame)
	if not mw.wikibase then
		return "módulo wikibase non atopado"
	end

	entity = mw.wikibase.getEntityObject()

	if entity == nil then
		return ""
	end

	return entity.id
end

-- Devolve a etiqueta dun ítem dado.
function p.etiqueta(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

-- copiado de ca.wiki
-- Return the label of a given data item, optionally in a given language.
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
    if frame.args[2] then
    	return mw.wikibase.getLabelByLang(id, frame.args[2])
    end
    return mw.wikibase.label( id )
end

-- copiado de ca.wiki
-- Return the language code of the label of a given data item.
function p.label_lang(frame)
	local id
    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
    local _, lang = mw.wikibase.getLabelWithLang(id)
    return lang
end

-- copiado de ca.wiki
-- Return the local page about a given data item, optionary in a given wiki.
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, frame.args[2])
end

--copiado de ca.wiki
-- 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

-- Devolve a páxina local dun ítem dado.
function p.enlace(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

-- Devolve a descrición dun ítem dado.
function p.descricion(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.description( id )
end

return p