历史建模中的事实类型与实例图及Factual建模语言解析
1. 事实类型图与实例图
事实类型图是对模型的一般性描述,而事实实例图则展示具体示例。实例图有助于说明不同建模决策的后果,在模型实现前提供一种调试方式。
以一场1851年伦敦的国际象棋比赛为例,在“Game”中包含“createdAt”字段很重要。这个字段代表从客户端角度该事实创建的时刻,在此例中是比赛开始的时刻。若建模时没有“createdAt”字段,那么任何在伦敦由Anderssen执白、Kieseritzky执黑的比赛都会被视为同一场比赛。因为一个事实由其类型、字段值和前驱集唯一标识,该模型合理假设两个玩家不会同时开始两场不同的比赛。同时,“createdAt”代表事实成为事实的时刻,而非被特定计算机知晓的时刻。在现代系统中,创建时间常以时间戳形式记录在客户端机器上,其他机器得知该事实后必须尊重这个时间戳。
比赛中的走法(Moves)可以有不同的记录方式:
- 作为比赛事实的后继记录。
- 在另一种模型中,走法彼此作为前驱,随着比赛进行,这个链条会变长,要确定第20步走法就需要遍历整个链条。
- 走法也可以在共同前驱下分组,但这并不改变每个走法是单独记录的事实,分组内走法的顺序不暗示事实间的关系,只是为了方便限制图示大小。
“Win”事实没有字段,它通过聚集的前驱来表达所需信息,组内的每个“Move”都是“Win”的前驱。
事实实例图与事实类型图有很大不同:
| 类型 | 特点 |
| ---- | ---- |
| 事实类型图 | 对给定事实类型的所有可能模型做一般性陈述,用于推理领域的因果关系,允许类型间存在循环
超级会员免费看
订阅专栏 解锁全文
9

被折叠的 条评论
为什么被折叠?



