Module:Uses Wikidata: Difference between revisions

    From Nonbinary Wiki
    (Trim any leading or trailing spaces from unnamed parameters passed by Template:Uses Wikidata that would prevent template/module from working as expected. Tested with template & module /sandbox and Template:Uses Wikidata/testcases.)
    (update uses target from "What links here" to SPARQL query result (see Template_talk:Uses_Wikidata#Proposed_change_about_link_target_of_uses))
    Line 9: Line 9:
    if p_num ~= '' then
    if p_num ~= '' then
    local label = mw.wikibase.label(p_num) or "NO LABEL"
    local label = mw.wikibase.label(p_num) or "NO LABEL"
    result = result .. "<li><b><i>[[d:Property:" .. p_num .. "|" .. label .. " <small>(" .. string.upper(p_num) .. ")</small>]]</i></b> (see [[d:Property talk:" .. p_num .. "|talk]]; [[d:Special:WhatLinksHere/Property:" .. p_num .. "|uses]])</li>"
    result = result .. "<li><b><i>[[d:Property:" .. p_num .. "|" .. label .. " <small>(" .. string.upper(p_num) .. ")</small>]]</i></b> (see [[d:Property talk:" .. p_num .. "|talk]]; <span class='plainlinks'>[https://query.wikidata.org/embed.html#SELECT%20%3Fitem%20%3FitemLabel%20%3Fvalue%20%3FvalueLabel%0A%7B%0A%09%3Fitem%20wdt%3A" .. p_num .. "%20%3Fvalue%20.%0A%09SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22%20%20%7D%20%20%20%20%0A%7D%0ALIMIT%201000 uses])</li>"
    ii = ii + 1
    ii = ii + 1
    else break
    else break

    Revision as of 09:47, 12 March 2018

    Documentation for this module may be created at Module:Uses Wikidata/doc

    local p = {}
    
    function p.usesProperty(frame)
    	local parent = frame.getParent(frame)
    	local result = ''
    	local ii = 1
    	while true do
    		local p_num = mw.text.trim(parent.args[ii] or '')
    		if p_num ~= '' then
    			local label = mw.wikibase.label(p_num) or "NO LABEL"
    			result = result .. "<li><b><i>[[d:Property:" .. p_num .. "|" .. label .. " <small>(" .. string.upper(p_num) .. ")</small>]]</i></b> (see [[d:Property talk:" .. p_num .. "|talk]]; <span class='plainlinks'>[https://query.wikidata.org/embed.html#SELECT%20%3Fitem%20%3FitemLabel%20%3Fvalue%20%3FvalueLabel%0A%7B%0A%09%3Fitem%20wdt%3A" .. p_num .. "%20%3Fvalue%20.%0A%09SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22en%22%20%20%7D%20%20%20%20%0A%7D%0ALIMIT%201000 uses])</li>"
    			ii = ii + 1
    		else break
    		end
    	end
    	return result
    end
     
    return p