Summary

  • W3CのData Shapes Working Groupは2026年9月17日、SHACL 1.2 Inference Rulesを初の公開作業草案として公表した。規則そのものの草案は2025年12月にも存在した。
  • 草案は入力の基礎グラフと推論グラフを区別する。sh:sourceRuleで結果を規則に結び付ける機能は設けるが、エンジンが必ず出力する要件ではない。
  • 公開作業草案はW3C勧告でも加盟組織の承認でもない。テストを全て通っても未検査の要件まで証明されるわけではない。

規則を使うシステムは、既存の記述から新しい記述を作れる。その利点は明快だが、出力を受け取る人には見えにくい境界がある。画面上の一つの関係が、入力資料にあったのか、計算で加わったのか。後者なら、どの規則とどの版の入力に依存したのか。結果だけを別の組織へ渡すと、この問いは急に難しくなる。

9月17日の文書は、SHACL Coreが扱う形状・検証と、推論規則による追加トリプルの生成を分けている。ただし「新たに推論が生まれた」とは書けない。W3Cは2025年12月にSHACL 1.2 Rulesの初公開草案を出している。今回の出来事は、Inference Rulesという文書が公開作業草案として示されたことだ。

技術的には、元からある記述を基礎グラフに置き、新たな記述を推論グラフに置く。両者を合わせた評価グラフを使いながら、規則を層ごとに実行し、順序を付け、必要なら繰り返す。一時的なトリプルは途中の計算に使われ、最後には消える。したがって、完成したグラフだけを保存しても、そこに至る全工程を保存したことにはならない。

任意の追跡情報が示すもの

第9節は、生成したトリプルと元になった規則をsh:sourceRuleで結ぶ追跡情報を説明する。ただしエンジンがその追加情報を出すかどうかは「MAY」だ。出す場合も、その追跡情報を実行中の規則から見えるようにしてはならない。結果の説明が結果そのものを変えないための分離である。

規則名が残ったとしても、それだけで監査は終わらない。入力グラフの版、規則集合の版、エンジンが対応した規則の種類、反復の上限、実行の完了状態は別の記録を要する。文書がそのすべてを自動的に配達するわけではない。この記事は、特定の製品や組織で実際に欠落が起きたと主張しているのではなく、任意の機能と下流の判断との間にある設計上の空白を扱う。

草案は、対応できない規則型に出会ったエンジンに失敗の報告を求める。反復回数や生成数の上限に達したときも、設定によって失敗を返せる。非規範的な安全性の節は、大きな計算・メモリ消費や任意のアプリケーションデータ生成に触れる。途中で止まった実行を完了した推論と取り違える危険は、この失敗境界から導かれる実務上の判断だ。

最後に文書の格付けを確認しておく。勧告に向かう手続き上の草案だが、公開はW3Cや加盟組織の支持を意味しない。仕様は変わりうる。Lu Hengの「動くコードを優先する」という考え方は、ここでは文書の状態と再現できる挙動を分ける編集上の物差しであり、W3Cの技術判断の代弁ではない。

Sources