模块:SMWUtils
跳到导航
跳到搜索
此模块的文档可以在模块:SMWUtils/doc创建
local p = {}
function p.exists(query)
return mw.smw.ask(query.."|limit=1")
end
function p.query_pages(query)
local res = mw.smw.getQueryResult(query)
local ret = {}
for j, r in ipairs(res.results) do
table.insert(ret, r.fulltext)
end
return ret
end
function p.query_page_properties(query, properties)
local real_query = query
for i, p in ipairs(properties) do
real_query = real_query .. "|?" .. p
end
local res = mw.smw.getQueryResult(real_query)
local ret = {}
for i, r in ipairs(res.results) do
local ans = {}
local title = r.fulltext
for j, prop in ipairs(properties) do
local p_values = {}
if r.printouts[prop] then
for k, t in ipairs(r.printouts[prop]) do
table.insert(p_values, t.fulltext)
end
end
ans[prop] = p_values
end
table.insert(ret, {title=title, properties=ans})
end
return ret
end
return p