Skip to content

Note

このドキュメントは2026/02/27TranslateGemma 12bを使用して自動翻訳されました。

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

概要

このドキュメントでは、ActivityPubオブジェクトへのテキストベースのリンクの表現方法について提案します。これは、メンションに似たものです。例えば、contentプロパティの値内にインライン引用を記述したものが考えられますが、この提案は特定のユースケースに限定されるものではありません。

要件

このドキュメントにおけるキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", および "OPTIONAL" は、RFC-2119で定義されているとおりに解釈されます。

オブジェクトリンク

ソフトウェアは、ユーザーが何らかのマイクロシンタックスを用いてオブジェクトリンクを定義できるようにする必要があります。これは、@mention#hashtag のようなマイクロシンタックスに似ています。オブジェクトリンクを定義する方法は、ユースケースによって異なる場合があります。このドキュメントでは、その具体的な方法については扱いません。

オブジェクトの namesummary、または 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> のようなマイクロシンタックスが含まれていますが、実装側は、適切な関連付けを行うために、それを解析する必要はありません。

実装例

参照

著作権

CC0 1.0 Universal (CC0 1.0) Public Domain Dedication

可能な限り、法律によって認められる範囲で、この Fediverse Enhancement Proposal の著者は、この作品に関するすべての著作権および関連する権利を放棄しました。