news 2026/10/7 9:58:28

Schema.org 汽车本体与 Automotive Ontology Working Group:auto.schema.org 扩展及协作贡献机制解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Schema.org 汽车本体与 Automotive Ontology Working Group:auto.schema.org 扩展及协作贡献机制解析
  • 知识图谱
  • 数据

【免费下载链接】schemaorg

Schema.org - schemas and supporting software

项目地址:https://gitcode.com/gh_mirrors/sc/schemaorg
点击查看免费下载

本篇技术指南围绕 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)格式,由三部分构成:

  1. YAML 风格元数据块:以---分隔,包含img(图片地址)、title(协作方名称)、url(协作方官网)三个可选字段,本文件中三者均为空。
  2. DescriptionText.md 区块:协作方的描述文本。
  3. 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)
BusOrCoachVehicle巴士(公交车/长途客车),Coach 为长途旅行的豪华巴士
MotorcycleVehicle单轨、两轮机动车(摩托车)
MotorizedBicycleVehicle带辅助电机的自行车(助力车)
CarUsageTypeEnumeration车辆特殊用途的枚举值
DrivingSchoolVehicleUsageCarUsageType驾校教学用车
RentalVehicleUsageCarUsageType租赁用车
TaxiVehicleUsageCarUsageType出租车

由 data/ext/auto/auto.ttl 可见,前三者直接继承Vehicle,后三者构成CarUsageType枚举体系,用于回答"这辆车被用于什么特殊用途"这一在二手车交易、保险等场景中常见的立法披露需求。其类层次关系见下图:

2.2 AOWG 在 auto.ttl 中贡献的属性全集

auto.ttl 中由 AOWG 贡献的属性数量众多,覆盖性能、重量、容量、排放、动力总成等维度,下表按"域(domainIncludes)/ 取值范围(rangeIncludes)"完整列出(均见 data/ext/auto/auto.ttl 对应行):

属性域取值范围关键说明
accelerationTimeVehicleQuantitativeValue从起始速度加速到目标速度所需时间,单位代码SEC;0–100 km/h、0–60 mph 等参考速度需借助name或valueReference表达
acrissCodeBusOrCoach、CarTextACRISS 汽车分类代码,由汽车租赁行业标准协会制定
bodyTypeVehicleQualitativeValue、Text、URL车身设计与风格,如旅行车(station wagon)、掀背车(hatchback)
emissionsCO2VehicleNumberCO₂ 排放量(g/km),结合 QuantitativeValue 时需在unitText写 "g/km"(UN/CEFACT 无对应通用代码)
engineDisplacementEngineSpecificationQuantitativeValue内燃机活塞排量,单位代码CMQ(立方厘米)、LTR(升)、INQ(立方英寸)
enginePowerEngineSpecificationQuantitativeValue发动机功率,单位代码KWT(千瓦)、BHP(制动马力)、N12(公制马力 PS,1 PS = 735.49875 W)
engineTypeEngineSpecificationQualitativeValue、Text、URL发动机类型
fuelCapacityVehicleQuantitativeValue油箱容量(电动车为电池容量),单位代码LTR、GLL(美制加仑)、GLI(英制加仑)、AMH(安时,用于电动车);多存储组件时取同类总容量
meetsEmissionStandardVehicleQualitativeValue、Text、URL满足的排放标准
modelDateVehicleDate车型发布/改款日期,用于区分同品牌同型号的不同版本
payloadVehicleQuantitativeValue允许的乘员与货物总重(不含整车自重),单位代码KGM(千克)、LBR(磅);注意与weightTotal的区别
roofLoadBusOrCoach、CarQuantitativeValue车顶允许承载的货物与装置(如行李架)总重,单位代码KGM、LBR
seatingCapacityVehicleNumber、QuantitativeValue可乘坐人数,同时考虑物理空间与法律限制,单位代码C62(人)
speedVehicleQuantitativeValue速度范围,单位代码KMH(km/h)、HM(英里/小时)、KNT(节);上限maxValue应为常规条件下可达到的最大速度
tongueWeightVehicleQuantitativeValue挂车对车辆的允许垂直载荷(TWR),亦称 Tongue Load Rating(TLR)或 Vertical Load Rating(VLR),单位代码KGM、LBR
torqueEngineSpecificationQuantitativeValue发动机扭矩(转动力矩),单位代码NU(N·m)、F17(磅力/英尺)、F48(磅力/英寸)
trailerWeightVehicleQuantitativeValue允许牵引的挂车总重,单位代码KGM、LBR
vehicleSpecialUsageVehicleCarUsageType车辆特殊用途,取值为上述CarUsageType枚举
weightTotalVehicleQuantitativeValue满载允许总重(乘员 + 货物 + 整车自重),单位代码KGM、LBR
wheelbaseVehicleQuantitativeValue前后轮中心距(轴距),单位代码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并不只是静态存档,它直接参与站点生成流程,链路如下:

  1. 加载:sdocollaborators.py 的loadCollaborators()通过paths.DefaultInputLayout().domain_files(paths.Domain.DATA, "collab/*.md")扫描data/collab/下所有*.md文件并逐个解析;
  2. 关联:loadContributors()(sdocollaborators.py)执行 SPARQL 查询[] schema:contributor ?val,从词汇图数据中找出所有被引用的贡献者 URI,并通过createContributor()把对应协作方标记为 contributor;
  3. 反向索引: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

项目地址:https://gitcode.com/gh_mirrors/sc/schemaorg
点击查看免费下载

相关推荐

上一篇:Airbyte eBay Finance 声明式连接器实战:基于 manifest.yaml 的低代码数据同步方案
下一篇:RxDB SQLite RxStorage 实战指南:在 Hybrid App 与 Node.js 中基于 SQLite 构建离线优先数据库

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/7 9:58:16

Go语言map预分配容量对性能的影响:benchmark量化分析

Go语言map预分配容量对性能的影响&#xff1a;benchmark量化分析 导语 map是Go语言中最常用的数据结构之一&#xff0c;但它的性能特征却常被误解。很多开发者知道"map可以预分配容量"&#xff0c;但**预分配到底能提升多少性能&#xff1f;**在什么场景下收益最大&a…

作者头像 李华
网站建设 2026/10/7 9:55:11

GPT-SoVITS hps 未定义报错完整修复指南

GPT-SoVITS hps 未定义报错完整修复指南 【免费下载链接】GPT-SoVITS 1 min voice data can also be used to train a good TTS model! (few shot voice cloning) 项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS GPT-SoVITS 这个少样本语音克隆项目&…

作者头像 李华
网站建设 2026/10/7 9:54:45

荣耀手机与iPhone互传文件:碰一碰NFC传输全攻略

荣耀MagicOS 和 iPhone 之间怎么互传文件&#xff0c;这个问题我最近被问了很多次。以前大家默认跨系统传文件就是微信发原图、QQ 传文件&#xff0c;或者干脆用网盘中转&#xff0c;但荣耀 MagicOS 8.0 之后&#xff0c;"荣耀分享"这个功能已经可以做到用 iPhone 直…

作者头像 李华