メインコンテンツまでスキップ

4. Link Relation Types (リンク関係タイプ)

リンク関係タイプは、リソース間のリンクのセマンティクスを識別します。

目的

セマンティクスの識別

  • 関係の意味を定義します
  • 例:「copyright」はターゲットが著作権条項を含むことを示します
  • ターゲットリソースの属性や動作を示すことができます
  • 例:「service」はプロトコルインターフェースを意味します

メディアタイプとの違い

関係タイプはメディアタイプとは異なります

  • 表現形式を識別しません
  • リソースがどのように関連しているかのみを記述します
  • メディアタイプはContent-Typeヘッダーで決定されます

関係タイプの種類

4.1. 登録済み関係タイプ (Registered Relation Types)

特徴:

  • IANAに登録された明確に定義されたトークン
  • アプリケーション間での再利用を促進
  • 大文字小文字を区別しない比較
  • reg-rel-type ABNF規則に準拠する必要があります

命名ガイドライン:

  • 適切な特異性レベル
  • アプリケーション固有のセマンティクス → 具体的な名前
  • 一般的なセマンティクス → 一般的な名前

制約:

  • コンテキストIRIのメディアタイプを制約してはなりません (MUST NOT)
  • ターゲットIRIのメディアタイプを制約してはなりません (MUST NOT)
  • ターゲットリソースの動作を指定できます (CAN)
  • 許可されるHTTPメソッド/メディアタイプを指定できます (CAN)

4.2. 拡張関係タイプ (Extension Relation Types)

定義:

  • 関係タイプを一意に識別するURI
  • 登録されたタイプを使用しないアプリケーション用
  • URIはセマンティック定義を指し示すことができます

使用ガイドライン:

  • クライアントはURIに自動的にアクセスすべきではありません (SHOULD NOT)
  • サーバーの負担を回避
  • 比較:大文字小文字を区別しない文字列マッチ
  • 小文字のURIが推奨されます

レジストリ: IANA Link Relation Types