要約

この仕様は Activity vocabulary について記述する。これは ActivityStreams 2.0 形式の文脈で使われることを意図しており、 アクティビティ構造のための基礎的な語彙と特定のアクティビティ型を提供する。

著者のメモ

この節は非規範的である。

この草稿は、Martin Atkins、Will Norris、Chris Messina、Monica Wilkinson、Rob Dolin、James Snellの共著によるJSON Activity Streams 1.0仕様の影響を強く受けている。著者は彼らの多大な貢献に非常に感謝しており、喜んで彼らの肩の上に立っている。この文書では、Activity Streams 1.0の原文の一部を使用している。

この文書の状態

この節は、発行時点でのこの文書の状態を説明している。他の文書がこの文書に取って代わることがある。現在の W3C による発行物と この技術報告の最新版は https://www.w3.org/TR/ の W3C technical reports index にある。

この文書は Social Web Working Group によって 勧告として発行された。この文書に関するコメントを歓迎する。public-socialweb@w3.org(購読,アーカイブ)に送ってほしい。

Working Group の implementation report を参照のこと。

この文書は、W3Cメンバー、ソフトウェア開発者、およびその他のW3Cグループと関係者によってレビューされ、W3C勧告としてディレクターによって承認されています。これは安定した文書であり、参考資料として使用したり、他の文書から引用したりすることができる。この勧告を作成する上でのW3Cの役割は、仕様に注意を喚起し、その広範な展開を促進することである。これは、Webの機能性と相互運用性を向上させる。

この文書は、5 February 2004 W3C Patent Policyの下で活動しているグループによって作成された。W3Cは、グループの成果物に関連して作成された特許開示の公開リストを保守しており、そのページには特許を開示するための手順も含まれている。Essential Claim(s)を含むと信じる特許について実際の知識を有する者は、W3C Patent Policy第6条に従って情報を開示しなければならない。

この文書は、1 March 2017 W3C Process Documentに準拠する。

1. 概要

The Activity Streams 2.0 Core Syntax は Activity Streams のための JSON 文法を定義する。この文書は語彙属性を定義する。

The Activity Streams 2.0 Vocabulary は、 過去、現在、未来のアクティビティを記述する抽象的な型と属性の集合を定義する。語彙は二つの部分で定義される。

  1. アクティビティの一般化された構造を記述する、コア属性の集合、および
  2. 多くのソーシャル Web アプリケーションで一般的な、特定のアクティビティと アーティファクトをの型を扱う、拡張属性の集合

全ての Activity Streams 2.0 実装が拡張属性対応を実装していることを 想定していないが、全ての実装は少なくとも Activity Streams 2.0 Core Syntax に従って拡張属性を直列化および直接化復元する能力が なければならない(MUST)。

この文書における次の各キーワード「しなければならない(MUST)」、 「してはならない(MUST NOT)」、 「要求されている(REQUIRED)」、 「することになる(SHALL)」、 「することはない(SHALL NOT)」、 「する必要がある(SHOULD)」、 「しないほうがよい(SHOULD NOT)」、 「推奨される(RECOMMENDED)」、 「してもよい(MAY)」、 「選択できる(OPTIONAL)」は、 [RFC2119] で述べられているように解釈されるべきものである。

1.1規約

特に指定がない限り、 xsd:dateTime 値として定義されている全ての属性は Activity Streams 2.0 Core, Section 2.3 で 定義されている規則に従わなければならない(MUST)。

この文書に含まれている例は、この使用で定義されている標準 JSON 直列化を 使用している。

2.コア型

Activity Vocabulary コア型は他の語彙の基礎を提供する。

Base URI: https://www.w3.org/ns/activitystreams#.

The Activity Streams 2.0 コア型は次のものからなる:

Class 説明
Object URI: https://www.w3.org/ns/activitystreams#Object
Example 1
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Object",
  "id": "http://www.test.example/object/1",
  "name": "A Simple, non-specific object"
}
説明: 任意の型のオブジェクトを記述する。Object 型は、 Activity, IntransitiveActivity, Collection, OrderedCollection のような他のコア型を含む、 Activity Vocabulary で定義されるその他の種類のオブジェクトの基底型を 提供する。
排他: Link
属性:

attachment | attributedTo | audience | content | context | name | endTime | generator | icon | image | inReplyTo | location | preview | published | replies | startTime | summary | tag | updated | url | to | bto | cc | bcc | mediaType | duration

Link URI: https://www.w3.org/ns/activitystreams#Link
Example 2
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Link",
  "href": "http://example.org/abc",
  "hreflang": "en",
  "mediaType": "text/html",
  "name": "An example link"
}
説明: Link は、URL で識別される、リソースへの間接的な修飾された参照である。リンクの基本的なモデルは [[RFC5988]] で確立されている。Activity Vocabulary で定義されている多くの属性は、 Object または Link のどちらの 実体を値に取ることもできる。Link が使われるとき、 主題 (含んでいるオブジェクト) を href で 識別されるリソースと接続する 修飾された関係(qualified relation) を確立する。Link の属性は、このリソースの属性ではなく 参照先の属性である。
排他: Object
属性:

href | rel | mediaType | name | hreflang | height | width | preview

Activity URI: https://www.w3.org/ns/activitystreams#Activity
Example 3
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Activity",
  "summary": "Sally did something to a note",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Note",
    "name": "A Note"
  }
}
説明: Activity は、起こる予定、今起こっている、既に起こったある種の型式の アクションを記述する、Object の派生型である。Activity 型自身は全てのアクティビティのための 抽象基底クラスである。Activity 型自身は取られるアクションの種類について 何の特定の意味も持たないことに注意することは重要である。
継承: Object
属性:

actor | object | target | result | origin | instrument

Objectから全ての属性を継承する。

IntransitiveActivity URI: https://www.w3.org/ns/activitystreams#IntransitiveActivity
Example 4
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Travel",
  "summary": "Sally went to work",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "target": {
    "type": "Place",
    "name": "Work"
  }
}
説明: IntransitiveActivity の実体は、 自動詞的なアクションを表現するための、 Activity の派生型である。従って object 属性は これらのアクティビティにとっては不適切である。
継承: Activity
属性:

objectを除くすべての属性をActivityから継承する。

Collection URI: https://www.w3.org/ns/activitystreams#Collection
Example 5
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally's notes",
  "type": "Collection",
  "totalItems": 2,
  "items": [
    {
      "type": "Note",
      "name": "A Simple Note"
    },
    {
      "type": "Note",
      "name": "Another Simple Note"
    }
  ]
}
説明:

Collection は、 Object または Link 実体の、 順序付きまたは順序なしの集合を表現する、 Object の派生型である。

Collectionタイプの詳細な説明については、Activity Streams 2.0 Core仕様を参照のこと。

継承: Object
属性:

totalItems | current | first | last | items

Objectから全ての属性を継承する。

OrderedCollection URI: https://www.w3.org/ns/activitystreams#OrderedCollection
Example 6
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally's notes",
  "type": "OrderedCollection",
  "totalItems": 2,
  "orderedItems": [
    {
      "type": "Note",
      "name": "A Simple Note"
    },
    {
      "type": "Note",
      "name": "Another Simple Note"
    }
  ]
}
説明:

論理的なコレクションのメンバーが常に厳密に順序づけされていることが 仮定されている、Collection の派生型。

継承: Collection
属性:

Collectionから全ての属性を継承する。

CollectionPage URI: https://www.w3.org/ns/activitystreams#CollectionPage
Example 7
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Page 1 of Sally's notes",
  "type": "CollectionPage",
  "id": "http://example.org/foo?page=1",
  "partOf": "http://example.org/foo",
  "items": [
    {
      "type": "Note",
      "name": "A Simple Note"
    },
    {
      "type": "Note",
      "name": "Another Simple Note"
    }
  ]
}
説明:

Collectionからの項目の異なる部分集合を表すために使われる。CollectionPageオブジェクトの詳細な説明については、Activity Streams 2.0 Coreを参照のこと。

継承: Collection
属性:

partOf | next | prev

Collectionから全ての属性を継承する。

OrderedCollectionPage URI: https://www.w3.org/ns/activitystreams#OrderedCollectionPage
Example 8
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Page 1 of Sally's notes",
  "type": "OrderedCollectionPage",
  "id": "http://example.org/foo?page=1",
  "partOf": "http://example.org/foo",
  "orderedItems": [
    {
      "type": "Note",
      "name": "A Simple Note"
    },
    {
      "type": "Note",
      "name": "Another Simple Note"
    }
  ]
}
説明:

OrderedCollectionからの項目の順序付き部分集合を表すために使用されます。OrderedCollectionPageオブジェクトの詳細な説明については、Activity Streams 2.0 Coreを参照のこと。

継承: OrderedCollection | CollectionPage
属性:

startIndex

OrderedCollectionおよびCollectionPageから全てのプロパティを継承する。

3.拡張型

Base URI: https://www.w3.org/ns/activitystreams#.

Activity Streams 2.0 Extended Types は、 多くのソーシャル Web アプリケーションで一般的な Activity と Object の派生型を含む。これらは三つの集合に分類される:

Support for specific extended vocabulary types is expected to vary, with implementations only selecting the extended types and properties that make sense within the specific context and requirements of those applications. However, to avoid possible interoperability issues, implementations MUST avoid using extension types or properties that unduly overlap with or duplicate the extended vocabulary defined here.

3.1 アクティビティ型

All Activity Types inherit the properties of the base Activity type. Some specific Activity Types are subtypes or specializations of more generalized Activity Types (for instance, the Invite Activity Type is a more specific form of the Offer Activity Type).

アクティビティ型は次のものからなる:

Class 説明
Accept URI: https://www.w3.org/ns/activitystreams#Accept
例9
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally accepted an invitation to a party",
  "type": "Accept",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Invite",
    "actor": "http://john.example.org",
    "object": {
      "type": "Event",
      "name": "Going-Away Party for Jim"
    }
  }
}
例10
{
    "@context": "https://www.w3.org/ns/activitystreams",
    "summary": "Sally accepted Joe into the club",
    "type": "Accept",
    "actor": {
      "type": "Person",
      "name": "Sally"
    },
    "object": {
      "type": "Person",
      "name": "Joe"
    },
    "target": {
      "type": "Group",
      "name": "The Club"
    }
  }
