Skip to main content
Back to research

An overview of ontology quality issues in air and ocean freight data standards, tested against IATA ONE Record and DCSA

Published 17 August 2026. Available in English and Traditional Chinese.

Repository on GitHub (opens in new tab)

Taiwan sits at the centre of two global freight networks. China Airlines and EVA Air are among the world's largest air cargo operators, and Evergreen, Yang Ming and Wan Hai make Taiwan a top-tier container shipping nation. Both networks are converging on open data standards. We audited them, and the air cargo side has a problem worth knowing about before you build on it.

The finding

IATA ONE Record publishes its data model as an OWL ontology under an MIT licence. We validated every released version with two independent engines, our own open-source Open Ontologies engine and rdflib. They agree exactly.

ReleasePropertiesMissing rdfs:domainClasses missing a labelTotal lint issues
2022-12496012
2023-12522522 (100 per cent)57636
2024-12534534 (100 per cent)58650

Every property in the December 2022 ontology declared an rdfs:domain. In December 2023, none of the 522 properties did. In December 2024 the model grew to 534 properties and still none do. This happened in one release and has persisted through two.

What it costs an implementer

An rdfs:domain axiom lets a reasoner infer a subject's type from the property attached to it. Remove it and inference silently returns less. Queries that worked against the 2022-12 ontology return fewer results against 2024-12, and no release note explains the change.

Teams generating SHACL shapes or JSON Schema from the ontology will produce weaker constraints, so records that ought to fail validation will pass. Ontology-driven editors and mapping tools use domain declarations to decide which properties belong to which class, so with none declared every property appears to apply to everything. The 57 classes carrying no rdfs:label make this worse, because human-facing tooling falls back to raw IRIs.

The ocean side, for contrast

DCSA publishes its ocean container standards as OpenAPI specifications under Apache 2.0, currently 174 specification files spanning booking, electronic bills of lading, track and trace, and operational vessel schedules, with beta and final versions retained side by side. That versioning discipline is genuinely good practice. The lesson from the air cargo side is what happens when a semantic layer changes underneath implementers without a migration note, and the same risk applies to any organisation consuming multiple beta revisions of an evolving API specification.

What we are not claiming

We have no evidence this was accidental and we do not assert that it was. Omitting rdfs:domain is a legitimate modelling choice, usually made to prevent unintended inference under an open world assumption. Our claim is narrow and checkable: the axioms were present in 2022-12, they are absent in 2023-12 and 2024-12, no migration guidance accompanies the change, and anyone who upgraded across that boundary inherited the difference silently.

We raised this with IATA through the repository's own public channel before publishing.

Reproduce it yourself

Clone IATA-Cargo/ONE-Record. Take the data model ontology from the 2022-12 and 2024-12 folders. Count the properties typed owl:ObjectProperty or owl:DatatypeProperty, then count how many appear as the subject of an rdfs:domain triple. The difference is the finding. The repository is MIT licensed, so the check costs nothing but a minute.

This is our general method. Identity and conformance are dated claims made by a named source rather than properties of a thing, so we record who asserted what and when, and we compute every published number two independent ways before we publish it.

Working with us

We offer bounded first engagements. For a carrier or forwarder, that is a fixed-scope conformance audit of your ONE Record or DCSA implementation against the published specifications, delivered as a reproducible script you keep, together with a written assessment of what breaks when you move between releases.

Kampakis and Co Ltd, trading as The Tesseract Academy. fabio@thetesseractacademy.com


空運與海運貨載資料標準的本體品質問題概觀:以 IATA ONE Record 與 DCSA 檢驗

臺灣位居兩大全球貨運網絡的核心。中華航空與長榮航空名列全球最大的空運貨載業者,長榮海運、陽明海運與萬海航運則使臺灣成為頂尖的貨櫃航運國家。這兩個網絡都正在向開放資料標準收斂。我們對其進行了稽核,而空運這一側存在一個值得在建置之前先行了解的問題。

稽核發現

IATA ONE Record 以 MIT 授權公開其資料模型的 OWL 本體。我們以兩個獨立引擎驗證了每一個已發布版本,分別是我們自行開發的開源引擎 Open Ontologies 與 rdflib。兩者結果完全一致。

版本屬性數缺少 rdfs:domain無標籤的類別檢查問題總數
2022-12496012
2023-12522522(100 %)57636
2024-12534534(100 %)58650

2022 年 12 月版本中,每一個屬性都宣告了 rdfs:domain。2023 年 12 月版本的 522 個屬性中,沒有任何一個宣告。2024 年 12 月版本將模型擴充至 534 個屬性,情況依舊。這件事發生於單一版本之中,並且已延續兩個版本。

這對實作者的代價

rdfs:domain 公理讓推理引擎能夠從所使用的屬性推斷主體的型別。移除之後,推理會靜默地產生更少結果。原本在 2022-12 本體上可運作的查詢,在 2024-12 上會回傳較少結果,而版本說明並未解釋此項變更。

從本體產生 SHACL 形狀或 JSON Schema 的團隊,將產生較弱的約束條件,因此原本應當驗證失敗的紀錄會通過驗證。以本體驅動的編輯器與對應工具,依賴領域宣告判斷哪些屬性屬於哪些類別;當沒有任何宣告時,每個屬性看起來都適用於所有事物。另有 57 個類別未帶 rdfs:label,使情況更為嚴重,因為面向使用者的工具會退而顯示原始 IRI。

海運側的對照

DCSA 以 Apache 2.0 授權發布其海運貨櫃標準的 OpenAPI 規格,目前共 174 個規格檔案,涵蓋訂艙、電子提單、追蹤查詢與船舶營運排程,並且將 beta 版與正式版並列保留。這樣的版本治理紀律確實是良好實務。空運側的教訓在於,當語意層在實作者腳下改變而未附帶遷移說明時會發生什麼事,而這個風險同樣適用於任何消費演進中 API 規格多個 beta 修訂版的組織。

我們不主張的部分

我們沒有證據顯示這是意外,也不主張它是意外。省略 rdfs:domain 是一種正當的建模選擇,通常是為了在開放世界假設下避免非預期的推論。我們的主張範圍狹窄且可查核:這些公理存在於 2022-12,在 2023-12 與 2024-12 中不存在,此項變更未附帶任何遷移指引,而跨越該分界升級的任何人都在未被告知的情況下承接了這項差異。

我們已在發表之前,透過該儲存庫本身的公開管道向 IATA 提出此事。

自行重現

複製 IATA-Cargo/ONE-Record。取出 2022-12 與 2024-12 資料夾中的資料模型本體。計算型別為 owl:ObjectProperty 或 owl:DatatypeProperty 的屬性數量,再計算其中有多少個出現在 rdfs:domain 三元組的主體位置。兩者的差額即為本項發現。該儲存庫採用 MIT 授權,因此這項檢查除了一分鐘之外不需要任何成本。

這是我們的一般方法。身分與符合性是由具名來源在特定日期提出的主張,而非事物本身的屬性,因此我們記錄誰在何時主張了什麼,並且在發表之前以兩種獨立方式計算每一個公開數字。

與我們合作

我們提供範圍明確的初期合作。對航空公司或承攬業者而言,那是一項針對貴公司 ONE Record 或 DCSA 實作、對照已發布規格的固定範圍符合性稽核,交付內容包含貴公司可持續保有的可重現腳本,以及一份關於跨版本移轉時會出現哪些問題的書面評估。

Kampakis and Co Ltd(營業名稱 The Tesseract Academy)。fabio@thetesseractacademy.com