在Semantic MediaWiki中缩小查询范围

时间:2014-09-22 20:51:50

标签: mediawiki semantic-mediawiki

我无法在Semantic Mediawiki中编写显示相关信息的查询。 我们假设作者有两个主要属性:QuotesAuthorOf,还有一个属于 book :{{1 }}。

假设有三位作者: Coleridge Byron Dickens

  • Byron Dickens 拥有该属性HasQuotedAuthor
  • Byron 有财产[[Quotes::Byron]][[AuthorOf::The first kiss of love]]
  • 狄更斯拥有财产[[AuthorOf::The Dream]][[AuthorOf::A Christmas Carol]]
  • 梦想圣诞颂歌拥有财产[[AuthorOf::Oliver Twist]]

如何在Coleridge的页面上构建一个查询来获取一个表格,其中包括引用他的作者以及实际引用Coleridge的相关书籍?

1 个答案:

答案 0 :(得分:2)

我在这里为您创建了这些页面和查询:http://smw.referata.com/wiki/Coleridge

您要求任何书籍的作者引用{{PAGENAME}}(在本例中为Coleridge)。您的查询将如下所示:

{{#ask: [[Author of::<q>[[HasQuotedAuthor::{{PAGENAME}}]]</q>]] }}

,结果将是:Byron, Dickens

或者您可以同时打印书籍和作者:

{{#ask:[[HasQuotedAuthor::{{PAGENAME}}]]
  |?-Author of
}}

Author of之前的减号表示反向属性。换句话说,我们想要展示撰写本书的作者。我们也可以使用此查询创建类似于第一列的列表,只需隐藏第一列:

{{#ask:[[HasQuotedAuthor::{{PAGENAME}}]]
  |?-Author of
  |format=ul
  |mainlabel=-
}}