
Practical Ontologies & How to Build Them - Part 2
文章摘要
本文是关于如何在 Palantir Foundry 平台上构建操作性本体论的系列文章第二部分。通过深入探讨本体论在数据操作化中的应用,文章分析了如何将组织数据映射到本体概念,并提出了关键设计考量。目标读者为企事业单位、科研院所的专家及投资人,助您理解数据整合与业务优化的新范式。
全文推文
引言:本体论为何重要?
在当今数据驱动的时代,大型组织不可避免地面临复杂的数据环境。不同的业务流程产生信息,这些信息往往被分散存储在孤立的数据库中。例如,一个重型机械车间的运营数据可能与财务交易数据分别存储在不同系统中,尽管财务数据可能涉及车间运营的某些方面(如劳动力成本或耗材价格),但在技术层面上两者并无关联 。这种数据孤岛现象使得组织难以整合信息并高效利用。
Palantir Foundry 作为一款 SaaS 平台,通过引入本体论(Ontology)这一语义层,助力组织将数据操作化。Foundry 的本体论不仅仅是数据结构的映射,更是一种将组织操作中的概念(对象类型)、连接(链接类型)和操作流程(动作)形式化的方法。这种结构化方式极大地简化了数据景观,让人们能够以直观的方式与业务关键信息交互------人类显然更擅长以概念和关系而非计算机优化的行列形式进行思考 。
本文作为系列的第二部分,将深入探讨如何在 Palantir Foundry 平台上构建操作性本体论,分析设计过程中的关键考量,以及如何将组织数据映射到本体概念。我们将从理论到实践,为专业读者提供一套系统化的指南。
第一部分:本体论的核心理念与 Palantir Foundry
在第一部分中,我们已经介绍了本体论的基本概念及其与数据库设计原则的关系 。本体论的构建过程与将非规范化数据库转换为第三范式(3NF)的过程非常相似,但在本体论视角下,传统的数据库架构师问题(如"是否存在复合主键?"或"是否存在传递依赖?")可以转化为更为直观的高层次问题 。
在 Palantir Foundry 中,设计本体论时,您需要回答以下关键问题:
-
业务操作中的主要名词(概念)是什么?
这些构成本体中的对象类型。例如,在教育场景中,可能包括"学生"、"课程"、"注册"、"讲师"、"讲座"、"考勤记录"、"考试"和"考试成绩"等 。
-
每个名词(概念/对象类型)有哪些属性?
例如,学生的属性可能包括姓名、学号等。
-
这些名词之间如何关联?
这些关系将形成本体对象之间的链接。例如,学生与课程之间通过"注册"建立联系 。
-
业务中产生数据的主要动词是什么?
例如,"注册"、"参加"、"退学"、"授课"、"参加考试"、"评分"等 。
-
更新数据的动词有哪些?
例如,"修改成绩"、"更新学生姓名"等 。
-
哪些现实世界事件会触发这些动词(尤其是"更新"动词)?
例如,学生参加考试后触发成绩更新。
-
谁执行这些动作?他们需要哪些信息来支持决策?
例如,讲师需要考勤和历史成绩来评估学生表现。
-
组织内有哪些数据源存储这些名词的属性或动词的结果?
例如,学校可能有学生数据库和考试成绩数据库 。
-
哪些流程可以从改善信息获取中受益?需要哪些本体对象、关系和动作来描述和执行这些流程?
例如,学校可能希望通过历史考试成绩、考勤率和注册课程评估学生是否需要额外支持 。
这些问题帮助我们从业务用户的视角出发,设计出既能捕捉操作所需信息的本体,又能保持足够简单以便终端用户理解和使用 。
第二部分:从数据现实到本体设计
在定义了组织的本体景观、核心业务操作和流程改进需求后,下一步是审视可用的数据资源。数据本身可能会限制您可以创建的本体对象范围。例如,在教育场景中,如果目标是根据每节课的考勤记录评估学生表现,但数据仅以年度汇总百分比形式存储,那么理想的"讲座考勤记录"对象就无法实现。此时,您需要调整本体,创建类似"年度考勤记录"对象,以适应现有数据 。
然而,"利用现有数据"并不意味着完全按照当前数据结构建模。与数据库规范化类似,组织数据可以尽可能接近现实世界的本体表示进行转换和建模,仅在必要时受限于底层数据结构。换句话说,虽然数据景观对本体设计有约束,但不应过度定义其形式 。
以车辆制造商为例,假设有数据源"每周识别问题的最近制造车辆"。尽管可以将每行数据直接转化为本体对象,但更合理的对象类型应是"车辆"和"每周问题报告"。然而,如果希望创建"每日问题报告",但数据仅以周汇总形式存在,则需要访问额外的源系统数据表 。



