Note
このドキュメントは2026/02/27にTranslateGemma 12bを使用して自動翻訳されました。
FEP-e232: オブジェクトリンク
概要
このドキュメントでは、ActivityPubオブジェクトへのテキストベースのリンクの表現方法について提案します。これは、メンションに似たものです。例えば、contentプロパティの値内にインライン引用を記述したものが考えられますが、この提案は特定のユースケースに限定されるものではありません。
要件
このドキュメントにおけるキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", および "OPTIONAL" は、RFC-2119で定義されているとおりに解釈されます。
オブジェクトリンク
ソフトウェアは、ユーザーが何らかのマイクロシンタックスを用いてオブジェクトリンクを定義できるようにする必要があります。これは、@mention や #hashtag のようなマイクロシンタックスに似ています。オブジェクトリンクを定義する方法は、ユースケースによって異なる場合があります。このドキュメントでは、その具体的な方法については扱いません。
オブジェクトの name、summary、または content に、他のオブジェクトへの参照を含む場合、そのオブジェクトは tag プロパティを持つ必要があります。各オブジェクトリンクは、Link オブジェクトとして表現されます。Activity Vocabulary で提案されているように、Link オブジェクトは以下のプロパティを持ちます。
type(必須): 値はLinkまたはそのサブタイプでなければなりません。mediaType(必須): メディアタイプはapplication/ld+json; profile="https://www.w3.org/ns/activitystreams"でなければなりません。この仕様では ActivityPub オブジェクトのみを扱いますが、実際にはメディアタイプが異なる場合があり、サーバーは、この要件に準拠していないオブジェクトリンクを受け入れる可能性があります。例えば、メディアタイプがapplication/activity+jsonの場合、同等とみなされるべきです。href(必須):hrefプロパティには、参照先のオブジェクトの URI を含める必要があります。name(任意):nameは、オブジェクトのcontentで使用されているマイクロシンタックスと一致するべきです。rel(任意): 関連する場合、relは、リンクが現在のリソースとどのように関連しているかを指定するべきです。relを使用することで、オブジェクトリンクの目的をより明確にすることができます。
例
(このセクションは、規範的なものではありません。)
バグトラッカー上の問題へのリンク:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "バグは #1374 で報告されています。",
"tag": [
{
"type": "Link",
"mediaType": "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"",
"href": "https://forge.example/tickets/1374",
"name": "#1374"
}
]
}
インライン引用:
{
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Note",
"content": "これは引用です:<br>RE: https://server.example/objects/123",
"tag": [
{
"type": "Link",
"mediaType": "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"",
"href": "https://server.example/objects/123",
"name": "RE: https://server.example/objects/123"
}
]
}
content には RE: <URL> のようなマイクロシンタックスが含まれていますが、実装側は、適切な関連付けを行うために、それを解析する必要はありません。
実装例
- (streams)
- FoundKey
- Mitra
- Pleroma (via MRF)
- Threads (announcement)
- Friendica
- Bridgy Fed
- Hollo
- Iceshrimp.NET
- Sharkey
- dotmakeup
- Hubzilla
参照
- Christine Lemmer Webber, Jessica Tallon, ActivityPub, 2018
- S. Bradner, Key words for use in RFCs to Indicate Requirement Levels, 1997
- James M Snell, Evan Prodromou, Activity Vocabulary, 2017
著作権
CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
可能な限り、法律によって認められる範囲で、この Fediverse Enhancement Proposal の著者は、この作品に関するすべての著作権および関連する権利を放棄しました。