Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Problem of Customized child classes due to AAS Constraint 108 in SEList

Open
#47 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
python
Domain
backend

Research direction

Start with _check_constraints in SubmodelElementList and _submodel_element_list_to_json in json_serialization.py, then inspect the KEY_TYPES_CLASSES mapping. Determine how customized child classes should satisfy the constraint and serialization paths; the work is done when the chosen behavior is consistent for both cases.

Written by the indexing model from the issue text.

Description

sdk

The Constraint AASd-108 says: All first level child elements in a SubmodelElementList shall have the same
submodel element type as specified in SubmodelElementList/typeValueListElement.

The _check_constraints method in SubmodelElementList raises Exception if the child element in SubmodelElementList is not of the same Class as it is specified in typeValueListElement.

So if I define my SDK for a specific Submodel and define classes for it (e.g. SpecialProperty) which inherit from e.g. Property class, i get Errors:

  • I set SubmodelElementList/typeValueListElement to Property
  • I add to SubmodelElementList my SpecialProperty object
  • I get error from _check_constraints , because SpecialProperty!=Property .
  • If I set SubmodelElementList/typeValueListElement to SpecialProperty , I get error from _submodel_element_list_to_json in json_serialization.py because SpecialProperty class is not in KEY_TYPES_CLASSES dict

What are possible solutions here?

Dominant language
Python
Stars
102
Forks
52
Avg merge
20d 17h
Merged PRs (30d)
1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from eclipse-basyx/basyx-python-sdk

All issues in eclipse-basyx/basyx-python-sdk

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.