【问题标题】:MediaWiki Ask QueryMediaWiki询问查询
【发布时间】:2014-08-21 19:29:53
【问题描述】:

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

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

【问题讨论】:

  • 首先,类别{{#ask:[[Category:Person]]}}之前不需要:。
  • (使用:Category,您只能从类别页面本身请求属性。)

标签: mediawiki semantic-mediawiki


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回复。在上面的例子中,我的意思是约翰和史密斯是完全不同的人。我同意,我正在处理的项目错误地使用了类别(基本上每个页面都是一个类别页面)
  • 好的,但即使你被分类为内容页面的解决方案所困(我也去过那里......),你仍然可以在分类页面上放置属性,并查询他们!然后类别页面将表现为普通页面
猜你喜欢
  • 1970-01-01
  • 2012-06-17
  • 2015-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多