MediaWiki询问查询

MediaWiki询问查询,mediawiki,semantic-mediawiki,Mediawiki,Semantic Mediawiki,我在MediaWiki中创建了两个页面:John和Category:Smith(请注意,Smith页面是一个类别页面)。这两页都属于类别:Person。当我运行Ask查询以返回Person类别下的所有页面时,只返回John页面。 {{{#问:[类别:人]]}?标签}。在我看来,Ask查询不会返回属于类别页面的页面 对此问题有何评论或解决方案?执行此操作的“语义MediaWiki”方法是查询属性,而不是类别。您可以使John和Category:Smith都具有属性[[Is a::Person]],

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


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

执行此操作的“语义MediaWiki”方法是查询属性,而不是类别。您可以使John和Category:Smith都具有属性
[[Is a::Person]]
,并进行类似于
{{{ask:[[Is a::Person]]]| label}
的查询


当然,即使使用SMW,类别也有有效的用途,但如果不了解整体情况,就很难对语义结构给出建议。然而,在您的示例中,史密斯似乎是一个姓氏,而不是一个人,因此不应该是Category:Persons的子类别。相反,您通常会将所有人直接放入Category:persons中,并添加属性,如
Has姓氏::Smith
等,这样您就可以问
{{{{{问:[[类别:人][[Has姓氏::Smith][[年龄:>36]]}{/code>{p>首先,您不应该需要在Category
{{问:[[类别:人]}
(使用
:Category
,您只能从Category页面本身请求属性。)感谢您的回复。在上面的例子中,我的意思是约翰和史密斯是完全不同的人。我同意,我正在处理的项目使用了不正确的类别(基本上每个页面都是一个类别页面)好的,但即使你坚持使用类别作为内容页面的解决方案(我也在那里…),你仍然可以在类别页面上放置属性,并对它们进行查询!然后,类别页面将表现为正常页面