Abstract

This specification describes the Activity vocabulary.

Author's Note

This section is non-normative.

This draft is heavily influenced by the JSON Activity Streams 1.0 specification originally co-authored by Martin Atkins, Will Norris, Chris Messina, Monica Wilkinson, Rob Dolin and James Snell. The author is very thankful for their significant contributions and gladly stands on their shoulders. Some portions of the original text of Activity Streams 1.0 are used in this document.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document was published by the Social Web Working Group as a Working Draft. This document is intended to become a W3C Recommendation. If you wish to make comments regarding this document, please send them to public-socialweb@w3.org (subscribe, archives). All comments are welcome.

Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 1 August 2014 W3C Process Document.

Table of Contents

1. Introduction

The Activity Streams 2.0 Core Syntax defines the JSON syntax for Activity Streams. This document defines the vocabulary properties.

The Activity Streams 2.0 Vocabulary defines a set of abstract classes and properties that describe past, present and future Activities. The vocabulary is defined in two parts:

  1. A Core set of properties describing the generalized structure of an Activity; and
  2. An Extended set of properties that cover specific types of Activities and Artifacts common to many social Web application systems.

While not all Activity Streams 2.0 implementations are expected to implement support for the Extended properties, all implementations MUST at least be capable of serializing and deserializing the Extended properties in accordance with the Activity Streams 2.0 Core Syntax.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

1.1 Conventions

This specification uses IRIs [RFC3987]. Every URI [RFC3986] is also an IRI, so a URI may be used wherever an IRI is named. There are two special considerations: (1) when an IRI that is not also a URI is given for dereferencing, it MUST be mapped to a URI using the steps in Section 3.1 of [RFC3987] and (2) when an IRI is serving as an "id" value, it MUST NOT be so mapped.

Unless otherwise specified, all properties defined as xsd:dateTime values MUST conform to the "date-time" production in [RFC3339], with an uppercase "T" character used to separate date and time, and an uppercase "Z" character in the absence of a numeric time zone offset. All such timestamps SHOULD be represented relative to Coordinated Universal Time (UTC).

The examples included in this document use the normative JSON-LD serialization defined by this specification along with generally equivalent, non-normative Microdata, RDFa, Microformats, and Turtle serializations. These non-JSON-LD alternatives are included solely for illustrative purposes.

1.1.1 Editor's Note

This section is non-normative.

The Microdata, RDFa and Microformats examples included in this document are purely informative and may not currently reflect actual implementation experience or accepted best practices for each format. These alternate serializations may be removed from future iterations of this document and moved to a separate informative WG Note.

2. Core Classes

The Activity Vocabulary Core Classes provide the basis for the rest of the vocabulary.

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

The Activity Streams 2.0 Core Classes include: Object | Link | Activity | IntransitiveActivity | Actor | Collection | OrderedCollection

Class Description Example
Object URI: http://www.w3.org/ns/activitystreams#Object
Example 1
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Object",
  "@id": "urn:example:object:1",
  "displayName": "A Simple, non-specific object"
}
Notes: Describes an object of any kind. The Object class serves as the base class for most of the other kinds of objects defined in the Activity Vocabulary, include other Core classes such as Activity, IntransitiveActivity, Actor, Collection and OrderedCollection.
Disjoint With: Link
Properties:

alias | attachment | attributedTo | content | context | displayName | endTime | generator | icon | image | inReplyTo | location | preview | published | replies | scope | startTime | summary | tag | title | updated | url | to | bto | cc | bcc

Link URI: http://www.w3.org/ns/activitystreams#Link
Example 6
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Link",
  "href": "http://example.org/abc",
  "hreflang": "en",
  "mediaType": "text/html",
  "displayName": "An example link"
}
Notes: A Link is an indirect, qualified reference to a resource identified by a URL. The fundamental model for links is established by [RFC5988]. Many of the properties defined by the Activity Vocabulary allow values that are either instances of Object or Link. When a Link is used, it establishes a qualified relation connecting the subject (the containing object) to the resource identified by the href.
Disjoint With: Object
Properties:

href | rel | mediaType | displayName | title | hreflang | height | width | duration

Activity URI: http://www.w3.org/ns/activitystreams#Activity
Example 11
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Activity",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Note",
    "displayName": "A Note"
  }
}
Notes: An Activity is a subclass of Object that describes some form of action that may happen, is currently happening, or has already happened. The Activity class itself serves as an abstract base class for all types of activities. It is important to note that the Activity class itself does not carry any specific semantics about the kind of action being taken.
Extends: Object
Properties:

actor | object | target | result | origin | instrument | priority

Inherits all properties from Object.

IntransitiveActivity URI: http://www.w3.org/ns/activitystreams#IntransitiveActivity
Example 16
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Travel",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "target": {
    "@type": "Place",
    "displayName": "Work"
  }
}
Notes: Instances of IntransitiveActivity are a subclass of Activity whose actor property identifies the direct object of the action as opposed to using the object property.
Extends: Activity
Properties:

Inherits all properties from Activity except object.

Actor URI: http://www.w3.org/ns/activitystreams#Actor
Example 21
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Actor",
  "displayName": "Sally"
}
Notes: An Actor is any entity that is capable of being the primary actor for an Activity.
Extends: Object
Properties:

Inherits all properties from Object.

Collection URI: http://www.w3.org/ns/activitystreams#Collection
Example 26
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 2,
  "itemsPerPage": 2,
  "items": [
    {
      "@type": "Note",
      "displayName": "A Simple Note"
    },
    {
      "@type": "Note",
      "displayName": "Another Simple Note"
    }
  ]
}
Notes:

A Collection is a subclass of Object that represents ordered or unordered sets of Object or Link instances. The model for collections within the Activity Vocabulary is designed largely around the abstract model of "logical feeds" and "pages" discussed in [RFC5005], Section 1.2.

Specifically, a "logical collection" is a complete set of Object or Link instances while an individual Collection object may contain only a specific subset of those members. Paging properties such as next, prev, first, and last are used to connect multiple Collection objects containing different subsets of member items of a single logical collection together.

When multiple, separate Collection instances share the same identity (represented in the JSON-LD serialization using the @id property) and each specifies distinct, non-overlapping subsets of member items (using the items property), the membership of the logical collection is the intersection of each of the subsets. However, when there is overlap in the items contained by multiple Collection instances (e.g. when Object or Link intances with the same identity appear in more than one Collection), member instances with the most recently updated timestamps -- as determined by examining first the updated and then published properties -- MUST be considered to be the most current representations. If those members do not have either an updated or published property specified, then the containing Collection object's updated and published properties are used. If no timestamps are available to use for comparison, implementations MAY use other means to determine the precedence of member instance representations.

When the members of a Collection are ordered, the ordering imposed applies only to the subset of members contained within that one specific Collection instance.

Extends: Object
Properties:

totalItems | itemsPerPage | current | next | prev | first | last | self | items

Inherits all properties from Object.

OrderedCollection URI: http://www.w3.org/ns/activitystreams#OrderedCollection
Example 31
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "OrderedCollection",
  "totalItems": 2,
  "itemsPerPage": 2,
  "startIndex": 0,
  "orderedItems": [
    {
      "@type": "Note",
      "displayName": "A Simple Note"
    },
    {
      "@type": "Note",
      "displayName": "Another Simple Note"
    }
  ]
}
Notes:

A subclass of Collection in which members of the logical collection are assumed to always be strictly ordered.

Using paging with an OrderedCollection can be tricky because there is no guarantee that implementations will process the distinct pages in any predictable order. Therefore, it is strongly recommended that OrderedCollection instances that require paging always include the first, next, prev and last paging properties. Implementations that wish to reconstruct the appropriate complete ordering of member instances in the logical collection would navigate to the OrderedCollection instance identified by the first (or last) link, then recursively follow the next (or prev) link until all pages have been processed.

