Saltar al contento

Module talk:Wikidata

Le contento del pagina non es supportate in altere linguas.
De Wikipedia, le encyclopedia libere

Critical performance improvement

[modificar fonte]

There is the following inefficiency in Wikidata module:

		-- otherwise, iterate over all properties, fetch their labels and compare this to the given property name
		for k, v in pairs(entity.claims) do
			if mw.wikibase.label(k) == property then return v end
		end

This can also be expressed with:

		property = mw.wikibase.resolvePropertyId(property)
		if not property then return end

		return entity.claims[property]

The advantaged of the second version is that it doesn't need to iterate over all Statements (which is badly discouraged), thus the pages in question don't "use" all Statements. See also T178114. Please fix this problem. Thank you! Amir Sarabadani (WMDE) (discussion) 20:25, 8 martio 2018 (UTC)[responder]

Facite / Done. —Tortoise0308 (discussion) 12:05, 9 martio 2018 (UTC)[responder]