Skip to content

Exemplary Discovery of AAS Objects with LinkSets and ID Link#536

Draft
sebbader-sap wants to merge 1 commit intoIDTA-01002-3-2_Workingfrom
SeBa/535-id-link
Draft

Exemplary Discovery of AAS Objects with LinkSets and ID Link#536
sebbader-sap wants to merge 1 commit intoIDTA-01002-3-2_Workingfrom
SeBa/535-id-link

Conversation

@sebbader-sap
Copy link
Contributor

Closes #535

@CLAassistant
Copy link

CLAassistant commented Feb 15, 2026

CLA assistant check
All committers have signed the CLA.

@sebbader-sap sebbader-sap changed the base branch from main to IDTA-01002-3-2_working February 15, 2026 15:12
@sebbader-sap sebbader-sap changed the base branch from IDTA-01002-3-2_working to IDTA-01002-3-2_Working February 15, 2026 15:13


== Direct Discovery of AAS Objects based on ID Link and LinkSets

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'linkset'
This section describes how a client can discover AAS and related resources by using an ID Link as the globalAssetId combined with RFC 9264 LinkSets. The ID Link is a resolvable HTTP(S) URL representing the asset identity (globalAssetId). The landing endpoint for the ID Link returns a LinkSet (media type application/linkset+json) that contains typed relations to AAS, Submodels, repositories, registries, and Digital Product Passport resources.

Concept:
- The globalAssetId is an ID Link, e.g., https://id.example.com/my-asset-id.

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'linkset'

[source,json]
----
{

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'linkset'
],
"aas-service-endpoints": [
{
"href": "https://service.example.com/aas/aas-service-endpoints",

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'linkset'
"aas-service-endpoints": [
{
"href": "https://service.example.com/aas/aas-service-endpoints",
"type": "application/linkset+json",

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'linkset'
- Server may also include a Link header with rel="alternate" and type="application/linkset+json" to advertise discovery per RFC 8288.

[plantuml, seq-idlink-linkset, svg]
....

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'startuml'
actor Client
participant IDProvider as "ID Link Landing"
participant AASService as "AAS / Repo"

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'linkset'
participant IDProvider as "ID Link Landing"
participant AASService as "AAS / Repo"

Client -> IDProvider: GET /my-asset-id\nAccept: application/linkset+json

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'linkset'
IDProvider --> Client: 200 OK\nContent-Type: application/linkset+json\n{ 'aas', 'aas-service-endpoints', 'dpp' }

Client -> AASService: GET /aas/shells/<encoded-globalAssetId>\nAccept: application/json
AASService --> Client: 200 OK\n{ AssetAdministrationShell ... }

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'enduml'
....

====
// Guidance

Check warning

Code scanning / QDJVMC

Typo Warning documentation

Typo: In word 'linkset'
"aas": [
{
"href": "https://service.example.com/aas/shells/aHR0cHM6Ly9pZC5leGFtcGxlLmNvbS9teS1hc3NldC1pZA",
"type": "application/json",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably application/aas+json ?

{
"href": "https://service.example.com/dpp/dpps/https%3A//id.example.com/my-asset-id",
"type": "application/json",
"dppVersion": ["1.0"],
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the DPP version?

Client -> IDProvider: GET /my-asset-id\nAccept: application/linkset+json
IDProvider --> Client: 200 OK\nContent-Type: application/linkset+json\n{ 'aas', 'aas-service-endpoints', 'dpp' }

Client -> AASService: GET /aas/shells/<encoded-globalAssetId>\nAccept: application/json
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume the globalAssetId is identical to "my-asset-id" from step one, only encoded. Otherwise, how is the mapping from my-asset-id to globalAssetId done?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Explain ID Link and AAS Discovery

3 participants