Activity Streams/Primer/Representing Questions

From W3C Wiki

Copied from Representing Questions

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

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

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

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

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

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

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

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

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