评论


进入某属性页面,数据声明为数字
[[Has type::Number]]
就可以用此属性做自然数排列查询ask
sort=此属性
order=asc
进入某属性页面,数据声明为数字
[[Has type::Number]]
就可以用此属性做自然数排列查询ask
sort=此属性
order=asc


Semantic MediaWiki(SMW)是一个免费、开源的MediaWiki扩展。它可以帮助wiki进行搜索、组织、标记、浏览、计算和共享数据。传统wiki只包含文本信息,计算机无法对其进行理解和计算。SMW为wiki添加了语义注释(Semantic Annotations)数据,从而使wiki具有数据库的功能。
SMW首次发布于2005年,目前有超过十名开发者,数以百计的站点使用了SMW。另外,目前已有许多相关扩展可以扩充SMW的编辑、显示和浏览数据的功能。Semantic MediaWiki有时也指整个SMW和其相关扩展系列。
本页面仅针对SMW常用语义进行简要说明,详细的机制和更深一层次的说明可以参见:Semantic MediaWiki和THBWiki中的帮助:SMW说明。
这就需要一个SMW中很重要的函数:#set
{{#set: |属性名1=值1,值2|+sep=, |属性名2=值1;值2;值3;|+sep=; |属性名3=值1 |属性名3=值2 |属性名4=值1|值2|值3 |属性名5=值1 … }}
|+sep=
用来声明单行属性名多个属性值中间的分隔符。如果不通过|+sep=
来声明,默认使用|
为分隔符。例如例子中的属性名1用|+sep=
声明了多个属性值之间的分隔符为,
;属性名2中用|+sep=
声明了多个属性值之间的分隔符为;
;而属性名4直接使用了默认分隔符|
来分割多个属性值。这里涉及SMW另外一个核心函数:#ask
{{#ask:[[分类:游戏WIKI]][[列表显示::显示]] |?游戏名 |?WIKI域名 |?创建时间 |?创建人UID |?创建人昵称 |link=none |sort=创建时间 |template=游戏WIKI申请列表 |headers=hide |order=desc |format=template |limit=1000 }}
{{#ask:[[>>查询条件<<]] |?>>展示信息<< |>>输出结果式<< }}
[[分类:载具]]
[[载具名称::汽车]]
[[分类:载具]][[载具名称::汽车]]
。这种写法其实是逻辑and(代码相关概念,初学者可以理解要同时满足所有查询条件)的写法。另外,逻辑or的写法为[[分类:载具]]or[[分类:交通工具]]
当前版本失效[[分类:载具||交通工具]]
|?>>展示的属性名<<
SMW为我们提供了非常多的参数来控制输出结果,具体参数可以见下表:
参数 | 值 | 说明 |
---|---|---|
format | 详见format说明 | 选择结果展示出来的格式,可不填。常用的值为template,以模板进行输出结果。如果不配置,会默认以表格输出查询结果。 |
limit | 1~1000的整数 | 输出的结果的最大数量 (在table下是行数),BWIKI为了方便用户已将该值上限调整到1000 |
offset | 数值 | limit=10 表示从总查询的结果的第2个开始输出10个结果 |
sort | 属性名 | 指定一个查询页面中存在的属性(可以不展示),所有结果会按照这个属性值来排序 |
order | 升序:asc 降序: desc 随机: random |
查询结果的输出排序规则,默认为升序。如果未指定sort,则不会生效。 |
headers | show , plain , hide |
控制输出结果表头第一行的样式,show是默认值。hide隐藏,plain是不带链接的纯文本 |
mainlabel | 纯文本 | 定义表格第一行第一个单元格的文字内容,如果配置为“-”,则会隐藏第一列标题 |
link | none , subject , all |
控制结果中的值是否带链接, all 为全部带链接,subject只有第一列带链接,none则是全部不带链接。 |
default | 纯文本 | 当查询的返回结果为空值时所显示的文字 |
searchlabel | 纯文本 | 当查询的结果超过了limit的限制后,会出现一个点击查看更多的链接,可以通过searchlabel来定义链接的文字。配置为空时,则不会显示点击查看更多的链接 |
通过控制 format
对应的参数,可以输出非常多的结果式。详见:format说明