Wikibase
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