1

我在 MediaWiki 中创建了两个页面:John 和 Category:Smith(请注意页面 Smith 是一个类别页面)。这两个页面都是 Category:Person 的一部分。当我运行 Ask 查询以返回 Person 类别下的所有页面时,仅返回页面 John。{{#ask: [[:Category:Person]] | ?标签}}。在我看来,Ask 查询不会返回属于类别页面的页面。

对此问题有何评论或解决方案?

4

1 回答 1

1

“Semantic MediaWiki”的方法是查询属性,而不是类别。您可以让 John 和 Category:Smith 都具有属性[[Is a::Person]],并进行类似的查询{{#ask:[[Is a::Person]] |?label}}

当然,即使使用 SMW,类别也有有效的用途,但是如果不看全貌,就很难就语义结构给你建议。但是,在您的示例中,似乎 Smith 是一个姓氏,而不是一个人,因此不应该是 Category:Persons 的子类别。相反,您通常会将所有人员直接放在 Category:Persons 中,并添加诸如Has surname::Smith等属性,以便您可以提出诸如{{#ask: [[Category:Persons]] [[Has surname::Smith]] [[Age::>36]]}}

于 2014-08-21T22:35:11.840 回答