Announce Relationship

This pattern is used to announce a relationship between two resources

Properties

@context

The @context must include:

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

context

When the object describes the result of some service acting on a resource, the context may be used to refer to that second resource.

In this particular example:

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

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.

object

The object describes the resource which is the main focus of this notification.

In this particular example:

  • 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 AS 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

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

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

type

The activity has a type which should include 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"
  ]
}

Get raw JSON-LD

Example workflows which use this pattern
Workflow System Participants Use-case(s)