---
type: guideline
title: 第6章 規範レイヤー・URN・トレーサビリティ
source: デジタル庁
profile: mrlgss-doc/0.1
category: data-interop
status: draft
updated: 2026-06-16
---

# 第6章 規範レイヤー・URN・トレーサビリティ

仕様の概念は孤立して存在しない。法律が省令に委任し、省令が告示を委任し、告示が技術仕様から焼かれ、
データ項目が機能要件を参照する。本章は、この関係を機械可読に表すための**規範レイヤー**・**URN**・
**リンク**を定める。

## 6.1 規範レイヤー（L1〜L4）

各概念は規範の階層に位置づけられる。frontmatter の `norm_layer` で表明する。

| レイヤー | 内容 | type |
|---|---|---|
| L1 | 法律（標準化法等） | `gov-law` |
| L2 | 省令（標準化基準） | `gov-ordinance` |
| L3 | 告示（別表・細目） | `gov-notice` |
| L4 | 技術仕様正本（機能要件・データ要件・コード・帳票） | `gov-functional-requirement` / `gov-schema` / `gov-vocab` |

法的権威の向きは L1→L4（上位が下位を委任・授権する）。一方、**オーサリングの流れは L4→L3**である。
告示（L3）は技術仕様正本（L4）の法定レンダリングであり、人が告示を手書きするのではなく、L4 から焼く
（§6.4）。

## 6.2 URN 体系

概念の識別子は URN で与える。名前空間オーナーは**国（gov）**である。全自治体が同一の `001-00020 氏名`
を共有できるのは、それが 1 つの国の標準だからであり、自治体は適合する側で名前空間オーナーではない。
よって正本はすべて `urn:jp:gov:...` で始まる。

固定プレフィクス `urn:jp:gov:` の後、**広→狭**で降りる（粗くて安定した軸を先に）。

**(1) 標準概念系**（業務スコープ）:

```
urn:jp:gov:std:{業務コード}:{種別}[:{id}]
```

| 概念 | URN 例 |
|---|---|
| 業務索引 | `urn:jp:gov:std:001:business` |
| データ要件スキーマ | `urn:jp:gov:std:001:schema` |
| コード語彙 | `urn:jp:gov:std:001:vocab:004` |
| 機能要件 | `urn:jp:gov:std:001:func:0010580` |

**(2) 法令系**（法令 ID スコープ）:

```
urn:jp:gov:{law|ordinance|notice}:{法令ID}[#フラグメント]
```

| 概念 | URN 例 |
|---|---|
| 法律 | `urn:jp:gov:law:503AC0000000040#art6` |
| 省令 | `urn:jp:gov:ordinance:508M60000008031#art4-1` |
| 告示 | `urn:jp:gov:notice:508_soumu_99#bt1-0010580` |

フラグメントで条・号・別表行を指す（`#art6`／`#art4-1`／`#bt1-0010580`）。`urn:jp:lg:{団体コード}:...`
（自治体独自定義レイヤー）は将来の予約であり、本書では定義しない。

## 6.3 トレーサビリティのキー

概念間の関係は frontmatter の URN 配列、または本文の Markdown リンクで表す。

| キー | 意味 | 値 |
|---|---|---|
| `authority` | 上位規範根拠（委任元） | URN 配列 |
| `governs` | この規範が適用される下位概念 | URN 配列 |
| `renders_to` | この概念が焼かれる法的文書（告示） | URN 配列 |
| `related` | 関連概念 | URN 配列 |
| `business` | 所属業務（gov-business 参照） | URN |

データ要件側の各項目の `spec_ref`（機能 ID 群）と、機能要件側の `managed_items[].field` は**双方向**に
リンクする。この双方向リンクは原本データ由来であり、人工的に作るものではない。

## 6.4 告示プロジェクション

技術仕様正本（L4・機能要件）は、その一部を告示別表（L3）へ焼く。どのフィールドを焼くかを frontmatter
`projection` が宣言する。

```yaml
renders_to:
  - urn:jp:gov:notice:508_soumu_99#bt1-0010580   # 焼き先（告示別表）
projection:
  notice_legal_fields: [機能要件, impl_class, compliance_date, managed_items]  # 焼く（法的）
  technical_only: [要件の考え方, validations, related]                          # 焼かない（技術補足）
```

- `notice_legal_fields`: 告示別表に出力される法的フィールド。byte 保持（第4章 §4.5）。
- `technical_only`: 技術仕様にのみ存在する補足。告示には焼かない。
- **round-trip 検証**: projection で生成した告示別表行を、配布告示原本と byte 比較する。一致すれば
  「テキスト正本から告示を正しく焼ける」ことが保証される（第9章）。

## 6.5 リンクは壊さない

URN・機能 ID・項目 ID・章節番号は他文書からの参照キーである。改訂時にこれらを安易に振り直すと参照が
壊れる。**既存の識別子は温存**し、新規概念にのみ新しい識別子を与える（第4章 §4.2 と一貫する原則）。
