缩小语义媒体Wiki中的查询范围



我无法在Semantic Mediawiki中编写显示相关信息的查询。假设作者有两个主要属性:QuotesAuthorOf书籍则有一个:HasQuotedAuthor

假设有三位作者:柯勒律治拜伦狄更斯

  • 拜伦狄更斯具有属性[[Quotes::Byron]]
  • Byron具有属性[[AuthorOf::The first kiss of love]][[AuthorOf::The Dream]]
  • Dickens具有属性[[AuthorOf::A Christmas Carol]][[AuthorOf::Oliver Twist]]
  • 《梦想》圣诞颂歌具有属性[[HasQuotedAuthor::Coleridge]]

你如何在柯勒律治的页面上建立一个查询,以获得一个表格,其中包括引用他的作者,以及只引用柯勒律奇实际引用的相关书籍?

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

你要找的是引用{{PAGENAME}}(在本例中为柯勒律治)的任何一本书的作者。您的查询如下:

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

结果为:Byron, Dickens

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

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

Author of前面的减号表示反向特性。换言之,我们想展示作者已经写了这本书。我们也可以使用这个查询来创建一个类似于第一个列表的列表,只需隐藏第一列:

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

最新更新