説明: actorobject を受け入れたことを示す。target 属性は、特定の状況では object が受け入れられたコンテキストを示すために使われる。
継承: Activity
属性: Activityから全ての属性を継承する。
TentativeAccept URI: https://www.w3.org/ns/activitystreams#TentativeAccept
例11
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally tentatively accepted an invitation to a party",
  "type": "TentativeAccept",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Invite",
    "actor": "http://john.example.org",
    "object": {
      "type": "Event",
      "name": "Going-Away Party for Jim"
    }
  }
}
説明: Accept の特化で、受け入れが一時的であることを示す。
継承: Accept
属性: Acceptから全ての属性を継承する。
Add URI: https://www.w3.org/ns/activitystreams#Add
例12
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally added an object",
  "type": "Add",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": "http://example.org/abc"
}
例13
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally added a picture of her cat to her cat picture collection",
  "type": "Add",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Image",
    "name": "A picture of my cat",
    "url": "http://example.org/img/cat.png"
  },
  "origin": {
    "type": "Collection",
    "name": "Camera Roll"
  },
  "target": {
    "type": "Collection",
    "name": "My Cat Pictures"
  }
}
説明: actorobjecttarget に 追加したことを示す。target 属性が明示的に指定されない場合、 ターゲットはコンテキストによって暗黙的に決定される必要がある。The origin can be used to identify the context from which the object originated.
継承: Activity
属性: Activityから全ての属性を継承する。
Arrive URI: https://www.w3.org/ns/activitystreams#Arrive
例14
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally arrived at work",
  "type": "Arrive",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "location": {
    "type": "Place",
    "name": "Work"
  },
  "origin": {
    "type": "Place",
    "name": "Home"
  }
}
説明: actorlocation に到着したことを示す IntransitiveActivity。The origin can be used to identify the context from which the actor originated. target は特に定義された意味は無い。
継承: IntransitiveActivity
属性: IntransitiveActivityから全ての属性を継承する。
Create URI: https://www.w3.org/ns/activitystreams#Create
例15
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally created a note",
  "type": "Create",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Note",
    "name": "A Simple Note",
    "content": "This is a simple note"
  }
}
説明:

actorobject を作成したことを示す。

継承: Activity
属性: Activityから全ての属性を継承する。
Delete URI: https://www.w3.org/ns/activitystreams#Delete
例16
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally deleted a note",
  "type": "Delete",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": "http://example.org/notes/1",
  "origin": {
    "type": "Collection",
    "name": "Sally's Notes"
  }
}
説明: actorobject を削除したことを示す。指定された場合、originobject が削除した コンテキストを示す。
継承: Activity
属性: Activityから全ての属性を継承する。
Follow URI: https://www.w3.org/ns/activitystreams#Follow
例17
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally followed John",
  "type": "Follow",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Person",
    "name": "John"
  }
}
説明: Indicates that the actor is "following" the object. Following is defined in the sense typically used within Social systems in which the actor is interested in any activity performed by or on the object. The target and origin typically have no defined meaning.
継承: Activity
属性: Activityから全ての属性を継承する。
Ignore URI: https://www.w3.org/ns/activitystreams#Ignore
例18
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally ignored a note",
  "type": "Ignore",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": "http://example.org/notes/1"
}
説明: Indicates that the actor is ignoring the object. The target and origin typically have no defined meaning.
継承: Activity
属性: Activityから全ての属性を継承する。
Join URI: https://www.w3.org/ns/activitystreams#Join
例19
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally joined a group",
  "type": "Join",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Group",
    "name": "A Simple Group"
  }
}
説明: Indicates that the actor has joined the object. The target and origin typically have no defined meaning.
継承: Activity
属性: Activityから全ての属性を継承する。
Leave URI: https://www.w3.org/ns/activitystreams#Leave
例20
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally left work",
  "type": "Leave",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Place",
    "name": "Work"
  }
}
例21
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally left a group",
  "type": "Leave",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Group",
    "name": "A Simple Group"
  }
}
説明: Indicates that the actor has left the object. The target and origin typically have no meaning.
継承: Activity
属性: Activityから全ての属性を継承する。
Like URI: https://www.w3.org/ns/activitystreams#Like
例22
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally liked a note",
  "type": "Like",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": "http://example.org/notes/1"
}
説明:

Indicates that the actor likes, recommends or endorses the object. The target and origin typically have no defined meaning.

継承: Activity
属性: Activityから全ての属性を継承する。
Offer URI: https://www.w3.org/ns/activitystreams#Offer
Example 23
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally offered 50% off to Lewis",
  "type": "Offer",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "http://www.types.example/ProductOffer",
    "name": "50% Off!"
  },
  "target": {
    "type": "Person",
    "name": "Lewis"
  }
}
説明: Indicates that the actor is offering the object. If specified, the target indicates the entity to which the object is being offered.
継承: Activity
属性: Activityから全ての属性を継承する。
Invite URI: https://www.w3.org/ns/activitystreams#Invite
Example 24
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally invited John and Lisa to a party",
  "type": "Invite",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Event",
    "name": "A Party"
  },
  "target": [
    {
      "type": "Person",
      "name": "John"
    },
    {
      "type": "Person",
      "name": "Lisa"
    }
  ]
}
説明: A specialization of Offer in which the actor is extending an invitation for the object to the target.
継承: Offer
属性: Inherits all properties from Offer.
Reject URI: https://www.w3.org/ns/activitystreams#Reject
Example 25
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally rejected an invitation to a party",
  "type": "Reject",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Invite",
    "actor": "http://john.example.org",
    "object": {
      "type": "Event",
      "name": "Going-Away Party for Jim"
    }
  }
}
説明: Indicates that the actor is rejecting the object. The target and origin typically have no defined meaning.
継承: Activity
属性: Activityから全ての属性を継承する。
TentativeReject URI: https://www.w3.org/ns/activitystreams#TentativeReject
Example 26
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally tentatively rejected an invitation to a party",
  "type": "TentativeReject",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Invite",
    "actor": "http://john.example.org",
    "object": {
      "type": "Event",
      "name": "Going-Away Party for Jim"
    }
  }
}
説明: A specialization of Reject in which the rejection is considered tentative.
継承: Reject
属性: Inherits all properties from Reject.
Remove URI: https://www.w3.org/ns/activitystreams#Remove
Example 27
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally removed a note from her notes folder",
  "type": "Remove",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": "http://example.org/notes/1",
  "target": {
    "type": "Collection",
    "name": "Notes Folder"
  }
}
Example 28
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "The moderator removed Sally from a group",
  "type": "Remove",
  "actor": {
    "type": "http://example.org/Role",
    "name": "The Moderator"
  },
  "object": {
    "type": "Person",
    "name": "Sally"
  },
  "origin": {
    "type": "Group",
    "name": "A Simple Group"
  }
}
説明: Indicates that the actor is removing the object. If specified, the origin indicates the context from which the object is being removed.
継承: Activity
属性: Activityから全ての属性を継承する。
Undo URI: https://www.w3.org/ns/activitystreams#Undo
Example 29
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally retracted her offer to John",
  "type": "Undo",
  "actor": "http://sally.example.org",
  "object": {
    "type": "Offer",
    "actor": "http://sally.example.org",
    "object": "http://example.org/posts/1",
    "target": "http://john.example.org"
  }
}
説明:

Indicates that the actor is undoing the object. In most cases, the object will be an Activity describing some previously performed action (for instance, a person may have previously "liked" an article but, for whatever reason, might choose to undo that like at some later point in time).

The target and origin typically have no defined meaning.

継承: Activity
属性: Activityから全ての属性を継承する。
Update URI: https://www.w3.org/ns/activitystreams#Update
Example 30
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally updated her note",
  "type": "Update",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": "http://example.org/notes/1"
}
説明:

Indicates that the actor has updated the object. Note, however, that this vocabulary does not define a mechanism for describing the actual set of modifications made to object.

The target and origin typically have no defined meaning.

継承: Activity
属性: Activityから全ての属性を継承する。
View URI: https://www.w3.org/ns/activitystreams#View
Example 31
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally read an article",
  "type": "View",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": {
    "type": "Article",
    "name": "What You Should Know About Activity Streams"
  }
}
説明: Indicates that the actor has viewed the object.
継承: Activity
属性: Activityから全ての属性を継承する。
Listen URI: https://www.w3.org/ns/activitystreams#Listen
Example 32
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally listened to a piece of music",
  "type": "Listen",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": "http://example.org/music.mp3"
}
説明: Indicates that the actor has listened to the object.
継承: Activity
属性: Activityから全ての属性を継承する。
Read URI: https://www.w3.org/ns/activitystreams#Read
Example 33
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally read a blog post",
  "type": "Read",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": "http://example.org/posts/1"
}
説明: Indicates that the actor has read the object.
継承: Activity
属性: Activityから全ての属性を継承する。
Move URI: https://www.w3.org/ns/activitystreams#Move
Example 34
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally moved a post from List A to List B",
  "type": "Move",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": "http://example.org/posts/1",
  "target": {
    "type": "Collection",
    "name": "List B"
  },
  "origin": {
    "type": "Collection",
    "name": "List A"
  }
}
説明: Indicates that the actor has moved object from origin to target. If the origin or target are not specified, either can be determined by context.
継承: Activity
属性: Activityから全ての属性を継承する。
Travel URI: https://www.w3.org/ns/activitystreams#Travel
Example 35
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally went home from work",
  "type": "Travel",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "target": {
    "type": "Place",
    "name": "Home"
  },
  "origin": {
    "type": "Place",
    "name": "Work"
  }
}
説明: Indicates that the actor is traveling to target from origin. Travel is an IntransitiveObject whose actor specifies the direct object. If the target or origin are not specified, either can be determined by context.
継承: IntransitiveActivity
属性: Inherits all properties from IntransitiveActivity.
Announce URI: https://www.w3.org/ns/activitystreams#Announce
Example 36
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally announced that she had arrived at work",
  "type": "Announce",
  "actor": {
    "type": "Person",
    "id": "http://sally.example.org",
    "name": "Sally"
  },
  "object": {
    "type": "Arrive",
    "actor": "http://sally.example.org",
    "location": {
      "type": "Place",
      "name": "Work"
    }
  }
}
説明:

Indicates that the actor is calling the target's attention the object.

The origin typically has no defined meaning.

