Wikibase

From Redazione
Jump to navigation Jump to search


This module is copied from the example from the module documentation at Lua. It should be kept consistent with that documentation, rather than being adapted further for use on Wikipedia.

Usage

id
{{#invoke: Wikibase | id }}
wdurl
{{#invoke: Wikibase | wdurl }}
{{#invoke: Wikibase | wdurl | entity id (Q# or P#) }}
label
{{#invoke: Wikibase | label }}
{{#invoke: Wikibase | label | entity id (Q# or P#) }}
description
{{#invoke: Wikibase | description }}
{{#invoke: Wikibase | description | entity id (Q# or P#) }}
page
{{#invoke: Wikibase | page }}
{{#invoke: Wikibase | page | item id (Q#) }}
datatype
{{#invoke: Wikibase | datatype | property id (P#) }}

Examples

id

  • {{#invoke:Wikibase | id }} → no mw.wikibase

wdurl

  • {{#invoke:Wikibase | wdurl }}Lua error at line 21: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | wdurl | Q132689 }}Lua error at line 27: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | wdurl | P31 }}Lua error at line 27: attempt to index field 'wikibase' (a nil value).

label

  • {{#invoke:Wikibase | label }}Lua error at line 34: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | label | Q132689 }}Lua error at line 40: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | label | P31 }}Lua error at line 40: attempt to index field 'wikibase' (a nil value).

description

  • {{#invoke:Wikibase | description }}Lua error at line 47: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | description | Q132689 }}Lua error at line 53: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | description | P31 }}Lua error at line 53: attempt to index field 'wikibase' (a nil value).

page

  • {{#invoke:Wikibase | page }}Lua error at line 60: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | page | Q132689 }}Lua error at line 66: attempt to index field 'wikibase' (a nil value).

datatype

⧼datatypes-type-commonsMedia⧽: Lua error at line 40: attempt to index field 'wikibase' (a nil value). (P18)

  • {{#invoke:Wikibase | datatype | P18 }}Lua error at line 76: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | datatype | Property:P18 }}Lua error at line 72: attempt to index field 'wikibase' (a nil value).

⧼datatypes-type-globe-coordinate⧽: Lua error at line 40: attempt to index field 'wikibase' (a nil value). (P625)

  • {{#invoke:Wikibase | datatype | P625 }}Lua error at line 76: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | datatype | Property:P625 }}Lua error at line 72: attempt to index field 'wikibase' (a nil value).

⧼datatypes-type-wikibase-item⧽: Lua error at line 40: attempt to index field 'wikibase' (a nil value). (P6)

  • {{#invoke:Wikibase | datatype | P6 }}Lua error at line 76: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | datatype | Property:P6 }}Lua error at line 72: attempt to index field 'wikibase' (a nil value).

⧼datatypes-type-wikibase-property⧽: Lua error at line 40: attempt to index field 'wikibase' (a nil value). (P1647)

  • {{#invoke:Wikibase | datatype | P1647 }}Lua error at line 76: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | datatype | Property:P1647 }}Lua error at line 72: attempt to index field 'wikibase' (a nil value).

⧼datatypes-type-string⧽: Lua error at line 40: attempt to index field 'wikibase' (a nil value). (P225)

  • {{#invoke:Wikibase | datatype | P225 }}Lua error at line 76: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | datatype | Property:P225 }}Lua error at line 72: attempt to index field 'wikibase' (a nil value).

⧼datatypes-type-monolingualtext⧽: Lua error at line 40: attempt to index field 'wikibase' (a nil value). (P1448)

  • {{#invoke:Wikibase | datatype | P1448 }}Lua error at line 76: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | datatype | Property:P1448 }}Lua error at line 72: attempt to index field 'wikibase' (a nil value).

⧼datatypes-type-quantity⧽: Lua error at line 40: attempt to index field 'wikibase' (a nil value). (P1082)

  • {{#invoke:Wikibase | datatype | P1082 }}Lua error at line 76: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | datatype | Property:P1082 }}Lua error at line 72: attempt to index field 'wikibase' (a nil value).

⧼datatypes-type-time⧽: Lua error at line 40: attempt to index field 'wikibase' (a nil value). (P569)

  • {{#invoke:Wikibase | datatype | P569 }}Lua error at line 76: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | datatype | Property:P569 }}Lua error at line 72: attempt to index field 'wikibase' (a nil value).

⧼datatypes-type-url⧽: Lua error at line 40: attempt to index field 'wikibase' (a nil value). (P856)

  • {{#invoke:Wikibase | datatype | P856 }}Lua error at line 76: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | datatype | Property:P856 }}Lua error at line 72: attempt to index field 'wikibase' (a nil value).

⧼datatypes-type-math⧽: Lua error at line 40: attempt to index field 'wikibase' (a nil value). (P2534)

  • {{#invoke:Wikibase | datatype | P2534 }}Lua error at line 76: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | datatype | Property:P2534 }}Lua error at line 72: attempt to index field 'wikibase' (a nil value).

⧼datatypes-type-external-id⧽: Lua error at line 40: attempt to index field 'wikibase' (a nil value). (P212)

  • {{#invoke:Wikibase | datatype | P212 }}Lua error at line 76: attempt to index field 'wikibase' (a nil value).
  • {{#invoke:Wikibase | datatype | Property:P212 }}Lua error at line 72: attempt to index field 'wikibase' (a nil value).

---------- Module:Wikibase ----------------
local p = {}

-- Return the item ID of the item linked to the current page.
function p.id(frame)
	if not mw.wikibase then
		return "no mw.wikibase"
	end
	entity = mw.wikibase.getEntityObject()

	if entity == nil then
		return "no entity"
	end
	return entity.id
end

-- Return the WD entity URL of a given data item, or of connected page
-- if no argument is provided to this method.
function p.wdurl(frame)
	if frame.args[1] == nil then
		entity = mw.wikibase.getEntityObject()
		if not entity then return nil end
		id = entity.id
	else
		id = mw.text.trim(frame.args[1])
	end
	return mw.wikibase.getEntityUrl( id )
end

-- Return the label of a given data item, or of connected page
-- if no argument is provided to this method.
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 = mw.text.trim(frame.args[1])
	end
	return mw.wikibase.label( id )
end

-- Return the description of a given data item, or of connected page
-- if no argument is provided to this method.
function p.description(frame)
	if frame.args[1] == nil then
		entity = mw.wikibase.getEntityObject()
		if not entity then return nil end
		id = entity.id
	else
		id = mw.text.trim(frame.args[1])
	end
	return mw.wikibase.description( id )
end

-- Return the local page about a given data item, or of connected page
-- if id is not specified.
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 = mw.text.trim(frame.args[1])
	end
	return mw.wikibase.sitelink( id )
end

-- Return the data type of a property
function p.datatype(frame)
	if frame.args[1] and string.find(frame.args[1], "Property:P") then
		if mw.wikibase.getEntityObject(string.gsub(frame.args[1], "Property:P", "P"))  then
			return mw.wikibase.getEntityObject(string.gsub(frame.args[1], "Property:P", "P") ).datatype
		end
	elseif frame.args[1] and string.find(frame.args[1], "P") then
		if mw.wikibase.getEntityObject(frame.args[1])  then
			return mw.wikibase.getEntityObject(frame.args[1]).datatype
		end
	end
end

return p