Module:Sandbox/Nathan fraignt/Wikidata

local p = {} p.getPersonDataTable = function(frame) local getName = function (entityId) local givenNameId = mw.wikibase.getBestStatements( entityId, "P735" )[1].mainsnak.datavalue.value.id or "" local givenName = mw.wikibase.getLabel(givenNameId) or "" local lastNameId = mw.wikibase.getBestStatements( entityId, "P734" )[1].mainsnak.datavalue.value.id or "" local lastName = mw.wikibase.getLabel(lastNameId) or "" return givenName .. " " .. lastName end local getData = function (entityId, propId) local dataTable = mw.wikibase.getBestStatements( entityId, propId ) local dataString = "" for k,v in pairs(dataTable) do			local dataId = mw.wikibase.getSitelink(v.mainsnak.datavalue.value.id) or mw.wikibase.getLabel(v.mainsnak.datavalue.value.id) or "" dataString = dataString .. "" .. dataId .. "" .. " "		end return dataString end local createTable = function(entityId) local tableString = '{| class="wikitable" \n' local tableStringEnd = "\n|}" local tableLinePrefix = "\n |- \n" tableString = tableString .. tableLinePrefix .. "| Name || " .. getName(entityId) tableString = tableString .. tableLinePrefix .. "| Place of Birth || " .. getData(entityId, "P19") tableString = tableString .. tableLinePrefix .. "| Occupation || " .. getData(entityId, "P106") tableString = tableString .. tableLinePrefix .. "| Spouse || " .. getData(entityId, "P26") return tableString .. tableStringEnd end entityId = frame.args[1] return createTable(entityId) end return p