# 复用这个世界 *构建元模型 · 第 5 课,共 6 课 · 约 15 分钟* ## 你将学到 如何用已有标准装配模型,而不是把一切都自己写出来:导入、组合规则,以及那份收录 1180 个标准的外部登记册。 ## 装配胜过撰写 建立在这套标准之上的最大模型(一个完整政体:38 个命名空间),其大约三分之二的内容是复用或绑定了既有材料。这个比例正是重点:你的领域没有你感觉的那么独特。地址、国家、货币、组织、人员、发票、技能、许可证——世界早已把这些标准化了,而且往往不止一次。你的模型的价值在于*你的*语义;一切通用之物都应当导入。 ## 导入的机制 外部标准以**语义包**的形式进入模型:带版本、隔离在 `imports/` 之下、保留来源(哪个标准、哪个版本、来自何处)。导入概念与你本地概念之间的对齐关系住在 `mappings/` 之下,作为**语义映射**:显式、带版本、带置信度评分。导入的标准是外部主权归属的一个固定特例:标准组织是主,版本单向流入,而你永远不去编辑自己那份 schema.org 的副本。 ## 组合这个问题 这个反复出现的设计决定看似很小:当你的 `雇员` 需要一个地址时,`地址` 究竟是…… 1. **一个字段**(`employee.address_line: string`), 2. **一个嵌套模型**(一个内嵌的 `Address` 对象), 3. **一个引用**(指向别处一个主权 `Address` 对象的链接)? 标准用检验来回答(身份:它有自己的生命吗?权限:谁治理它的形态?复用:别人需要它吗?),并给出六种组合机制:EMBED、REFERENCE、MIX-IN、EXTEND、MAP、ANNOTATE。它同时也认可*复制是正确的*那些情形:快照(发货时刻的地址应当冻结,而不是引用)、原子值对象,以及主权边界。知道什么时候复制是对的,与知道它通常是错的同等重要。 ## 外部模型登记册 为了省去你自己做调研,生态维护着一份收录 **1180 个外部标准**、覆盖 37 个领域的编目登记册:语义网、医疗、金融、地理空间、法律、电信、科学……每条记录都按**组合角色**(这个标准是值对象?实体模型?文档格式?还是基础设施?)与**默认链接类型**(COMPOSE、REFERENCE、EXTEND、MIX-IN、ALIGN、EMBED)分类。工作流是:在为任何概念建模之前,先在登记册里搜;如果有标准覆盖了它,就用建议的机制绑定;只为差异建模。 针对最常见的 45 个接合处(地址、货币金额、数量、国家、LEI、GTIN……),**连接器目录**又往前走了一步:在你的模型与这些老熟人之间,提供具名、开箱即用的组合连接器。 ## 一次成型的直觉 政体模型为领土绑定 ISO 3166-2,为法律绑定 Akoma Ntoso 与 LegalRuleML,为人员绑定 W3C DID 与 schema.org,为技能绑定 ESCO,为财政绑定 ISO 20022,为模拟时钟绑定 OWL-Time:十来个标准组织汇聚在一个维度里,之所以连贯,是因为每一次绑定都声明了自己的机制。这些轮子无一被重新发明;省下的全部时间都投进了这个模型真正新颖的部分(它的价值基底)。 ## 要点 - 为你的差异建模;把通用之物导入。三分之二的复用率在文明尺度上是可以做到的。 - 字段、嵌套还是引用,是一个已被解决的问题:有检验、有六种机制、有合法的复制。 - 登记册(1180 个已分类的标准)加上连接器目录,让"建模之前先搜一搜"变成一个五分钟的习惯。 ## 深入阅读 - [扩展模型:导入外部标准](/spec/#02-architecture/Extension-Model.md) - [元模型组合(ARCH-016)](/spec/#02-architecture/Meta-Model-Composition.md) - [外部模型登记册](/spec/#06-ecosystem/External-Models-Registry.md) · [连接器目录](/spec/#06-ecosystem/Connector-Catalogue.md) 下一课:[校验与演进](06-validation.md)