Módulo:Wikibase
[ máis información | ver o historial | | | ver as instrucións ]
Este módulo emprégase en máis de 38000 páxinas. Para evitar problemas en moitas páxinas e carga innecesaria nos servidores, calquera cambio neste módulo debería probarse primeiro na súa sub-páxina de /probas e seguidamente engadirse na páxina principal nunha soa edición. |
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
[ máis información | ver o historial | | | ver as instrucións ]
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.
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 = {}
-- copiado de ca.wiki
-- Return the item ID of the item connected to the current page or connected to a page title via a sitelink.
-- mw.wikibase.getEntityIdForCurrentPage, mw.wikibase.getEntityIdForTitle
function p.id(frame)
local page_title = frame.args[1] and mw.text.trim(frame.args[1])
if page_title == nil or page_title == '' then
return mw.wikibase.getEntityIdForCurrentPage()
end
return mw.wikibase.getEntityIdForTitle(page_title)
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