Notification Pattern

Request Ingest

Description: This pattern is used to request that the target system ingest a resource
Pattern Categories: Requests

Properties

@context

The @context must include:

id

Notify payloads must describe an AS 2.0 activity. The activity has an id which must be a URI, and the use of URN:UUID is recommended. An HTTP URI may be used instead, but in such cases the URI should resolve to a useful resource.

type

The activity has a type which should include Offer & coar-notify:IngestAction

actor

The actor describes the party responsible for this activity. The actor has:

  • An id which must be a URI identifying the actor (HTTP URIs are preferred, but any valid URI is permitted)
  • A type which should be one of: Application, Group, Organization, Person or Service from AS 2.0.
  • The actor may also have a name

origin

The origin describes the system which has sent the notification. The origin has:

  • An id which is an HTTP URI identifying the sending system
  • A type which should include the value Service from AS 2.0.
  • An inbox which is the HTTP URI of the LDN inbox for the origin

object

The object describes the resource which is the main focus of this notification. This particular example has the following properties:

  • An id which is the HTTP URI of the "landing page" for the resource.
  • A type which should include the value AboutPage from schema.org.
  • An ietf:cite-as which contains the persistent HTTP URI (sometimes called the "PID") which is to be used to cite or link to the resource.
  • A url containing the details of the actual content resource. The url has:
    • An id containing the HTTP URI of the content file for the resource.
    • A type describing the content file.
    • A mediaType which contains the MIME Type of the content file.

target

The target describes the system which is intended to receive the notification. The target has:

  • An id which is an HTTP URI identifying the receiving system
  • A type which should include the value Service from AS 2.0.
  • An inbox which is the HTTP URI of the LDN inbox for the target

Example JSON-LD Payload

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://purl.org/coar/notify"
  ],
  "actor": {
    "id": "https://overlay-journal.com",
    "name": "Overlay Journal",
    "type": "Service"
  },
  "id": "urn:uuid:0370c0fb-bb78-4a9b-87f5-bed307a509dd",
  "object": {
    "id": "https://research-organisation.org/repository/preprint/201203/421/",
    "ietf:cite-as": "https://doi.org/10.5555/12345680",
    "type": "sorg:AboutPage",
    "url": {
      "id": "https://research-organisation.org/repository/preprint/201203/421/content.pdf",
      "media-type": "application/pdf",
      "type": [
        "Article",
        "sorg:ScholarlyArticle"
      ]
    }
  },
  "origin": {
    "id": "https://overlay-journal.com/system",
    "inbox": "https://overlay-journal.com/inbox/",
    "type": "Service"
  },
  "target": {
    "id": "https://research-organisation.org/repository",
    "inbox": "https://research-organisation.org/inbox/",
    "type": "Service"
  },
  "type": [
    "Offer",
    "coar-notify:IngestAction"
  ]
}

Example scenarios which use this pattern

ID Scenario Participating Systems
6 Author submits to overlay journal using repository to host resource and reviews Overlay Journal <-> Repository