Modul:SmwWikibase: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(subobject) |
(variable smwData nutzen für subobject) |
||
Zeile 19: | Zeile 19: | ||
result = result .. "* id: " .. id .. " value: " .. value .. '\n' | result = result .. "* id: " .. id .. " value: " .. value .. '\n' | ||
set(value) | set(value) | ||
− | + | smwData = {} | |
+ | smwData["Text"] = value | ||
+ | mw.smw.subobject(smwData) | ||
end | end | ||
end | end |
Version vom 26. August 2021, 01:51 Uhr
Ausgabe dieses Moduls (mit Aufruf: {{#invoke:SmwWikibase|smwfromwikibase}}):
- id: Q1 value: Integrative Medizin
- id: Q2 value: Anthroposophische Medizin
- id: Q3 value: Hauptseite
local p = {}
local set = require('Module:Smw').set
function p.smwfromwikibase()
local i
local result
result = ''
for i = 1, 20, 1 do
pageId = "Q" .. i
id, entity, wrongQualifier = p.getEntity(pageId)
if (not wrongQualifier)
then
if (entity["claims"] ~= nil)
then
if (entity["claims"]["P1"] ~= nil)
then
value = entity["claims"]["P1"][1]["mainsnak"]["datavalue"]["value"]["text"]
result = result .. "* id: " .. id .. " value: " .. value .. '\n'
set(value)
smwData = {}
smwData["Text"] = value
mw.smw.subobject(smwData)
end
end
end
end
return result
end
local function isSet( arg )
return arg and arg ~= ''
end
function p.getEntity( id )
local wrongQualifier = false
local entity = nil
if not isSet( id ) then
return '', entity, wrongQualifier
end
if mw.wikibase.isValidEntityId( id ) then
-- expensive function call
-- redirect ids marked false, too
entity = mw.wikibase.getEntity( id )
end
if not entity then
id = ''
wrongQualifier = true
end
return id, entity, wrongQualifier
end
return p