Moduł:WikiData: Różnice pomiędzy wersjami

Z Minecraft Wiki Polska
Przejdź do nawigacji Przejdź do wyszukiwania
[wersja przejrzana][wersja przejrzana]
d wersja testowa (debug)
d nul → nil
 
(Nie pokazano 5 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 2: Linia 2:
local p = {}
local p = {}
function p.value(frame)
function p.value(frame)
local args = require('Moduł:ProcessArgs').norm()
local query = #(frame.args[1] or '') > 0 and (#(frame.args[2] or '') > 0 and sparql.runQuery('SELECT * WHERE { wd:Q'..frame.args[1]..' wdt:P'..frame.args[2]..' ?v . FILTER(LANG(?v) = "'..(frame.args[3] and #frame.args[3] > 0 and frame.args[3] or 'pl')..'") }') or '') or ''
local q = frame.args[1] or args['q'] or 0
local vars = query ~= '' and (query['head'] or {['vars'] = nil})['vars'] or nil
local p = frame.args[2] or args['p'] or 0
return vars and (((query['results'] or {['bindings'] = nil})['bindings'] or {[vars] = nil})[vars] or {['value'] = nil})['value'] or ''
local l = frame.args[3] or args['l'] or 'pl'
local query = sparql.runQuery('PREFIX wdt:<http://www.wikidata.org/prop/direct/> PREFIX wd:<http://www.wikidata.org/entity/> SELECT * WHERE { wd:Q'..q..' wdt:P'..p..' ?v . FILTER(LANG(?v) = "'..l..'") }')
if query == nil then
return ''
else
return q..'/'..p..'/'..l..'//'..#query.head.vars..'/'..#query.results.bindings
end
end
end
return p
return p

Aktualna wersja na dzień 03:58, 28 lip 2025

[ utwórz | historia | odśwież ]Dokumentacja
W tym module nie ma dokumentacji. Jeśli wiesz jak używać tego modułu, proszę, podaj odpowiednie informacje.
local sparql = require('SPARQL')
local p = {}
function p.value(frame)
	local query = #(frame.args[1] or '') > 0 and (#(frame.args[2] or '') > 0 and sparql.runQuery('SELECT * WHERE { wd:Q'..frame.args[1]..' wdt:P'..frame.args[2]..' ?v . FILTER(LANG(?v) = "'..(frame.args[3] and #frame.args[3] > 0 and frame.args[3] or 'pl')..'") }') or '') or ''
	local vars = query ~= '' and (query['head'] or {['vars'] = nil})['vars'] or nil
	return vars and (((query['results'] or {['bindings'] = nil})['bindings'] or {[vars] = nil})[vars] or {['value'] = nil})['value'] or ''
end
return p