Note
このドキュメントは2026-02-27 03:44にPLaMo Translation Modelを使用して自動翻訳されました。
FEP-cb76: コンテンツアドレス指定型語彙仕様
概要
JSON-LDのコンテキスト定義は通常、名前空間として機能する特定のURIに配置されます。このURIは長期にわたって維持されることが一般的であり、通常は当該URIからコンテキスト文書を取得可能ですが、技術的不具合やドメイン失効などの理由でこれらのリンクが途切れる場合があります。本FEPでは、他のFEP内で定義された拡張用語に対して[CAV]が提案する解決策を採用することを提言します。さらに、標準語彙に対してもオプションとしてこの方式を適用することを検討します。
1. FEP拡張用語の定義方法
各拡張用語には必ず仕様テキストを付記しなければなりません。
この仕様テキストを用いてSHA256ハッシュ値を算出し、このハッシュ値を@context内において名前空間付きプロパティの代わりにURNとして使用できます。
例1: 新規拡張用語の定義
ActivityStreams語彙[AS2V]において、アクティビティ「Message」のサブタイプとなる新たな用語を定義する場合を考えます。以下の仕様テキストを指定します:
アクターが直接メッセージを送信していることを示す。
この仕様テキストからSHA256ハッシュ値を取得します:
$ echo -n "Indicates that the actor is sending a direct message." | sha256sum
bab53e61faa0ddecce6991df4c26259b6c2e1b880cef12225033590fcaad1aaa -
このハッシュ値を使用して、ActivityPub[AP]に「Message」アクティビティを追加できます:
{
"@context": [
"https://www.w3.org/ns/activitystreams",
{
"Message": "urn:sha256:bab53e61faa0ddecce6991df4c26259b6c2e1b880cef12225033590fcaad1aaa"
}
],
"actor": "https://social.example/~alice",
"type": "Message",
"to": "https://bob.example.com",
"content": "hi friend"
}
2. FEP Gitリポジトリ内での拡張用語管理方法
(本セクションは非規範的事項です)
FEPに関連するコンテンツアドレス指定型語彙拡張を格納するため、context/ディレクトリを作成する必要があります。語彙拡張を提案するFEPは、このディレクトリ内にfep-abcd_property.txtというテキストファイルを作成しなければなりません。ここでabcdは関連FEPの識別子、propertyはプロパティの推奨略称名であり、ファイル内容は前述の仕様テキストとします。ただし、既存のFEP語彙内でユニークなプロパティ名を使用することが望ましく、特に当該FEPが古いFEPを廃止または置き換える意図がある場合はこの限りではありません。
新たな語彙用語が確定した際は、必ずcontext.jsonldファイルを生成し、その内容には確定済みすべての語彙用語の定義を含めるべきです。
例2: FEPによる新規拡張用語の標準化
例1では、ActivityPub[AP]向けの直接メッセージ用「Message」アクティビティタイプを定義しました。次に、この定義に関するFEP案を作成する場合を考えます。
FEP-a4edで規定されているFEPプロセスに従い、提案タイトルと識別子を付与します。この手順を「直接メッセージ用のMessageアクティビティ」という提案に適用すると、識別子FEP-0ac6が得られます。これを仕様テキスト「アクターが直接メッセージを送信していることを示す」と組み合わせることで、以下のテキストファイルfep-0ac6_Message.txtが生成されます:
Indicates that the actor is sending a direct message
このテキストファイルはcontext/fep-0ac6_Message.txtに保存され、確定時にはそのSHA256ハッシュ値がcontext/context.jsonldに追加されます:
{
"@context": {
"Message": "urn:sha256:bab53e61faa0ddecce6991df4c26259b6c2e1b880cef12225033590fcaad1aaa"
}
}
参考文献
- [AS2V] James M Snell, Evan Prodromou, Activity Vocabulary, 2017
- [AP] Christine Lemmer-Webber, Jessica Tallon, ActivityPub, 2018
- [CAV] Christine Lemmer-Webber, Content Addressed Vocabulary, 2020
著作権について
CC0 1.0 Universal(パブリックドメイン献呈)
法律で許容される範囲内において、本Fediverse Enhancement Proposalの著者らは当該著作物に関するすべての著作権および関連権利を放棄しています。