Skip to content

sdk: Add tutorial for Submodel navigation#411

Merged
s-heppner merged 3 commits intoeclipse-basyx:developfrom
rwth-iat:fix/351
Feb 25, 2026
Merged

sdk: Add tutorial for Submodel navigation#411
s-heppner merged 3 commits intoeclipse-basyx:developfrom
rwth-iat:fix/351

Conversation

@moritzsommer
Copy link
Contributor

Previously, we lacked a tutorial demonstrating how to navigate a Submodel's hierarchy using IdShorts and IdShortPaths.

This adds a simple tutorial for Submodel navigation and updates the documentation to reference it. The end user is shown how to navigate SubmodelElements, such as simple Properties, Property Collections, Property Lists and Collection Lists.

Fixes #351

@moritzsommer
Copy link
Contributor Author

I have two more questions about this topic:

  1. When using get_referable(), the user gets back a Referable object. This object does not have a value attribute, so in order to access this attribute (in a clean way, without mypy complaining), you have to cast. Is this behaviour intended?
  2. In the last dev meeting, we didn't cover the topic getting objects back out of an ObjectStore. Therefore, I didn't include it in the tutorial. However, Add tutorial aas_navigation  #351 and Usage of id_short Path Parameter in get_referable #345 mention it. Should I include the workflow presented in Usage of id_short Path Parameter in get_referable #345 in this tutorial?

@s-heppner
Copy link
Member

@moritzsommer wrote here:

  1. When using get_referable(), the user gets back a Referable object. This object does not have a value attribute, so in order to access this attribute (in a clean way, without mypy complaining), you have to cast. Is this behaviour intended?
  2. In the last dev meeting, we didn't cover the topic getting objects back out of an ObjectStore. Therefore, I didn't include it in the tutorial. However, Add tutorial aas_navigation  #351 and Usage of id_short Path Parameter in get_referable #345 mention it. Should I include the workflow presented in Usage of id_short Path Parameter in get_referable #345 in this tutorial?

ad 1.) I agree that this is ugly, but not every Referable has a value in the meta-model and we need to follow the specification also for the abstract classes. Do you have a better solution than what we have now?

ad 2.) This should be covered by the tutorial_storage. Maybe you can refer in this tutorial to it?

Previously, we lacked a tutorial demonstrating how to navigate a
Submodel's hierarchy using IdShorts and IdShortPaths.

This adds a simple tutorial for Submodel navigation and updates the
documentation to reference it. The end user is shown how to navigate
SubmodelElements, such as simple Properties, Property Collections,
Property Lists and Collection Lists.

Fixes eclipse-basyx#351

# Conflicts:
#	sdk/README.md
@moritzsommer
Copy link
Contributor Author

ad 1.) I agree that this is ugly, but not every Referable has a value in the meta-model and we need to follow the specification also for the abstract classes. Do you have a better solution than what we have now?

ad 2.) This should be covered by the tutorial_storage. Maybe you can refer in this tutorial to it?

  1. Unfortunately, I think casting is the only proper option here. Any other approach would lead to Mypy complaining.
  2. All right, I haven't changed anything about the content of the current tutorial.

Copy link
Member

@s-heppner s-heppner left a comment

Choose a reason for hiding this comment

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

LGTM, thank you very much!

@s-heppner s-heppner merged commit fcd29e3 into eclipse-basyx:develop Feb 25, 2026
15 checks passed
@s-heppner s-heppner deleted the fix/351 branch February 25, 2026 09:01
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.

2 participants