継承: Activity
属性: Activityから全ての属性を継承する。
Block URI: https://www.w3.org/ns/activitystreams#Block
Example 37
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally blocked Joe",
  "type": "Block",
  "actor": "http://sally.example.org",
  "object": "http://joe.example.org"
}
説明: Indicates that the actor is blocking the object. Blocking is a stronger form of Ignore. The typical use is to support social systems that allow one user to block activities or content of other users. The target and origin typically have no defined meaning.
継承: Ignore
属性: Inherits all properties from Ignore.
Flag URI: https://www.w3.org/ns/activitystreams#Flag
Example 38
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally flagged an inappropriate note",
  "type": "Flag",
  "actor": "http://sally.example.org",
  "object": {
    "type": "Note",
    "content": "An inappropriate note"
  }
}
説明: Indicates that the actor is "flagging" the object. Flagging is defined in the sense common to many social platforms as reporting content as being inappropriate for any number of reasons.
継承: Activity
属性: Activityから全ての属性を継承する。
Dislike URI: https://www.w3.org/ns/activitystreams#Dislike
Example 39
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally disliked a post",
  "type": "Dislike",
  "actor": "http://sally.example.org",
  "object": "http://example.org/posts/1"
}
説明: Indicates that the actor dislikes the object.
継承: Activity
属性: Activityから全ての属性を継承する。
Question URI: https://www.w3.org/ns/activitystreams#Question
Example 40
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Question",
  "name": "What is the answer?",
  "oneOf": [
    {
      "type": "Note",
      "name": "Option A"
    },
    {
      "type": "Note",
      "name": "Option B"
    }
  ]
}
Example 41
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Question",
  "name": "What is the answer?",
  "closed": "2016-05-10T00:00:00Z"
}
説明:

Represents a question being asked. Question objects are an extension of IntransitiveActivity. That is, the Question object is an Activity, but the direct object is the question itself and therefore it would not contain an object property.

Either of the anyOf and oneOf properties MAY be used to express possible answers, but a Question object MUST NOT have both properties.

継承: IntransitiveActivity.
属性:

oneOf | anyOf | closed

Inherits all properties from IntransitiveActivity.

3.2 アクター型

アクター型はアクティビティを実行する能力を持つ Object 型である。

コアアクター型は次のものからなる:

Class 説明 属性
Application URI: https://www.w3.org/ns/activitystreams#Application
例42
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Application",
  "name": "Exampletron 3000"
}
説明: ソフトウェアアプリケーションを表現する。
継承: Object
属性: Objectから全ての属性を継承する。
Group URI: https://www.w3.org/ns/activitystreams#Group
例43
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Group",
  "name": "Big Beards of Austin"
}
説明: 公式または非公式なActorの集合体を表現する。
継承: Object
属性: Objectから全ての属性を継承する。
Organization URI: https://www.w3.org/ns/activitystreams#Organization
例44
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Organization",
  "name": "Example Co."
}
説明: 組織を表現する。
継承: Object
属性: Objectから全ての属性を継承する。
Person URI: https://www.w3.org/ns/activitystreams#Person
例45
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Person",
  "name": "Sally Smith"
}
説明: 個人を表現する。
継承: Object
属性: Objectから全ての属性を継承する。
Service URI: https://www.w3.org/ns/activitystreams#Service
例46
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Service",
  "name": "Acme Web Service"
}
説明: なんらかのサービスを表現する。
継承: Object
属性: Objectから全ての属性を継承する。

3.3オブジェクト型とリンク型

All Object Types inherit the properties of the base Object type. Link Types inherit the properties of the base Link type. Some specific Object Types are subtypes or specializations of more generalized Object Types (for instance, the Like Type is a more specific form of the Activity type).

The Object Types include:

The Link Types include:

Class 説明 属性
Relationship URI: https://www.w3.org/ns/activitystreams#Relationship
Example 47
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally is an acquaintance of John",
  "type": "Relationship",
  "subject": {
    "type": "Person",
    "name": "Sally"
  },
  "relationship": "http://purl.org/vocab/relationship/acquaintanceOf",
  "object": {
    "type": "Person",
    "name": "John"
  }
}
説明:

二人の個人の間の関係を記述する。subjectobject 属性が つながった個人を識別するために使われる。

追加情報については 5.2 Representing Relationships Between Entities を参照のこと。

継承: Object
属性:

subject | object | relationship

Objectから全ての属性を継承する。

Article URI: https://www.w3.org/ns/activitystreams#Article
Example 48
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Article",
  "name": "What a Crazy Day I Had",
  "content": "<div>... you will never believe ...</div>",
  "attributedTo": "http://sally.example.org"
}
説明: 複数段落からなるようなあらゆる種類の文章を表現する。
継承: Object
属性: Objectから全ての属性を継承する。
Document URI: https://www.w3.org/ns/activitystreams#Document
Example 49
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Document",
  "name": "4Q Sales Forecast",
  "url": "http://example.org/4q-sales-forecast.pdf"
}
説明: あらゆる種類の文書を表現する。
継承: Object
属性: Objectから全ての属性を継承する。
Audio URI: https://www.w3.org/ns/activitystreams#Audio
Example 50
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Audio",
  "name": "Interview With A Famous Technologist",
  "url": {
    "type": "Link",
    "href": "http://example.org/podcast.mp3",
    "mediaType": "audio/mp3"
  }
}
説明: あらゆる種類の音声を表現する。
継承: Document
属性: Documentから全ての属性を継承する。
Image URI: https://www.w3.org/ns/activitystreams#Image
Example 51
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Image",
  "name": "Cat Jumping on Wagon",
  "url": [
    {
      "type": "Link",
      "href": "http://example.org/image.jpeg",
      "mediaType": "image/jpeg"
    },
    {
      "type": "Link",
      "href": "http://example.org/image.png",
      "mediaType": "image/png"
    }
  ]
}
説明: あらゆる種類の画像
継承: Document
属性: Documentから全ての属性を継承する。
Video URI: https://www.w3.org/ns/activitystreams#Video
Example 52
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Video",
  "name": "Puppy Plays With Ball",
  "url": "http://example.org/video.mkv",
  "duration": "PT2H"
}
説明: あらゆる種類の映像を表現する。
継承: Document
属性: Documentから全ての属性を継承する。
Note URI: https://www.w3.org/ns/activitystreams#Note
Example 53
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Note",
  "name": "A Word of Warning",
  "content": "Looks like it is going to rain today. Bring an umbrella!"
}
説明: 典型的には 1 段落未満の短い文章を表現する。
継承: Object
属性: Objectから全ての属性を継承する。
Page URI: https://www.w3.org/ns/activitystreams#Page
Example 54
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Page",
  "name": "Omaha Weather Report",
  "url": "http://example.org/weather-in-omaha.html"
}
説明: Web ページを表現する。
継承: Document
属性: Documentから全ての属性を継承する。
Event URI: https://www.w3.org/ns/activitystreams#Event
Example 55
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Event",
  "name": "Going-Away Party for Jim",
  "startTime": "2014-12-31T23:00:00-08:00",
  "endTime": "2015-01-01T06:00:00-08:00"
}
説明: あらゆる種類のイベントを表現する。
継承: Object
属性: Objectから全ての属性を継承する。
Place URI: https://www.w3.org/ns/activitystreams#Place
Example 56
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Place",
  "name": "Work"
}
Example 57
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Place",
  "name": "Fresno Area",
  "latitude": 36.75,
  "longitude": 119.7667,
  "radius": 15,
  "units": "miles"
}
説明: 論理的または物理的な場所を表現する。追加の情報については 5.3 Representing Places を参照のこと。
継承: Object
属性:

accuracy | altitude | latitude | longitude | radius | units

Objectから全ての属性を継承する。
Mention URI: https://www.w3.org/ns/activitystreams#Mention
Example 58
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Mention of Joe by Carrie in her note",
  "type": "Mention",
  "href": "http://example.org/joe",
  "name": "Joe"
}
説明: @mention を表現する Link の特化。
継承: Link
属性: Linkから全ての属性を継承する。
Profile URI: https://www.w3.org/ns/activitystreams#Profile
Example 59
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Profile",
  "summary": "Sally's Profile",
  "describes": {
    "type": "Person",
    "name": "Sally Smith"
  }
}
説明: A Profile is a content object that describes another Object, typically used to describe Actor Type objects. The describes property is used to reference the object being described by the profile.
継承: Object
属性:

describes

Objectから全ての属性を継承する。

Tombstone URI: https://www.w3.org/ns/activitystreams#Tombstone
Example 60
{
  "type": "OrderedCollection",
  "totalItems": 3,
  "name": "Vacation photos 2016",
  "orderedItems": [
    {
      "type": "Image",
      "id": "http://image.example/1"
    },
    {
      "type": "Tombstone",
      "formerType": "Image",
      "id": "http://image.example/2",
      "deleted": "2016-03-17T00:00:00Z"
    },
    {
      "type": "Image",
      "id": "http://image.example/3"
    }
  ]
}
説明: Tombstone は、削除された content object を表現する。これは、Collection 内で、以前この位置にオブジェクトがあったが 削除されたということを示すために使われる。
継承: Object
属性:

formerType | deleted

Objectから全ての属性を継承する。

4.属性

Base URI: https://www.w3.org/ns/activitystreams#.

一般的な属性は以下のものである: actor | attachment | attributedTo | audience | bcc | bto | cc | context | current | first | generator | icon | id | image | inReplyTo | instrument | last | location | items | oneOf | anyOf | closed | origin | next | object | prev | preview | result | replies | tag | target | to | type | url | accuracy | altitude | content | name | duration | height | href | hreflang | partOf | latitude | longitude | mediaType | endTime | published | startTime | radius | rel | startIndex | summary | totalItems | units | updated | width | subject | relationship | describes | formerType | deleted

The "Domain" indicates the type of Object the property term applies to. The "Range" indicates the type of value the property term can have. Certain properties are marked as a "Subproperty Of" another term, meaning that the term is a specialization of the referenced term. For instance, actor is a subproperty of attributedTo. Properties marked as being "Functional" can have only one value. Items not marked as "Functional" can have multiple values.