Extends: Collection
Properties:

startIndex

Inherits all properties from Collection.

3. Extended Classes

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

The Activity Streams 2.0 Extended Classes include Activity and Object subclasses that are common to many social Web applications. They are divided into three sets:

Support for specific extended vocabulary classes is expected to vary, with implementations only selecting the extended classes 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 classes or properties that unduly overlap with or duplicate the extended vocabulary defined here.

3.1 Activity Types

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

The Activity Types include: Accept | Add | Announce | Arrive | Block | Create | Delete | Dislike | Experience | Favorite | Flag | Follow | Ignore | Invite | Join | Leave | Like | Listen | Move | Offer | Question | Reject | Read | Remove | TentativeReject | TentativeAccept | Travel | Undo | Update | View

Class Description Example
Accept URI: http://www.w3.org/ns/activitystreams#Accept
Example 36
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Accept",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Invite",
    "actor": "acct:john@example.org",
    "object": {
      "@type": "Event",
      "displayName": "A Party!"
    }
  }
}
Notes: Indicates that the actor accepts the object. The target property can be used in certain circumstances to indicate the context into which the object has been accepted. For instance, when expressing the activity, "Sally accepted Joe into the Club", the "target" would identify the "Club".
Extends: Activity
Properties: Inherits all properties from Activity.
TentativeAccept URI: http://www.w3.org/ns/activitystreams#TentativeAccept
Example 41
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "TentativeAccept",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Invite",
    "actor": "acct:john@example.org",
    "object": {
      "@type": "Event",
      "displayName": "A Party!"
    }
  }
}
Notes: A specialization of Accept indicating that the acceptance is tentative.
Extends: Accept
Properties: Inherits all properties from Accept.
Add URI: http://www.w3.org/ns/activitystreams#Add
Example 46
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Add",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": "http://example.org/abc"
}
Example 51
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Add",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Image",
    "displayName": "A picture of my cat",
    "url": "http://example.org/img/cat.png"
  },
  "target": {
    "@type": "Album",
    "displayName": "My Cat Pictures"
  }
}
Notes: Indicates that the actor has added the object to the target. If the target property is not explicitly specified, the target would need to be determined implicitly by context. The origin can be used to identify the context from which the object originated.
Extends: Activity
Properties: Inherits all properties from Activity.
Arrive URI: http://www.w3.org/ns/activitystreams#Arrive
Example 56
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Arrive",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "location": {
    "@type": "Place",
    "displayName": "Work"
  },
  "origin": {
    "@type": "Place",
    "displayName": "Home"
  }
}
Notes: An IntransitiveActivity that indicates that the actor has arrived at the location. The origin can be used to identify the context from which the actor originated. The target typically has no defined meaning.
Extends: IntransitiveActivity
Properties: Inherits all properties fom IntransitiveActivity.
Create URI: http://www.w3.org/ns/activitystreams#Create
Example 61
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Create",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Note",
    "displayName": "A Simple Note",
    "content": "This is a simple note"
  }
}
Notes:

Indicates that the actor has created the object.

Extends: Activity
Properties: Inherits all properties from Activity.
Delete URI: http://www.w3.org/ns/activitystreams#Delete
Example 66
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Delete",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": "http://example.org/notes/1"
}
Notes: Indicates that the actor has deleted the object. If specified, the origin indicates the context from which the object was deleted.
Extends: Activity
Properties: Inherits all properties from Activity.
Favorite URI: http://www.w3.org/ns/activitystreams#Favorite
Example 71
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Favorite",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": "http://example.org/notes/1"
}
Notes:

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

The Favorite and Like activity types MAY be used as equivalent synonyms if an implementation chooses.

Extends: Activity
Properties: Inherits all properties from Activity.
Follow URI: http://www.w3.org/ns/activitystreams#Follow
Example 76
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Follow",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Person",
    "displayName": "John"
  }
}
Notes: 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.
Extends: Activity
Properties: Inherits all properties from Activity.
Ignore URI: http://www.w3.org/ns/activitystreams#Ignore
Example 81
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Ignore",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": "http://example.org/notes/1"
}
Notes: Indicates that the actor is ignoring the object. The target and origin typically have no defined meaning.
Extends: Activity
Properties: Inherits all properties from Activity.
Join URI: http://www.w3.org/ns/activitystreams#Join
Example 86
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Join",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Group",
    "displayName": "A Simple Group"
  }
}
Notes: Indicates that the actor has joined the object. The target and origin typically have no defined meaning.
Extends: Activity
Properties: Inherits all properties from Activity.
Leave URI: http://www.w3.org/ns/activitystreams#Leave
Example 91
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Leave",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Place",
    "displayName": "Work"
  }
}
Example 96
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Leave",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Group",
    "displayName": "A Simple Group"
  }
}
Notes: Indicates that the actor has left the object. The target and origin typically have no meaning.
Extends: Activity
Properties: Inherits all properties from Activity.
Like URI: http://www.w3.org/ns/activitystreams#Like
Example 101
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Like",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": "http://example.org/notes/1"
}
Notes:

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

The Favorite and Like activity types MAY be used as equivalent synonyms if an implementation chooses.

