Semantic Mediawiki:通过查询定义派生属性

时间:2013-05-02 16:41:08

标签: semantic-mediawiki

(我对整个Semantic Mediawiki事情都很陌生,并且正在网上搜索我正在做的这个小项目的一些线索。)

如何定义从Semantic Mediawiki中的其他属性派生的属性。假设我已经创建了SMW课程,并且会提供课程进度的详细信息(即当前页面/总页数,以%表示)。

我读到有这个Semantic Extra Special Properties扩展,其中存在一个额外的SUBPAGES属性。这会有帮助吗?我猜我可以用#ask或者某种方式进行检查并查看我在整个课程的哪个子页面?

还有更好的想法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用#ask查询定义语义属性。这是我的一个wiki中的一个示例,正如您所描述的那样,显示计数,然后显示总人口的百分比。在这种情况下,我首先定义两个变量,只是为了使代码更具可读性,因为我需要两次website_count值,所以避免第二次查询。

{{
#vardefine: website_extension |
  {{#ask: [[Has extension::{{FULLPAGENAME}}]] | format=count }}
}}{{
#vardefine: website_count |
  {{#ask: [[Category:Website]] [[Is validated::True]] [[Is active::True]] [[Collect extension data::True]] | format=count }}
}}
[[Has website count::{{#var:website_extension}}]] ([[Has website percent::{{#expr: ( ( {{#var: website_extension}} / {{#var: website_count}} ) * 100 ) round2 }}]]%)

任何一个都不需要子对象和语义额外特殊属性。