Intent Class In Activity Streams 2.0 Vocabulary

Author: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>

Copyright © 2017 Akihiko Odaki. Licensed under CC0 1.0.

Abstract

This specification describes Intent class in Activity vocabulary. It is intended to be used in the context of the ActivityStreams 2.0 format and provides an extension for [Activity Vocabulary] to implement intent feature with Activity Streams 2.0.

Author's Note

This section is non-normative.

This draft is written to implement intent feature in Mastodon, an Activity Streams implementation. This draft is heavily influenced by [Activity Vocabulary]. The author is glad to use Mastodon utilizing the format, and hope further development and other applications of Activity Streams. Some portions of [Activity Vocabulary] 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.

This document was published by the author as a proposal for Mastodon and other Activity Streams applications. Please write comments regarding this document to the following issue in Mastodon:
URL scheme for remote follow, share buttons · Issue #2291 · tootsuite/mastodon

This document is expected to be useful also for other Activity Streams applications. If you have any request to change for them, please contact the author. E-mail is the most reliable means for that, but OStatus2 is also acceptable. Send a note to @fn_aki@pawoo.net.

1. Introduction

[Activity Vocabulary] defines Activity class for Activity Streams. This document defines vocabulary properties to describe an intent for activities represented by the class.

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].

2. Intent Class

2.1 URI

Intent class is identified with the following URI: https://akihikodaki.github.io/activity-intent/ns#Intent

The URI is temporary and subject to later change.

2.2 Subtype and Semantics

An intent is a subtype of IntransitiveActivity. An intent is about an activity.

2.3 object property

object property describes an activity intended to be performed.

2.4 Example

This section is non-normative.

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "https://akihikodaki.github.io/activity-intent/ns#Intent",
  "summary": "Mallory is going to follow someone",
  "actor": "https://example.net/~mallory",
  "object": {
     "type": "Follow"
  }
}

An user agent received the above intent MAY ask Mallory the person to be followed.

A. References

[Activity Vocabulary]
James M Snell; Evan Prodromou. W3C. URL: https://www.w3.org/TR/activitystreams-vocabulary/
[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