Is your task related to a problem? Please describe.
It is possible to create recursive structures in Aspect Models when there are cycles in the graph of elements. For example, an Entity could have a Property with a samm-c:SingleEntity Characteristic pointing back to the Entity. In order to construct JSON payloads that correspond to the Aspect Model, this is only allowed when there is a "recursion breaker": Somewhere along the chain that constitutes the cycle in the model there needs to a samm-c:Either Characteristic or an optional Property. In the formal specification (SHACL shapes) this is considered and in the PropertyTest there is a corresponding test. However, there exists no sufficient textual description of this in the specification.
Is your task related to a problem? Please describe. It is possible to create recursive structures in Aspect Models when there are cycles in the graph of elements. For example, an Entity could have a Property with a
samm-c:SingleEntity
Characteristic pointing back to the Entity. In order to construct JSON payloads that correspond to the Aspect Model, this is only allowed when there is a "recursion breaker": Somewhere along the chain that constitutes the cycle in the model there needs to asamm-c:Either
Characteristic or an optional Property. In the formal specification (SHACL shapes) this is considered and in the PropertyTest there is a corresponding test. However, there exists no sufficient textual description of this in the specification.This was encountered here: https://github.com/eclipse-esmf/esmf-aspect-model-editor/issues/50
Describe the solution you'd like Document semantics of allowed and disallowed recursion