Relationship
Purpose
A Relationship describes an association between Objects.
Relationships may be used to define the kinds of associations in which an Object may participate or to represent a specific association between Objects.
The Canonical Data Model defines the structure of a Relationship but does not define the available Relationship types.
---
Structure
A Relationship consists of:
id- Identifies the Relationship.type- Classifies the Relationship.content- Contains the data associated with the Relationship.
The interpretation of content is determined by type.
---
Characteristics
- Relationships are independent.
- Relationships may contain any valid data.
- Relationships are immutable.
---
Recognized detail: links
A link between an Object and a resource it points to is a canonical reference, not a URL
string. When the association is worth naming, it is a Relationship — for example a
references Relationship whose source is a document Object and whose target is the
website.document Resource for a page it links to (see html.md).
A Relationship is added only when there is a named association to record. "This Object points
at this page" with nothing more to say is carried as a Resource on the Object without a
Relationship (see resource.md). Structural relations — contains, part_of, references
— are Relationships.
Following a link Relationship is focusing its target Resource (see resource.md, Focusing a
Resource). A consumer never interprets the target's URI to decide what following it does.