Extends: Activity
Properties: Inherits all properties from Activity.
Offer URI: http://www.w3.org/ns/activitystreams#Offer
Example 106
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Offer",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "urn:examples:types:ProductOffer",
    "displayName": "50% Off!"
  }
}
Notes: Indicates that the actor is offering the object. If specified, the target indicates the entity to which the object is being offered.
Extends: Activity
Properties: Inherits all properties from Activity.
Invite URI: http://www.w3.org/ns/activitystreams#Invite
Example 111
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Invite",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "urn:example:types:Present",
    "displayName": "A Present"
  },
  "target": {
    "@type": "Person",
    "displayName": "John"
  }
}
Notes: A specialization of Offer in which the actor is extending an invitation for the object to the target.
Extends: Offer
Properties: Inherits all properties from Offer.
Reject URI: http://www.w3.org/ns/activitystreams#Reject
Example 116
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Reject",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Invite",
    "actor": "acct:john@example.org",
    "object": {
      "@type": "Event",
      "displayName": "A Party!"
    }
  }
}
Notes: Indicates that the actor is rejecting the object. The target and origin typically have no defined meaning.
Extends: Activity
Properties: Inherits all properties from Activity.
TentativeReject URI: http://www.w3.org/ns/activitystreams#TentativeReject
Example 121
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "TentativeReject",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Invite",
    "actor": "acct:john@example.org",
    "object": {
      "@type": "Event",
      "displayName": "A Party!"
    }
  }
}
Notes: A specialization of Reject in which the rejection is considered tentative.
Extends: Reject
Properties: Inherits all properties from Reject.
Remove URI: http://www.w3.org/ns/activitystreams#Remove
Example 126
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Remove",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": "http://example.org/notes/1",
  "target": {
    "@type": "Folder",
    "displayName": "Notes Folder"
  }
}
Example 131
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Remove",
  "actor": {
    "@type": "http://example.org/Role",
    "displayName": "The Moderator"
  },
  "object": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "origin": {
    "@type": "Group",
    "displayName": "A Simple Group"
  }
}
Notes: Indicates that the actor is removing the object. If specified, the origin indicates the context from which the object is being removed.
Extends: Activity
Properties: Inherits all properties from Activity.
Undo URI: http://www.w3.org/ns/activitystreams#Undo
Example 136
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Undo",
  "actor": "acct:sally@example.org",
  "object": {
    "@type": "Offer",
    "actor": "acct:sally@example.org",
    "object": "http://example.org/posts/1",
    "target": "acct:john@example.org"
  }
}
Notes: Indicates that the actor is undoing the object. The target and origin typically have no defined meaning.
Extends: Activity
Properties: Inherits all properties from Activity.
Update URI: http://www.w3.org/ns/activitystreams#Update
Example 141
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Update",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": "http://example.org/notes/1"
}
Notes: Indicates that the actor has updated the object. The target and origin typically have no defined meaning.
Extends: Activity
Properties: Inherits all properties from Activity.
Experience URI: http://www.w3.org/ns/activitystreams#Experience
Example 146
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Experience",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Article",
    "displayName": "An article about Activity Streams"
  }
}
Notes: Indicates that the actor has experienced the object. The type of experience is not specified.
Extends: Activity
Properties: Inherits all properties from Activity.
View URI: http://www.w3.org/ns/activitystreams#View
Example 151
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "View",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Article",
    "displayName": "An article about Activity Streams"
  }
}
Notes: Indicates that the actor has viewed the object. Viewing is a specialization of Experience.
Extends: Experience
Properties: Inherits all properties from Experience.
Listen URI: http://www.w3.org/ns/activitystreams#Listen
Example 156
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Listen",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": "http://example.org/music.mp3"
}
Notes: Indicates that the actor has listened to the object. Listening is a specialization of Experience.
Extends: Experience
Properties: Inherits all properties from Experience.
Read URI: http://www.w3.org/ns/activitystreams#Read
Example 161
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Read",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": "http://example.org/posts/1"
}
Notes: Indicates that the actor has read the object. Reading is a specialization of Experience.
Extends: Experience
Properties: Inherits all properties from Experience.
Move URI: http://www.w3.org/ns/activitystreams#Move
Example 166
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Move",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": "http://example.org/posts/1",
  "target": {
    "@type": "Collection",
    "displayName": "List B"
  },
  "origin": {
    "@type": "Collection",
    "displayName": "List A"
  }
}
Notes: 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.
Extends: Activity
Properties: Inherits all properties from Activity.
Travel URI: http://www.w3.org/ns/activitystreams#Travel
Example 171
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Travel",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "target": {
    "@type": "Place",
    "displayName": "Home"
  },
  "origin": {
    "@type": "Place",
    "displayName": "Work"
  }
}
Notes: 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.
Extends: IntransitiveActivity
Properties: Inherits all properties from IntransitiveActivity.
Announce URI: http://www.w3.org/ns/activitystreams#Announce
Example 176
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Announce",
  "actor": {
    "@type": "Person",
    "@id": "acct:sally@example.org",
    "displayName": "Sally"
  },
  "object": {
    "@type": "Arrive",
    "actor": "acct:sally@example.org",
    "location": {
      "@type": "Place",
      "displayName": "Work"
    }
  }
}
Notes: Indicates that the actor is announcing the object to target. The origin typically has no defined meaning.
Extends: Activity
Properties: Inherits all properties from Activity.
Block URI: http://www.w3.org/ns/activitystreams#Block
Example 181
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Block",
  "actor": "acct:sally@example.org",
  "object": "acct:joe@example.org"
}
Notes: 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.
Extends: Ignore
Properties: Inherits all properties from Ignore.
Flag URI: http://www.w3.org/ns/activitystreams#Flag
Example 186
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Flag",
  "actor": "acct:sally@example.org",
  "object": {
    "@type": "Note",
    "content": "An inappropriate note"
  }
}
Notes: 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.
Extends: Activity
Properties: Inherits all properties from Activity.
Dislike URI: http://www.w3.org/ns/activitystreams#Dislike
Example 191
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Dislike",
  "actor": "acct:sally@example.org",
  "object": "http://example.org/posts/1"
}
Notes: Indicates that the actor dislikes the object.
Extends: Activity
Properties: Inherits all properties from Activity.

3.2 Actor Types

All Actor Types inherit the properties of the base Actor class. Actors are objects that are capable of performing activities. The value of the actor property MUST be a type of Actor.

The core Actor Types include: Application | Group | Person | Process | Service

Class Description Properties
Application URI: http://www.w3.org/ns/activitystreams#Application
Example 196
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Application",
  "displayName": "My Software Application."
}
Notes: Describes a software application.
Extends: Actor
Properties: Inherits all properties from Actor.
Group URI: http://www.w3.org/ns/activitystreams#Group
Example 201
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Group",
  "displayName": "A Simple Group."
}
Notes: Represents a formal or informal collective of Actors.
Extends: Actor
Properties: Inherits all properties from Actor.
Person URI: http://www.w3.org/ns/activitystreams#Person
Example 206
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Person",
  "displayName": "Sally Smith."
}
Notes: Represents an individual person.
Extends: Actor
Properties: Inherits all properties from Actor.
Process URI: http://www.w3.org/ns/activitystreams#Process
Example 211
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Process",
  "displayName": "A Long Running Process"
}
Notes: Represents a series of actions taken to achieve a particular goal.
Extends: Actor
Properties: Inherits all properties from Actor.
Service URI: http://www.w3.org/ns/activitystreams#Service
Example 216
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Service",
  "displayName": "Acme Web Service"
}
Notes: Represents a service of any kind.
Extends: Actor
Properties: Inherits all properties from Actor.

3.3 Object Types

All Object Types inherit the properties of the base Object class. Some specific Object Types are subclasses or specializations of more generalized Object Types (for instance, the Person Object Type is a more specific form of the Actor class).

The Object Types include: Album | Article | Audio | Content | Document | Event | Folder | Image | Mention | Note | Page | Place | Profile | Question | Relationship | Story | Video

Class Description Properties
Relationship URI: http://www.w3.org/ns/activitystreams#Relationship
Example 221
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Relationship",
  "subject": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "relationship": "http://purl.org/vocab/relationship/closeFriendOf",
  "object": {
    "@type": "Person",
    "displayName": "John"
  }
}
Notes:

Describes a relationship between two individuals. The subject and object properties are used to identify the connected individuals.

Extends: Object
Properties:

subject | object | relationship

Inherits all properties from Object.

Content URI: http://www.w3.org/ns/activitystreams#Content
Example 226
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Content",
  "displayName": "Some generic content",
  "content": "<p>This can be any kind of content</p>",
  "height": 100,
  "width": 100
}
Notes: Describes an entity representing any form of content. Examples include documents, images, etc. Content objects typically are not able to perform activities on their own, yet rather are usually the object or target of activities.
Extends: Object
Properties:

duration | height | width

Inherits all properties from Object.

