欢迎来到THBWiki!
如果您是第一次来到这里,请点击右上角注册一个帐户
有任何意见、建议、求助、反馈都可以在
讨论板
提出
THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正
查看“帮助:SMW”的源代码
←
帮助:SMW
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
少女
您没有权限编辑
帮助
命名空间内的页面。
您可以查看和复制此页面的源代码。
==单位== 本段落描述如何控制[[#数据类型|数据类型]]为'''数量'''的属性在页面中显示和转换单位。<br /> 此功能可以使注释更加灵活方便:用户可以用自己习惯的单位来输入数据,且相互之间都能不受限制地理解数据内容。<br /> 举个例子,对于距离的单位,一些人可能习惯用“英里”,而另一些人习惯用“公里(千米)”。<br /> 而在一些文章中,距离可能小到最好用“微米”表示,此时若显示为“千米”则不合适。 ===单位转换=== {{帮助SMW-测试警告-小}} SMW内置了一些可以处理单位的[[#数据类型|数据类型]](如'''温度''')。<br /> 支持单位的数据类型可以接受若干不同单位、在各个单位之间转换、以不同单位来显示值。<br /> 由于本维基内没有'''数量'''类型的属性,可以参看[https://www.semantic-mediawiki.org/wiki/Demo:Berlin SMW:演示:柏林]页面,其最下方的事实框中有土地面积转换的例子。<br /> 本维基内使用了经过修改的,类似'''数量'''类型的'''价格'''和'''时长'''类型。 为了实现以上功能,SMW需要了解如何将值从某单位转换到另一单位。<br /> 在大多数情况下,转换方式非常简单,但有时也会遇到具有复杂计算的情况。我们对两种情况作如下区分: #两个单位之间的转换是''“成比例”''的。即转换只需乘一个系数就可以完成。如在公斤和斤之间、米与千米之间的换算。 #两个单位之间的转换是''“不成比例”''的,需要更加复杂的计算。比如'''温度'''类型就有这样的问题,摄氏度与华氏度之间的转换大约是<code>F = 32+1.8*C</code>。 对于第1种情况的单位转换,可以使用[[#数据类型|数据类型]]'''数量'''来定义属性的单位和单位间的转换系数。<br /> 对于第2种情况,我们在下方讨论了一些可能的处理方式。 ;成比例的单位转换 :为了声明由数字和单位组成的属性值,SMW提供了[[#数据类型|数据类型]]'''数量'''。 :“单位”可以是一个非数字开头的文本标签,如“英里”、“km”、“平方千米”、“m/s”等。 :要使用一个单位,或者是同一单位的不同称呼(如公里和千米),必须先按照下面的说法,在属性的页面声明它。 :只可使用声明过的单位,否则会被当作错入出入而拒绝接受。 :因此,只有当在'''数量'''类型的属性中,声明了至少一个单位后,这个属性才真正有作用。 :如此严格的系统使得即使输入的单位都不同,SMW也可以比较它们的值的大小。 :每个输入都确切地指定了“数量”的大小(如时长、距离等),即使输入的方式不同。 :'''数量'''类型的属性值是真实按照数量(一个数字与一个单位)来存储的,而不是按照文本来存储。文本存储无法知晓值的大小,也不能区分单位。 :在其他[[#数据类型|数据类型]]中也有类似的行为。如对于“2”或“2.0”,SMW把它们视为相等,不论它们写成何种形式。 :要使用SMW中的单位转换,首先你需要创建一个合适的属性。 :按照惯例,首先你需要使用维基搜索功能,或者到[[特殊:属性]]页面查看是否已有你想用的属性。如果没有,则创建一个新的属性页面。 :比如我们来创建一个[[属性:质量]],来说明物理量[https://en.wikipedia.org/wiki/Mass 质量]。 :在这个新页面上,你首先需要写上这个新属性的用途。在本例中,可以写“类型为数量,物质的三种属性之一,通常用千克来度量物理量。” :这样写能帮助其他用户寻找和使用你定义的此项属性,搜索时可以搜到这句话中的关键词。 :要指定[[#数据类型|数据类型]],你需要写: :<pre>[[设有类型::数量]]</pre> :在属性页的任意位置写都可以,但推荐在上面的句子里写这个注释。 :要声明支持的单位,你需要使用[[#特殊属性|特殊属性]]“'''符合于'''”。比如你需要指定“质量”属性的''“主单位”'',就要写上: :<pre>[[符合于::1 千克]]</pre> :“1 千克”说明了以下两件事: :#属性具备单位“千克”; :#“千克”是主单位(由系数为1得来)。 :显示[[#数据类型|数据类型]]为'''数量'''的值时,默认选择主单位作为显示单位。当用户在声明属性值时只用数字不带单位,系统就假定单位为主单位。 :指定其他单位的方法很简单,如: :{{pre|<nowiki> [[符合于::0.001 吨]] [[符合于::1000 克]] </nowiki>}} :这说明此属性还可使用单位“吨”和“克”。你可以写成句子,并将上面的声明注释在句子里: :“1千克等于0.001吨,也等于1000克。” :以此方法,该属性就可以支持任意单位,只要它们能与主单位进行简单的比例换算。 :在许多情况下,对同一单位可能有好几种称呼。比如你可以说“千克”,也可以说“公斤”或者“kg”。 :处理这种情况的简便方法为:用半角逗号<code>,</code>隔开各个称呼,不用对换算系数相同的单位使用“符合于”。 :比如在本例中,可写为: :{{pre|<nowiki> [[符合于::1 千克,公斤,kg]] [[符合于::0.001 吨,t]] [[符合于::1000 克,g]] </nowiki>}} :在本例中,主单位为“符合于”声明中,系数为1的第一个单位,此处为“千克”。 :属性能够理解所有由“符合于”声明的单位,并且会显示它们之间的转换(但不重复,即不会同时显示“千克”和“公斤”)。 :在系统内部,属性值会被转换为主单位,[https://www.semantic-mediawiki.org/wiki/Help:RDF_export RDF导出]也只会显示主单位下的值。 :不带单位的输入值一概当作主单位下的值。 :这就意味着,单位转换是一个简单的前处理(对于用户输入)和后处理(对于显示),从而使用户能够更方便地使用单位。 :在维基页面中显示的单位可以非常自由的选择,且无需涉及主单位,具体用法见下文[[#自定义单位|自定义单位]]。 :;提示: ::如果有许多属性具备相同的单位声明语句(比如“属性:长度”、“属性:高度”等表示距离的属性),可以将这些语句写进模板里,在属性页面上用模板即可。 ::这样可以保证相同类型测量量的属性总是支持相同的单位。 :;注意: ::在本维基的SMW 2.1.1版本下,单位必须写在数字的后面,不支持前置的单位,如“$100”等。 ;不成比例的单位转换 :若使用[[#数据类型|数据类型]]为'''数量'''的属性,你只能指定一个比例换算系数。 :所以你不能按照对数转换,也不能对不同单位使用不同底数,等等。 :举一个例子:你不能自定义一个可以从摄氏度转换到华氏度的属性,这个转换不仅需要乘法,还需要加法。 :对于温度,SMW已经提供了一个内置的[[#数据类型|数据类型]]'''温度''',它可以处理温度的转换,但其他的非比例转换就没有这么幸运了。 :SMW不允许在维基里自定义一个不成比例的单位。 :一种处理方式是使用[[#数据类型|数据类型]]'''数字''',省略对单位的语义标注,直接将单位作为文本写在维基页面上。 :这种方法放弃了使用对于单位转换的前后处理支持,但是其他的大多数功能还能照常使用(如[[#语义搜索|语义搜索]]和导出等)。 :用户也可以通过在模板中使用[[帮助:解析函数|解析函数]]的方法来实现单位转换,但这一般会导致在编写页面文本时更加复杂,且会降低处理效率。 :如果确实需要一种新的单位,有一个更好的解决方法。可以写一个PHP脚本来实现单位转换。 :用这种方式来扩展SMW并不困难,并且你也可以参考'''温度'''类型的代码(仅100多行代码,包括注释)。 :在编写了这种新类型以后,就可以将[[#数据类型|数据类型]]为'''数字'''的现有属性直接改为新定义的类型,且不会对已有的页面产生影响。 :当面对不支持的单位时,自定义类型会表现为简单的'''数字'''类型。 :本维基中就有由管理员自定义的[[#数据类型|数据类型]],与'''数量'''类型相近的有: :*[[特殊:类型/价格|'''价格''']]类型 :*[[特殊:类型/时长|'''时长''']]类型 ===自定义单位=== {{帮助SMW-测试警告-小}} 一个属性可以支持非常多个单位。比如长度单位可以从光年支持到纳米。<br /> 即使这个属性只需要几个单位就够用,但如果你按照上面的方法,用模板给它声明单位,就可能出现可用单位非常多的情况。<br /> 比如你用“属性:海拔高度”来指定山的高度,肯定不会用光年和纳米作为单位显示。<br /> SMW允许你在所有属性支持的单位中,指定哪几个用于显示。<br /> 如果不指定显示单位,则属性会在换算时显示所有它支持的单位(比如在工具提示和页面事实框中)。 要指定显示的单位,需要给属性页面添加[[#特殊属性|特殊属性]]“'''显示单位'''”。<br /> 在其中说明你想要显示的单位,用半角逗号<code>,</code>隔开。<br /> 如,还是上文“属性:质量”的例子,你想只用字母缩写格式的单位,就写上: <pre> [[显示单位::kg,t,g]] </pre> 上方代码可以使页面事实框在显示“属性:质量”的时候,只显示这三个单位,即使它支持十几个单位。<br /> 在工具提示(鼠标停留在页面的属性文本上会显示)中,也只会显示这三种单位的换算。<br /> “显示单位”声明对任何支持单位的[[#数据类型|数据类型]]都有效,如'''温度'''、'''数量'''等类型。 特殊属性“显示单位”声明的第一个单位会作为默认显示单位。<br /> 但SMW存储数据时,还是按照[[#特殊属性|特殊属性]]“符合于”声明的第一个单位(主单位)来存储。<br /> 所以建议在声明“显示单位”时,将主单位也声明一下,这样用户就能看到存储的属性值是多少。 ;单位名称 :本维基SMW 2.1.1版本下,单位名称中出现的空格会被忽略,不会被记录与显示。
返回
帮助:SMW
。
导航菜单
个人工具
创建账号
登录
命名空间
帮助
讨论
查看
阅读
源码
查看历史
更多
搜索
常用
首页
东方Project
上海爱丽丝幻乐团
ZUN
幻想乡
幻想乡年表
东方年表
东方同人规约
近期新闻
沙盒(建议使用)
讨论板
加入我们
官方作品
官方游戏
旧作
东方灵异传
东方封魔录
东方梦时空
东方幻想乡
东方怪绮谈
东方红魔乡
东方妖妖梦
东方永夜抄
东方花映塚
东方风神录
东方地灵殿
东方星莲船
东方神灵庙
东方辉针城
东方绀珠传
东方天空璋
东方鬼形兽
东方虹龙洞
东方兽王园
小数点射击游戏
东方文花帖
东方文花帖DS
妖精大战争
弹幕天邪鬼
秘封噩梦日记
弹幕狂们的黑市
黄昏边境合作游戏
东方萃梦想
东方绯想天
东方非想天则
东方心绮楼
东方深秘录
东方凭依华
东方刚欲异闻
官方音乐
原曲列表
非音乐CD音乐列表
音乐CD曲目列表
蓬莱人形
莲台野夜行
梦违科学世纪
卯酉东海道
大空魔术
未知之花 魅知之旅
鸟船遗迹
伊奘诺物质
燕石博物志
旧约酒馆
虹色的北斗七星
七夕坂梦幻能
幺乐团的历史系列
幺乐团的历史 vol.1
幺乐团的历史 vol.2
幺乐团的历史 vol.3
幺乐团的历史 vol.4
幺乐团的历史 vol.5
格斗游戏OST
幻想曲拔萃
全人类的天乐录
核热造神非想天则
暗黑能乐集心绮楼
深秘乐曲集
深秘乐曲集·补
完全凭依唱片名录
贪欲之兽的音乐
商业出版物附带CD
官方书籍
东方香霖堂
东方三月精
第一季
月之妖精
第二季
第三季
第四季
东方文花帖
风之号外
东方紫香花
六十年不见的紫香花
东方儚月抄
漫画
小说
四格
东方茨歌仙
东方铃奈庵
东方醉蝶华
东方智灵奇传
东方求闻史纪
记忆幻想乡
东方求闻口授
魔理沙的魔法书
宇佐见的魔法书
东方外来韦编
东方文果真报
东方人妖名鉴
宵暗篇
常世篇
幻想Narrato Graph
官方角色
公式资料
附带文档
游戏对话
官方作品光盘信息
角色自称用词表
官作译名更改记录
原作物品列表
出典文献列表
其他ZUN参与的作品
西方Project
黄昏酒场
东方关联人物
游戏攻略
东方相关活动
从第二家开始的广播
东方STATION
数码游戏博览会
PoriPori☆Club
niconico超会议
斗会议
niconico原创游戏祭
枯萎Radio
GDGD
其他相关项目
东方我乐多丛志
东方四方山新闻
Play,Doujin!
东方电书流通
东方音乐流通
二次创作与活动
展会及活动导航
Comic Market
博丽神社例大祭
博丽神社例大祭SP
博丽神社秋季例大祭
博丽神社例大祭in台湾
海外博丽神社例大祭
博丽神社歌谣祭
博丽神社崇敬会相关活动
COMICUP
上海THONLY
东方Only活动
东方红楼梦
角色Only活动
作品Only活动
地区Only活动
其他地区举办的展会
其他展会
M3
COMIC1
展会作品列表
展会作品数量
展会同人志列表
展会专辑列表
展会软件列表
展会视频列表
商业二次创作
电脑游戏
东方月神夜
家用机游戏
Play,Doujin
手机游戏
东方大炮弹
东方LostWord
东方Dungeon Dive
东方弹幕神乐
东方幻想Eclipse
同人二次创作
同人社团列表
同人志分类
同人专辑分类
同人专辑搜索
原曲作品数量
同人软件列表
Steam游戏列表
同人角色列表
同人视频列表
其他形式同人
同人文章列表
同人画师列表
同人封面角色
东方相关周边
PVCFigure
GarageKit
小型物品
其他形式周边
MUGEN
THB相关项目
THB策划
中文东方人气投票
东深见讲坛
幻想乡柱状地图
THB衍生
同人专辑搜索
原曲认知测验
东方相关QQ群组列表
THB媒体
微博
Bilibili
直播间
GitHub
THB协力
博丽神主ZUN微博
东方我乐多丛志
MineCraft幻想乡
京都幻想剧团
幻奏盛宴
功能与帮助
最近更改
随机浏览
编写规范
收录方针
命名规范
同人社团
同人音乐
封面图片
二次设定
编辑帮助
基础帮助
常用模板
进阶代码
函数用法
编写翻译表
语义维基
样式类用法
颜色列表
工具
链入页面
相关更改
特殊页面
页面信息
其他
联系管理员
关于THBWiki
捐款支持
语言
English
italiano
日本語
中文