Jump to content

Module:Wikidata properties

Unchecked
From Wikipedia

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

local p = {}

function p.ListAllProperties(frame)
    local entity = mw.wikibase.getEntityObject()
    local result = ""
    local var1 = ""
    local val1 = ""
    for p=1, 999 do     -- check all properties
        var1 = "p" .. p
        local separator = ""
        if entity.claims[var1] then
            result = result .. "<br/>" .. var1 .. " (" .. mw.wikibase.label(var1) .. ", type: " .. entity.claims[var1][0].mainsnak.datavalue.type  .. ") = "
            for i=0, 999 do     -- check all values
                if entity.claims[var1][i]  then
                    if not ( type (entity.claims[var1][i].mainsnak.datavalue.value) == "table" ) then
                        -- this is not an item
                        result = result .. separator .. entity.claims[var1][i].mainsnak.datavalue.value
                    else
                        -- this is an item
                        local q=  "Q" .. entity.claims[var1][i].mainsnak.datavalue.value["numeric-id"]
                        local sitelink = mw.wikibase.sitelink(q)
                        local label    = mw.wikibase.label(q)
                        if sitelink then -- simplified links
                            result = result .. separator .. "[[" .. sitelink .. "|" .. label .. "]]"
                        else    
                            result = result .. separator .. label
                        end
                    end
                separator = ", "
                end
            end
        end
    end 
    return result
end

return p