Article URI: http://www.w3.org/ns/activitystreams#Article
Example 231
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Article",
  "displayName": "A Blog Post",
  "content": "<div>... a long blog post</div>",
  "attributedTo": "acct:sally@example.org"
}
Notes: Represents any kind of multi-paragraph written work.
Extends: Content
Properties: Inherits all properties from Content.
Album URI: http://www.w3.org/ns/activitystreams#Album
Example 236
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Album",
  "displayName": "A Photo Album",
  "items": [
    {
      "@type": "Image",
      "displayName": "My Dog",
      "url": {
        "@type": "Link",
        "href": "http://example.org/dog.jpeg",
        "mediaType": "image/jpeg"
      }
    },
    {
      "@type": "Image",
      "displayName": "My Cat",
      "url": {
        "@type": "Link",
        "href": "http://example.org/cat.jpeg",
        "mediaType": "image/jpeg"
      }
    }
  ]
}
Example 241
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Album",
  "displayName": "A Music Playlist",
  "orderedItems": [
    {
      "@type": "Audio",
      "displayName": "Song 1",
      "url": {
        "@type": "Link",
        "href": "http://example.org/song1.mp3",
        "mediaType": "audio/mp3"
      }
    },
    {
      "@type": "Audio",
      "displayName": "Song 2",
      "url": {
        "@type": "Link",
        "href": "http://example.org/song2.mpg",
        "mediaType": "audio/mp3"
      }
    }
  ]
}
Notes: A type of Collection typically used to organize Image, Video or Audio objects.
Extends: Collection
Properties: Inherits all properties from Collection.
Folder URI: http://www.w3.org/ns/activitystreams#Folder
Example 246
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Folder",
  "displayName": "Some Documents",
  "items": [
    {
      "@type": "Document",
      "displayName": "4Q Sales Forecast",
      "url": "http://example.org/4q-sales-forecast.pdf"
    }
  ]
}
Notes: A type of Collection typically used to organize objects such as Documents.
Extends: Collection
Properties: Inherits all properties from Collection.
Story URI: http://www.w3.org/ns/activitystreams#Story
Example 251
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Story",
  "displayName": "My Vacation",
  "startIndex": 5,
  "orderedItems": [
    {
      "@type": "Image",
      "displayName": "Visiting the Vatican",
      "url": "http://example.org/photo5.jpeg",
      "location": {
        "@type": "Place",
        "displayName": "The Vatican"
      }
    },
    {
      "@type": "Image",
      "displayName": "Visiting the Eiffel Tower",
      "url": "http://example.org/photo6.jpeg",
      "location": {
        "@type": "Place",
        "displayName": "The Eiffel Tower"
      }
    }
  ]
}
Notes: A type of Ordered Collection usually containing Content Items organized to "tell a story".
Extends: OrderedCollection
Properties: Inherits all properties from OrderedCollection.
Document URI: http://www.w3.org/ns/activitystreams#Document
Example 256
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Document",
  "displayName": "4Q Sales Forecast",
  "url": "http://example.org/4q-sales-forecast.pdf"
}
Notes: Represents a document of any kind.
Extends: Content
Properties: Inherits all properties from Content.
Audio URI: http://www.w3.org/ns/activitystreams#Audio
Example 261
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Audio",
  "displayName": "A Simple Podcast",
  "url": {
    "@type": "Link",
    "href": "http://example.org/podcast.mp3",
    "mediaType": "audio/mp3"
  }
}
Notes: Represents an audio document of any kind.
Extends: Document
Properties: Inherits all properties from Document.
Image URI: http://www.w3.org/ns/activitystreams#Image
Example 266
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Image",
  "displayName": "A Simple Image",
  "url": [
    {
      "@type": "Link",
      "href": "http://example.org/image.jpeg",
      "mediaType": "image/jpeg"
    },
    {
      "@type": "Link",
      "href": "http://example.org/image.png",
      "mediaType": "image/png"
    }
  ]
}
Notes: An image document of any kind
Extends: Document
Properties: Inherits all properties from Document.
Video URI: http://www.w3.org/ns/activitystreams#Video
Example 271
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Video",
  "displayName": "A Simple Video",
  "url": "http://example.org/video.mkv",
  "duration": "PT2H"
}
Notes:
Extends: Document
Properties: Inherits all properties from Document.
Note URI: http://www.w3.org/ns/activitystreams#Note
Example 276
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "displayName": "A Short Note",
  "content": "This is a short note"
}
Notes: Represents a short written work typically less than a single paragraph in length.
Extends: Content
Properties: Inherits all properties from Content.
Page URI: http://www.w3.org/ns/activitystreams#Page
Example 281
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Page",
  "displayName": "A Webpage",
  "url": "http://example.org/page.html"
}
Notes: Represents a Web Page.
Extends: Document
Properties: Inherits all properties from Document.
Question URI: http://www.w3.org/ns/activitystreams#Question
Example 286
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Question",
  "displayName": "What is the answer?",
  "oneOf": [
    {
      "@type": "Note",
      "displayName": "Option A"
    },
    {
      "@type": "Note",
      "displayName": "Option B"
    }
  ]
}
Notes: Represents a question being asked. Question objects are unique in that they are an extension of both Content and IntransitiveActivity. That is, the Question object is an Activity but the direct object is the question itself.
Extends: Content AND IntransitiveActivity.
Properties:

oneOf | anyOf

Inherits all properties from Content and IntransitiveActivity.
Event URI: http://www.w3.org/ns/activitystreams#Event
Example 291
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Event",
  "displayName": "A Party!",
  "startTime": "2014-12-31T23:00:00-08:00",
  "endTime": "2015-01-01T06:00:00-08:00"
}
Notes: Represents any kind of event.
Extends: Object
Properties: Inherits all properties from Object.
Place URI: http://www.w3.org/ns/activitystreams#Place
Example 296
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Place",
  "displayName": "Work"
}
Example 301
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Place",
  "displayName": "Fresno Area",
  "latitude": 36.75,
  "longitude": 119.7667,
  "radius": 15,
  "units": "miles"
}
Notes: Represents a logical or physical location.
Extends: Object
Properties:

accuracy | altitude | latitude | longitude | radius | units

Inherits all properties from Object.
Mention URI: http://www.w3.org/ns/activitystreams#Mention
Example 306
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Mention",
  "href": "http://example.org/joe",
  "displayName": "Joe"
}
Notes: A specialized Link that represents an @mention.
Extends: Link
Properties: Inherits all properties from Link.
Profile URI: http://www.w3.org/ns/activitystreams#Profile
Example 311
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Profile",
  "displayName": "Sally's Profile",
  "attributedTo": {
    "@type": "Person",
    "displayName": "Sally Smith"
  }
}
Notes: A Profile is a document that describes another Object, typically used to describe Person objects. The describes property is used to reference the object described by the profile.
Extends: Content
Properties:

describes

Inherits all properties from Content.

3.3.1 Representing Relationships Between Entities

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 sytems 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 considers Joe to be a close friend while Jane is just an acquaintance.

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

Example 316
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "items": [
    {
      "@type": "Relationship",
      "subject": {
        "@type": "Person",
        "displayName": "Sally"
      },
      "relationship": "http://purl.org/vocab/relationship/closeFriendOf",
      "object": {
        "@type": "Person",
        "displayName": "Joe"
      }
    },
    {
      "@type": "Relationship",
      "subject": {
        "@type": "Person",
        "displayName": "Sally"
      },
      "relationship": "http://purl.org/vocab/relationship/acquaintanceOf",
      "object": {
        "@type": "Person",
        "displayName": "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 317
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Create",
  "actor": "acct:sally@example.org",
  "object": {
    "@type": "Relationship",
    "subject": "acct:sally@example.org",
    "relationship": "http://purl.org/vocab/relationship/closeFriendOf",
    "object": "acct: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.

The Activity Streams vocabulary does not define normative values for use with the relationship property. It is expected that implementations will make use of several existing vocabularies that have been developed for the purpose of describing relationships. Examples of such vocabularies include the "Friend of a Friend" and "Relationship" vocabularies.

3.3.2 Representing Places

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 318
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Place",
  "displayName": "San Francisco, CA"
}

Or, by longitude and latitude:

Example 319
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Place",
  "displayName": "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.

4. Properties

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

The common properties include: actor | attachment | attributedTo | bcc | bto | cc | context | current | first | generator | icon | image | inReplyTo | instrument | last | location | items | oneOf | anyOf | origin | next | object | prev | preview | result | replies | scope | self | tag | target | to | url | accuracy | alias | altitude | content | displayName | duration | height | href | hreflang | itemsPerPage | latitude | longitude | mediaType | priority | endTime | published | startTime | radius | rel | startIndex | summary | title | totalItems | units | updated | width | subject | relationship | describes

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 Description Example
actor URI: http://www.w3.org/ns/activitystreams#actor
Example 320
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Offer",
  "actor": "acct:sally@example.org",
  "object": "http://example.org/foo"
}
Example 325
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Offer",
  "actor": {
    "@type": "Person",
    "@id": "acct:sally@example.org",
    "displayName": "Sally"
  },
  "object": "http://example.org/foo"
}
Example 330
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Offer",
  "actor": [
    "acct:joe@example.org",
    {
      "@type": "Person",
      "@id": "acct:sally@example.org",
      "displayName": "Sally"
    }
  ],
  "object": "http://example.org/foo"
}
Notes: 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: Actor | Link
Subproperty Of: attributedTo
attachment URI: http://www.w3.org/ns/activitystreams#attachment
Example 335
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "displayName": "A Simple Note",
  "attachment": [
    {
      "@type": "Image",
      "content": "A simple Image",
      "url": "http://example.org/cat.jpeg"
    }
  ]
}
Notes: Identifies an entity that is directly or indirected attached to this object
Domain: Object
Range: Object | Link
attributedTo URI: http://www.w3.org/ns/activitystreams#attributedTo
Example 340
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Image",
  "displayName": "A Simple Image",
  "url": "http://example.org/cat.jpeg",
  "attributedTo": [
    {
      "@type": "Person",
      "displayName": "Sally"
    }
  ]
}
Example 345
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Image",
  "displayName": "A Simple Image",
  "url": "http://example.org/cat.jpeg",
  "attributedTo": [
    "acct:joe@example.org",
    {
      "@type": "Person",
      "displayName": "Sally"
    }
  ]
}
Notes: Identifies one or more entities to which this object is attributed. The attributed entities might not be Actors. For instance, an object might be attributed to the completion of another activity.
Domain: Link | Object
Range: Link | Object
bcc URI: http://www.w3.org/ns/activitystreams#bcc
Example 350
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Offer",
  "actor": "acct:sally@example.org",
  "object": "http://example.org/posts/1",
  "target": "acct:john@example.org",
  "bcc": [ "acct:joe@example.org" ]
}
Notes: Identifies one or more Actors that are part of the private secondary audience of this Object.
Domain: Object
Range: Actor | Link
bto URI: http://www.w3.org/ns/activitystreams#bto
Example 355
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Offer",
  "actor": "acct:sally@example.org",
  "object": "http://example.org/posts/1",
  "target": "acct:john@example.org",
  "bto": [ "acct:joe@example.org" ]
}
Notes: Identifies an Actor that is part of the private primary audience of this Object.
Domain: Object
Range: Actor | Link
cc URI: http://www.w3.org/ns/activitystreams#cc
Example 360
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Offer",
  "actor": "acct:sally@example.org",
  "object": "http://example.org/posts/1",
  "target": "acct:john@example.org",
  "cc": [ "acct:joe@example.org" ]
}
Notes: Identifies an Actor that is part of the public secondary audience of this Object.
Domain: Object
Range: Actor | Link
context URI: http://www.w3.org/ns/activitystreams#context
Example 365
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "items": [
    {
      "@type": "Offer",
      "actor": "acct:sally@example.org",
      "object": "http://example.org/posts/1",
      "target": "acct:john@example.org",
      "context": "http://example.org/contexts/1"
    },
    {
      "@type": "Like",
      "actor": "acct:joe@example.org",
      "object": "http://example.org/posts/2",
      "context": "http://example.org/contexts/1"
    }
  ]
}
Notes:

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: http://www.w3.org/ns/activitystreams#current
Example 370
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "current": "http://example.org/collection",
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Example 375
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "current": {
    "@type": "Link",
    "displayName": "Most Recent Items",
    "href": "http://example.org/collection"
  },
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Notes: In a paged Collection, indicates the page that contains the most recently updated member items.
Domain: Collection
Range: Collection | Link
Functional: True
first URI: http://www.w3.org/ns/activitystreams#first
Example 380
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "first": "http://example.org/collection",
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Example 385
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "first": {
    "@type": "Link",
    "displayName": "First Page",
    "href": "http://example.org/collection"
  },
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Notes: In a paged Collection, indicates the furthest preceeding page of items in the collection.
Domain: Collection
Range: Collection | Link
Functional: True
generator URI: http://www.w3.org/ns/activitystreams#generator
Example 390
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "content": "A simple note",
  "generator": {
    "@type": "Application",
    "displayName": "My Note Application"
  }
}
Notes: Identifies the entity (e.g. an application) that generated the object.
Domain: Object
Range: Object | Link
icon URI: http://www.w3.org/ns/activitystreams#icon
Example 395
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "content": "A Simple note",
  "icon": {
    "@type": "Image",
    "displayName": "Note",
    "url": "http://example.org/note.png",
    "width": 16,
    "height": 16
  }
}
Example 400
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "content": "A Simple note",
  "icon": [
    {
      "@type": "Image",
      "displayName": "Note (16x16)",
      "url": "http://example.org/note1.png",
      "width": 16,
      "height": 16
    },
    {
      "@type": "Image",
      "displayName": "Note (32x32)",
      "url": "http://example.org/note2.png",
      "width": 32,
      "height": 32
    }
  ]
}
Notes: 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: http://www.w3.org/ns/activitystreams#image
Example 405
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "content": "A Simple note",
  "image": {
    "@type": "Image",
    "displayName": "A Cat",
    "url": "http://example.org/cat.png"
  }
}
Example 410
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "content": "A Simple note",
  "image": [
    {
      "@type": "Image",
      "displayName": "Cat 1",
      "url": "http://example.org/cat1.png"
    },
    {
      "@type": "Image",
      "displayName": "Cat 2",
      "url": "http://example.org/cat2.png"
    }
  ]
}
Notes: 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: http://www.w3.org/ns/activitystreams#inReplyTo
Example 415
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "content": "A simple note",
  "inReplyTo": {
    "@type": "Note",
    "content": "Another note"
  }
}
Example 420
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "content": "A simple note",
  "inReplyTo": "http://example.org/posts/1"
}
Notes: Indicates one or more entities for which this object is considered a response.
Domain: Object
Range: Object | Link
instrument URI: http://www.w3.org/ns/activitystreams#instrument
Example 425
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Listen",
  "actor": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "object": "http://example.org/foo.mp3",
  "instrument": {
    "@type": "Service",
    "displayName": "Acme Music Service"
  }
}
Notes: Identifies one or more objects used (or to be used) in the completion of an Activity.
Domain: Activity
Range: Object | Link
last URI: http://www.w3.org/ns/activitystreams#last
Example 430
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "last": "http://example.org/collection",
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Example 435
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "last": {
    "@type": "Link",
    "displayName": "Last Page",
    "href": "http://example.org/collection"
  },
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Notes: In a paged Collection, indicates the furthest proceeding page of the collection.
Domain: Collection
Range: Collection | Link
Functional: True
location URI: http://www.w3.org/ns/activitystreams#location
Example 440
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Person",
  "displayName": "Sally",
  "location": {
    "@type": "Place",
    "longitude": 12.34,
    "latitude": 56.78,
    "altitude": 90,
    "units": "m"
  }
}
Notes: Indicates one or more physical or logical locations associated with the object.
Domain: Object
Range: Object | Link
items URI: http://www.w3.org/ns/activitystreams#items
Example 445
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 2,
  "itemsPerPage": 2,
  "items": [
    {
      "@type": "Note",
      "displayName": "A Simple Note"
    },
    {
      "@type": "Note",
      "displayName": "Another Simple Note"
    }
  ]
}
Example 450
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "OrderedCollection",
  "totalItems": 2,
  "itemsPerPage": 2,
  "startIndex": 0,
  "orderedItems": [
    {
      "@type": "Note",
      "displayName": "A Simple Note"
    },
    {
      "@type": "Note",
      "displayName": "Another Simple Note"
    }
  ]
}
Notes: 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: http://www.w3.org/ns/activitystreams#oneOf
Example 455
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Question",
  "displayName": "What is the answer?",
  "oneOf": [
    {
      "@type": "Note",
      "displayName": "Option A"
    },
    {
      "@type": "Note",
      "displayName": "Option B"
    }
  ]
}
Notes: 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: http://www.w3.org/ns/activitystreams#anyOf
Example 460
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Question",
  "displayName": "What is the answer?",
  "anyOf": [
    {
      "@type": "Note",
      "displayName": "Option A",
    },
    {
      "@type": "Note",
      "displayName": "Option B"
    }
  ]
}
Notes: 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
origin URI: http://www.w3.org/ns/activitystreams#origin
Example 465
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Move",
  "actor": "acct:sally@example.org",
  "object": "http://example.org/posts/1",
  "target": {
    "@type": "Collection",
    "displayName": "List B"
  },
  "origin": {
    "@type": "Collection",
    "displayName": "List A"
  }
}
Notes: 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 A from List B", the origin of the activity is "List B".
Domain: Activity
Range: Object | Link
next URI: http://www.w3.org/ns/activitystreams#next
Example 470
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "next": "http://example.org/collection",
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Example 475
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "next": {
    "@type": "Link",
    "displayName": "Next Page",
    "href": "http://example.org/collection"
  },
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Notes: In a paged Collection, indicates the next page of items.
Domain: Collection
Range: Object | Link
Functional: True
object URI: http://www.w3.org/ns/activitystreams#object
Example 480
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Like",
  "actor": "acct:sally@example.org",
  "object": "http://example.org/posts/1"
}
Example 485
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Like",
  "actor": "acct:sally@example.org",
  "object": {
    "@type": "Note",
    "content": "A simple note"
  }
}
Example 490
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Like",
  "actor": "acct:sally@example.org",
  "object": [
    "http://example.org/posts/1",
    {
      "@type": "Note",
      "content": "A simple note"
    }
  ]
}
Notes:

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: http://www.w3.org/ns/activitystreams#prev
Example 495
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "prev": "http://example.org/collection",
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Example 500
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "prev": {
    "@type": "Link",
    "displayName": "Previous Page",
    "href": "http://example.org/collection"
  },
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Notes: In a paged Collection, identifies the previous page of items.
Domain: Collection
Range: Collection | Link
Functional: True
preview URI: http://www.w3.org/ns/activitystreams#preview
Example 505
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Video",
  "displayName": "Cool New Movie",
  "duration": "PT2H30M",
  "preview": {
    "@type": "Link",
    "displayName": "Trailer",
    "href": "http://example.org/trailer.mkv",
    "mediaType": "video/mkv",
    "duration": "PT1M"
  }
}
Notes: Identifies an entity that provides a preview of this object.
Domain: Link | Object
Range: Link | Object
result URI: http://www.w3.org/ns/activitystreams#result
Example 510
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": ["Activity", "urn:example:verbs:Check"],
  "actor": "acct:sally@example.org",
  "object": "http://example.org/flights/1",
  "result": {
    "@type": "urn:example:types:flightstatus",
    "displayName": "On Time"
  }
}
Notes: 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: http://www.w3.org/ns/activitystreams#replies
Example 515
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "@id": "urn:example:notes:1",
  "content": "A simple note",
  "replies": {
    "@type": "Collection",
    "totalItems": 1,
    "itemsPerPage": 1,
    "items": [
      {
        "@type": "Note",
        "content": "A response to the note",
        "inReplyTo": "urn:example:notes:1"
      }
    ]
  }
}
Notes: Identifies a Collection containing objects considered to be responses to this object.
Domain: Object
Range: Collection
Functional: True
scope URI: http://www.w3.org/ns/activitystreams#scope
Example 520
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "content": "A simple note",
  "scope": {
    "@type": "http://example.org/Organization",
    "displayName": "My Organization"
  }
}
Notes: Identifies one or more entities that represent the total population of entities for which the object can considered to be relevant.
Domain: Object
Range: Object | Link
self URI: http://www.w3.org/ns/activitystreams#self
Example 525
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "self": "http://example.org/collection",
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Example 530
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 5,
  "itemsPerPage": 3,
  "self": {
    "@type": "Link",
    "displayName": "This Page",
    "href": "http://example.org/collection"
  },
  "items": [
    "http://example.org/posts/1",
    "http://example.org/posts/2",
    "http://example.org/posts/3",
  ]
}
Notes: In a paged Collection, identifies this page of entries.
Domain: Collection
Range: Collection | Link
Functional: True
tag URI: http://www.w3.org/ns/activitystreams#tag
Example 535
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Image",
  "displayName": "Picture of Sally",
  "url": "http://example.org/sally.jpg",
  "tag": [
    {
      "@type": "Person",
      "@id": "acct:sally@example.org"
    }
  ]
}
Notes: 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: http://www.w3.org/ns/activitystreams#target
Example 540
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Offer",
  "actor": "acct:sally@example.org",
  "object": "http://example.org/posts/1",
  "target": "acct:john@example.org"
}
Example 545
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Offer",
  "actor": "acct:sally@example.org",
  "object": "http://example.org/posts/1",
  "target": {
    "@type": "Person",
    "displayName": "John"
  }
}
Notes: 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: http://www.w3.org/ns/activitystreams#to
Example 550
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Offer",
  "actor": "acct:sally@example.org",
  "object": "http://example.org/posts/1",
  "target": "acct:john@example.org",
  "to": [ "acct:joe@example.org" ]
}
Notes: Identifies an entity considered to be part of the public primary audience of an Object
Domain: Object
Range: Object | Link
url URI: http://www.w3.org/ns/activitystreams#url
Example 555
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Document",
  "displayName": "4Q Sales Forecast",
  "url": "http://example.org/4q-sales-forecast.pdf"
}
Example 560
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Document",
  "displayName": "4Q Sales Forecast",
  "url": {
    "@type": "Link",
    "href": "http://example.org/4q-sales-forecast.pdf"
  }
}
Example 565
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Document",
  "displayName": "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-forecase.html",
      "mediaType": "text/html"
    }
  ]
}
Notes: Identifies one or more links to representations of the object
Domain: Object
Range: xsd:anyURI | Link
accuracy URI: http://www.w3.org/ns/activitystreams#accuracy
Example 570
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Place",
  "latitude": 36.75,
  "longitude": 119.7667,
  "accuracy": 94.5
}
Notes: 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
alias URI: http://www.w3.org/ns/activitystreams#alias
Example 575
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Place",
  "displayName": "Home",
  "alias": "@home"
}
Notes:

