Relationships
Introduction
It is often useful to have direct relationships between entities, such as objects that have some (unstated) relationship to each other, inter-personal relationships that are too convoluted to express semantically, or just an arbitrary set of recommendations for other entities that might be of interest to a consuming application and its users. In order to manage such arbitrary, non-semantic relationships, the AttributeAssignment activity is used to convey this relationship, with the optional assigned_property to give the relationship type if known.
Property Definitions
The relationship assignment data structure has the following properties.
Properties of Assignments
| Property Name | Datatype | Requirement | Description |
|---|---|---|---|
id |
string | Optional | If present, the value MUST be a URI identifying the assignment, from which a representation of the assignment can be retrieved |
type |
string | Required | The class for the assignment, which MUST be the value "AttributeAssignment" |
_label |
string | Recommended | A human readable label for the assignment, intended for developers |
_complete |
boolean | Optional | Non-Semantic. If there is an id property with a URI, and there is more information about the attribute assignment available from the representation at that URI, then _complete MUST be present with a value of false to inform the consuming application that it might want to retrieve it |
identified_by |
array | Recommended | An array of json objects, each of which is a name of the assignment and MUST follow the requirements for Name, or an identifier for the assignment and MUST follow the requirements for Identifier |
classified_as |
array | Recommended | An array of json objects, each of which is a further classification of the assignment and MUST follow the requirements for Type |
referred_to_by |
array | Optional | An array of json objects, each of which is an embedded statement about the assignment |
carried_out_by |
array | Optional | An array of json objects, each of which is a reference to a Person or Group which made the assignment |
timespan |
json object | Optional | A json object which describes when the relationship was assigned, and MUST follow the requirements for timespans |
during |
array | Optional | An array of json objects, each of which is a reference to a Period during which the Assignment occured |
before |
array | Optional | An array of json objects, each of which is a reference to a Period, Event or Activity before which this Assignment occured |
after |
array | Optional | An array of json objects, each of which is a reference to a Period, Event or Activity after which this Assignment occured |
influenced_by |
array | Optional | An array of json objects, each of which is a reference to another entity which influenced or motivated the assignment |
caused_by |
array | Optional | An array of json objects, each of which is a reference to an Event that caused the assignment to occur |
used_specific_object |
array | Optional | An array of json objects, each of which is a reference to another endpoint that was instrumental in the assignment |
technique |
array | Optional | An array of json objects, each of which is a technique used in the assignment and MUST follow the requirements for Type |
assigned |
array | Required | An array of json objects, each of which is a reference to another entity that is related to the current one (SHOULD NOT be used with Dimension or Identifier assignments) |
assigned_property |
string | Optional | A string which is either a URI, or resolves to a URI via a context document, for the specific relationship between the main entity and the entity referenced in assigned |
Property Diagram
Incoming Properties
Relationship Assignment instances are typically found as the object of the following properties. This list is not exhaustive, but is intended to cover the likely cases.
| Property Name | Source Endpoint | Description |
|---|---|---|
attributed_by |
All Endpoints | A list of Relationship Assignments for the entity |
assigned_by |
Dimension, Identifer | The activity of assigning the dimension or identifier to the entity |
Example
A Human-Made Object instance:
{
"@context": "https://linked.art/ns/v1/linked-art.json",
"id": "https://linked.art/example/object/5",
"type": "HumanMadeObject",
"_label": "Painting of a Fish",
"attributed_by": [
{
"type": "AttributeAssignment",
"classified_as": [
{
"id": "http://example.org/types/recommending",
"type": "Type",
"_label": "Recommendation"
}
],
"identified_by": [
{
"type": "Name",
"classified_as": [
{
"id": "http://vocab.getty.edu/aat/300404669",
"type": "Type",
"_label": "Display Title"
}
],
"content": "Related Object: Another Painting of a Fish"
}
],
"carried_out_by": [
{
"id": "https://linked.art/example/person/1",
"type": "Person",
"_label": "Curator"
}
],
"assigned": [
{
"id": "https://linked.art/example/object/6",
"type": "HumanMadeObject",
"_label": "Another Painting of a Fish"
}
]
}
]
}
