http://semantic-mediawiki.org/wiki/Help:Inline_queries
解释了如何在Semantic MediaWiki中进行查询
{{#ask:
[[Category:City]] [[Population::+]]
|?Population
|format=table
}}
是此类查询的示例。
现在有一个列显示运行索引/rowid 会很好,如下 所示。
怎么可能做到这一点?
http://semantic-mediawiki.org/wiki/Help:Inline_queries
解释了如何在Semantic MediaWiki中进行查询
{{#ask:
[[Category:City]] [[Population::+]]
|?Population
|format=table
}}
是此类查询的示例。
现在有一个列显示运行索引/rowid 会很好,如下 所示。
怎么可能做到这一点?
我看了你想要的答案的模型。比 rowid 更具体地说,第一列中的数字实际上是城市名称的字母升序排列,因为即使表格被其他列使用,这些行也会保留它们的数字。所以继续这个假设,是的,有一种黑客的方式来实现这一点。
hackish 的解决方案是 hackish 的原因有很多,其中之一是它假设您希望查询返回的页面使用模板。在该模板中,您要设置 2 个属性。
第一个属性类似于
[[CityName::{{FULLPAGENAME}}]]
我们想要这样做的原因是将页面标题放在 SMW 可以使用的属性中。为什么现在会变得明显。
第二个属性看起来像这样:
[[CityAlphaRank::{{#ask: [[CityName::<{{FULLPAGENAME}}]] | format=count}}]]
该行的作用是,它按字母顺序计算当前页标题(包括当前页标题)之前有多少页标题并输出该数字。又名字母排序。
剩下的唯一事情就是修改您的查询,以便它使用这两个新属性。可能看起来像:
{{#ask:
[[Category:City]] [[Population::<300000]]
|mainlabel=-
| ?CityAlphaRank
| ?CityName
| ?Population
| format=table
}}
请注意,这让我觉得丑陋和骇人听闻,在设计这个解决方案时,我设法从我的测试系统中哄骗了很多死亡的白色错误页面。因此,这个解决方案很可能是非常不可取的,但它确实有效。:)