Permanently protected module
From Wikipedia, the free encyclopedia


-- 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_value

p.getIdentifierQualifier = function(frame)

	local propertyID = mw.text.trim(frame.args1 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 == 0) then qid = nil end



	local entity = mw.wikibase.getEntityObject(qid)

	local props

	if entity and entity.claims then

		props = entity.claimspropertyID

	end

	if props then

		-- Check that the first value of the property is an external id

		if props1].mainsnak.datatype == "external-id" then

			-- get any qualifiers of the first value of the property

			local quals = props1].qualifiers

			if quals and qualsqualifierID then

				-- check what the dataype of the first qualifier value is

				-- if it's quantity return the amount

				if qualsqualifierID][1].datatype == "quantity" then

					return tonumber(qualsqualifierID][1].datavalue.value.amount)

				end

				-- checks for other datatypes go here:

				

			end

		end

	end

end





return p
Permanently protected module
From Wikipedia, the free encyclopedia


-- 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_value

p.getIdentifierQualifier = function(frame)

	local propertyID = mw.text.trim(frame.args1 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 == 0) then qid = nil end



	local entity = mw.wikibase.getEntityObject(qid)

	local props

	if entity and entity.claims then

		props = entity.claimspropertyID

	end

	if props then

		-- Check that the first value of the property is an external id

		if props1].mainsnak.datatype == "external-id" then

			-- get any qualifiers of the first value of the property

			local quals = props1].qualifiers

			if quals and qualsqualifierID then

				-- check what the dataype of the first qualifier value is

				-- if it's quantity return the amount

				if qualsqualifierID][1].datatype == "quantity" then

					return tonumber(qualsqualifierID][1].datavalue.value.amount)

				end

				-- checks for other datatypes go here:

				

			end

		end

	end

end





return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook