名词:对象类型、属性、关系

第 2 课 · 共 6 课 约 6 分钟

对象类型与属性、派生属性、关系的两端、接口、共享属性与值类型。

本课目标

读完这一课,你将能够

  • 用对象类型和属性描述一类业务对象
  • 说出关系的两端,分清一对多和多对多
  • 说出接口、共享属性和值类型各解决什么问题

对象类型和属性

对象类型(Object Type)是一类业务对象:一个主键、一个标题、若干属性。示例本体里有五个:客户公司、智能体、应用、模型用量、云费用。

属性(Property)有类型。除了文字、整数、小数和日期,还有位置(地图上的一个点)、结构(例如联系人:姓名加邮箱)、列表(例如标签)和时间序列(例如每天的用量)。类型定好了,值在写入时就会被检查。

STORED

存下来的属性

客户公司的名称、行业、阶段、座位数、成员数、城市、位置、联系人。

DERIVED

读时计算的属性

「智能体数」沿关系数出来,「累计模型费用」把它全部模型用量的费用加起来。最多沿关系走三步。

关系有两端

关系(Link Type)连接两个对象类型,两端各有一个名字。「公司的智能体」这条关系,从客户公司看叫 agents(智能体),从智能体看叫 customer(所属公司)。有了两端的名字,从哪一头出发都能走过去。

一对多多对多
例子一家客户公司有多个智能体一个应用用多个智能体,一个智能体也接入多个应用
怎么存智能体身上记着公司 ID(外键)每一条连接单独存一条记录
关系能带属性吗不需要可以,例如接入日期

关系是本体的骨架:有了它,「付费客户的全部智能体」这种问题一步就能走到。

接口、共享属性、值类型

INTERFACE

接口

几个对象类型共有的形状。模型用量和云费用都「有费用」,都实现 Billable 接口,于是能放在一起按月汇总成本。接口可以继承:Billable 继承了「按月记录」。

SHARED

共享属性

跨类型复用的属性定义,例如「费用(美元)」「月份」。定义写一次,用它的类型保持一致。

VALUE TYPE

值类型

带约束的类型。「公司 ID」必须以 cell- 开头;「客户阶段」只能是试点、付费、暂停之一;「美元金额」不能小于 0。写入时校验。

要点

  • 对象类型 = 主键 + 标题 + 属性;属性有类型,写入时检查。
  • 派生属性读时计算,沿关系最多走三步。
  • 关系有两端、各有名字;一对多用外键,多对多每条连接单独存。
  • 接口让不同对象类型可以一起用;值类型把规则写进类型里。

练一练

给你们的一类业务对象建模

选一类你们每天都在处理的对象:订单、工单或客户。

写出主键、标题和五个属性,每个属性写上类型;再想一个可以读时计算的属性。

小测

选一个答案,马上看解析。

Q1「客户公司的智能体数」最适合做成什么?

Q2一个应用可以用多个智能体,一个智能体也可以接入多个应用。这是?

Q3要把模型用量和云费用放在一起按月汇总成本,最合适的是?

延伸阅读