Modul:SmwWikibase
Version vom 26. August 2021, 02:17 Uhr von Christoph Holtermann (Diskussion | Beiträge) (Bezeichnung verwenden)
Ausgabe dieses Moduls (mit Aufruf: {{#invoke:SmwWikibase|smwfromwikibase}}):
- id: Q1 value: Integrative Medizin
ok* id: Q2 value: Anthroposophische Medizin ok* id: Q3 value: Hauptseite ok
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
smwData["Bezeichnung"] = "Aus Wikibase erzeugtes SMW - Subobjekt (" .. id .. ")"
success = mw.smw.subobject(smwData)
if (success) then
result = result .. "ok"
else
result = result .. "Fehler"
end
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