关键点: 以操作用户在日常任务中思考业务的方式定义概念建模组织,仅在绝对必要时基于可用数据进行约束。切勿陷入完全按照底层数据存储方式建模本体的陷阱 。
第三部分:抽象层级的选择------何时拆分对象类型?
本体设计中常见的问题是何时将单一对象类型拆分为子类型。以车辆制造商为例,假设已创建"车辆"对象类型,但为支持新用例(分析后座对汽车销售的影响及骑行姿势对摩托车销售的影响),添加了新属性。此时,"车辆"对象包含了特定于汽车和摩托车的属性 。

此时有两种选择:
-
继续使用现有的"车辆"对象,希望未来不会添加太多特定于某一车辆类型的属性。
-
将对象拆分为"汽车"和"摩托车"子类型,为未来特定属性提供存储空间 。
通常,第二种选择更优,但决策需考虑"车辆"对象类型的下游依赖及重构为更理想本体表示所需的工作量。例如,若拆分后可进一步细化为"汽车型号"和"摩托车型号"对象,并将"后座"和"骑行姿势"属性存储在型号对象上(如果这些属性不特定于单个车辆),则结构更清晰 。



此外,若"车辆"对象仅有一个不被"汽车"和"摩托车"表描述的属性(如"制造日期"),可以选择在两者上均设置该属性并完全移除"车辆"表。但若存在多个共有属性,或下游分析(如查看每月制造的所有车辆数量)受益于单一"车辆"表,则保留可能更有用 。
关键点: 在设计中寻找合理的中庸之道,尽量减少仅与对象类型子集相关的属性数量,同时最大化本体设计的抽象性以便使用。若某一类型对象中有多个属性仅与子集相关,通常表明需要降低一级抽象层级 。
第四部分:属性归属------本体思维的启发式方法
另一个确定本体对象类型的实用启发式方法是检查已分配给对象的属性,并反复询问:"这个属性实际上属于哪个对象类型?" 若答案是当前对象类型之外的类型,表明需要增加新对象类型,并通过关系链接新旧对象类型 。
例如,假设有一个"人员"对象,包含姓名、年龄及主要住所卧室数量等属性。乍看之下,卧室数量可能是人员的属性,但实际上它属于住所,与人员通过"拥有"关系链接。因此,更合理的本体模型应为"人员"和"住所"两个对象类型 。



关键点: 每当描述属性时用到非当前对象类型的其他对象(如"他们主要住所的卧室数量"),通常表明该属性不属于原对象,应调整本体结构 。
这种思维方式不仅适用于初始本体设计阶段,也适用于后续数据支持本体时审查为下游用例仓促添加的属性。通过本体思维,可以逐步发掘组织数据景观中的潜在数据源,丰富整体数据资产 。
第五部分:故意非规范化------实用性与纯净性之间的权衡
是否以及何时故意非规范化本体(即将一个对象的属性添加到另一个对象上)是一个复杂问题。尽管我们希望应用健全的本体建模在 Foundry 中构建最有用的数据资产,但现实中,适度非规范化常用于提升本体易用性,例如减少用户获取信息所需遍历的链接数量 。
例如,在"人员"和"住所"模型中,若用户频繁需要查看人员及其住所卧室数量,将该属性直接添加到"人员"对象可能更方便,尽管这在纯本体理论中不理想。设计时需权衡理论纯净性与实际操作需求 。
结论:本体论设计是艺术与科学
正如本文所示,即便是简单的现实场景,也可能有多种建模方式。因此,在设计阶段需要深思熟虑,以构建实用且现实的组织操作表示。本体论设计既是一门科学,依赖于对数据结构和业务流程的精确分析,也是一门艺术,需要在抽象与具体、理论与实践之间找到平衡 。
在 Palantir Foundry 中构建操作性本体论,不仅是将数据映射到概念,更是为组织创造一个直观、高效的信息交互框架。对于企事业单位和科研院所而言,这意味着从复杂数据中提取价值,推动业务优化与创新。后续系列文章将继续探讨 Foundry 平台工具与最佳实践,敬请期待。
标签
#本体论 #Ontology #数据整合 #DataIntegration #PalantirFoundry #业务优化
欢迎加入「知识图谱增强大模型产学研」知识星球,获取最新的知识图谱+大模型相关论文、案例和电子书、文章等,重点是医药大健康、工业领域