4. Link Relation Types (リンク関係タイプ)
リンク関係タイプは、リソース間のリンクのセマンティクスを識別します。
目的
セマンティクスの識別
- 関係の意味を定義します
- 例:「copyright」はターゲットが著作権条項を含むことを示します
- ターゲットリソースの属性や動作を示すことができます
- 例:「service」はプロトコルインターフェースを意味します
メディアタイプとの違い
関係タイプはメディアタイプとは異なります:
- 表現形式を識別しません
- リソースがどのように関連しているかのみを記述します
- メディアタイプはContent-Typeヘッダーで決定されます
関係タイプの種類
4.1. 登録済み関係タイプ (Registered Relation Types)
特徴:
- IANAに登録された明確に定義されたトークン
- アプリケーション間での再利用を促進
- 大文字小文字を区別しない比較
reg-rel-typeABNF規則に準拠する必要があります
命名ガイドライン:
- 適切な特異性レベル
- アプリケーション固有のセマンティクス → 具体的な名前
- 一般的なセマンティクス → 一般的な名前
制約:
- コンテキストIRIのメディアタイプを制約してはなりません (MUST NOT)
- ターゲットIRIのメディアタイプを制約してはなりません (MUST NOT)
- ターゲットリソースの動作を指定できます (CAN)
- 許可されるHTTPメソッド/メディアタイプを指定できます (CAN)
4.2. 拡張関係タイプ (Extension Relation Types)
定義:
- 関係タイプを一意に識別するURI
- 登録されたタイプを使用しないアプリケーション用
- URIはセマンティック定義を指し示すことができます
使用ガイドライン:
- クライアントはURIに自動的にアクセスすべきではありません (SHOULD NOT)
- サーバーの負担を回避
- 比較:大文字小文字を区別しない文字列マッチ
- 小文字のURIが推奨されます
レジストリ: IANA Link Relation Types