# DOE-IRI Link Relation Index

This page is the authoritative navigation index for every currently defined
DOE-IRI link relation. It groups the registered relationships by domain and
links to the definition that specifies each relationship's semantics.

The linked definition remains authoritative for the relationship's full
stability semantics, authorization and visibility rules, target
classification, volatility, and HAL representation details. This index is
intended for navigation and summary only.

| Domain | Relationship | Semantic meaning | Source representation | Target representation | Cardinality | Definition |
|---|---|---|---|---|---|---|
| Core | `iri:located-at` | Indicates the relatively stable physical and administrative Site associated with the source Resource. | Any DOE-IRI `Resource` representation. | Facility API `Site` representation identified by the source Resource's `site_uri`. | Exactly one semantic target under the current required, singular `site_uri` contract. | [`iri:located-at`](/rels/located-at/) |
| Status | `iri:generated-by` | Identifies the Incident with which the source Event is associated. | Facility API `Event` representation. | Facility API `Incident` representation identified by the source Event's `incident_uri`. | `0..1` target from an Event representation. | [`iri:generated-by`](/rels/generated-by/) |
| Status | `iri:has-event` | Identifies Events recorded as part of the source Incident. | Facility API `Incident` representation. | Facility API `Event` representation identified by the source Incident's `event_uris`. | `0..*` targets from an Incident representation. | [`iri:has-event`](/rels/has-event/) |
| Status | `iri:impacts` | Identifies the DOE-IRI Resource to which the source Event applies. | Facility API `Event` representation. | DOE-IRI `Resource` representation identified by the source Event's `resource_uri`. | Exactly `1` target under the current required `resource_uri` contract. | [`iri:impacts`](/rels/impacts/) |
| Status | `iri:may-impact` | Identifies DOE-IRI Resources that may be affected by the source Incident. | Facility API `Incident` representation. | DOE-IRI `Resource` representation identified by the source Incident's `resource_uris`. | `0..*` targets from an Incident representation. | [`iri:may-impact`](/rels/may-impact/) |
| Facility | `iri:has-resource` | Identifies DOE-IRI Resources hosted at the source Site. | Facility API `Site` representation. | DOE-IRI `Resource` representation identified by the source Site's `resource_uris`. | `0..*` targets from a Site representation. | [`iri:has-resource`](/rels/has-resource/) |
| Facility | `iri:has-site` | Identifies Sites associated with the source Facility. | Facility API `Facility` representation. | Facility API `Site` representation identified by the source Facility's `site_uris`. | `0..*` targets from a Facility representation. | [`iri:has-site`](/rels/has-site/) |
| Allocation | `iri:has-project` | Identifies the Project to which the source ProjectAllocation belongs. | Facility API `ProjectAllocation` representation. | Facility API `Project` representation identified by the source ProjectAllocation's `project_uri`. | Exactly `1` target under the current required `project_uri` contract. | [`iri:has-project`](/rels/has-project/) |
| Allocation | `iri:has-capability` | Identifies a Capability associated with the source; a Resource provides it and a ProjectAllocation applies to it. | DOE-IRI `Resource` representation or Facility API `ProjectAllocation` representation. | Facility API `Capability` representation identified by `capability_uris` on a Resource or `capability_uri` on a ProjectAllocation. | Resource: `0..*`; ProjectAllocation: exactly `1`. | [`iri:has-capability`](/rels/has-capability/) |
| Allocation | `iri:has-project-allocation` | Identifies the ProjectAllocation of which the source UserAllocation is a part. | Facility API `UserAllocation` representation. | Facility API `ProjectAllocation` representation identified by the source UserAllocation's `project_allocation_uri`. | Exactly `1` target under the current required `project_allocation_uri` contract. | [`iri:has-project-allocation`](/rels/has-project-allocation/) |
| Storage | `iri:provides-filesystem` | Indicates that a storage system provides the identified logical filesystem resource. | `urn:doe-iri:resource:storage:system` | `urn:doe-iri:resource:storage:filesystem` | `0..*` targets from a storage-system resource. | [`iri:provides-filesystem`](/rels/provides-filesystem/) |
| Storage | `iri:provides-block` | Indicates that a storage system provides the identified logical block-storage resource. | `urn:doe-iri:resource:storage:system` | `urn:doe-iri:resource:storage:block` | `0..*` targets from a storage-system resource. | [`iri:provides-block`](/rels/provides-block/) |
| Storage | `iri:provides-object` | Indicates that a storage system provides the identified logical object-storage resource. | `urn:doe-iri:resource:storage:system` | `urn:doe-iri:resource:storage:object` | `0..*` targets from a storage-system resource. | [`iri:provides-object`](/rels/provides-object/) |
| Storage | `iri:has-mount` | Indicates that a filesystem is exposed through the identified mount relationship resource. | `urn:doe-iri:resource:storage:filesystem` | `urn:doe-iri:resource:storage:mount` | `0..*` targets from a filesystem resource. | [`iri:has-mount`](/rels/has-mount/) |
| Storage | `iri:mounted-on` | Identifies the consuming compute system on which the filesystem represented by the mount resource is exposed. | `urn:doe-iri:resource:storage:mount` | `urn:doe-iri:resource:compute:system` | Exactly `1` target for a valid mount resource. | [`iri:mounted-on`](/rels/mounted-on/) |
| Storage | `iri:attached-to` | Indicates that a logical block-storage resource is configured to be presented or attached to the identified consuming compute resource. | `urn:doe-iri:resource:storage:block` | `urn:doe-iri:resource:compute:system` or `urn:doe-iri:resource:compute:node` | `0..1` for an `exclusive` block resource; `0..*` for a `shared` block resource. | [`iri:attached-to`](/rels/attached-to/) |
| Storage | `iri:resolve-storage-locations` | Identifies the applicable operation entry point for resolving storage locations in the source Resource's context; it does not describe configured topology. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:system`, `storage:filesystem`, `storage:mount`, `storage:block`, `storage:object`, or `service:dtn`, subject to the definition's context conditions. | Storage-location-resolution operation entry point; current operation: `GET /api/v2/storage/locations/{resource_id}`, `operationId: getStorageLocations`. | `0..1` target from each eligible Resource representation. | [`iri:resolve-storage-locations`](/rels/resolve-storage-locations/) |
| Storage | `iri:get-storage-access-endpoints` | Identifies the applicable discovery operation entry point for retrieving access descriptions for the source storage Resource. | Exact Resource Types `storage`, `storage:system`, `storage:filesystem`, `storage:block`, or `storage:object`, where the adapter implements discovery. | Storage-access-endpoint discovery operation entry point; current operation: `GET /api/v2/storage/access-endpoints/{resource_id}`, `operationId: getStorageAccessEndpoints`. | `0..1` target from each eligible Resource representation. | [`iri:get-storage-access-endpoints`](/rels/get-storage-access-endpoints/) |
| Compute | `iri:has-node` | Indicates that the identified compute node participates in or is managed as part of the source compute system. | `urn:doe-iri:resource:compute:system` | `urn:doe-iri:resource:compute:node` | `0..*` targets from a compute-system resource. | [`iri:has-node`](/rels/has-node/) |
| Compute | `iri:has-cpu` | Indicates that the compute node contains, provides, or is associated with the identified CPU resource. | `urn:doe-iri:resource:compute:node` | `urn:doe-iri:resource:compute:cpu` | `0..*` targets from a compute-node resource. | [`iri:has-cpu`](/rels/has-cpu/) |
| Compute | `iri:has-gpu` | Indicates that the compute node contains, provides, or is associated with the identified GPU resource. | `urn:doe-iri:resource:compute:node` | `urn:doe-iri:resource:compute:gpu` | `0..*` targets from a compute-node resource. | [`iri:has-gpu`](/rels/has-gpu/) |
| Compute | `iri:submit-job` | Identifies the applicable job-submission operation entry point for the source compute system. | `urn:doe-iri:resource:compute:system` | Resource-specific job-submission operation entry point; current operation: `POST /api/v2/compute/job/{resource_id}`, `operationId: launchJob`. | `0..1` target from a compute-system resource. | [`iri:submit-job`](/rels/submit-job/) |
| Compute | `iri:update-job` | Identifies the applicable operation entry point for updating a selected job in its compute-system context. | `urn:doe-iri:resource:compute:system` or an IRI v2 `Job` representation. | Selected-job update operation entry point; current operation: `PUT /api/v2/compute/job/{resource_id}/{job_id}`, `operationId: updateJob`. | `0..1` target from each eligible Resource or Job representation. | [`iri:update-job`](/rels/update-job/) |
| Compute | `iri:get-job` | Identifies the applicable operation entry point for retrieving a selected job and its current status. | `urn:doe-iri:resource:compute:system` or an IRI v2 `Job` representation. | Selected-job retrieval operation entry point; current operation: `GET /api/v2/compute/status/{resource_id}/{job_id}`, `operationId: getJob`. | `0..1` target from each eligible Resource or Job representation. | [`iri:get-job`](/rels/get-job/) |
| Compute | `iri:query-jobs` | Identifies the applicable operation entry point for querying job statuses in the source compute-system context. | `urn:doe-iri:resource:compute:system` | Resource-specific job-query operation entry point; current operation: `POST /api/v2/compute/status/{resource_id}`, `operationId: getJobs`. | `0..1` target from a compute-system resource. | [`iri:query-jobs`](/rels/query-jobs/) |
| Compute | `iri:cancel-job` | Identifies the applicable operation entry point for cancelling a selected job in its compute-system context. | `urn:doe-iri:resource:compute:system` or an IRI v2 `Job` representation. | Selected-job cancellation operation entry point; current operation: `DELETE /api/v2/compute/cancel/{resource_id}/{job_id}`, `operationId: cancelJob`. | `0..1` target from each eligible Resource or Job representation. | [`iri:cancel-job`](/rels/cancel-job/) |
| Filesystem | `iri:change-file-mode` | Identifies the applicable operation entry point for requesting a file permission-mode change in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous file-mode-change operation entry point; current operation: `POST /api/v2/filesystem/chmod/{resource_id}`, `operationId: chmod`. | `0..1` target from each eligible Resource representation. | [`iri:change-file-mode`](/rels/change-file-mode/) |
| Filesystem | `iri:change-file-owner` | Identifies the applicable operation entry point for requesting a file ownership change in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous file-ownership-change operation entry point; current operation: `POST /api/v2/filesystem/chown/{resource_id}`, `operationId: chown`. | `0..1` target from each eligible Resource representation. | [`iri:change-file-owner`](/rels/change-file-owner/) |
| Filesystem | `iri:identify-file` | Identifies the applicable operation entry point for requesting identification of a file or directory type in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous file-identification operation entry point; current operation: `POST /api/v2/filesystem/file/{resource_id}`, `operationId: file`. | `0..1` target from each eligible Resource representation. | [`iri:identify-file`](/rels/identify-file/) |
| Filesystem | `iri:stat-file` | Identifies the applicable operation entry point for requesting file metadata in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous file-metadata operation entry point; current operation: `POST /api/v2/filesystem/stat/{resource_id}`, `operationId: stat`. | `0..1` target from each eligible Resource representation. | [`iri:stat-file`](/rels/stat-file/) |
| Filesystem | `iri:create-directory` | Identifies the applicable operation entry point for requesting directory creation in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous directory-creation operation entry point; current operation: `POST /api/v2/filesystem/mkdir/{resource_id}`, `operationId: mkdir`. | `0..1` target from each eligible Resource representation. | [`iri:create-directory`](/rels/create-directory/) |
| Filesystem | `iri:create-symlink` | Identifies the applicable operation entry point for requesting symbolic-link creation in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous symbolic-link-creation operation entry point; current operation: `POST /api/v2/filesystem/symlink/{resource_id}`, `operationId: symlink`. | `0..1` target from each eligible Resource representation. | [`iri:create-symlink`](/rels/create-symlink/) |
| Filesystem | `iri:list-directory` | Identifies the applicable operation entry point for requesting directory contents in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous directory-listing operation entry point; current operation: `POST /api/v2/filesystem/ls/{resource_id}`, `operationId: ls`. | `0..1` target from each eligible Resource representation. | [`iri:list-directory`](/rels/list-directory/) |
| Filesystem | `iri:read-file-head` | Identifies the applicable operation entry point for requesting the beginning of files in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous file-head operation entry point; current operation: `POST /api/v2/filesystem/head/{resource_id}`, `operationId: head`. | `0..1` target from each eligible Resource representation. | [`iri:read-file-head`](/rels/read-file-head/) |
| Filesystem | `iri:view-file` | Identifies the applicable operation entry point for requesting file content in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous file-view operation entry point; current operation: `POST /api/v2/filesystem/view/{resource_id}`, `operationId: view`. | `0..1` target from each eligible Resource representation. | [`iri:view-file`](/rels/view-file/) |
| Filesystem | `iri:read-file-tail` | Identifies the applicable operation entry point for requesting the end of a file in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous file-tail operation entry point; current operation: `POST /api/v2/filesystem/tail/{resource_id}`, `operationId: tail`. | `0..1` target from each eligible Resource representation. | [`iri:read-file-tail`](/rels/read-file-tail/) |
| Filesystem | `iri:checksum-file` | Identifies the applicable operation entry point for requesting a file checksum in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous file-checksum operation entry point; current operation: `POST /api/v2/filesystem/checksum/{resource_id}`, `operationId: checksum`. | `0..1` target from each eligible Resource representation. | [`iri:checksum-file`](/rels/checksum-file/) |
| Filesystem | `iri:remove-path` | Identifies the applicable destructive operation entry point for requesting removal of a file or directory in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous path-removal operation entry point; current operation: `POST /api/v2/filesystem/rm/{resource_id}`, `operationId: rm`. | `0..1` target from each eligible Resource representation. | [`iri:remove-path`](/rels/remove-path/) |
| Filesystem | `iri:compress-paths` | Identifies the applicable operation entry point for requesting compression of files or directories in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous archive-compression operation entry point; current operation: `POST /api/v2/filesystem/compress/{resource_id}`, `operationId: compress`. | `0..1` target from each eligible Resource representation. | [`iri:compress-paths`](/rels/compress-paths/) |
| Filesystem | `iri:extract-archive` | Identifies the applicable operation entry point for requesting archive extraction in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous archive-extraction operation entry point; current operation: `POST /api/v2/filesystem/extract/{resource_id}`, `operationId: extract`. | `0..1` target from each eligible Resource representation. | [`iri:extract-archive`](/rels/extract-archive/) |
| Filesystem | `iri:move-path` | Identifies the applicable operation entry point for requesting a file or directory move in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous path-move operation entry point; current operation: `POST /api/v2/filesystem/mv/{resource_id}`, `operationId: mv`. | `0..1` target from each eligible Resource representation. | [`iri:move-path`](/rels/move-path/) |
| Filesystem | `iri:copy-path` | Identifies the applicable operation entry point for requesting a file or directory copy in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous path-copy operation entry point; current operation: `POST /api/v2/filesystem/cp/{resource_id}`, `operationId: cp`. | `0..1` target from each eligible Resource representation. | [`iri:copy-path`](/rels/copy-path/) |
| Filesystem | `iri:download-file` | Identifies the applicable operation entry point for requesting a file download in the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous download-request operation entry point; current operation: `POST /api/v2/filesystem/download/{resource_id}`, `operationId: download`. | `0..1` target from each eligible Resource representation. | [`iri:download-file`](/rels/download-file/) |
| Filesystem | `iri:upload-file` | Identifies the applicable operation entry point for requesting a file upload into the source Resource's filesystem context. | Exact Resource Types `compute`, `compute:system`, `compute:node`, `storage`, `storage:filesystem`, `storage:mount`, or `service:dtn`, with an explicit filesystem adapter/path context. | Asynchronous upload operation entry point or `{?path}` template; current operation: `POST /api/v2/filesystem/upload/{resource_id}`, required query parameter `path`, `operationId: upload`. | `0..1` target from each eligible Resource representation. | [`iri:upload-file`](/rels/upload-file/) |
| Service | `iri:hosted-on` | Indicates that the identified compute system or compute node provides hosting infrastructure for the source service. | `urn:doe-iri:resource:service:dtn` or `urn:doe-iri:resource:service:inference` | `urn:doe-iri:resource:compute:system` or `urn:doe-iri:resource:compute:node` | `0..*` targets from a service resource. | [`iri:hosted-on`](/rels/hosted-on/) |
| Service | `iri:accesses-mount` | Indicates that the source DTN service is configured to access a filesystem through the identified mount relationship resource for transfer operations. | `urn:doe-iri:resource:service:dtn` | `urn:doe-iri:resource:storage:mount` | `0..*` targets from a DTN service resource. | [`iri:accesses-mount`](/rels/accesses-mount/) |

[Back to the DOE-IRI Registry README](https://github.com/doe-iri/iri-facility-api-docs/blob/76a4a0c8992429d0358e8309211cb30a4af1c83c/registry/README.md)

---

*DOE Integrated Research Infrastructure — Link Relation Index*
