抽象和类型
上一篇文章说明「建模」,但文章最后留下一个尾巴「抽象」,因为抽象和建模彼此之间是有密切关係的。这一篇文章会完成这个部分的解释。一方面作为前情提要,二方面是重要的事情值得重複,我再说一遍:良好建模的重点在于 1. 记录「目的」相关的要点、 2. 记录有「差异」的点。
差异是比较出来的。两个事物比较的结果就是某些方面「相同」且某些方面「相异」。当我们把「一群事物」集中在一起做比较,再把它们相同的资讯集合起来,这个过程就是抽象(abstraction),而抽象的结果是概念(concept)。比方说,糖果、甘蔗、巧克力可以抽像出「甜」的概念;跑步、跳绳、举重可以抽像出「运动」的概念;你、我、爱因斯坦可以抽像出「人」的概念。
概念是有意义的,概念本身可以单独存在,我们也可以把概念扩充为类型(type)。类型包含了概念,但比概念多了「对某些关键讯息的要求」。也就是说,某个事物想要属于某种类型,就必须满足这个类型的概念,同时提供这个类型要求的关键讯息。例如:人是一个概念(有自身的意义),也可以是一个类型(除了概念的意义,还必须要具备身分证字号、地址、电话...等讯息)。
当然,概念自身的意义是什么,以及类型需要的关键讯息有哪些,都要根据明确的目的才能得知。这就是为什么我认为 Schema.org 很难成功,你可以上 Schema.org 网站看看。Schema.org 试图把现代社会需要的类型(以及概念)整理出来,变成规範。例如:人、交通工具、行为、地点,但 Schema.org 为了通用,没有限定使用目的,这就会导致讯息繁杂,导致最终难以使用。20 年前的 IBM San Francisco 专案试图对各种企业内的各种事物做通用的抽象,最后过于複杂而失败,殷鉴不远。
建模的方式有两种,一种是使用类型,一种是不使用类型。当建模没有基于类型时,需要记录很多资讯;而基于类型的建模只需要记录类型要求的关键讯息(也就是和基本概念有差异的部分),这就是本文章第一段所说的:良好建模的第二个重点在于记录有「差异」的点,所以在建模之前,最好先抽象,把一些概念和其扩充出来的类型确定下来。另外,类型本身是有意义的,所以基于类型的建模,不只是纪录资料,也具有意义。因此,我建议最好一定要在类型的基础上建模。
任何一群事物都可以被抽象为概念并扩充为类型,但近似的一群事物抽象起来意义才大,否则会很笼统。例如:地毯、桌子、米饭只能被抽像出的概念大概就是「东西」,东西是非常笼统的,概念(和类型)太泛太模糊,所以价值很低。
所以在抽象的过程中,往往牵涉到「分类」(classification)。把这一大堆我们想要建模的东西「依据某些特质」分成几类,再为每一类抽象出概念,扩充出类型,这么一来,可以降低概念和类型的模糊,提升概念和类型的价值。这裏提到「依据某些特质」,对「特质」的选择,靠的也是对目的的理解。
做任何事情都不要忘了当初的目的,分类的目的是为了更好地抽象,抽象的目的是更好地建模,良好建模的第一个重点在于记录目的相关的要点。所以我们在抽象和分类时,要持续思考:我们现在进行抽象和分类的行动,未来要如何能够满足建模的目的。
当你试图把一群概念或类型集合在一起,对它们继续抽象时,阶层(hierarchy)就出现了。这就是你在 Schema.org 看到的阶层关係。对于这方面,我简单地总结:採用阶层设计,好处是重複使用定义,缺点是稍微变複杂了。
一定要记得:对「一件」事物做建模,对「一群」事物做抽象。不管是东西、动作、想法、或其他,只要目的清楚,任何一群事物都可以被抽象为概念,扩展为类型。在读过这两篇文章后,你已经清晰地理解模型、建模、抽象、概念、类型、分类。
免责声明:本文由用户上传,如有侵权请联系删除!
猜你喜欢
最新文章
- 中国好声音如果没有你李昊瀚(山野中国好声音李昊瀚唱的那么好为什么淘汰)
- 被套的尺寸是多少(被套尺寸一般是多少简介介绍)
- 怪物x联盟复刻版攻略(怪物x联盟复刻祥云马)
- 阳历是快的还是慢得(快的和慢的哪个是阳历简介介绍)
- 英雄联盟赵信特战先锋(特战先锋德邦总管赵信)
- 凤凰传奇有一首歌叫什么(凤凰传奇有一首歌歌词有)
- 为什么腾讯视频看不了直播(腾讯lpl视频看不了怎么办)
- Blue(Da(Ba Dee) 歌词)
- 联想z475开机黑屏(联想Z475开机超慢怎么回事)
- 吴建豪舞林大会跳的舞(2011舞林大会吴建豪怎么没有看见进复赛)
- 海清结婚了吗现在怎么样了(海清结婚了吗)
- 开十字绣店到哪里进货(开十字绣店在哪里进货怎么进货呢)
- 卫庄大战六剑奴是哪一集(卫庄哪集说的六剑奴是值得一战的对手)
- 微信六年来第一次开始“变脸”为什么
- iphone怎么看已连接wifi密码(iPhone怎么越狱啊)
- 求K233次列车(15车厢的座位号)
- 能链综合能源港里的充电站为何成为香饽饽
- 鸡蛋怎么做比较有营养(鸡蛋怎么做比较好吃)
- lol手游霞怎么出装(LOL新英雄霞与洛逆羽霞如何出装霞怎么出装)
- 穿越火线什么时候上架(穿越火线什么时候能玩)
- 北比臼舅怎么读(北比臼日怎么读)
- 创世之柱任务有什么用(创世之柱任务怎么做)
- 徐磊的歌曲(写给你的歌 徐磊乐演唱作品)
- 广州市经济适用住房准购证明怎么办理(如何取得广州市经济适用住房准购证明)