-
Notifications
You must be signed in to change notification settings - Fork 3
File
A File is a SubmodelElement used to reference external file-based content via a resolvable URI or path, together with an associated MIME type. According to the IDTA AAS specification, a File element is unambiguous when its semantic ID is unique.
DataEngine supports File elements as a core SubmodelElement type for linking documents, manuals, images, or other external resources to an asset.
- A File represents a reference to external content, not the content itself.
- The meaning of the file is defined by its semanticId.
- The file format is defined by the mimeType attribute.
- The actual file location is provided via the value attribute.
- Because the structure and semantics are clearly separated, File elements are well-suited for runtime value resolution via Plugins.
DataEngine applies the following handling rules for File elements:
- A one-to-one mapping is maintained between a semanticId and a file reference.
- The semanticId is extracted from the template during submodel or submodel element requests.
- DataEngine requests a file reference for the semanticId from the Plugin.
- The Plugin returns a resolvable URI or path mapped to the semanticId.
- The mimeType remains template-driven and is not overridden by the Plugin.
- The returned URI is injected into the File element without altering its structure.
- DataEngine does not download, host, or transform the referenced file content.
The following example shows a File definition in a submodel template. The template defines structure, semantics, and MIME type, but no runtime value.
{
"modelType": "File",
"idShort": "ManualPdf",
"semanticId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "https://example.com/semantics/document/manual"
}
]
},
"mimeType": "application/pdf",
"value": ""
}The Plugin resolves the semanticId and returns a resolvable URI pointing to the external file.
{
"https://example.com/semantics/document/manual": "https://cdn.example.com/manuals/device-1234.pdf"
}DataEngine injects the resolved URI into the File element while preserving all original metadata.
{
"modelType": "File",
"idShort": "ManualPdf",
"semanticId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "https://example.com/semantics/document/manual"
}
]
},
"mimeType": "application/pdf",
"value": "https://cdn.example.com/manuals/device-1234.pdf"
}-
Each File semanticId must resolve to at most one file reference.
-
The Plugin must return a resolvable URI or path.
-
If a Plugin does not return a value for the semanticId, the file may be returned with an empty value or throw erorr depedens on
Cardinality.
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