Term 説明
id URI: @id
Example 61
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "Foo",
  "id": "http://example.org/foo"
}
説明: Provides the globally unique identifier for an Object or Link.
Domain: Object | Link
Range: anyURI
Functional: True
type URI: @type
Example 62
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A foo",
  "type": "http://example.org/Foo"
}
説明: Identifies the Object or Link type. Multiple values may be specified.
Domain: Object | Link
Range: anyURI
actor URI: https://www.w3.org/ns/activitystreams#actor
Example 63
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally offered the Foo object",
  "type": "Offer",
  "actor": "http://sally.example.org",
  "object": "http://example.org/foo"
}
Example 64
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally offered the Foo object",
  "type": "Offer",
  "actor": {
    "type": "Person",
    "id": "http://sally.example.org",
    "summary": "Sally"
  },
  "object": "http://example.org/foo"
}
Example 65
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally and Joe offered the Foo object",
  "type": "Offer",
  "actor": [
    "http://joe.example.org",
    {
      "type": "Person",
      "id": "http://sally.example.org",
      "name": "Sally"
    }
  ],
  "object": "http://example.org/foo"
}
説明: Describes one or more entities that either performed or are expected to perform the activity. Any single activity can have multiple actors. The actor MAY be specified using an indirect Link.
Domain: Activity
Range: Object | Link
Subproperty Of: attributedTo
attachment URI: https://www.w3.org/ns/activitystreams#attachment
Example 66
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Note",
  "name": "Have you seen my cat?",
  "attachment": [
    {
      "type": "Image",
      "content": "This is what he looks like.",
      "url": "http://example.org/cat.jpeg"
    }
  ]
}
説明: 潜在的に特別な扱いが必要な、このオブジェクトに添付されたり 関連付けられたりしたリソースを識別する。目的は、少なくとも意味論的にはEメールの添付と同様のモデルを 提供することである。
Domain: Object
Range: Object | Link
attributedTo URI: https://www.w3.org/ns/activitystreams#attributedTo
Example 67
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Image",
  "name": "My cat taking a nap",
  "url": "http://example.org/cat.jpeg",
  "attributedTo": [
    {
      "type": "Person",
      "name": "Sally"
    }
  ]
}
Example 68
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Image",
  "name": "My cat taking a nap",
  "url": "http://example.org/cat.jpeg",
  "attributedTo": [
    "http://joe.example.org",
    {
      "type": "Person",
      "name": "Sally"
    }
  ]
}
説明: このオブジェクトが起因する一つ以上の実体を識別する。起因する実体は Actor ではないかもしれない。例えば、あるオブジェクトは他のアクティビティの完了に起因するかもしれない。
Domain: Link | Object
Range: Link | Object
audience URI: https://www.w3.org/ns/activitystreams#audience
Example 69
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "Holiday announcement",
  "type": "Note",
  "content": "Thursday will be a company-wide holiday. Enjoy your day off!",
  "audience": {
    "type": "http://example.org/Organization",
    "name": "ExampleCo LLC"
  }
}
説明: このオブジェクトが関連があると考えられるエントリ全体を表現する 一つ以上の実体を識別する。
Domain: Object
Range: Object | Link
bcc URI: https://www.w3.org/ns/activitystreams#bcc
Example 70
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally offered a post to John",
  "type": "Offer",
  "actor": "http://sally.example.org",
  "object": "http://example.org/posts/1",
  "target": "http://john.example.org",
  "bcc": [ "http://joe.example.org" ]
}
説明: このObjectのプライベートな補助関係者の一部である一つ以上のObjectを識別する。
Domain: Object
Range: Object | Link
bto URI: https://www.w3.org/ns/activitystreams#bto
Example 71
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally offered a post to John",
  "type": "Offer",
  "actor": "http://sally.example.org",
  "object": "http://example.org/posts/1",
  "target": "http://john.example.org",
  "bto": [ "http://joe.example.org" ]
}
説明: Identifies an Object that is part of the private primary audience of this Object.
Domain: Object
Range: Object | Link
cc URI: https://www.w3.org/ns/activitystreams#cc
Example 72
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally offered a post to John",
  "type": "Offer",
  "actor": "http://sally.example.org",
  "object": "http://example.org/posts/1",
  "target": "http://john.example.org",
  "cc": [ "http://joe.example.org" ]
}
説明: このObjectのパブリックなな補助関係者の一部である一つのObjectを識別する。
Domain: Object
Range: Object | Link
context URI: https://www.w3.org/ns/activitystreams#context
Example 73
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Activities in context 1",
  "type": "Collection",
  "items": [
    {
      "type": "Offer",
      "actor": "http://sally.example.org",
      "object": "http://example.org/posts/1",
      "target": "http://john.example.org",
      "context": "http://example.org/contexts/1"
    },
    {
      "type": "Like",
      "actor": "http://joe.example.org",
      "object": "http://example.org/posts/2",
      "context": "http://example.org/contexts/1"
    }
  ]
}
説明:

Identifies the context within which the object exists or an activity was performed.

The notion of "context" used is intentionally vague. The intended function is to serve as a means of grouping objects and activities that share a common originating context or purpose. An example could be all activities relating to a common project or event.

Domain: Object
Range: Object | Link
current URI: https://www.w3.org/ns/activitystreams#current
Example 74
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally's blog posts",
  "type": "Collection",
  "totalItems": 3,
  "current": "http://example.org/collection",
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3"
  ]
}
Example 75
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally's blog posts",
  "type": "Collection",
  "totalItems": 3,
  "current": {
    "type": "Link",
    "summary": "Most Recent Items",
    "href": "http://example.org/collection"
  },
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3"
  ]
}
説明: In a paged Collection, indicates the page that contains the most recently updated member items.
Domain: Collection
Range: CollectionPage | Link
Functional: True
first URI: https://www.w3.org/ns/activitystreams#first
Example 76
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally's blog posts",
  "type": "Collection",
  "totalItems": 3,
  "first": "http://example.org/collection?page=0"
}
Example 77
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally's blog posts",
  "type": "Collection",
  "totalItems": 3,
  "first": {
    "type": "Link",
    "summary": "First Page",
    "href": "http://example.org/collection?page=0"
  }
}
説明: In a paged Collection, indicates the furthest preceeding page of items in the collection.
Domain: Collection
Range: CollectionPage | Link
Functional: True
generator URI: https://www.w3.org/ns/activitystreams#generator
Example 78
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A simple note",
  "type": "Note",
  "content": "This is all there is.",
  "generator": {
    "type": "Application",
    "name": "Exampletron 3000"
  }
}
説明: Identifies the entity (e.g. an application) that generated the object.
Domain: Object
Range: Object | Link
icon URI: https://www.w3.org/ns/activitystreams#icon
Example 79
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A simple note",
  "type": "Note",
  "content": "This is all there is.",
  "icon": {
    "type": "Image",
    "name": "Note icon",
    "url": "http://example.org/note.png",
    "width": 16,
    "height": 16
  }
}
Example 80
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A simple note",
  "type": "Note",
  "content": "A simple note",
  "icon": [
    {
      "type": "Image",
      "summary": "Note (16x16)",
      "url": "http://example.org/note1.png",
      "width": 16,
      "height": 16
    },
    {
      "type": "Image",
      "summary": "Note (32x32)",
      "url": "http://example.org/note2.png",
      "width": 32,
      "height": 32
    }
  ]
}
説明: Indicates an entity that describes an icon for this object. The image should have an aspect ratio of one (horizontal) to one (vertical) and should be suitable for presentation at a small size.
Domain: Object
Range: Image | Link
image URI: https://www.w3.org/ns/activitystreams#image
Example 81
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "A simple note",
  "type": "Note",
  "content": "This is all there is.",
  "image": {
    "type": "Image",
    "name": "A Cat",
    "url": "http://example.org/cat.png"
  }
}
Example 82
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "A simple note",
  "type": "Note",
  "content": "This is all there is.",
  "image": [
    {
      "type": "Image",
      "name": "Cat 1",
      "url": "http://example.org/cat1.png"
    },
    {
      "type": "Image",
      "name": "Cat 2",
      "url": "http://example.org/cat2.png"
    }
  ]
}
説明: Indicates an entity that describes an image for this object. Unlike the icon property, there are no aspect ratio or display size limitations assumed.
Domain: Object
Range: Image | Link
inReplyTo URI: https://www.w3.org/ns/activitystreams#inReplyTo
Example 83
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A simple note",
  "type": "Note",
  "content": "This is all there is.",
  "inReplyTo": {
    "summary": "Previous note",
    "type": "Note",
    "content": "What else is there?"
  }
}
Example 84
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A simple note",
  "type": "Note",
  "content": "This is all there is.",
  "inReplyTo": "http://example.org/posts/1"
}
説明: Indicates one or more entities for which this object is considered a response.
Domain: Object
Range: Object | Link
instrument URI: https://www.w3.org/ns/activitystreams#instrument
Example 85
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally listened to a piece of music on the Acme Music Service",
  "type": "Listen",
  "actor": {
    "type": "Person",
    "name": "Sally"
  },
  "object": "http://example.org/foo.mp3",
  "instrument": {
    "type": "Service",
    "name": "Acme Music Service"
  }
}
説明: Identifies one or more objects used (or to be used) in the completion of an Activity.
Domain: Activity
Range: Object | Link
last URI: https://www.w3.org/ns/activitystreams#last
Example 86
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A collection",
  "type": "Collection",
  "totalItems": 3,
  "last": "http://example.org/collection?page=1"
}
Example 87
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A collection",
  "type": "Collection",
  "totalItems": 5,
  "last": {
    "type": "Link",
    "summary": "Last Page",
    "href": "http://example.org/collection?page=1"
  }
}
説明: In a paged Collection, indicates the furthest proceeding page of the collection.
Domain: Collection
Range: CollectionPage | Link
Functional: True
location URI: https://www.w3.org/ns/activitystreams#location
Example 88
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Person",
  "name": "Sally",
  "location": {
    "name": "Over the Arabian Sea, east of Socotra Island Nature Sanctuary",
    "type": "Place",
    "longitude": 12.34,
    "latitude": 56.78,
    "altitude": 90,
    "units": "m"
  }
}
説明: Indicates one or more physical or logical locations associated with the object.
Domain: Object
Range: Object | Link
items URI: https://www.w3.org/ns/activitystreams#items
Example 89
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally's notes",
  "type": "Collection",
  "totalItems": 2,
  "items": [
    {
      "type": "Note",
      "name": "Reminder for Going-Away Party"
    },
    {
      "type": "Note",
      "name": "Meeting 2016-11-17"
    }
  ]
}
Example 90
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally's notes",
  "type": "OrderedCollection",
  "totalItems": 2,
  "orderedItems": [
    {
      "type": "Note",
      "name": "Meeting 2016-11-17"
    },
    {
      "type": "Note",
      "name": "Reminder for Going-Away Party"
    }
  ]
}
説明: Identifies the items contained in a collection. The items might be ordered or unordered.
Domain: Collection
Range: Object | Link | Ordered List of [Object | Link ]
oneOf URI: https://www.w3.org/ns/activitystreams#oneOf
Example 91
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Question",
  "name": "What is the answer?",
  "oneOf": [
    {
      "type": "Note",
      "name": "Option A"
    },
    {
      "type": "Note",
      "name": "Option B"
    }
  ]
}
説明: Identifies an exclusive option for a Question. Use of oneOf implies that the Question can have only a single answer. To indicate that a Question can have multiple answers, use anyOf.
Domain: Question
Range: Object | Link
anyOf URI: https://www.w3.org/ns/activitystreams#anyOf
Example 92
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Question",
  "name": "What is the answer?",
  "anyOf": [
    {
      "type": "Note",
      "name": "Option A"
    },
    {
      "type": "Note",
      "name": "Option B"
    }
  ]
}
説明: Identifies an inclusive option for a Question. Use of anyOf implies that the Question can have multiple answers. To indicate that a Question can have only one answer, use oneOf.
Domain: Question
Range: Object | Link
closed URI: https://www.w3.org/ns/activitystreams#closed
Example 93
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Question",
  "name": "What is the answer?",
  "closed": "2016-05-10T00:00:00Z"
}
説明: Indicates that a question has been closed, and answers are no longer accepted.
Domain: Question
Range: Object | Link | xsd:dateTime | xsd:boolean
origin URI: https://www.w3.org/ns/activitystreams#origin
Example 94
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally moved a post from List A to List B",
  "type": "Move",
  "actor": "http://sally.example.org",
  "object": "http://example.org/posts/1",
  "target": {
    "type": "Collection",
    "name": "List B"
  },
  "origin": {
    "type": "Collection",
    "name": "List A"
  }
}
説明: Describes an indirect object of the activity from which the activity is directed. The precise meaning of the origin is the object of the English preposition "from". For instance, in the activity "John moved an item to List B from List A", the origin of the activity is "List A".
Domain: Activity
Range: Object | Link
next URI: https://www.w3.org/ns/activitystreams#next
Example 95
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Page 2 of Sally's blog posts",
  "type": "CollectionPage",
  "next": "http://example.org/collection?page=2",
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3"
  ]
}
Example 96
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Page 2 of Sally's blog posts",
  "type": "CollectionPage",
  "next": {
    "type": "Link",
    "name": "Next Page",
    "href": "http://example.org/collection?page=2"
  },
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3"
  ]
}
説明: In a paged Collection, indicates the next page of items.
Domain: CollectionPage
Range: CollectionPage | Link
Functional: True
object URI: https://www.w3.org/ns/activitystreams#object
Example 97
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally liked a post",
  "type": "Like",
  "actor": "http://sally.example.org",
  "object": "http://example.org/posts/1"
}
Example 98
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Like",
  "actor": "http://sally.example.org",
  "object": {
    "type": "Note",
    "content": "A simple note"
  }
}
Example 99
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally liked a note",
  "type": "Like",
  "actor": "http://sally.example.org",
  "object": [
    "http://example.org/posts/1",
    {
      "type": "Note",
      "summary": "A simple note",
      "content": "That is a tree."
    }
  ]
}
説明:

