COAR Notify Protocol version 0.9.0 Deprecated! Go to most recent version

Pattern: Announce Relationship

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 RFC 2119.

This pattern is used to announce a relationship between two resources

Properties

@context

@context is REQUIRED. This is the JSON-LD 'context' for the activity.

actor

actor is RECOMMENDED. It describes the party responsible for this activity. It:

  • MUST have an id which MUST be a URI identifying the actor (HTTP URIs are RECOMMENDED, but any valid URI is permitted)
  • MUST have a type which MUST be one of: Application, Group, Organization, Person or Service from Activity Streams 2.0.
  • MAY have a name

The inclusion of actor is highly RECOMMENDED in order to facilitate the broadest possible interoperability beyond the immediate COAR Notify context. Some external systems which can usefully consume notifications based on Activity Streams 2.0 may require the presence of an actor to function correctly.

context

context is OPTIONAL.

  • An id which is the HTTP URI of the "landing page" for the resource.
  • A type which should include the value sorg:AboutPage.
  • 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.
  • An ietf:item containing the details of the actual content resource. The ietf:item 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.

id

id is REQUIRED. This must be a URI, and the use of URN:UUID is recommended. An HTTP URI may be used, but in such cases the URI should resolve to a resource which represents the activity.

object

object is REQUIRED.

  • An id which contains the URI for the relationship with the target-hosted resource
  • A type which should describes the type of the relationship and should include a value from Activity Streams 2.0
  • A 'triple' describing the relationship, in the form:
    • as:subject: containing the URI for the local resource
    • as:relationship: containing a relationship URI
    • as:object: containing the URI for the remote resource

origin

origin is REQUIRED. The originator of the activity, typically the service responsible for sending the notification.

target

target is REQUIRED. The intended destination of the activity, typically the service which consumes the notification.

type

type is REQUIRED. The type of this activity MUST include the values:

  • Announce
  • coar-notify:RelationshipAction

Example JSON-LD Payload

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://purl.org/coar/notify"
  ],
  "actor": {
    "id": "https://research-organisation.org",
    "name": "Research Organisation",
    "type": "Organization"
  },
  "context": {
    "id": "https://another-research-organisation.org/repository/datasets/item/201203421/",
    "ietf:cite-as": "https://doi.org/10.5555/999555666",
    "ietf:item": {
      "id": "https://another-research-organisation.org/repository/datasets/item/201203421/data_archive.zip",
      "mediaType": "application/zip",
      "type": [
        "Article",
        "sorg:Dataset"
      ]
    },
    "type": "sorg:AboutPage"
  },
  "id": "urn:uuid:94ecae35-dcfd-4182-8550-22c7164fe23f",
  "object": {
    "as:object": "https://another-research-organisation.org/repository/datasets/item/201203421/",
    "as:relationship": "http://purl.org/vocab/frbr/core#supplement",
    "as:subject": "https://research-organisation.org/repository/item/201203/421/",
    "id": "urn:uuid:74FFB356-0632-44D9-B176-888DA85758DC",
    "type": "Relationship"
  },
  "origin": {
    "id": "https://research-organisation.org/repository",
    "inbox": "https://research-organisation.org/inbox/",
    "type": "Service"
  },
  "target": {
    "id": "https://another-research-organisation.org/repository",
    "inbox": "https://another-research-organisation.org/inbox/",
    "type": "Service"
  },
  "type": [
    "Announce",
    "coar-notify:RelationshipAction"
  ]
}