Modul:SmwWikibase: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Funktionen aus https://de.wikivoyage.org/wiki/Modul:Wikidata_utilities) |
(wikibase durchsuchen, smw-objekt erstellen) |
||
Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
+ | local set = require('Module:Smw').set | ||
− | function p. | + | function p.smwfromwikibase() |
local i | local i | ||
local result | local result | ||
− | result = ' | + | result = '' |
− | for i = | + | 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) | ||
+ | end | ||
+ | end | ||
+ | end | ||
end | end | ||
Zeile 36: | Zeile 50: | ||
return id, entity, wrongQualifier | return id, entity, wrongQualifier | ||
end | end | ||
− | |||
return p | return p |
Version vom 26. August 2021, 01:31 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)
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