Module:Wikidata

local p = {}

p.getSpouse = function(frame) local input_parm = mw.text.trim(frame.args[1] or "") if input_parm == "FETCH_WIKIDATA" then local entity = mw.wikibase.getEntity if entity.claims.p26 ~= nil then local out = {} for k, v in pairs(entity.claims.p26) do               out[#out + 1] = "" .. mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) .. "" end return table.concat(out, ", ") else return "" end else return input_parm end end

p.getBirthPlace = function(frame) local input_parm = mw.text.trim(frame.args[1] or "") if input_parm == "FETCH_WIKIDATA" then local entity = mw.wikibase.getEntity if entity.claims.p19 ~= nil then local out = {} for k, v in pairs(entity.claims.p19) do               out[#out + 1] = "" .. mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) .. "" end return table.concat(out, ", ") else return "" end else return input_parm end end

p.getValue = function(frame) local propertyID = mw.text.trim(frame.args[1] or "") local input_parm = mw.text.trim(frame.args[2] or "") if input_parm == "FETCH_WIKIDATA" then local entity = mw.wikibase.getEntity if entity.claims[propertyID] ~= nil then local out = {} for k, v in pairs(entity.claims[propertyID]) do               out[#out + 1] = "" .. mw.wikibase.sitelink("Q" .. v.mainsnak.datavalue.value["numeric-id"]) .. "" end return table.concat(out, ", ") else return "" end else return input_parm end end

p.getRawValue = function(frame) local propertyID = mw.text.trim(frame.args[1] or "") local input_parm = mw.text.trim(frame.args[2] or "") if input_parm == "FETCH_WIKIDATA" then local entity = mw.wikibase.getEntity if entity.claims[propertyID] ~= nil then local out = {} for k, v in pairs(entity.claims[propertyID]) do               out[#out + 1] = mw.wikibase.label("Q" .. v.mainsnak.datavalue.value["numeric-id"]) end return table.concat(out, ", ") else return "" end else return input_parm end end

return p