{{#invoke:Inherit|inherited_lists
|name=页面名称
|properties=属性1,属性2,属性3
|anchor_property=页面标题属性
|parent_property=父类属性名称
|parent_title=父类标题
|parents=父类1,父类2,父类3
|children_title=子类标题(可选)
|属性1_title=属性1的标题
|属性1_values=标签1,标签2
|属性2_title=属性2的标题
|属性2_values=标签3,标签4
|属性3_title=属性3的标题
|属性3_values=标签5,标签6
|属性1_reversed=属性2
|属性2_reversed=属性1
}}
p = {}
function p.keys_to_table(set)
local res = {}
for k, v in ipairs(set) do
table.insert(set, k)
end
return res
end
function p.query_inherited_property(anchor_property, query_property, parent_list)
local results = {}
for idx, parent in ipairs(parent_list) do
local anchor_query = "[["..anchor_property.."::"..parent.."]]"
local property_query = "[[" .. query_property .. "::+]]"
local content_query = "?"..query_property
local query = anchor_query .. property_query .. "|" ..content_query .. "|format=plainlist"
local res = mw.smw.getQueryResult(query)
for j, r in ipairs(res.results) do
for k, t in ipairs(r.printouts[query_property]) do
results[t] = true
end
end
end
return results
end
return p