When used within an Activity, describes the direct object of the activity. For instance, in the activity "John added a movie to his wishlist", the object of the activity is the movie added.

When used within a Relationship describes the entity to which the subject is related.

Domain: Activity | Relationship
Range: Object | Link
prev URI: https://www.w3.org/ns/activitystreams#prev
Example 100
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Page 1 of Sally's blog posts",
  "type": "CollectionPage",
  "prev": "http://example.org/collection?page=1",
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3"
  ]
}
Example 101
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Page 1 of Sally's blog posts",
  "type": "CollectionPage",
  "prev": {
    "type": "Link",
    "name": "Previous Page",
    "href": "http://example.org/collection?page=1"
  },
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3"
  ]
}
説明: In a paged Collection, identifies the previous page of items.
Domain: CollectionPage
Range: CollectionPage | Link
Functional: True
preview URI: https://www.w3.org/ns/activitystreams#preview
Example 102
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Video",
  "name": "Cool New Movie",
  "duration": "PT2H30M",
  "preview": {
    "type": "Video",
    "name": "Trailer",
    "duration": "PT1M",
    "url": {
      "href": "http://example.org/trailer.mkv",
      "mediaType": "video/mkv"
    }
  }
}
説明: Identifies an entity that provides a preview of this object.
Domain: Link | Object
Range: Link | Object
result URI: https://www.w3.org/ns/activitystreams#result
Example 103
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally checked that her flight was on time",
  "type": ["Activity", "http://www.verbs.example/Check"],
  "actor": "http://sally.example.org",
  "object": "http://example.org/flights/1",
  "result": {
    "type": "http://www.types.example/flightstatus",
    "name": "On Time"
  }
}
説明: Describes the result of the activity. For instance, if a particular action results in the creation of a new resource, the result property can be used to describe that new resource.
Domain: Activity
Range: Object | Link
replies URI: https://www.w3.org/ns/activitystreams#replies
Example 104
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A simple note",
  "type": "Note",
  "id": "http://www.test.example/notes/1",
  "content": "I am fine.",
  "replies": {
    "type": "Collection",
    "totalItems": 1,
    "items": [
      {
        "summary": "A response to the note",
        "type": "Note",
        "content": "I am glad to hear it.",
        "inReplyTo": "http://www.test.example/notes/1"
      }
    ]
  }
}
説明: Identifies a Collection containing objects considered to be responses to this object.
Domain: Object
Range: Collection
Functional: True
tag URI: https://www.w3.org/ns/activitystreams#tag
Example 105
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Image",
  "summary": "Picture of Sally",
  "url": "http://example.org/sally.jpg",
  "tag": [
    {
      "type": "Person",
      "id": "http://sally.example.org",
      "name": "Sally"
    }
  ]
}
説明: One or more "tags" that have been associated with an objects. A tag can be any kind of Object. The key difference between attachment and tag is that the former implies association by inclusion, while the latter implies associated by reference.
Domain: Object
Range: Object | Link
target URI: https://www.w3.org/ns/activitystreams#target
Example 106
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally offered the post to John",
  "type": "Offer",
  "actor": "http://sally.example.org",
  "object": "http://example.org/posts/1",
  "target": "http://john.example.org"
}
Example 107
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally offered the post to John",
  "type": "Offer",
  "actor": "http://sally.example.org",
  "object": "http://example.org/posts/1",
  "target": {
    "type": "Person",
    "name": "John"
  }
}
説明: Describes the indirect object, or target, of the activity. The precise meaning of the target is largely dependent on the type of action being described but will often be the object of the English preposition "to". For instance, in the activity "John added a movie to his wishlist", the target of the activity is John's wishlist. An activity can have more than one target.
Domain: Activity
Range: Object | Link
to URI: https://www.w3.org/ns/activitystreams#to
Example 108
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally offered the post to John",
  "type": "Offer",
  "actor": "http://sally.example.org",
  "object": "http://example.org/posts/1",
  "target": "http://john.example.org",
  "to": [ "http://joe.example.org" ]
}
説明: Identifies an entity considered to be part of the public primary audience of an Object
Domain: Object
Range: Object | Link
url URI: https://www.w3.org/ns/activitystreams#url
Example 109
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Document",
  "name": "4Q Sales Forecast",
  "url": "http://example.org/4q-sales-forecast.pdf"
}
Example 110
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Document",
  "name": "4Q Sales Forecast",
  "url": {
    "type": "Link",
    "href": "http://example.org/4q-sales-forecast.pdf"
  }
}
Example 111
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Document",
  "name": "4Q Sales Forecast",
  "url": [
    {
      "type": "Link",
      "href": "http://example.org/4q-sales-forecast.pdf",
      "mediaType": "application/pdf"
    },
    {
      "type": "Link",
      "href": "http://example.org/4q-sales-forecast.html",
      "mediaType": "text/html"
    }
  ]
}
説明: Identifies one or more links to representations of the object
Domain: Object
Range: xsd:anyURI | Link
accuracy URI: https://www.w3.org/ns/activitystreams#accuracy
Example 112
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "Liu Gu Lu Cun, Pingdu, Qingdao, Shandong, China",
  "type": "Place",
  "latitude": 36.75,
  "longitude": 119.7667,
  "accuracy": 94.5
}
説明: Indicates the accuracy of position coordinates on a Place objects. Expressed in properties of percentage. e.g. "94.0" means "94.0% accurate".
Domain: Place
Range: xsd:float [>= 0.0f, <= 100.0f]
Functional: True
altitude URI: https://www.w3.org/ns/activitystreams#altitude
Example 113
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Place",
  "name": "Fresno Area",
  "altitude": 15.0,
  "latitude": 36.75,
  "longitude": 119.7667,
  "units": "miles"
}
説明: Indicates the altitude of a place. The measurement units is indicated using the units property. If units is not specified, the default is assumed to be "m" indicating meters.
Domain: Object
Range: xsd:float
Functional: True
content URI: https://www.w3.org/ns/activitystreams#content
Example 114
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A simple note",
  "type": "Note",
  "content": "A <em>simple</em> note"
}
Example 115
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A simple note",
  "type": "Note",
  "contentMap": {
    "en": "A <em>simple</em> note",
    "es": "Una nota <em>sencilla</em>",
    "zh-Hans": "一段<em>简单的</em>笔记"
  }
}
Example 116
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A simple note",
  "type": "Note",
  "mediaType": "text/markdown",
  "content": "## A simple note\nA simple markdown `note`"
}
説明:

JSON string としてエンコードされた、Object の内容やテキスト表現。デフォルトでは、content の値は HTML である。異なるコンテントタイプを示すためにこのオブジェクトに mediaType 属性を指定できる。

content は複数の言語タグ付きの値を使って表現しても良い(MAY)。

Domain: Object
Range: xsd:string | rdf:langString
name URI: https://www.w3.org/ns/activitystreams#name
Example 117
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Note",
  "name": "A simple note"
}
Example 118
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Note",
  "nameMap": {
    "en": "A simple note",
    "es": "Una nota sencilla",
    "zh-Hans": "一段简单的笔记"
  }
}
説明: このオブジェクトの、単純で、人間可読な、プレーンテキスト名。HTML マークアップを含んでいてはならない(MUST NOT)。content は複数の言語タグ付きの値を使って表現しても良い(MAY)。
Domain: Object | Link
Range: xsd:string | rdf:langString
duration URI: https://www.w3.org/ns/activitystreams#duration
Example 119
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Video",
  "name": "Birds Flying",
  "url": "http://example.org/video.mkv",
  "duration": "PT2H"
}
説明: When the object describes a time-bound resource, such as an audio or video, a meeting, etc, the duration property indicates the object's approximate duration. The value MUST be expressed as an xsd:duration as defined by [ xmlschema11-2], section 3.3.6 (e.g. a period of 5 seconds is represented as "PT5S").
Domain: Object
Range: xsd:duration
Functional: True
height URI: https://www.w3.org/ns/activitystreams#height
Example 120
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Link",
  "href": "http://example.org/image.png",
  "height": 100,
  "width": 100
}
説明: On a Link, specifies a hint as to the rendering height in device-independent pixels of the linked resource.
Domain: Link
Range: xsd:nonNegativeInteger
Functional: True
href URI: https://www.w3.org/ns/activitystreams#href
Example 121
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Link",
  "href": "http://example.org/abc",
  "mediaType": "text/html",
  "name": "Previous"
}
説明: The target resource pointed to by a Link.
Domain: Link
Range: xsd:anyURI
Functional: True
hreflang URI: https://www.w3.org/ns/activitystreams#hreflang
Example 122
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Link",
  "href": "http://example.org/abc",
  "hreflang": "en",
  "mediaType": "text/html",
  "name": "Previous"
}
説明: Hints as to the language used by the target resource. Value MUST be a [BCP47] Language-Tag.
Domain: Link
Range: [BCP47] Language Tag
Functional: True
partOf URI: https://www.w3.org/ns/activitystreams#partOf
Example 123
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Page 1 of Sally's notes",
  "type": "CollectionPage",
  "id": "http://example.org/collection?page=1",
  "partOf": "http://example.org/collection",
  "items": [
    {
      "type": "Note",
      "name": "Pizza Toppings to Try"
    },
    {
      "type": "Note",
      "name": "Thought about California"
    }
  ]
}
説明: Identifies the Collection to which a CollectionPage objects items belong.
Domain: CollectionPage
Range: Link | Collection
Functional: True
latitude URI: https://www.w3.org/ns/activitystreams#latitude
Example 124
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Place",
  "name": "Fresno Area",
  "latitude": 36.75,
  "longitude": 119.7667,
  "radius": 15,
  "units": "miles"
}
説明: The latitude of a place
Domain: Place
Range: xsd:float
Functional: True
longitude URI: https://www.w3.org/ns/activitystreams#longitude
Example 125
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Place",
  "name": "Fresno Area",
  "latitude": 36.75,
  "longitude": 119.7667,
  "radius": 15,
  "units": "miles"
}
説明: The longitude of a place
Domain: Place
Range: xsd:float
Functional: True
mediaType URI: https://www.w3.org/ns/activitystreams#mediaType
Example 126
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Link",
  "href": "http://example.org/abc",
  "hreflang": "en",
  "mediaType": "text/html",
  "name": "Next"
}
説明:

