- 知识图谱
- 数据
【免费下载链接】schemaorg
Schema.org - schemas and supporting software
本篇技术指南围绕 Automotive_Ontology_Working_Group.md 这份协作方(collaborator)元数据文档展开,解析 Schema.org 汽车本体(Vehicle 及车辆相关术语)的来源组织与贡献机制:既说明该文档在仓库中的定位与解析流程,也结合 data/ext/auto/auto.ttl 与 data/schema.ttl 的源码级证据,完整梳理 AOWG 贡献的类、属性、取值范围与单位代码约定,帮助读者掌握汽车数据的建模与标注方法,并理解 Schema.org 扩展术语如何通过贡献方声明进入主词汇表。
一、协作方元数据文档:AOWG 在 Schema.org 中的身份声明
在 Schema.org 仓库中,data/collab/目录存放一系列"协作方"元数据文件,用于记录某个外部组织对本词汇表的术语贡献。Automotive_Ontology_Working_Group.md 即 Automotive Ontology Working Group(简称 AOWG,汽车本体工作组)的正式声明文件,其核心内容为:
该元素基于 Automotive Ontology Working Group 的工作成果,详见其官方网站;许多类(class)和属性(property)的定义受到维基百科(Wikipedia,自由百科全书)条目摘要的启发或以其为基础。
文件采用仓库统一的"伪 Markdown"(pseudo-markdown)格式,由三部分构成:
- YAML 风格元数据块:以
---分隔,包含img(图片地址)、title(协作方名称)、url(协作方官网)三个可选字段,本文件中三者均为空。 - DescriptionText.md 区块:协作方的描述文本。
- AcknowledgementText.md 区块:致谢文本,即上文引用的那句声明。
该格式的解析逻辑由 sdocollaborators.py 实现:_parseDesc()按SECTION_SEPARATOR(---)切分段落,用正则INCLUDE_RE(---\s+([^.]+)\.md)识别DescriptionText、AcknowledgementText等区块选择器,将对应内容解析为协作方描述与致谢文本;frontmatter 中的img、title、url则作为协作方属性存储。解析完成后,每个协作方会获得一个基于os.path.join("/docs", "collab", ref)生成的 URI(如https://schema.org/docs/collab/Automotive_Ontology_Working_Group),该 URI 正是下文所有:contributor引用指向的目标。这一解析行为还有对应的单元测试 test_sdocollaborators.py 加以验证。
简而言之:这份看似只有一句话的文档,实际是 Schema.org 词汇表中大量汽车术语"贡献者署名"的注册表入口,仓库内所有标注:contributor <https://schema.org/docs/collab/Automotive_Ontology_Working_Group>的类与属性,都通过它完成身份关联。
二、AOWG 与 auto.schema.org 扩展:汽车领域术语的独立命名空间
AOWG 的汽车术语并非全部塞进主词汇表,而是首先沉淀在一个独立的扩展命名空间auto.schema.org中,其 Turtle 定义文件为 data/ext/auto/auto.ttl(共 218 行)。该文件中每个术语都同时声明两个关键关系:
:contributor <https://schema.org/docs/collab/Automotive_Ontology_Working_Group>:声明贡献者;:isPartOf <https://auto.schema.org>:声明归属的扩展命名空间。
auto.schema.org命名空间在仓库中还被 SPARQL 查询直接引用,例如 test_graphs.py 中的?term schema:isPartOf <https://auto.schema.org>即用于校验术语归属关系。
2.1 AOWG 定义的车辆类层次
auto.ttl 中由 AOWG 贡献的核心类如下:
| 类 | 父类 | 定义要点(取自 rdfs:comment) |
|---|---|---|
BusOrCoach | Vehicle | 巴士(公交车/长途客车),Coach 为长途旅行的豪华巴士 |
Motorcycle | Vehicle | 单轨、两轮机动车(摩托车) |
MotorizedBicycle | Vehicle | 带辅助电机的自行车(助力车) |
CarUsageType | Enumeration | 车辆特殊用途的枚举值 |
DrivingSchoolVehicleUsage | CarUsageType | 驾校教学用车 |
RentalVehicleUsage | CarUsageType | 租赁用车 |
TaxiVehicleUsage | CarUsageType | 出租车 |
由 data/ext/auto/auto.ttl 可见,前三者直接继承Vehicle,后三者构成CarUsageType枚举体系,用于回答"这辆车被用于什么特殊用途"这一在二手车交易、保险等场景中常见的立法披露需求。其类层次关系见下图:
2.2 AOWG 在 auto.ttl 中贡献的属性全集
auto.ttl 中由 AOWG 贡献的属性数量众多,覆盖性能、重量、容量、排放、动力总成等维度,下表按"域(domainIncludes)/ 取值范围(rangeIncludes)"完整列出(均见 data/ext/auto/auto.ttl 对应行):
| 属性 | 域 | 取值范围 | 关键说明 |
|---|---|---|---|
accelerationTime | Vehicle | QuantitativeValue | 从起始速度加速到目标速度所需时间,单位代码SEC;0–100 km/h、0–60 mph 等参考速度需借助name或valueReference表达 |
acrissCode | BusOrCoach、Car | Text | ACRISS 汽车分类代码,由汽车租赁行业标准协会制定 |
bodyType | Vehicle | QualitativeValue、Text、URL | 车身设计与风格,如旅行车(station wagon)、掀背车(hatchback) |
emissionsCO2 | Vehicle | Number | CO₂ 排放量(g/km),结合 QuantitativeValue 时需在unitText写 "g/km"(UN/CEFACT 无对应通用代码) |
engineDisplacement | EngineSpecification | QuantitativeValue | 内燃机活塞排量,单位代码CMQ(立方厘米)、LTR(升)、INQ(立方英寸) |
enginePower | EngineSpecification | QuantitativeValue | 发动机功率,单位代码KWT(千瓦)、BHP(制动马力)、N12(公制马力 PS,1 PS = 735.49875 W) |
engineType | EngineSpecification | QualitativeValue、Text、URL | 发动机类型 |
fuelCapacity | Vehicle | QuantitativeValue | 油箱容量(电动车为电池容量),单位代码LTR、GLL(美制加仑)、GLI(英制加仑)、AMH(安时,用于电动车);多存储组件时取同类总容量 |
meetsEmissionStandard | Vehicle | QualitativeValue、Text、URL | 满足的排放标准 |
modelDate | Vehicle | Date | 车型发布/改款日期,用于区分同品牌同型号的不同版本 |
payload | Vehicle | QuantitativeValue | 允许的乘员与货物总重(不含整车自重),单位代码KGM(千克)、LBR(磅);注意与weightTotal的区别 |
roofLoad | BusOrCoach、Car | QuantitativeValue | 车顶允许承载的货物与装置(如行李架)总重,单位代码KGM、LBR |
seatingCapacity | Vehicle | Number、QuantitativeValue | 可乘坐人数,同时考虑物理空间与法律限制,单位代码C62(人) |
speed | Vehicle | QuantitativeValue | 速度范围,单位代码KMH(km/h)、HM(英里/小时)、KNT(节);上限maxValue应为常规条件下可达到的最大速度 |
tongueWeight | Vehicle | QuantitativeValue | 挂车对车辆的允许垂直载荷(TWR),亦称 Tongue Load Rating(TLR)或 Vertical Load Rating(VLR),单位代码KGM、LBR |
torque | EngineSpecification | QuantitativeValue | 发动机扭矩(转动力矩),单位代码NU(N·m)、F17(磅力/英尺)、F48(磅力/英寸) |
trailerWeight | Vehicle | QuantitativeValue | 允许牵引的挂车总重,单位代码KGM、LBR |
vehicleSpecialUsage | Vehicle | CarUsageType | 车辆特殊用途,取值为上述CarUsageType枚举 |
weightTotal | Vehicle | QuantitativeValue | 满载允许总重(乘员 + 货物 + 整车自重),单位代码KGM、LBR |
wheelbase | Vehicle | QuantitativeValue | 前后轮中心距(轴距),单位代码CMT(厘米)、MTR(米)、INH(英寸)、FOT(英尺) |
值得注意的通用约定(多处注释反复出现):重量与尺寸类属性均允许通过name补充说明、通过valueReference关联确定方式(QualitativeValue/QuantitativeValue),并通过minValue/maxValue表达取值范围;数值注释中对单位代码的使用非常严谨,明确区分了KGM/LBR、SEC、C62等 UN/CEFACT 代码,这对实现可互操作的结构化数据非常重要。
三、AOWG 术语进入主词汇表:schema.ttl 中的 contributor 溯源
AOWG 的贡献不止停留在 auto.schema.org 扩展,部分术语已被吸收进 Schema.org 主词汇表 data/schema.ttl。搜索该文件可发现 30 余处:contributor <https://schema.org/docs/collab/Automotive_Ontology_Working_Group>标注,例如:
Car类(data/schema.ttl):定义为"用于运输的轮式、自驱动机动车",rdfs:subClassOf :Vehicle;vehicleConfiguration(data/schema.ttl):车辆配置短文本,如'5dr hatchback ST 2.5 MT 225 hp'或'limited edition',取值范围Text;vehicleEngine(data/schema.ttl):车辆发动机信息,取值范围EngineSpecification;vehicleIdentificationNumber(data/schema.ttl):车辆识别码 VIN,且声明为serialNumber的子属性(rdfs:subPropertyOf :serialNumber),取值范围Text;vehicleInteriorColor/vehicleInteriorType(data/schema.ttl):内饰颜色与内饰类型/材质(如合成织物、皮革、木质);vehicleModelDate(data/schema.ttl):车型发布时间,取值范围Date;vehicleSeatingCapacity(data/schema.ttl):可乘坐人数,取值范围Number、QuantitativeValue;vehicleTransmission(data/schema.ttl):传动类型(变速箱),取值范围QualitativeValue、Text、URL。
这些vehicle*属性与 auto.ttl 中的术语共同覆盖了汽车广告、租赁、二手车交易中几乎全部关键描述维度,其与Vehicle类及取值类型的关系可参见下图:
3.1 版本发布中的溯源标注
在历史发布版本中,AOWG 贡献的溯源信息以另一种形式保留::source <http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group>。例如 data/releases/10.0/schema.ttl 等位置,说明这些术语来源于 W3C WebSchemas 社区组的 SchemaDotOrgSources 文档,该文档按贡献方组织术语来源清单。在较新的版本(如 data/releases/30.1/schema.ttl)中,主词汇表则改用:contributor直接指向docs/collab/下的协作方文档——两种标注方式反映了 Schema.org 从"来源清单"到"贡献方注册表"的演进。
四、从声明到页面:协作方文档如何支撑站点构建
data/collab/*.md并不只是静态存档,它直接参与站点生成流程,链路如下:
- 加载:sdocollaborators.py 的
loadCollaborators()通过paths.DefaultInputLayout().domain_files(paths.Domain.DATA, "collab/*.md")扫描data/collab/下所有*.md文件并逐个解析; - 关联:
loadContributors()(sdocollaborators.py)执行 SPARQL 查询[] schema:contributor ?val,从词汇图数据中找出所有被引用的贡献者 URI,并通过createContributor()把对应协作方标记为 contributor; - 反向索引:
getTerms()(sdocollaborators.py)通过SdoTermSource.getAcknowledgedTerms(self.uri)获取该贡献方名下的全部术语,用于生成协作方页面与术语页面的互链。
也就是说,只要某个术语在 TTL 中声明了:contributor,构建工具就能自动建立"术语 ↔ 协作方"的双向索引;而 Automotive_Ontology_Working_Group.md 中的描述与致谢文本,最终会渲染到 schema.org 站点 docs/collab 相关页面上。仓库中还提供了面向读者的汽车领域文档 docs/automotive.html,可作为查看汽车本体使用说明的入口。
五、实践要点小结
- 如何定位 AOWG 贡献的全部术语:在主词汇表与扩展文件中搜索
:contributor <https://schema.org/docs/collab/Automotive_Ontology_Working_Group>,即可得到完整的类与属性清单(主表见 data/schema.ttl,扩展见 data/ext/auto/auto.ttl); - 如何区分主表与扩展:带
:isPartOf <https://auto.schema.org>的术语属于 auto.schema.org 扩展命名空间,未带该标注的属于 schema.org 主词汇表;发布版本中的schemaorg-all-http.ttl、schemaorg-current-http.ttl等文件则包含全部已发布术语的合并视图(见 data/releases/30.1); - 建模注意点:重量/尺寸/性能类属性优先使用
QuantitativeValue结合unitText与 UN/CEFACT 单位代码,范围类数据用minValue/maxValue,测量方式等附加信息用valueReference;payload与weightTotal语义不同(前者不含整车自重),roofLoad与tongueWeight均只适用于特定车辆类型(BusOrCoach、Car)。
六、延伸阅读(仓库内路径)
- 协作方文档格式解析器:software/SchemaTerms/sdocollaborators.py
- 解析器单元测试:software/tests/test_sdocollaborators.py
- auto.schema.org 扩展本体:data/ext/auto/auto.ttl
- 主词汇表(含
:contributor标注):data/schema.ttl - 命名空间归属校验查询:software/tests/test_graphs.py
- 汽车领域相关图片:
docs/automotive-img/(类层次、属性关系、ACRISS 代码与车顶载荷等)
- 知识图谱
- 数据
【免费下载链接】schemaorg
Schema.org - schemas and supporting software
相关推荐
Schema.org 中的 GoodRelations 词表:电子商务数据模型与协作贡献机制解析
Schema.org 中的 GoodRelations 词表:电子商务数据模型与协作贡献机制解析 Schema.org 是一个由 Google、Microsof
知识图谱数据Schema.org 协作伙伴元数据与贡献鸣谢机制解析——以 IIT-CNR.it(Future Internet Lab)文件为例
Schema.org 协作伙伴元数据与贡献鸣谢机制解析——以 IIT CNR.it(Future Internet Lab)文件为例 本文以仓库中 data/c
知识图谱数据Schema.org 与 FIBO 金融本体协作:FIBO.md 协作方声明机制与金融术语溯源解读
Schema.org 与 FIBO 金融本体协作:FIBO.md 协作方声明机制与金融术语溯源解读 Schema.org 的金融类词条(银行账户、信用卡、贷款、
知识图谱数据
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考