Provides a contextually meaningful alternative label for the object in addition to the id. For instance, within some systems, groups can be identified by both a unique global identifier and a more "human-friendly" label such as "@friends" or "@network". The value of the alias property MUST match either the isegment-nz-nc or IRI productions in [RFC3987]. The use of a relative reference other than a simple name is not allowed.

It is important to note that the meaning of the alias value is implementation and context dependent.

Domain: Object
Range: xsd:anyURI
Functional: True
altitude URI: http://www.w3.org/ns/activitystreams#altitude
Example 580
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Place",
  "displayName": "Fresno Area",
  "altitude": 15.0,
  "latitude": 36.75,
  "longitude": 119.7667,
  "units": "miles"
}
Notes: 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: http://www.w3.org/ns/activitystreams#content
Example 585
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "content": "A simple note"
}
Example 590
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "contentMap": [
    "en": "A simple note",
    "sp": "Una simple nota"
  }
}
Notes: A natural language description of the object content. HTML markup, including visual elements such as images, MAY be included. The content MAY be expressed using multiple language-tagged values.
Domain: Object
Range: xsd:string | rdf:langString
displayName URI: http://www.w3.org/ns/activitystreams#displayName
Example 595
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "displayName": "A simple note"
}
Example 600
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "displayNameMap": [
    "en": "A simple note",
    "sp": "Una simple nota"
  }
}
Notes: A simple, human-readable, plain-text name for the object. HTML markup MUST NOT be included. The displayName MAY be expressed using multiple language-tagged values.
Domain: Object | Link
Range: xsd:string | rdf:langString
duration URI: http://www.w3.org/ns/activitystreams#duration
Example 605
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Video",
  "displayName": "A Simple Video",
  "url": "http://example.org/video.mkv",
  "duration": "PT2H"
}
Example 610
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Video",
  "displayName": "A Simple Video",
  "url": "http://example.org/video.mkv",
  "duration": 3600
}
Notes: 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 SHOULD be expressed as an [RFC3339] duration (e.g. a period of 5 seconds is represented as "PT5S") but MAY be specified as a non-negative integer specifying the duration as a number of non-fractional seconds.
Domain: Content | Link
Range: xsd:integer | xsd:duration
Functional: True
height URI: http://www.w3.org/ns/activitystreams#height
Example 615
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Content",
  "displayName": "Some generic content",
  "content": "<p>This can be any kind of content</p>",
  "height": 100,
  "width": 100
}
Notes: When the object describes a visual resource, such as an image, video or embeddable HTML, the height property indicates the recommended display height in properties of device-independent pixels.
Domain: Content | Link
Range: xsd:nonNegativeInteger
Functional: True
href URI: http://www.w3.org/ns/activitystreams#href
Example 620
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Link",
  "href": "http://example.org/abc",
  "hreflang": "en",
  "mediaType": "text/html",
  "displayName": "An example link"
}
Notes: The target resource pointed to by a Link.
Domain: Link
Range: xsd:anyURI
Functional: True
hreflang URI: http://www.w3.org/ns/activitystreams#hreflang
Example 625
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Link",
  "href": "http://example.org/abc",
  "hreflang": "en",
  "mediaType": "text/html",
  "displayName": "An example link"
}
Notes: Hints as to the language used by the target resource. Value MUST be a [RFC5646] Language-Tag.
Domain: Link
Range: [RFC5646] Language Tag
Functional: True
itemsPerPage URI: http://www.w3.org/ns/activitystreams#itemsPerPage
Example 630
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 2,
  "itemsPerPage": 2,
  "items": [
    {
      "@type": "Note",
      "displayName": "A Simple Note"
    },
    {
      "@type": "Note",
      "displayName": "Another Simple Note"
    }
  ]
}
Notes: A non-negative integer specifying the maximum number of items that will be included in the value of the items array.
Domain: Collection
Range: xsd:nonNegativeInteger
Functional: True
latitude URI: http://www.w3.org/ns/activitystreams#latitude
Example 635
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Place",
  "displayName": "Fresno Area",
  "latitude": 36.75,
  "longitude": 119.7667,
  "radius": 15,
  "units": "miles"
}
Notes: The latitude of a place
Domain: Place
Range: xsd:float
Functional: True
longitude URI: http://www.w3.org/ns/activitystreams#longitude
Example 640
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Place",
  "displayName": "Fresno Area",
  "latitude": 36.75,
  "longitude": 119.7667,
  "radius": 15,
  "units": "miles"
}
Notes: The longitude of a place
Domain: Place
Range: xsd:float
Functional: True
mediaType URI: http://www.w3.org/ns/activitystreams#mediaType
Example 645
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Link",
  "href": "http://example.org/abc",
  "hreflang": "en",
  "mediaType": "text/html",
  "displayName": "An example link"
}
Notes: When used on a Link, identifies the MIME media type of the referenced resource.
Domain: Link
Range: MIME Media Type
Functional: True
priority URI: http://www.w3.org/ns/activitystreams#priority
Example 650
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Offer",
  "actor": "acct:sally@example.org",
  "object": "http://example.org/posts/1",
  "target": "acct:john@example.org",
  "priority": 0.80
}
Notes:

