Mòdul:Wikibase

De la Viquipèdia, l'enciclopèdia lliure
Icona de documentació de mòdul Documentació del mòdul [ mostra ] [ modifica el codi ] [ mostra l'historial ] [ refresca ]

Mòdul Wikibase (codi · ús · discussió · proves · tests · casos prova | subpàgines · enllaços)

A continuació es mostra la documentació transclosa de la subpàgina /ús. [salta a la caixa de codi]


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:Wikidades.

Funcions:

id

Retorna l'id de l'element de Wikidata corresponent a la pàgina indicada pel títol o a la pàgina actual. Sintaxi:

{{#invoke:wikibase|id|<títol>}}
{{#invoke:wikibase|id}}

En cas de no existir l'element retorna una cadena buida "".

Per exemple, en la pàgina Ajuda:Japonès {{#invoke:wikibase|id|{{BASEPAGENAME}}}} donarà l'id corresponent a Japonès, el mateix que s'obté en aquesta pàgina amb {{#invoke:wikibase|id}}.

label

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

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

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. Amb un segon paràmetre amb un codi de llengua obté l'etiqueta en la llengua especificada. Vegeu {{label}}.

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

description

Retorna la descripció d'una entitat. Sintaxi:

{{#invoke:wikibase|description}}
{{#invoke:wikibase|description|<id>|<lang>}}

Per defecte retorna la descripció de l'element associat a la pàgina actual. Proporcionant l'id, d'un element Q o propietat P, retornarà la descripció corresponent. Amb un segon paràmetre amb un codi de llengua obté la descripció en la llengua especificada.

Exemple: {{#invoke:wikibase|description|Q11799}} → municipi de Catalunya

getSiteLink

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

{{#invoke:wikibase|getSiteLink|<id>|<wiki>}}

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. Amb un segon paràmetre amb un codi de wiki obté la pàgina en el wiki especificat (enwiki, frwiki,... cawiktionary, etc.)

Exemple: {{#invoke:wikibase|getSiteLink|Q11799}} → Pau (Alt Empordà)

-- Module:Wikibase
local p = {}

-- 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

-- Return the label of a given data item, optionally in a given language.
-- mw.wikibase.getLabel, mw.wikibase.getLabelByLang
function p.label(frame)
	local id
	if frame.args[1] == nil then
		id = mw.wikibase.getEntityIdForCurrentPage()
		if not id then return nil end
	else
		id = mw.text.trim(frame.args[1])
	end
	if frame.args[2] then
		return mw.wikibase.getLabelByLang(id, mw.text.trim(frame.args[2]))
	end
	return mw.wikibase.getLabel(id)
end

-- Return the description of a given data entity, optionally in a given language.
-- mw.wikibase.getDescription
function p.description(frame)
	local id = frame.args[1] and mw.text.trim(frame.args[1]) or nil
	local lang = frame.args[2] and mw.text.trim(frame.args[2]) or nil
	local entity = mw.wikibase.getEntity(id)
	if not entity then return nil end
	return entity:getDescription(lang)
end

-- Return the local page about a given data item, optionary in a given wiki.
-- mw.wikibase.getSitelink
function p.getSiteLink(frame)
	local id = frame.args[1] and mw.text.trim(frame.args[1])
	if id == nil or id == '' then
		id = mw.wikibase.getEntityIdForCurrentPage()
		if not id then return nil end
	end
	return mw.wikibase.getSitelink(id, mw.text.trim(frame.args[2] or ''))
end

-- Return first lemma and language for a lexeme
-- entity:getLemmas()
function p.getLemma(frame) -- simple for simple templates like {{Q|}}}
	local entity = mw.wikibase.getEntity(frame.args[1])
	if not entity then
		return
	end
	local lemmas = entity:getLemmas()
	return lemmas[1][1] .. " <sup>(" .. lemmas[1][2] .. ")</sup>"
end

return p