FEP-e232: オブジェクトリンク

Warning

このFEPはgemini-2.5-flashを利用して2025年08月16日 23時14分に翻訳されました。オリジナルのFEPはここから閲覧できます。

概要

この文書は、メンションに類似した、ActivityPubオブジェクトへのテキストベースのリンクを表現する方法を提案します。そのようなリンクの一例として、contentプロパティの値内のインライン引用が挙げられますが、この提案は特定のユースケースに限定されるものではありません。

要件

この文書におけるキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、「OPTIONAL」は、RFC-2119で記述されている通りに解釈されるものとします。

オブジェクトリンク

ソフトウェアは、@mention#hashtagのようなマイクロシンタックス(microsyntax)を用いて、ユーザーがオブジェクトリンクを定義できるようにすることが期待されます。オブジェクトリンクを定義する正確な方法はユースケースによって異なる可能性があり、この文書の範囲外です。

オブジェクトのnamesummary、またはcontentが他のオブジェクトへの修飾されたリンクを持つ場合、そのオブジェクトはActivity Vocabularyによって提案されているように、各オブジェクトリンクがLinkオブジェクトとして表現されるtagプロパティを持つべき(SHOULD)です。このLinkオブジェクトのプロパティは以下の通りです。

  • type (必須): タイプはLinkまたはそのサブタイプである必要があります(MUST)。
  • mediaType (必須): メディアタイプはapplication/ld+json; profile="https://www.w3.org/ns/activitystreams"である必要があります(MUST)。この仕様はActivityPubオブジェクトのみを扱いますが、実際にはメディアタイプが異なる場合があり、サーバーは要件に準拠しないオブジェクトリンクを受け入れてもよい(MAY)です。例えば、application/activity+jsonのメディアタイプは同等として扱われるべき(SHOULD)です。
  • href (必須): hrefプロパティは参照されるオブジェクトのURIを含む必要があります(MUST)。
  • name (任意): nameはオブジェクトのコンテンツで使用されるマイクロシンタックスと一致すべき(SHOULD)です。
  • rel (任意): 関連する場合、relはリンクが現在のリソースとどのように関連しているかを指定すべき(SHOULD)です。relを使用することで、特定の意図されたユースケースを示すことにより、オブジェクトリンクに追加の目的を提供できます。

(このセクションは非規範的です。)

バグトラッカー内のイシューへのリンク:

{
    "@context": "https://www.w3.org/ns/activitystreams",
    "type": "Note",
    "content": "The bug was reported in #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": "This is a quote:<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>マイクロシンタックスが含まれていますが、消費する実装は適切な関連付けを行うためにそれをパースする必要はありません。

実装

参照

著作権

CC0 1.0 ユニバーサル (CC0 1.0) パブリックドメイン献呈

法が許す限りにおいて、このFediverse Enhancement Proposalの著者は、この著作物に対するすべての著作権および関連する権利、または隣接する権利を放棄しました。