-- This is used to get the QIDs of all of the values of a property, as a comma separated list if multiple values exist-- Usage: -- Usage:
local p =
p.getPropertyIDs = function(frame) local propertyID = mw.text.trim(frame.args[1] or "") local input_parm = mw.text.trim(frame.args[2] or "") -- can take a named parameter |qid which is the Wikidata ID for the article. This will not normally be used. local qid = frame.args.qid if qid and (#qid
"FETCH_WIKIDATA" then local entity = mw.wikibase.getEntityObject(qid) local propclaims if entity and entity.claims then propclaims = entity.claims[propertyID] end if propclaims then -- if wiki-linked value collect the QID in a table if (propclaims[1] and propclaims[1].mainsnak.snaktype
"wikibase-entityid") then local out = for k, v in pairs(propclaims) do out[#out + 1] = "Q" .. v.mainsnak.datavalue.value["numeric-id"] end return table.concat(out, ", ") else -- not a wikibase-entityid, so return empty return "" end else -- no claim, so return empty return "" end else return input_parm endend
return p