企业的数字孪生
表只知道格子里是什么;对象还知道它是什么、和谁相连、能对它做什么。名词加动词,才够。

本课目标
读完这一课,你将能够
- 说出数据集和业务对象的差别
- 用「表、行、列、连接」对应「对象类型、对象、属性、关系」,把一张表翻译成对象类型
- 说明为什么只有名词不够,还要有动词
表不等于业务
示例工厂的 MES 里有一张工单表。表里没有一个字告诉你,状态列里的 2 是「已下达」还是「在生产」,L1 是产线还是仓位,200 是计划数还是合格数。懂行的人靠经验,看板靠各自写死的换算,智能体只能猜。
表里的一行
WO-1001 | 2 | L1 | 200:四个值,没有一个字说明它们的含义。
一个对象
工单 WO-1001,状态 running,排在产线 L1 上,属于某张销售订单,计划产出 200 台;可以对它执行「暂停」。
同一张工单,用 SDK 读出来是这样:对象带着类型名和主键,属性用业务名字,不再是第几列。
const client = semantic.ontology();
const wo = await client.objects("WorkOrder").fetchOne("WO-1001");
// wo.__apiName -> "WorkOrder"
// wo.__primaryKey -> "WO-1001"
// wo.status -> "running"
数据集回答「这张表里有什么」。业务对象回答三件事:它是什么,和谁相连,能对它做什么。把每一行变成这样的对象,公司的数据就和真实世界对上了号,这就是数字孪生。本体(Ontology)就是这个孪生:设备、产品、订单是它的对象,检验、发运这样的事件也是。
数据集与对象类型的对照
两边一一对得上。入门最快的办法,就是拿一张你熟悉的表,逐个翻译。
| 数据集 | 本体(Ontology) | |
|---|---|---|
| 一整张表 | MES 里的工单表 | 对象类型 WorkOrder |
| 一行 | 表里的一行 | 一个对象:一张具体的工单 |
| 一列 | 列 PLAN_QTY | 属性 plannedQty,有类型、有说明 |
| 一个格子 | 格子里的值 | 属性值:这张工单的计划数 |
| 连接 | 每次查询临时写的 join | 关系 orderWorkOrders:定义一次,两端各有名字 |
每个对象类型有一个主键,用来认出「是哪一张工单」,还有一个标题属性,用来在列表里显示它。
有两处差别最要紧。第一,连接从「每次查询临时写」变成「定义一次、处处可用」。第二,属性带类型和约束,写进去的值会被检查:WorkOrder 的状态只能是 planned、released、running、paused、done 五个取值之一。
一张表也不一定只对应一个对象类型。一张把订单、订单行和客户名都塞在一起的宽表,通常要拆成几个对象类型,再用关系连起来。怎么拆,第 3 门课专门讲。
常见的误区是以为对象类型只能是「东西」。它也可以是事件:Machine 是一台设备,Inspection 是一次检验,两者都是对象类型。
只有名词不够
光有对象,孪生只是一张好看的地图。企业里真正的工作是决策:看到情况,做出判断,动手,留下记录。一个决策由四样东西组成:
数据
工单、订单、设备读数,来自 ERP、MES,也来自人和智能体做决定时留下的数据。
逻辑
怎样判断:一条规则、一个计算,或者智能体的一次分析。
动作
把决定执行下去:暂停一张工单,起草一张采购订单。
安全
谁能看、谁能做,做过的事都查得到。
数据是名词,动作是动词,逻辑决定怎样把它们拼成句子,安全决定谁有资格说这句话。少了动词,看板只能看,改还得回到 ERP 里手工做。
决策留下的痕迹也是数据。打开了动作记录的 Action,每次执行都会记下谁在什么时候、用什么参数、改了哪些对象,下一次判断就可以拿它当依据。
名词说有什么,动词说能做什么,逻辑决定说哪一句,安全决定谁能说。
在 Semantic 里,Action 带参数、规则和提交条件。它在一个事务里执行,一次最多改 10,000 个对象。成员和智能体通过 Action 改数据。开发者也可直接编辑明确开放直接编辑的 Object Type。
整张地图:四层
整门课按四层来讲,从下往上走一遍。每行的数字是讲它的那一课。
- 05应用与智能体人、应用、智能体和自动化读写同一份对象
- 04工具链API、SDK、CLI、MCP 把能力开放出来
- 03引擎存对象、回答查询、执行 Action
- 02语言对象类型、属性、关系、Action 等构件的定义
下一节从最下面一层开始:把语言层的全部构件放到一张图上,名词有哪些,动词有哪些,名字怎么写。
要点
- 表只记录格子里是什么;对象类型还说明它是什么、和谁相连、能对它做什么。
- 数据集、行、列、连接,对应对象类型、对象、属性、关系。
- 对象类型既可以是东西(设备),也可以是事件(检验)。
- 一个决策由数据、逻辑、动作、安全四样组成,名词加动词才够。
练一练
翻译一张你们的表
选一张你们每天都要看的表:订单、工单、库存都行。
写出它对应的对象类型:主键、标题、五个属性,每个属性写上类型。
表里哪些列其实是在指向别的表?把它们改写成关系,两端各起一个名字。
列出人们对这类对象做的三件事。每一件写出需要哪些参数、谁能做。
小测
选一个答案,马上看解析。
Q1为什么要把工单表的一行变成对象?
对象的价值在于含义、关系和动词,不在存储。对象类型仍然有主键。
Q2检验(Inspection)可以做成对象类型吗?
一次检验、一次发运都是真实发生的事,同样是对象类型,同样有属性和关系。
Q3「把这张工单暂停」在 Semantic 里应该怎么做?
Action 带参数校验、提交条件、权限和记录。暂停工单应走 Action。直接编辑只对明确开放的类型可用,不能代替这个业务动作。