Semantic MediaWiki template with subobject: Difference between revisions
Jump to navigation
Jump to search
Created page with "在 Semantic MediaWiki 使用过程中,难免需要在同一页面,使用相同的模板。相同模板使用多次时,会导致一个参数有多个取值,最终在用 #ask 查询时,出现笛卡尔积。笛卡尔积的定义:假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。笛卡尔积的排序是乱的,我们必须用 subobject,令每一个参数及其取值,都变得唯一..." |
|||
Line 15: | Line 15: | ||
案件名称 (property=案件名称)| | 案件名称 (property=案件名称)| | ||
阶段案号 (property=阶段案号)| | 阶段案号 (property=阶段案号)| | ||
审判时间 (property=审判时间 | 审判时间 (property=审判时间)}} | ||
</noinclude> | </noinclude> | ||
Revision as of 11:01, 22 May 2025
在 Semantic MediaWiki 使用过程中,难免需要在同一页面,使用相同的模板。相同模板使用多次时,会导致一个参数有多个取值,最终在用 #ask 查询时,出现笛卡尔积。笛卡尔积的定义:假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。笛卡尔积的排序是乱的,我们必须用 subobject,令每一个参数及其取值,都变得唯一。subobject 的用法如下:
{{#subobject:mysubobject |Has property 1=value1 |Has property 1=value2 |Has property 2=value1 ... }}
自动模板
<noinclude>
{{#template_params:
案件名称 (property=案件名称)|
阶段案号 (property=阶段案号)|
审判时间 (property=审判时间)}}
</noinclude>
<includeonly>
{| class="wikitable"
! 案件名称
| [[案件名称::{{{案件名称|}}}]]
|-
! 阶段案号
| [[阶段案号::{{{阶段案号|}}}]]
|-
! 审判时间
| [[审判时间::{{#time:Y-m-d|{{{审判时间|}}}}}]]
subobject 模板
<syntaxhighlight lang="bash" line>
Error: #template_params can only be called within a template.