我可以使用属性的值作为语义媒体维基中的查询吗?

时间:2018-12-27 19:32:45

标签: semantic-mediawiki

我试图查询通过模板变量指定的页面列表,但是我无法很好地理解Semantic Mediawiki,甚至无法确定这样做是否可行,更不用说一个好主意了。

我有一组具有语义属性的页面。然后,我有了一个模板,该模板具有一个“ collection”变量,它只是页面列表,如下所示:

// Bucket template
{{#set:
 | Has fishes={{{fishes|none}}}|+sep=,
}}

// A bucket page
{{Bucket
 |fishes=Fish Page, Another Fish Page, Trout Page
}}

到目前为止很好。

现在,我想在Bucket模板中创建一个表,该表显示列出页面中的一些属性。如果我尝试按以下方式使用#show

{{#show:{{PAGENAME}}|?Has fishes
 |format=table
 |?Has fishName= name
 |?Has fishHeight = height
}}

除了页面链接之外,我什么也看不到。我实际上无法查询那些页面的属性。我的问题是:

如何将当前页面Has fishes属性中已经拥有的页面馈送到#ask?我不知道要问什么,因为我已经有了答案,但是我似乎无法正确地格式化答案而不要求它。我已经尝试了几种{{PAGENAME}}:的变体,但这只是在黑暗中刺伤。

{{#ask:
 [[---what goes here and why?---]]
 |?Has fishName= name
 |?Has fishHeight= height
}}

1 个答案:

答案 0 :(得分:1)

Semantic Media Wiki提供为Sandbox,非常适合进行实验。 根据您的问题,我已将页面添加为Fish Category.

请注意,沙盒的默认语言是法语。在英语Wiki中,页面的名称将不同。

为了使您的想法可行,您正在研究如何基于逗号分隔的值列表创建表格列表。实际上,您不必查询该列表,因为在模板中,参数“ fishes”已经具有值列表。

您可能最终不得不使用Template Format进行查询。

The Example that shows different style of showing a table of images显示了不同的方法。一种标准方法是:

  1. 显示表格标题
  2. 查询每一行
  3. 显示表格的页脚

要查询每一行,您可以选择以下选项:

  1. 使用sandbox wiki中安装的阵列扩展名 https://www.mediawiki.org/wiki/Extension:Arrays 可能有循环功能可用。
  2. 使用subobjects