Imported from
registry/relations/generated-by.md
at commit
76a4a0c89924.
IRI Link Relation: generated-by
Relation URI: https://iri.science/rels/generated-by
CURIE: iri:generated-by
Status: Provisional
Version: 1.0.0
Source representation type: Facility API Event representation.
Target representation type: Facility API Incident representation identified by the source Event’s incident_uri.
Target representation profile: https://iri.science/profiles/status/incident
This document defines the iri:generated-by relationship used by Facility API Event representations.
The canonical relation URI is https://iri.science/rels/generated-by. With
the canonical IRI CURIE template https://iri.science/rels/{rel},
iri:generated-by expands to that URI. The relation URI identifies the
link-relation semantics and is distinct from any target representation profile.
1. Relationship Metadata
| Field | Definition |
|---|---|
| Relationship | iri:generated-by |
| Relation URI | https://iri.science/rels/generated-by |
| Status | provisional |
| Semantic meaning | Identifies the Incident with which the source Event is associated. |
| Source representation type | Facility API Event representation. |
| Target representation type | Facility API Incident representation identified by the source Event’s incident_uri. |
| Cardinality | 0..1 target from an Event representation. |
| Target stability | API resource representation. The association is stable once it is set for the Event. |
| Authorization affects visibility | Yes. A provider MAY omit the relation when the target Incident is not visible to the requester; its absence does not generally prove that no association exists. |
| Target classification | API resource; not a DOE-IRI typed Resource, operation entry point, or relationship resource. |
| Relationship volatility | Stable association once set. A null incident_uri represents no associated Incident. |
2. Semantic Meaning
The iri:generated-by relationship identifies the Incident associated with an Event. It provides HAL navigation to the Incident representation named by the Event’s legacy incident_uri field.
The relationship does not assert that the Incident currently remains active or that it is the sole cause of an Event. Its target is the Incident API resource; any DOE-IRI Resource referenced by the Event is a separate iri:impacts target. This relation does not assert current Resource health, availability, or other operational state.
3. Source and Target Representation
The relationship MAY originate only from a Facility API Event representation and, when present, MUST target the Facility API Incident representation identified by that Event’s incident_uri.
The target is an independently identifiable API resource, not a DOE-IRI typed Resource, operation entry point, or relationship resource.
4. Cardinality
An Event has zero or one associated Incident:
Event -- iri:generated-by --> Incident
1 0..1
The HAL relation uses a singular link object when it is supplied. A null incident_uri omits iri:generated-by; it MUST NOT produce a link with "href": null.
5. Static and Dynamic Semantics
The Event-to-Incident association is stable once set. It is not a live assertion about Incident status, Resource health, availability, or impact scope.
6. Authorization and Visibility
Authorization MAY affect whether an associated Incident is discoverable. A provider MAY omit iri:generated-by when it cannot reveal the target. The absence of a visible relation does not generally prove that the Event has no associated Incident.
When a requester can observe a null incident_uri, that null is the authoritative legacy statement that the Event has no associated Incident.
7. Compatibility
This relation is additive. The required, nullable incident_uri field remains authoritative during migration.
- Producers retain
incident_uri. - Producers MAY add
_links["iri:generated-by"]whenincident_uriis non-null and the target is visible. - Whenever both forms are present, the link’s
hrefMUST equalincident_uri. - A null
incident_urimaps to an omitted relation, never a nullhref. - Consumers SHOULD prefer the advertised relation and MAY fall back to
incident_uri.
Removing or changing incident_uri requires a subsequent OpenAPI change.
8. HAL Representation
{
"incident_uri": "/api/v2/status/incidents/network-maintenance",
"_links": {
"iri:generated-by": {
"href": "/api/v2/status/incidents/network-maintenance",
"profile": "https://iri.science/profiles/status/incident"
}
}
}
DOE Integrated Research Infrastructure — Link Relation: generated-by