语义mediawiki#询问查询:在同一查询上显示嵌套属性

语义mediawiki#询问查询:在同一查询上显示嵌套属性,mediawiki,semantic-web,semantic-mediawiki,Mediawiki,Semantic Web,Semantic Mediawiki,我希望在相同的查询中显示与im查询的页面相关的页面的属性 假设我想查询城市类别中位于德国的所有页面,我想显示页面的标题,但我也想显示德国的曲面数据,例如 类似这样的内容:{{{#ask:[[Category:City][[location::Germany]]}?mainlabel}?location.surface} 我知道这行不通,但你可以看到我想要实现的目标。我不确定是否有办法直接在其他查询中嵌套查询。通常的做法是使用模板。因此,您可以定义一个名为{{tablerow}}的模板(或模板的子

我希望在相同的查询中显示与im查询的页面相关的页面的属性

假设我想查询城市类别中位于德国的所有页面,我想显示页面的标题,但我也想显示德国的曲面数据,例如

类似这样的内容:
{{{#ask:[[Category:City][[location::Germany]]}?mainlabel}?location.surface}


我知道这行不通,但你可以看到我想要实现的目标。

我不确定是否有办法直接在其他查询中嵌套查询。通常的做法是使用模板。因此,您可以定义一个名为
{{tablerow}}
的模板(或模板的子页面,如果它进入模板),该模板包括:

<includeonly>
|- valign="top"
| [[{{{1|}}}]]
| {{#show: {{{1|}}} | ?surface }}</includeonly>

这将通过模板将查询返回的每个结果作为
{{{{1}}}
打孔,并基于它生成一行。如果要从主查询返回其他数据,那么请求的其他属性将作为连续的未命名参数出现(因此,如果包含
|?population
,则该属性将作为
{{{2}}}
进入模板,需要添加到行结构中,否则将被删除).

Includeonly标记指定仅由调用模板的页面呈现的模板部分。与noinlude标记相反,noinlude标记包含的内容仅由模板页面呈现,而不是由调用模板页面的页面呈现。这些标记之外的所有内容都将由这两者呈现。有关使用中的示例,请参见:嗯,是的,我知道标签通常做什么。我的意思是,在语义mediawiki
{{{ask}}
函数的特定帮助器模板的情况下,我不知道为什么需要它们。即使模板中唯一的文本是要转写的部分,有时它也无法工作,除非您将整个模板包装在
标记中。我没有遇到过其他情况。
{| class="wikitable smwtable sortable"
|- valign="bottom"
! [[City]]
! [[Surface]]

{{#ask: [[Category:City]] [[location::Germany]]
  | format   = template
  | template = tablerow
  | link     = none
}}

|}