Basic Operation Parameters

General

This clause specifies the parameters for API operations.

SerializationModifiers in Operations

Definition

For GET operations, a SerializationModifier indicates the requester’s expected or desired response content. For PUT and PATCH operations, a SerializationModifier indicates the input content. The SerializationModifier comprises three orthogonal enumerations. When combined, these enumerations influence the input or response content of the requested operation.

Note: values remain unchanged with content=metadata.

  1. Enumeration: Level

The first enumeration Level indicates the depth of the structure of the response or input content.

Table 1. Level Parameters
Value Explanation

Deep (Default)

All elements of a requested hierarchy level and all children on all sublevels are returned. Children in this sense are SubmodelElements which are contained at the ‘submodelElements’ field of Submodels, the ‘value’ field of SubmodelElementCollections or SubmodelElementLists, the ‘statements’ field of Entities, or the ‘annotations’ field of AnnotatedRelationshipElements.

Core

Only elements of a requested hierarchy level as well as direct children are returned. By this, a client can iterate the hierarchy step by step.

Note: level parameters are mapped to the query parameter “?level” in the HTTP/REST APIs, see also Modifier Constraints.

  1. Enumeration: Content

The second enumeration Content indicates the kind of serialization of the response or input content.

For Content equal to Value see Clause 0 for details.

Table 2. Content Parameters
Value Explanation

Normal (Default)

The standard serialization of the model element or child elements is applied.

Metadata

Only metadata of an element or child elements is returned; the value is not .

Value

Only the raw value of the model element or child elements is returned; it is commonly referred to as ValueOnly-serialization.

Reference

Only applicable to Referables. Only the reference to the found element is returned; potential child elements are ignored.

Path

Returns the idShort of the requested element and a list of idShort paths to child elements if the requested element is a Submodel, a SubmodelElementCollection, a SubmodelElementList, a AnnotatedRelationshipElement, or an Entity.

Note: level parameters are mapped to path suffixes “/$<content>” in the HTTP/REST APIs, see also Modifier Constraints.

  1. Enumeration: Extent

The third enumeration Extent indicates to which extent the response or input content is being serialized. At this stage, the listed values could also be represented as binary values on BLOB-elements. They are, however, kept as generic extent values for the sake of extension.

Table 3. Extent Parameters
Value Explanation

WithoutBLOBValue (Default)

Only applicable to BLOB-elements; the BLOB content is not returned.

WithBLOBValue

Only applicable to BLOB-elements; the BLOB content is returned as base64-encoded string.

Note: level parameters are mapped to the query parameter “?extent” in the HTTP/REST APIs, see also Modifier Constraints.

Applicability of SerializationModifiers

The defined SerializationModifiers are only valid for specific operations due to their generic nature. Also, the applicability depends on the kind of the accessed resource. The following list defines the applicability of the modifiers to the resources.

GET and PATCH operations may combine all SerializationModifiers as listed below. PUT operations may only use the Extent Modifier. POST operations do not use SerializationModifiers.

Table 4. Applicability of SerializationModifiers
Resource Name Level Modifier Content Modifier Extent Modifier

Asset Administration Shell

No

Normal/ Reference

No

Submodel Reference

No

No

No

Submodel

Deep/Core

Normal/
Metadata/Value/Reference/Path

WithoutBLOBValue/

WithBLOBValue

SubmodelElements

SubmodelElementCollection

Deep/Core

Normal/ Metadata/ Value/ Reference/Path

WithoutBLOBValue/

WithBLOBValue

SubmodelElementList

Deep/Core

Normal/ Metadata/ Value/ Reference/ Path

WithoutBLOBValue/

WithBLOBValue

Entity

Deep/Core

Normal/ Metadata/ Value/ Reference/ Path

WithoutBLOBValue/

WithBLOBValue

BasicEventElement

No

Normal/
Metadata/Value/Reference

No

Capability

No

Normal/Reference

No

Operation

No

Normal/Reference

No

DataElements

Property

No

Normal/ Metadata/ Value/ Reference

No

MultiLanguageProperty

No

Normal/ Metadata/ Value/ Reference

No

Range

No

Normal/ Metadata/ Value/ Reference

No

ReferenceElement

No

Normal/ Metadata/ Value/ Reference

No

RelationshipElement

No

Normal/ Metadata/ Value/ Reference

No

AnnotatedRelationshipElement

No

Normal/ Metadata/ Value/ Reference

No

Blob

No

Normal/ Metadata/ Value/ Reference

WithoutBLOBValue/

WithBLOBValue

File

No

Normal/ Metadata/Value/Reference

No

Note: EventPayload defines the necessary information of an event instance sent out or received. It is, however not part of the AAS and submodel hierarchical structure.