循序渐进 · 教学 · 接口(一)

接口(Interface):描述"形状"的本体类型

接口描述对象类型的形状和能力,让共享同一形状的对象类型能被一致地建模和使用。这一篇讲清接口是什么、和对象类型有什么区别。

全部目录 ← 上一篇 接口(Interface):描述"形状"的本体类型 下一篇 →
本文来源 · Source 内容整理自 Palantir Foundry 官方文档:
https://www.palantir.com/docs/foundry/interfaces/interface-overview/
原始标题:Interfaces > Overview

先记住这几条

① 接口描述"形状"
它规定有哪些属性、链接和能力,但不规定具体实现。
② 与对象类型是两类东西
对象类型是具体实体,接口是抽象契约 —— 这是最容易混淆的点。
③ 作用是一致性
不同对象类型只要实现同一接口,就能被同一套逻辑处理。
④ 支持程度有边界
接口不是所有功能都支持,要看当前支持矩阵。
0

写在前面

接口(interface)是一种描述对象类型形态及其能力的 Ontology 类型。接口使得对共享相同形态的对象类型能够进行一致的建模与交互。例如,Facility 接口可以包含 Facility Name(设施名称)和 Location(位置)属性。Facility 可由 Airport(机场)、Manufacturing Plant(制造工厂)或 Maintenance Hangar(维修机库)等对象类型实现,这些对象类型各自还可以包含额外的、特定于类型的属性。

一个 `Facility` 接口的示例。
一个 `Facility` 接口的示例。

通过使用 Facility 接口,工作流既可以在聚合层面、也可以独立地与 AirportManufacturing PlantMaintenance Hangar 对象类型交互,而无需了解这些对象类型的具体细节。此外,如果引入了新实现 Facility 接口的对象类型,该工作流将立即与新对象类型兼容,无需额外的重构。

查阅当前支持程度,了解在平台的哪些位置可以使用接口。

1

接口能提供什么

接口能提供什么

要点:先看清接口能表达哪些内容:属性、链接类型、动作类型约束等。

一个接口由接口属性、链接类型约束动作类型约束以及关于接口的元数据组成。接口属性可以在接口本地定义(推荐),也可以使用共享属性。一个接口可以被多个对象类型实现。

与编程语言中的接口非常相似,你可以扩展一个接口以创建一个继承原接口属性的子接口,然后再为子接口添加新的、更具体的属性。对象类型随后可以实现该接口,表明它们符合该接口定义。一个对象类型可以实现多个接口,用于不同的工作流。接口也可以扩展多个其他接口,包括那些本身又扩展了其他接口的接口,从而形成通过多层接口继承而来的属性。

2

接口 vs 对象类型

接口 vs 对象类型

要点:最核心的一节:两者的本质区别,理解了这个才算懂接口。

接口与对象类型在 Ontology 中既有功能差异,也有风格差异。

对象类型是具体的:它们由共享或本地属性定义 schema,由包含属性值的数据集支撑,并且可以被实例化为对象。

相比之下,接口是抽象的:它们由接口属性定义 schema,不由数据集支撑,不能直接实例化,而必须作为某个具体的对象类型实例化。

在风格上,接口在平台中通过图标周围的虚线,与对象类型在视觉上区分开来。

接口图标示例
接口图标示例
3

接口权限

接口权限

要点:接口上的权限如何生效,与对象权限的关系。

接口通过 Ontology 角色进行权限控制。

4

当前支持程度

当前支持程度

要点:哪些能力已支持、哪些还不行 —— 动手前必看。

随着对接口这一 Ontology 类型的支持不断扩大,其可用性在 Palantir 平台各处会有所不同。

以下应用与服务当前已支持接口:

以下应用与服务部分支持接口:

  • Actions 定义用于创建、修改、删除或链接实现某接口的对象类型的动作。接口动作类型约束处于 Beta 阶段,可用于定义跨实现该接口的对象类型的预期动作能力。
  • Object Set Service 按接口搜索和排序对象。按接口聚合的支持正在开发中。接口链接类型的支持正在开发中。
  • Ontology SDK 使用接口作为与实现对象类型交互的 API 层。支持程度因语言而异;目前支持 TypeScript,Java 与 Python 的支持正在开发中。

以下位置接口仍在积极开发中,但尚未支持

5

开始使用接口

开始使用接口

要点:下一步该看什么。

要为你的 Ontology 添加接口,你可以创建新接口,或扩展已有接口。一旦有了接口,你可以让一个形态合适的对象类型实现该接口,或随着 Ontology 演进编辑它,以更好地贴合你的组织。

延伸阅读 · 相关页面

按主题横向跳转,不必顺着目录一篇篇读。

常见问题速答 · FAQ

关于「接口(Interface):描述"形状"的本体类型」,读者最常问的几个问题。

接口能提供什么?
先看清接口能表达哪些内容:属性、链接类型、动作类型约束等。一个接口由接口属性、链接类型约束、动作类型约束以及关于接口的元数据组成。接口属性可以在接口本地定义(推荐),也可以使用共享属性。一个接口可以被多个对象类型实现。
接口 vs 对象类型是什么?
最核心的一节:两者的本质区别,理解了这个才算懂接口。接口与对象类型在 Ontology 中既有功能差异,也有风格差异。
接口权限是什么?
接口上的权限如何生效,与对象权限的关系。接口通过 Ontology 角色进行权限控制。
当前支持程度是什么?
哪些能力已支持、哪些还不行 —— 动手前必看。随着对接口这一 Ontology 类型的支持不断扩大,其可用性在 Palantir 平台各处会有所不同。