-
Notifications
You must be signed in to change notification settings - Fork 3
Property
A Property is a scalar-valued SubmodelElement used to represent a single, typed value identified by a semantic ID. According to the IDTA AAS specification, a Property has no inherent ambiguity when its semantic ID is unique.
DataEngine supports Property elements as a core SubmodelElement type and treats them as the simplest and most deterministic form of value resolution.
-
A Property represents a single scalar value.
-
The meaning of the value is defined entirely by its semanticId.
-
The expected data type is defined by valueType.
Because of this strict definition, Properties are ideal candidates for semanticId-based resolution via Plugins.
DataEngine applies the following handling rules for Property elements:
-
A strict one-to-one mapping is maintained between a semanticId and its value.
-
The semanticId is extracted from the template during submodel or submodel element requests.
-
DataEngine requests the value for the semanticId from the Plugin, Dataengine will also pass expedted valueType to Plugin.
-
The Plugin returns a scalar value mapped to the semanticId.
-
DataEngine validates the value against the declared valueType.
-
The validated value is injected into the Property element without altering its structure.
DataEngine does not infer, aggregate, or transform Property values.
The following example shows a Property definition in a submodel template. The template contains structural and semantic information but no runtime value.
{
"modelType": "Property",
"idShort": "RatedVoltage",
"semanticId": {
"type": "ExternalReference",
"keys": [{ "type": "GlobalReference", "value": "https://example.com/semantics/electrical/ratedVoltage" }]
},
"valueType": "xs:double",
"value": ""
}
The Plugin resolves the semanticId and returns the corresponding scalar value. The response format is based on semanticId-to-value mapping.
{
"https://example.com/semantics/electrical/ratedVoltage": "230.0"
}
DataEngine injects the resolved value into the Property while preserving all original metadata.
{
"modelType": "Property",
"idShort": "RatedVoltage",
"semanticId": {
"type": "ExternalReference",
"keys": [{ "type": "GlobalReference", "value": "https://example.com/semantics/electrical/ratedVoltage" }]
},
"valueType": "xs:double",
"value": "230.0"
}
-
Each Property semanticId must resolve to at most one value.
-
If a Plugin does not return a value for the semanticId, the Property may be returned with an empty value or throw erorr depedens on
Cardinality. -
If the returned value does not match valueType, the request will fail.
M&M Software
- Architecture
- Submodel Repository
- Submodel Registry
- Aas Registry
- Aas Repository
- Plugin
- Multi-Plugin
- Supported SubmodelElement
-
Bug Reports: Template Bug Item
-
Feature Requests : Feature Request