循序渐进 · 教学 · 属性

属性(Properties)入门

对象类型规定了"这一类事物"长什么样,而真正填充内容的,是属性。这一篇带你认全常见的属性类型,搞懂主键与标题的取舍,并亲手做一次"命名诊所"。

原文 Properties · Overview 预计阅读 10 分钟 互动演示 + 6 道测验
本文来源 · Source 内容整理自 Palantir Foundry 官方文档:
https://www.palantir.com/docs/foundry/object-link-types/properties-overview/
原始标题:Properties · Overview

一句话速览

属性(Properties)入门:对象类型规定了"这一类事物"长什么样,而真正填充内容的,是属性。这一篇带你认全常见的属性类型,搞懂主键与标题的取舍,并亲手做一次"命名诊所"。

1 对象的"列"
属性(property)是对象类型上某个"特征"的结构定义
2 具体那一个值
属性值(property value)指某个对象上、某个属性的具体取值
3 选才稳
标题(title)是界面上那行给人看的文字,可以是一到多个属性拼成,比如用"姓名"或"航班号"做标题
1

什么是属性:对象的"列"

属性描述对象的一个特征,就像表里的一列。

属性(property)是对象类型上某个"特征"的结构定义。比如 Employee 对象类型可以有 employee number(员工工号)、start date(入职日期)、role(岗位)这几个属性。

A property of an object type is the schema definition of a characteristic of a real-world entity or event.属性,是对象类型对某个真实世界特征的结构(schema)定义。

和数据集的类比再次成立:本体里的属性 ≈ 数据集里的一列(column),而下面要说到的属性值 ≈ 单元格(field)

提示:属性是"结构",属性值是"填进去的具体内容"。定义对象类型时你在设计属性,导入或创建对象时才产生属性值。
2

属性值:具体那一个值

同一个属性,在不同对象身上是不同的数值。

属性值(property value)指某个对象上、某个属性的具体取值。比如员工 "Melissa Chang" 在 employee number 上的属性值是 11502,在 role 上是 software engineer

对象employee numberstart daterole
Melissa Chang115022016-10-09software engineer
Akriti Patel118772019-03-21data analyst

对应到数据集:一列是 employee number,而 "Melissa Chang" 那一行里这个列的值 11502,就是属性值,对应一个单元格。

3

支持哪些属性类型(base types)

选对类型,后面才不会踩坑。下面是最常用的一批。

基础类型可作标题可作主键说明 / 注意事项
String / Integer / ShortYesYes最通用,主键首选 String
Date / TimestampYesDiscouraged时间值通常不适合做主键,存储与显示格式不同可能意外冲突,建议用 String
BooleanYesDiscouraged做主键会把对象类型限制成"只有两个实例"。
Byte / LongYesDiscouragedByte 只能经 Integer 参数赋值;Long 在 JavaScript 中大于 1e15 有精度问题,多推荐 String
Float / Double / DecimalYesNo带小数点的数值,金额常用 Decimal
GeopointYesNo纬度,经度 逗号分隔字符串存储,如 57.64911,10.40744
ArrayYes*No内部类型须合法;不能含 null 元素;Object Storage v2 不支持嵌套数组。
StructNoNo不支持嵌套,字段也不能是数组。
Vector / Media Reference / Time Series / Attachment / Geoshape / Marking / Cipher多数为 NoNo专用于向量、媒体、时序、附件、地理形状、标记、加密等场景。
小记:打星号的 Array 仅在内部类型本身可作标题时,才能作标题属性。
4

主键与标题:怎么选才稳

这两个特殊属性决定了对象"怎样被认出、怎样被展示"。

标题(title)是界面上那行给人看的文字,可以是一到多个属性拼成,比如用"姓名"或"航班号"做标题。主键(primary key)则是系统用来唯一辨认每个对象的字段。

稳妥做法
用 String 做主键 稳定、无精度与格式歧义,是最常被推荐的默认选择。
要小心
用时间/布尔做主键 Date、Timestamp 因存储与显示格式差异可能冲突;Boolean 主键会把类型限制成仅两个对象。
提示:主键追求"唯一且稳定",标题追求"人能看懂"。两者职责不同,别用同一个字段硬扛两件事。
5

命名诊所与类型选择(动手)

好的属性名让人一眼读懂;好的类型让人少踩坑。

命名诊所:这些名字该不该改?

点击每行右侧的"为什么",看推荐命名的理由。

场景
不推荐
推荐
员工姓名
emp_nm
employeeName
为什么 →
订单金额
amt
orderAmount
为什么 →
是否完成
done_flag
isCompleted
为什么 →
客户编号
cust_id
customerId
为什么 →

类型选择:点选你的最佳答案

6

选择属性的最佳实践

把前面几条收拢成可执行的清单。

  • 主键优先 String。除非有强理由,否则用稳定文本作主键,避开时间/布尔/长整型的坑。
  • 金额用 Decimal。不要用 Integer 或 Float 存钱,避免截断与精度误差。
  • 地理点用 Geopoint。记得它是 纬度,经度 字符串,别自己拼文本列。
  • 数组不留空。Array 不能含 null 元素,设计前先确认数据质量。
  • 命名用业务语言。驼峰、见名知意,少缩写、少下划线,方便在应用里直接展示。
一句话:属性类型选得对,后面过滤、排序、聚合才顺;命名取得好,业务人员才看得懂。

一页带走

① 属性是列
属性定义对象的一个特征,对应数据集的一列;属性值是具体的单元格。
② 类型要选对
主键优先 String,金额用 Decimal,地理点用 Geopoint,数组不容 null。
③ 主键稳、标题清
主键求唯一稳定,标题求人能读懂,别用同一字段硬扛两者。
④ 命名见名知意
用业务语言、驼峰、少缩写,方便在应用里直接展示给业务人员。

延伸阅读 · 相关页面

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

常见问题速答 · FAQ

关于「属性(Properties)入门」,读者最常问的几个问题。

什么是属性:对象的"列"?
属性(property)是对象类型上某个"特征"的结构定义。比如 Employee 对象类型可以有 employee number(员工工号)、start date(入职日期)、role(岗位)这几个属性。
属性值:具体那一个值是什么?
属性值(property value)指某个对象上、某个属性的具体取值。比如员工 "Melissa Chang" 在 employee number 上的属性值是 11502,在 role 上是 software engineer。
主键与标题:怎么选才稳?
标题(title)是界面上那行给人看的文字,可以是一到多个属性拼成,比如用"姓名"或"航班号"做标题。主键(primary key)则是系统用来唯一辨认每个对象的字段。
命名诊所与类型选择(动手)是什么?
点击每行右侧的"为什么",看推荐命名的理由。