When used on a Link, identifies the MIME media type of the referenced resource.

When used on an Object, identifies the MIME media type of the value of the content property. If not specified, the content property is assumed to contain text/html content.

Domain: Link | Object
Range: MIME Media Type
Functional: True
endTime URI: https://www.w3.org/ns/activitystreams#endTime
Example 127
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Event",
  "name": "Going-Away Party for Jim",
  "startTime": "2014-12-31T23:00:00-08:00",
  "endTime": "2015-01-01T06:00:00-08:00"
}
説明: The date and time describing the actual or expected ending time of the object. When used with an Activity object, for instance, the endTime property specifies the moment the activity concluded or is expected to conclude.
Domain: Object
Range: xsd:dateTime
Functional: True
published URI: https://www.w3.org/ns/activitystreams#published
Example 128
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "A simple note",
  "type": "Note",
  "content": "Fish swim.",
  "published": "2014-12-12T12:12:12Z"
}
説明: The date and time at which the object was published
Domain: Object
Range: xsd:dateTime
Functional: True
startTime URI: https://www.w3.org/ns/activitystreams#startTime
Example 129
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Event",
  "name": "Going-Away Party for Jim",
  "startTime": "2014-12-31T23:00:00-08:00",
  "endTime": "2015-01-01T06:00:00-08:00"
}
説明: The date and time describing the actual or expected starting time of the object. When used with an Activity object, for instance, the startTime property specifies the moment the activity began or is scheduled to begin.
Domain: Object
Range: xsd:dateTime
Functional: True
radius URI: https://www.w3.org/ns/activitystreams#radius
Example 130
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Place",
  "name": "Fresno Area",
  "latitude": 36.75,
  "longitude": 119.7667,
  "radius": 15,
  "units": "miles"
}
説明: The radius from the given latitude and longitude for a Place. The units is expressed by the units property. If units is not specified, the default is assumed to be "m" indicating "meters".
Domain: Place
Range: xsd:float [>= 0.0f]
Functional: True
rel URI: https://www.w3.org/ns/activitystreams#rel
Example 131
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Link",
  "href": "http://example.org/abc",
  "hreflang": "en",
  "mediaType": "text/html",
  "name": "Preview",
  "rel": ["canonical", "preview"]
}
説明:

A link relation associated with a Link. The value MUST conform to both the [HTML5] and [RFC5988] "link relation" definitions.

In the [HTML5], any string not containing the "space" U+0020, "tab" (U+0009), "LF" (U+000A), "FF" (U+000C), "CR" (U+000D) or "," (U+002C) characters can be used as a valid link relation.

Domain: Link
Range: [RFC5988] or [HTML5] Link Relation
startIndex URI: https://www.w3.org/ns/activitystreams#startIndex
Example 132
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Page 1 of Sally's notes",
  "type": "OrderedCollectionPage",
  "startIndex": 0,
  "orderedItems": [
    {
      "type": "Note",
      "name": "Density of Water"
    },
    {
      "type": "Note",
      "name": "Air Mattress Idea"
    }
  ]
}
説明: A non-negative integer value identifying the relative position within the logical view of a strictly ordered collection.
Domain: OrderedCollectionPage
Range: xsd:nonNegativeInteger
Functional: True
summary URI: https://www.w3.org/ns/activitystreams#summary
Example 133
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "Cane Sugar Processing",
  "type": "Note",
  "summary": "A simple <em>note</em>"
}
Example 134
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "Cane Sugar Processing",
  "type": "Note",
  "summaryMap": {
    "en": "A simple <em>note</em>",
    "es": "Una <em>nota</em> sencilla",
    "zh-Hans": "一段<em>简单的</em>笔记"
  }
}
説明: A natural language summarization of the object encoded as HTML. Multiple language tagged summaries MAY be provided.
Domain: Object
Range: xsd:string | rdf:langString
totalItems URI: https://www.w3.org/ns/activitystreams#totalItems
Example 135
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally's notes",
  "type": "Collection",
  "totalItems": 2,
  "items": [
    {
      "type": "Note",
      "name": "Which Staircase Should I Use"
    },
    {
      "type": "Note",
      "name": "Something to Remember"
    }
  ]
}
説明: A non-negative integer specifying the total number of objects contained by the logical view of the collection. This number might not reflect the actual number of items serialized within the Collection object instance.
Domain: Collection
Range: xsd:nonNegativeInteger
Functional: True
units URI: https://www.w3.org/ns/activitystreams#units
Example 136
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Place",
  "name": "Fresno Area",
  "latitude": 36.75,
  "longitude": 119.7667,
  "radius": 15,
  "units": "miles"
}
説明: Specifies the measurement units for the radius and altitude properties on a Place object. If not specified, the default is assumed to be "m" for "meters".
Domain: Place
Range: "cm" | " feet" | " inches" | " km" | " m" | " miles" | xsd:anyURI
Functional: True
updated URI: https://www.w3.org/ns/activitystreams#updated
Example 137
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "Cranberry Sauce Idea",
  "type": "Note",
  "content": "Mush it up so it does not have the same shape as the can.",
  "updated": "2014-12-12T12:12:12Z"
}
説明: The date and time at which the object was updated
Domain: Object
Range: xsd:dateTime
Functional: True
width URI: https://www.w3.org/ns/activitystreams#width
Example 138
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Link",
  "href": "http://example.org/image.png",
  "height": 100,
  "width": 100
}
説明: On a Link, specifies a hint as to the rendering width in device-independent pixels of the linked resource.
Domain: Link
Range: xsd:nonNegativeInteger
Functional: True
subject URI: https://www.w3.org/ns/activitystreams#subject
Example 139
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally is an acquaintance of John's",
  "type": "Relationship",
  "subject": {
    "type": "Person",
    "name": "Sally"
  },
  "relationship": "http://purl.org/vocab/relationship/acquaintanceOf",
  "object": {
    "type": "Person",
    "name": "John"
  }
}
説明: On a Relationship object, the subject property identifies one of the connected individuals. For instance, for a Relationship object describing "John is related to Sally", subject would refer to John.
Domain: Relationship
Range: Link | Object
Functional: True
relationship URI: https://www.w3.org/ns/activitystreams#relationship
Example 140
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally is an acquaintance of John's",
  "type": "Relationship",
  "subject": {
    "type": "Person",
    "name": "Sally"
  },
  "relationship": "http://purl.org/vocab/relationship/acquaintanceOf",
  "object": {
    "type": "Person",
    "name": "John"
  }
}
説明: On a Relationship object, the relationship property identifies the kind of relationship that exists between subject and object.
Domain: Relationship
Range: Object
describes URI: https://www.w3.org/ns/activitystreams#describes
Example 141
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally's profile",
  "type": "Profile",
  "describes": {
    "type": "Person",
    "name": "Sally"
  },
  "url": "http://sally.example.org"
}
説明: On a Profile object, the describes property identifies the object described by the Profile.
Domain: Profile
Range: Object
Functional: True
formerType URI: https://www.w3.org/ns/activitystreams#formerType
Example 142
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "This image has been deleted",
"type": "Tombstone",
"formerType": "Image",
"url": "http://example.org/image/2"
}
説明: On a Tombstone object, the formerType property identifies the type of the object that was deleted.
Domain: Tombstone
Range: Object
Functional: False
deleted URI: https://www.w3.org/ns/activitystreams#deleted
Example 143
{
"@context": "https://www.w3.org/ns/activitystreams",
"summary": "This image has been deleted",
"type": "Tombstone",
"deleted": "2016-05-03T00:00:00Z"
}
説明: On a Tombstone object, the deleted property is a timestamp for when the object was deleted.
Domain: Tombstone
Range: xsd:dateTime
Functional: True

5.実装の注意点

5.1 関係者指定

Conceptually, every Object has both a Primary and Secondary audience. The Primary audience consists of those entities directly involved or owning the object. The Secondary audience consists of the collection of entities sharing an interest in the object but who might not be directly involved (e.g."followers").

For instance, suppose a social network of three individuals: Bob, Joe and Jane. Bob and Joe are each friends with Jane but are not friends with one another. Bob has chosen to "follow" activities for which Jane is directly involved. Jane shares a file with Joe.

In this example, Jane and Joe are each directly involved in the file sharing activity and together make up the Primary Audience for that event. Bob, having an interest in activities involving Jane, is the Secondary Audience. Knowing this, a system that produces or consumes the activity can intelligently notify each person of the event.

多くの型のアクティビティに対して、 (アクティビティのアクション型、アクター、オブジェクト、対象を元にして) 主要関係者を推測する手段はあるものの、 経験則は全ての場合に働くわけではなく、補助関係者を識別する手段を提供しない。to, cc, bto and bcc 属性を 主要関係者と補助関係者を明示的に識別するために Object の中で使ってもよい(MAY)。

The prototypical use case for an Object containing these properties is the publication and redistribution of objects through an intermediary. That is, an event source generates the object and publishes it to the intermediary which determines a subset of items to display to specific individual users or groups. Such a determination can be made, in part, by identifying the Primary and Secondary Audiences for each object.

When the event source generates the object and specifies values for the to and cc fields, the intermediary SHOULD redistribute that object with the values of those fields intact, allowing any processor to see who the object has been targeted to. This is precisely the same model used by the to and cc fields in email systems.

