-- Functions for use in retrieving Wikidata for use in templates that deal with identifiers-- getIdentifierQualifier returns the value of a qualifier for an Identifier
p =
-- getIdentifierQualifier returns the value of a qualifier for an Identifier-- such as 'Art UK artist ID', P1367-- the assumption is that one value exists for the property-- and only one qualifier exists for that value-- Constraint violations for P1367 are at:-- https://www.wikidata.org/wiki/Wikidata:Database_reports/Constraint_violations/P1367#Single_valuep.getIdentifierQualifier = function(frame) local propertyID = mw.text.trim(frame.args[1] or "")
-- The PropertyID of the qualifier -- whose value is to be returned is passed in named parameter |qual= local qualifierID = frame.args.qual -- Can take a named parameter |qid which is the Wikidata ID for the article. -- This will not normally be used because it's an expensive call. local qid = frame.args.qid if qid and (#qid
local entity = mw.wikibase.getEntityObject(qid) local props if entity and entity.claims then props = entity.claims[propertyID] end if props then -- Check that the first value of the property is an external id if props[1].mainsnak.datatype
"quantity" then return tonumber(quals[qualifierID][1].datavalue.value.amount) end -- checks for other datatypes go here: end end endend
return p