An optional indicator of the relative priority, or importance, that the creator of the activity considers it to have. Represented as a non-negative, numeric decimal between 0.00 and 1.00 (inclusive), with two decimal places of precision. If the property is omitted or set to null, the assumption is that a default priority can be assumed by the implementation. The value 0.00 represents the lowest possible priority while 1.00 represents the highest.

The use of the priority property does not impose any specific processing or display requirements on the part of any consuming implementation.

Expressing the value as a range of numeric decimal values is intended to provide the greatest level of flexibility in the expression and consumption of prioritization detail. It is expected that implementors consuming activity objects containing priority will utilize and expose the additional information in a number of different ways depending on the unique requirements of each application use case.

Many existing systems do not represent priority values as numeric ranges. Such systems might use fixed, labeled brackets such as "low", "normal" and "high" or "urgent". Similar mechanisms can be established, by convention, when using the priority property. In typical use, it is RECOMMENDED that implementations wishing to work with such defined categories treat priority property values in the range 0.00 to 0.25 as "low" priority; values greater than 0.25 to 0.75 as "normal" priority; and values greater than 0.75 to 1.00 as "high" priority. Specific implementations are free to establish alternative conventions for the grouping of priority values with the caveat that such conventions likely will not be understood by all implementations.

Domain: Activity
Range: xsd:float [>= 0.00, <= 1.00]
Functional: True
endTime URI: http://www.w3.org/ns/activitystreams#endTime
Example 655
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Event",
  "displayName": "A Party!",
  "startTime": "2014-12-31T23:00:00-08:00",
  "endTime": "2015-01-01T06:00:00-08:00"
}
Notes: 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: http://www.w3.org/ns/activitystreams#published
Example 660
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "content": "A simple note",
  "published": "2014-12-12T12:12:12Z"
}
Notes: The date and time at which the object was published
Domain: Object
Range: xsd:dateTime
Functional: True
startTime URI: http://www.w3.org/ns/activitystreams#startTime
Example 665
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Event",
  "displayName": "A Party!",
  "startTime": "2014-12-31T23:00:00-08:00",
  "endTime": "2015-01-01T06:00:00-08:00"
}
Notes: 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: http://www.w3.org/ns/activitystreams#radius
Example 670
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Place",
  "displayName": "Fresno Area",
  "latitude": 36.75,
  "longitude": 119.7667,
  "radius": 15,
  "units": "miles"
}
Notes: 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: http://www.w3.org/ns/activitystreams#rel
Example 675
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Link",
  "href": "http://example.org/abc",
  "hreflang": "en",
  "mediaType": "text/html",
  "displayName": "An example link",
  "rel": ["canonical", "preview"]
}
Notes:

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: http://www.w3.org/ns/activitystreams#startIndex
Example 680
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "OrderedCollection",
  "totalItems": 2,
  "itemsPerPage": 2,
  "startIndex": 0,
  "orderedItems": [
    {
      "@type": "Note",
      "displayName": "A Simple Note"
    },
    {
      "@type": "Note",
      "displayName": "Another Simple Note"
    }
  ]
}
Notes: A non-negative integer value identifying the relative position within the logical view of a strictly ordered collection.
Domain: OrderedCollection
Range: xsd:nonNegativeInteger
Functional: True
summary URI: http://www.w3.org/ns/activitystreams#summary
Example 685
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "summary": "A simple note"
}
Example 690
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "summaryMap": [
    "en": "A simple note",
    "sp": "Una simple nota"
  }
}
Notes: A natural language summarization of the object. HTML markup, including visual images such as images, MAY be included. Multiple language tagged summaries MAY be provided.
Domain: Object
Range: xsd:string | rdf:langString
title URI: http://www.w3.org/ns/activitystreams#title
Example 695
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "title": "A simple note"
}
Example 700
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "titleMap": [
    "en": "A simple note",
    "sp": "Una simple nota"
  }
}
Notes: A natural language title of the object. HTML markup, including visual images such as images, MAY be included. The title and displayName properties are closely related and overlap in function with the key difference being that title is permitted to contain HTML markup while displayName is not.
Domain: Object | Link
Range: xsd:string | rdf:langString
totalItems URI: http://www.w3.org/ns/activitystreams#totalItems
Example 705
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Collection",
  "totalItems": 2,
  "itemsPerPage": 2,
  "items": [
    {
      "@type": "Note",
      "displayName": "A Simple Note"
    },
    {
      "@type": "Note",
      "displayName": "Another Simple Note"
    }
  ]
}
Notes: 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: http://www.w3.org/ns/activitystreams#units
Example 710
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Place",
  "displayName": "Fresno Area",
  "latitude": 36.75,
  "longitude": 119.7667,
  "radius": 15,
  "units": "miles"
}
Notes: 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: http://www.w3.org/ns/activitystreams#updated
Example 715
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Note",
  "content": "A simple note",
  "updated": "2014-12-12T12:12:12Z"
}
Notes: The date and time at which the object was updated
Domain: Object
Range: xsd:dateTime
Functional: True
width URI: http://www.w3.org/ns/activitystreams#width
Example 720
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Content",
  "displayName": "Some generic content",
  "content": "<p>This can be any kind of content</p>",
  "height": 100,
  "width": 100
}
Notes: When the object describes a visual resource, such as an image, video or embeddable HTML, the width property indicates the recommended display width in properties of device-independent pixels.
Domain: Content | Link
Range: xsd:nonNegativeInteger
Functional: True
subject URI: http://www.w3.org/ns/activitystreams#subject
Example 725
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Relationship",
  "subject": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "relationship": "http://purl.org/vocab/relationship/closeFriendOf",
  "object": {
    "@type": "Person",
    "displayName": "John"
  }
}
Notes: On a Relationship object, the a 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: http://www.w3.org/ns/activitystreams#relationship
Example 730
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Relationship",
  "subject": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "relationship": "http://purl.org/vocab/relationship/closeFriendOf",
  "object": {
    "@type": "Person",
    "displayName": "John"
  }
}
Notes: On a Relationship object, the relationship property identifies the kind of relationship that exists between subject and object.
Domain: Relationship
Range: Object
describes URI: http://www.w3.org/ns/activitystreams#describes
Example 735
{
  "@context": "http://www.w3.org/ns/activitystreams",
  "@type": "Profile",
  "describes": {
    "@type": "Person",
    "displayName": "Sally"
  },
  "url": "http://sally.example.org"
}
Notes: On a Profile object, the describes property identifies the object described by the Profile.
Domain: Profile
Range: Object
Functional: True