There are situations, however, in which disclosing the identity of specific members of the audience may be inappropriate. For instance, a user may not wish to let other users know that they are interested in various topics, individuals or types of events. To support this option, an implementation generating an object MAY use the bto and bcc properties to list entities to whom the object should be privately targeted. When an intermediary receives an object containing these properties, it MUST remove those values prior to redistributing the object. The intent is that systems MUST consider entities listed within the bto and bcc properties as part of the Primary and Secondary audience but MUST NOT disclose that fact to any other party.

Audience targeting information included within an Object only describes the intent of the object creator. With clear exception given to the appropriate handling of bto and bcc, this specification leaves it up to implementations to determine how the audience targeting information is used.

5.1.1 Audience and Context

この節は非規範的である。

Activities are rarely isolated events. Often, multiple individual activities will be performed around a similar context or audience. For instance, a collaborators working on a shared project might perform multiple related activities in the process of achieving some goal. Such activities can be logically grouped together using the context property, and scoped to a particular audience using the audience property.

For instance, the following shows two related activities that share a common context and audience:

Example 144
{
 "@context": "https://www.w3.org/ns/activitystreams",
 "summary": "Activities in Project XYZ",
 "type": "Collection",
 "items": [
   {
     "summary": "Sally created a note",
     "type": "Create",
     "id": "http://activities.example.com/1",
     "actor": "http://sally.example.org",
     "object": {
      "summary": "A note",
       "type": "Note",
       "id": "http://notes.example.com/1",
       "content": "A note"
     },
     "context": {
       "type": "http://example.org/Project",
       "name": "Project XYZ"
     },
     "audience": {
       "type": "Group",
       "name": "Project XYZ Working Group"
     },
     "to": "http://john.example.org"
   },
   {
     "summary": "John liked Sally's note",
     "type": "Like",
     "id": "http://activities.example.com/1",
     "actor": "http://john.example.org",
     "object": "http://notes.example.com/1",
     "context": {
       "type": "http://example.org/Project",
       "name": "Project XYZ"
     },
     "audience": {
       "type": "Group",
       "name": "Project XYZ Working Group"
     },
     "to": "http://sally.example.org"
   }
 ]
}

5.2 エンティティ間の関連の表現

The Relationship object is used to represent relationships between individuals. It can be used, for instance, to describe that one person is a friend of another, or that one person is a member of a particular organization. The intent of modeling Relationship in this way is to allow descriptions of activities that operate on the relationships in general, and to allow representation of Collections of relationships.

For instance, many social systems have a notion of a "friends list". These are the collection of individuals that are directly connected within a person's social graph. Suppose we have a user, Sally, with direct relationships to users Joe and Jane. Sally follows Joe's updates while Sally and Jane have a mutual relationship.

Using the Relationship object, we can model these relationships as:

Example 145
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally's friends list",
  "type": "Collection",
  "items": [
    {
      "summary": "Sally is influenced by Joe",
      "type": "Relationship",
      "subject": {
        "type": "Person",
        "name": "Sally"
      },
      "relationship": "http://purl.org/vocab/relationship/influencedBy",
      "object": {
        "type": "Person",
        "name": "Joe"
      }
    },
    {
      "summary": "Sally is a friend of Jane",
      "type": "Relationship",
      "subject": {
        "type": "Person",
        "name": "Sally"
      },
      "relationship": "http://purl.org/vocab/relationship/friendOf",
      "object": {
        "type": "Person",
        "name": "Jane"
      }
    }
  ]
}

The relationship property specifies the kind of relationship that exists between the two individuals identified by the subject and object properties. Used together, these three properties form what is commonly known as a " reified statement" where subject identifies the subject, relationship identifies the predicate, and object identifies the object.

While use of reified statements can be problematic and confusing in certain situations, their use within the Activity Streams vocabulary to describe relationships provides a straightforward mechanism of describing changes to an individual's social graph. For instance, to indicate that Sally has created a new relationship to user Matt, an implementer can use the Relationship object together with the Create activity:

Example 146
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally became a friend of Matt",
  "type": "Create",
  "actor": "http://sally.example.org",
  "object": {
    "type": "Relationship",
    "subject": "http://sally.example.org",
    "relationship": "http://purl.org/vocab/relationship/friendOf",
    "object": "http://matt.example.org",
    "startTime": "2015-04-21T12:34:56"
  }
}

Additionally, modeling the relationship in this way allows implementers to articulate additional properties of the relationship itself. For instance, the date and time at which the relationship began or ended.

Implementations may reuse existing vocabularies that have been developed for the purpose of describing relationships, or create their own guided by requirements of their particular implementation. Existing vocabularies include the " Friend of a Friend" and " Relationship" vocabularies.

5.2.1 Modeling "friend requests"

この節は非規範的である。

One common use case for many social platforms is the establishment of symmetrical "friend" relationships, in which one user initially extends a request to another user to establish a new connection. Once the connection is made, both users automatically begin receiving notifications about activities performed by the other, and the established relationship becomes visible in either user's "friends list".

The initial "friend request" can be modeled by composing the Offer and Relationship object types as in the following example:

Example 147
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "id": "http://example.org/connection-requests/123",
  "summary": "Sally requested to be a friend of John",
  "type": "Offer",
  "actor": "acct:sally@example.org",
  "object": {
    "summary": "Sally and John's friendship",
    "id": "http://example.org/connections/123",
    "type": "Relationship",
    "subject": "acct:sally@example.org",
    "relationship": "http://purl.org/vocab/relationship/friendOf",
    "object": "acct:john@example.org"
  },
  "target": "acct:john@example.org"
}

Assuming the "friend request" is accepted, the remaining steps in this common application scenario can be represented as a set of distinct activities:

Example 148
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "Sally and John's relationship history",
  "type": "Collection",
  "items": [
    {
      "summary": "John accepted Sally's friend request",
      "id": "http://example.org/activities/122",
      "type": "Accept",
      "actor": "acct:john@example.org",
      "object": "http://example.org/connection-requests/123",
      "inReplyTo": "http://example.org/connection-requests/123",
      "context": "http://example.org/connections/123",
      "result": [
        "http://example.org/activities/123",
        "http://example.org/activities/124",
        "http://example.org/activities/125",
        "http://example.org/activities/126"
      ]
    },
    {
      "summary": "John followed Sally",
      "id": "http://example.org/activities/123",
      "type": "Follow",
      "actor": "acct:john@example.org",
      "object": "acct:sally@example.org",
      "context": "http://example.org/connections/123"
    },
    {
      "summary": "Sally followed John",
      "id": "http://example.org/activities/124",
      "type": "Follow",
      "actor": "acct:sally@example.org",
      "object": "acct:john@example.org",
      "context": "http://example.org/connections/123"
    },
    {
      "summary": "John added Sally to his friends list",
      "id": "http://example.org/activities/125",
      "type": "Add",
      "actor": "acct:john@example.org",
      "object": "http://example.org/connections/123",
      "target": {
        "type": "Collection",
        "summary": "John's Connections"
      },
      "context": "http://example.org/connections/123"
    },
    {
      "summary": "Sally added John to her friends list",
      "id": "http://example.org/activities/126",
      "type": "Add",
      "actor": "acct:sally@example.org",
      "object": "http://example.org/connections/123",
      "target": {
        "type": "Collection",
        "summary": "Sally's Connections"
      },
      "context": "http://example.org/connections/123"
    }
  ]
}

As illustrated in this example, accepting the "friend request" results in four additional activities including: John following Sally, Sally following John, John adding the relationship with Sally to his collection of Connections, and Sally adding the relationship with John to her collection of Connections.

In this example,

  1. The optional result property is used within the Accept activity to identify the additional activities that occurred as a result of the accept.
  2. The optional context property is used to relate the various activities back to a common reference point, which in this example is the relationship being established. The context allows an implementation to efficiently group related activities together for display or analytic purposes.

5.3 場所の表現

この節は非規範的である。

The Place object is used to represent both physical and logical locations. While numerous existing vocabularies exist for describing locations in a variety of ways, inconsistencies and incompatibilities between those vocabularies make it difficult to achieve appropriate interoperability between implementations. The Place object is included within the Activity vocabulary to provide a minimal, interoperable starting point for describing locations consistently across Activity Streams 2.0 implementations.

The Place object is intentionally flexible. It can, for instance, be used to identify a location simply by name:

Example 149
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Place",
  "name": "San Francisco, CA"
}

Or, by longitude and latitude:

Example 150
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Place",
  "name": "San Francisco, CA",
  "longitude": "122.4167",
  "latitude": "37.7833"
}

The Place object can also describe an area around a given point using the radius property, the altitude of the location, and a degree of accuracy.

While publishers are not required to use these specific properties and MAY make use of other mechanisms for describing locations, consuming implementations that support the Place object MUST support the use of these properties.

5.4 質問の表現

この節は非規範的である。

The Question object can be used to express various types of inquiries.

For instance, simple open-ended questions similar to those posted to crowd-sourced question and answer websites:

Example 151
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "A question about robots",
  "id": "http://help.example.org/question/1",
  "type": "Question",
  "content": "I'd like to build a robot to feed my cat. Should I use Arduino or Raspberry Pi?"
}

Multiple-choice questions or "polls" are also supported using either the oneOf or anyOf properties:

Example 152
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "id": "http://polls.example.org/question/1",
  "name": "A question about robots",
  "type": "Question",
   "content": "I'd like to build a robot to feed my cat. Which platform is best?",
   "oneOf": [
     {"name": "arduino"},
     {"name": "raspberry pi"}
   ]
 }

Responses to questions are expressed as Objects containing an inReplyto property referencing the Question.

Example 153
{
 "@context": "https://www.w3.org/ns/activitystreams",
 "attributedTo": "http://sally.example.org",
 "inReplyTo": "http://polls.example.org/question/1",
 "name": "arduino"
}

Because Question objects are also instances of Activity, the result property can be used to express the results or outcome of the Question (as appropriate):

Example 154
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "A question about robots",
  "id": "http://polls.example.org/question/1",
  "type": "Question",
   "content": "I'd like to build a robot to feed my cat. Which platform is best?",
   "oneOf": [
     {"name": "arduino"},
     {"name": "raspberry pi"}
   ],
   "replies": {
     "type": "Collection",
     "totalItems": 3,
     "items": [
       {
         "attributedTo": "http://sally.example.org",
         "inReplyTo": "http://polls.example.org/question/1",
         "name": "arduino"
       },
       {
         "attributedTo": "http://joe.example.org",
         "inReplyTo": "http://polls.example.org/question/1",
         "name": "arduino"
       },
       {
         "attributedTo": "http://john.example.org",
         "inReplyTo": "http://polls.example.org/question/1",
         "name": "raspberry pi"
       }
     ]
   },
   "result": {
     "type": "Note",
     "content": "Users are favoriting &quot;arduino&quot; by a 33% margin."
   }
 }

