$schema: ../codegen/schema.yaml
name: Relationship
compactName: Relationship
uri: "https://www.w3.org/ns/activitystreams#Relationship"
extends: "https://www.w3.org/ns/activitystreams#Object"
entity: true
description: |
  Describes a relationship between two individuals.
  The {@link Relationship.subject} and {@link Relationship.object} properties
  are used to identify the connected individuals.

  See [5.2 Representing Relationships Between
  Entities](https://www.w3.org/TR/activitystreams-vocabulary/#connections)
  for additional information.
defaultContext:
- "https://www.w3.org/ns/activitystreams"
- "https://w3id.org/security/data-integrity/v1"

properties:
- singularName: subject
  functional: true
  compactName: subject
  uri: "https://www.w3.org/ns/activitystreams#subject"
  description: |
    On a {@link Relationship} object, the {@link Relationship.subject} property
    identifies one of the connected individuals.  For instance,
    for a {@link Relationship} object describing "John is related to Sally",
    the {@link Relationship.subject} property would refer to John.
  range:
  - "https://www.w3.org/ns/activitystreams#Object"

- singularName: object
  pluralName: objects
  singularAccessor: true
  compactName: object
  uri: "https://www.w3.org/ns/activitystreams#object"
  description: |
    Describes the entity to which the {@link Relationship.subject} is related.
  range:
  - "https://www.w3.org/ns/activitystreams#Object"

- singularName: relationship
  pluralName: relationships
  singularAccessor: true
  compactName: relationship
  uri: "https://www.w3.org/ns/activitystreams#relationship"
  description: |
    On a {@link Relationship} object, the {@link Relationship.relationship}
    property identifies the kind of relationship that exists between
    {@link Relationship.subject} and {@link Relationship.object}.
  range:
  - "https://www.w3.org/ns/activitystreams#Object"