5. Activity Streams 1.0 Properties

While the following properties are defined within the http://www.w3.org/ns/activitystreams# namespace URI, their use SHOULD be considered deprecated within Activity Streams 2.0 implementations. They are included specifically for interoperability purposes with Activity Streams 1.0.

Term Description
author URI: http://www.w3.org/ns/activitystreams#author
Notes: Identifies the author of an object (replaced by attributedTo).
Domain: Object
Equivalent To: attributedTo
id URI: http://www.w3.org/ns/activitystreams#id
Notes: Provides a permanent, universally unique identifier for the object in the form of an absolute IRI [RFC3987]. Replaced in Activity Streams 2.0 by the @id keyword.
Domain: Object
Equivalent To: [JSON-LD] "@id"
verb URI: http://www.w3.org/ns/activitystreams#verb
Notes: Identifies the type of action represented in the Activity. Replaced in Activity Streams 2.0 by the JSON-LD @type keyword.
Domain: Activity
Range: xsd:anyURI
objectType URI: http://www.w3.org/ns/activitystreams#objectType
Notes: Identifies the type of object. Replaced in Activity Streams 2.0 by the JSON-LD @type keyword.
Domain: xsd:anyURI
Equivalent To: [JSON-LD] @type
downstreamDuplicates URI: http://www.w3.org/ns/activitystreams#downstreamDuplicates
Notes: The downstreamDuplicates property is used when there are known objects, possibly in a different system, that duplicate the content in this object. This would be used as a hint for consumers to use when resolving duplicates between objects received from different sources. In Activity Streams 2.0, the downstreamDuplicates property is deprecated and SHOULD NOT be used.
Domain: Object
Range: xsd:anyURI
provider URI: http://www.w3.org/ns/activitystreams#provider
Notes: Identifies the entity (e.g. an application) that published the object. Note that this is not necessarily the same entity that generated the object.
Domain: Object
Range: Object | Link
upstreamDuplicates URI: http://www.w3.org/ns/activitystreams#upstreamDuplicates
Notes: The upstreamDuplicates property is used when there are known objects, possibly in a different system, that duplicate the content in this object. This would be used as a hint for consumers to use when resolving duplicates between objects received from different sources. In Activity Streams 2.0, the upstreamDuplicates property is deprecated and SHOULD NOT be used.
Domain: Object
Range: xsd:anyURI
tags URI: http://www.w3.org/ns/activitystreams#tags
Notes: In the Activity Streams 2.0 vocabulary, tags is renamed to the singular form tag for consistency.
Domain: Object
Range: Object | Link
Equivalent To: tag
attachments URI: http://www.w3.org/ns/activitystreams#attachments
Notes: In the Activity Streams 2.0 vocabulary, attachments is renamed to the singular form attachment for consistency.
Domain: Object
Range: Object | Link
Equivalent To: attachment
rating URI: http://www.w3.org/ns/activitystreams#rating
Notes: A quality rating expressed as a non-negative decimal number between 0.0 and 5.0 (inclusive) with one decimal place of precision.
Domain: Object
Range: xsd:decimal [>= 0.0f, <=5.0f]
Functional: True

A. Non-normative Ontology Definition

This section is non-normative.

A non-normative turtle definition of the Activity Streams 2.0 vocabulary is provided here 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. References

B.1 Normative references

[JSON-LD]
Manu Sporny; Gregg Kellogg; Markus Lanthaler. JSON-LD 1.0. 16 January 2014. W3C Recommendation. URL: http://www.w3.org/TR/json-ld/
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[RFC3339]
G. Klyne; C. Newman. Date and Time on the Internet: Timestamps. July 2002. Proposed Standard. URL: https://tools.ietf.org/html/rfc3339
[RFC3986]
T. Berners-Lee; R. Fielding; L. Masinter. Uniform Resource Identifier (URI): Generic Syntax. January 2005. Internet Standard. URL: https://tools.ietf.org/html/rfc3986
[RFC3987]
M. Duerst; M. Suignard. Internationalized Resource Identifiers (IRIs). January 2005. Proposed Standard. URL: https://tools.ietf.org/html/rfc3987
[RFC5646]
A. Phillips, Ed.; M. Davis, Ed.. Tags for Identifying Languages. September 2009. Best Current Practice. URL: https://tools.ietf.org/html/rfc5646
[RFC5988]
M. Nottingham. Web Linking. October 2010. Proposed Standard. URL: https://tools.ietf.org/html/rfc5988

B.2 Informative references

[HTML5]
Ian Hickson; Robin Berjon; Steve Faulkner; Travis Leithead; Erika Doyle Navara; Edward O'Connor; Silvia Pfeiffer. HTML5. 28 October 2014. W3C Recommendation. URL: http://www.w3.org/TR/html5/
[RFC5005]
M. Nottingham. Feed Paging and Archiving. September 2007. Proposed Standard. URL: https://tools.ietf.org/html/rfc5005