5.5 逆アクティビティと "Undo"

この節は非規範的である。

Several of the core Activity types are defined as natural inversions of one another. These include:

It is important to note that these types of activities are semantically distinct from one another and have no direct relationship on the other. That is, for example, if an actor "likes" a note at one point in time then later "dislikes" it, the "dislike" activity does not "undo" or negate out the prior "like".

The appropriate interpretation for the following is that Sally first liked, then later disliked John's note:

Example 155
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "summary": "History of John's note",
  "type": "Collection",
  "items": [
    {
      "summary": "Sally liked John's note",
      "type": "Like",
      "actor": "http://sally.example.org",
      "id": "http://activities.example.com/1",
      "published": "2015-11-12T12:34:56Z",
      "object": {
        "summary": "John's note",
        "type": "Note",
        "id": "http://notes.example.com/1",
        "attributedTo": "http://john.example.org",
        "content": "My note"
      }
    },
    {
      "summary": "Sally disliked John's note",
      "type": "Dislike",
      "actor": "http://sally.example.org",
      "id": "http://activities.example.com/2",
      "published": "2015-12-11T21:43:56Z",
      "object": {
        "summary": "John's note",
        "type": "Note",
        "id": "http://notes.example.com/1",
        "attributedTo": "http://john.example.org",
        "content": "My note"
      }
    }
  ]
 }

The Undo activity type is defined to provide the specific ability to undo or cancel out a prior activity. The appropriate interpretation for the following, then, is that Sally liked John's note at one point but has explicitly redacted that like later on.

Example 156
{
 "@context": "https://www.w3.org/ns/activitystreams",
 "summary": "History of John's note",
 "type": "Collection",
 "items": [
   {
     "summary": "Sally liked John's note",
     "type": "Like",
     "id": "http://activities.example.com/1",
     "actor": "http://sally.example.org",
     "published": "2015-11-12T12:34:56Z",
     "object": {
       "summary": "John's note",
       "type": "Note",
       "id": "http://notes.example.com/1",
       "attributedTo": "http://john.example.org",
       "content": "My note"
     }
   },
   {
     "summary": "Sally no longer likes John's note",
     "type": "Undo",
     "id": "http://activities.example.com/2",
     "actor": "http://sally.example.org",
     "published": "2015-12-11T21:43:56Z",
     "object": "http://activities.example.com/1"
   }
 ]
}

The end result of the former example is that Sally has indicated that she changed her opinion about John's note and now dislikes it, while in the latter example she currently neither likes or dislikes it.

5.6 言及、タグおよびその他の一般的なソーシャルマイクロ文法

この節は非規範的である。

Many social software systems use special text-based microsyntaxes that allow users to define special addressing for notifications, linking, or categorization within objects. For example, including text such as "@username" within an object's content will often route the object to a special "mentions" or "inbox" stream for a particular user. Likewise, including text such as " #topic" within the object's content will often mark the object as being related to the topic "topic". Such mechanisms are commonly referred to as "mentions" and "hashtags", respectively.

このようなマイクロ文法は、Activity Streams Objectcontent, name, summary 属性の値の中で使われても良い(MAY)が、実装は、通知の適切なルーティング、分類、またはオブジェクト間のリンクを決定するために、これらの属性の値を解析することを要求されるべきではない(SHOULD NOT)。代わりに、発行者は それぞれの具体的にそれらの目的のために提供されている vocabulary terms を適切に使用するべきである(SHOULD)。

例えば、作者が "@sally" という名前の他のユーザーに "#givingthanks" という タグ付きで感謝のメッセージを送りたいとする。このメッセージがメモの内容の中に現れる典型的な方法を以下に示す:

Figure 1 A simple note with a mention an a hashtag:
 "Thank you @sally for all your hard work! #givingthanks" 

典型的なソーシャルソフトウェア実装は典型的にはこのようなコンテンツを、 "@sally" を "@sally" のソーシャルプロフィールページへの ハイパーリンクに置き換え、"#givingthanks" を 同じトピックに「タグ付け」された他のメッセージの一覧への ハイパーリンクに置き換える。ほとんどの実装はまた、自分が作ったメッセージが言及されたことを知らせるために、 sally に特別な通知を送信する。

以下に等価な Activity Streams Note オブジェクトを示す:

Example 157
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "A thank-you note",
  "type": "Note",
  "content": "Thank you <a href='http://sally.example.org'>@sally</a>
      for all your hard work!
      <a href='http://example.org/tags/givingthanks'>#givingthanks</a>",
  "to": {
    "name": "Sally",
    "type": "Person",
    "id": "http://sally.example.org"
  },
  "tag": {
    "id": "http://example.org/tags/givingthanks",
    "name": "#givingthanks"
  }
}

The to property indicates that the user "@sally" is to be considered part of the primary audience of the note and should therefore receive notification. The tag property associates the Note with a reference to " http://example.org/tags/givingthanks". Note that the content still includes the "@sally" and " #givingthanks" microsyntaxes but that consuming implementations are not required to parse those in order to make the appropriate associations.

In the case a publisher wishes to indicate a mention without an associated notification, the publisher can use the Mention object type as a value of the tag property.

Example 158
{
  "@context": "https://www.w3.org/ns/activitystreams",
  "name": "A thank-you note",
  "type": "Note",
  "content": "Thank you @sally for all your hard work! #givingthanks",
  "tag": [
    {
      "type": "Mention",
      "href": "http://example.org/people/sally",
      "name": "@sally"
    },
    {
      "id": "http://example.org/tags/givingthanks",
      "name": "#givingthanks"
    }
  ]
}

5.7 origin と target

Activity の origintarget 属性は、それぞれアクションが向けられる fromto エンティティを識別する。例えば、英語の文での "Sally moved the file from Folder A to Folder B" では、 origin は "Folder A" で target は "Folder B" である。このアクティビティを以下に例示する:

Example 159
{
    "@context": "https://www.w3.org/ns/activitystreams",
    "summary": "Sally moved the sales figures from Folder A to Folder B",
    "type": "Move",
    "actor": "http://sally.example.org",
    "object": {
      "type": "Document",
      "name": "sales figures"
    },
    "origin": {
      "type": "Collection",
      "name": "Folder A"
    },
    "target": {
      "type": "Collection",
      "name": "Folder B"
    }
  }

The origin property is applicable to any type of activity for which the English preposition "from" can be considered applicable in the sense of identifying the origin, source or provenance of the activity's object.

The target property is applicable to any type of activity for which the English preposition "to" can be considered applicable in the sense of identifying the indirect object or destination of the activity's object.

5.8アクティビティ型の動機づけとなるユースケース

この節は非規範的である。

The Activity types defined in this vocabulary have been primarily selected to address the commonly implemented social use cases described below.

5.8.1 Content Management

The Content Management use case primarily deals with activities that involve the creation, modification or deletion of content. This includes, for instance, activities such as "John created a new note", "Sally updated an article", and "Joe deleted the photo".

Relevant Activities:

5.8.2 Collection Management

The Collection Management use case primarily deals with activities involving the management of content within collections. Examples of collections include things like folders, albums, friend lists, etc. This includes, for instance, activities such as "Sally added a file to Folder A", "John moved the file from Folder A to Folder B", etc.

Relevant Activities:

5.8.3 Reactions

The Reactions use case primarily deals with reactions to content. This can include activities such as liking or disliking content, ignoring updates, flagging content as being inappropriate, accepting or rejecting objects, etc.

Relevant Activities:

5.8.4 Event RSVP

The Event RSVP use case primarily deals with invitations to events and RSVP type responses.

Relevant Activities:

5.8.5 Group Management

The Group Management use case primarily deals with management of groups. It can include, for instance, activities such as "John added Sally to Group A", "Sally joined Group A", "Joe left Group A", etc.

Relevant Activities:

5.8.6 Content Experience

The Content Experience use case primarily deals with describing activities involving listening to, reading, or viewing content. For instance, "Sally read the article", "Joe listened to the song".

Relevant Activities:

5.8.7 Geo-Social Events

The Geo-Social Events use case primarily deals with activities involving geo-tagging type activities. For instance, it can include activities such as "Joe arrived at work", "Sally left work", and "John is travel from home to work".

Relevant Activities:

5.8.8 Notification

The Notification use case primarily deals with calling attention to particular objects or notifications.

Relevant Activities:

5.8.9 Questions

the Questions use case primarily deals with representing inquiries of any type. See 5.4 Representing Questions for more information.

Relevant Activities:

5.8.10 Relationship Management

The Relationship Management use case primarily deals with representing activities involving the management of interpersonal and social relationships (e.g. friend requests, management of social network, etc). See 5.2 Representing Relationships Between Entities for more information.

Relevant Activities:

5.8.11 Negating Activity

The Negating Activity use case primarily deals with the ability to redact previously completed activities. See 5.5 Inverse Activities and "Undo" for more information.

Relevant Activities:

5.8.12 Offers

The Offers use case deals with activities involving offering one object to another. It can include, for instance, activities such as "Company A is offering a discount on purchase of Product Z to Sally", "Sally is offering to add a File to Folder A", etc.

Relevant Activities:

A. 非規範的オントロジー定義

この節は非規範的である。

A non-normative turtle definition of the Activity Streams 2.0 vocabulary is provided here and/or at the namespace as a convenience for implementers wishing to use RDF mechanisms for processing Activity Streams 2.0. Note, however, that this document provides the normative definition of the Activity Streams 2.0 vocabulary.

B. 変更履歴

この節は非規範的である。

前回の候補勧告2016-12-15以降、以下の注目すべき変更が本文書に加えられた。

C. 参考文献

C.1 引用規格

[BCP47]
Tags for Identifying Languages. A. Phillips; M. Davis. IETF. September 2009. IETF Best Current Practice. URL: https://tools.ietf.org/html/bcp47
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[RFC5988]
Web Linking. M. Nottingham. IETF. October 2010. Proposed Standard. URL: https://tools.ietf.org/html/rfc5988
[xmlschema11-2]
W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes. David Peterson; Sandy Gao; Ashok Malhotra; Michael Sperberg-McQueen; Henry Thompson; Paul V. Biron et al. W3C. 5 April 2012. W3C Recommendation. URL: https://www.w3.org/TR/xmlschema11-2/

C.2 参考規格

[HTML5]
HTML5. Ian Hickson; Robin Berjon; Steve Faulkner; Travis Leithead; Erika Doyle Navara; Theresa O'Connor; Silvia Pfeiffer. W3C. 28 October 2014. W3C Recommendation. URL: https://www.w3.org/TR/html5/