{ "$schema": "https://json-schema.org/draft/2019-09/schema", "title": "IDTA-01001-3-1 AAS JSON Schema", "type": "object", "allOf": [ { "$ref": "#/definitions/Environment" } ], "$id": "https://admin-shell.io/aas/3/1", "definitions": { "AasSubmodelElements": { "type": "string", "enum": [ "AnnotatedRelationshipElement", "BasicEventElement", "Blob", "Capability", "DataElement", "Entity", "EventElement", "File", "MultiLanguageProperty", "Operation", "Property", "Range", "ReferenceElement", "RelationshipElement", "SubmodelElement", "SubmodelElementCollection", "SubmodelElementList" ] }, "AbstractLangString": { "type": "object", "properties": { "language": { "type": "string", "pattern": "^(([a-zA-Z]{2,3}(-[a-zA-Z]{3}(-[a-zA-Z]{3}){0,2})?|[a-zA-Z]{4}|[a-zA-Z]{5,8})(-[a-zA-Z]{4})?(-([a-zA-Z]{2}|[0-9]{3}))?(-(([a-zA-Z0-9]){5,8}|[0-9]([a-zA-Z0-9]){3}))*(-[0-9A-WY-Za-wy-z](-([a-zA-Z0-9]){2,8})+)*(-[xX](-([a-zA-Z0-9]){1,8})+)?|[xX](-([a-zA-Z0-9]){1,8})+|((en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)|(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)))$" }, "text": { "type": "string", "minLength": 1, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" } }, "required": [ "language", "text" ] }, "AdministrativeInformation": { "allOf": [ { "$ref": "#/definitions/HasDataSpecification" }, { "properties": { "version": { "type": "string", "allOf": [ { "minLength": 1, "maxLength": 4 }, { "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, { "pattern": "^(0|[1-9][0-9]*)$" } ] }, "revision": { "type": "string", "allOf": [ { "minLength": 1, "maxLength": 4 }, { "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, { "pattern": "^(0|[1-9][0-9]*)$" } ] }, "creator": { "$ref": "#/definitions/Reference" }, "templateId": { "type": "string", "minLength": 1, "maxLength": 2048, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" } } } ] }, "AnnotatedRelationshipElement": { "allOf": [ { "$ref": "#/definitions/RelationshipElement_abstract" }, { "properties": { "annotations": { "type": "array", "items": { "$ref": "#/definitions/DataElement_choice" }, "minItems": 1 }, "modelType": { "const": "AnnotatedRelationshipElement" } } } ] }, "AssetAdministrationShell": { "allOf": [ { "$ref": "#/definitions/Identifiable" }, { "$ref": "#/definitions/HasDataSpecification" }, { "properties": { "derivedFrom": { "$ref": "#/definitions/Reference" }, "assetInformation": { "$ref": "#/definitions/AssetInformation" }, "submodels": { "type": "array", "items": { "$ref": "#/definitions/Reference" }, "minItems": 1 }, "modelType": { "const": "AssetAdministrationShell" } }, "required": [ "assetInformation" ] } ] }, "AssetInformation": { "type": "object", "properties": { "assetKind": { "$ref": "#/definitions/AssetKind" }, "globalAssetId": { "type": "string", "minLength": 1, "maxLength": 2048, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "specificAssetIds": { "type": "array", "items": { "$ref": "#/definitions/SpecificAssetId" }, "minItems": 1 }, "assetType": { "type": "string", "minLength": 1, "maxLength": 2048, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "defaultThumbnail": { "$ref": "#/definitions/Resource" } }, "required": [ "assetKind" ] }, "AssetKind": { "type": "string", "enum": [ "Instance", "NotApplicable", "Role", "Type" ] }, "BasicEventElement": { "allOf": [ { "$ref": "#/definitions/EventElement" }, { "properties": { "observed": { "$ref": "#/definitions/Reference" }, "direction": { "$ref": "#/definitions/Direction" }, "state": { "$ref": "#/definitions/StateOfEvent" }, "messageTopic": { "type": "string", "minLength": 1, "maxLength": 255, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "messageBroker": { "$ref": "#/definitions/Reference" }, "lastUpdate": { "type": "string", "pattern": "^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$" }, "minInterval": { "type": "string", "pattern": "^-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))$" }, "maxInterval": { "type": "string", "pattern": "^-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))$" }, "modelType": { "const": "BasicEventElement" } }, "required": [ "observed", "direction", "state" ] } ] }, "Blob": { "allOf": [ { "$ref": "#/definitions/DataElement" }, { "properties": { "value": { "type": "string", "contentEncoding": "base64" }, "contentType": { "type": "string", "allOf": [ { "minLength": 1, "maxLength": 128 }, { "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, { "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[\\x80-\\xff])|\\\\([\\t !-~]|[\\x80-\\xff]))*\"))*$" } ] }, "modelType": { "const": "Blob" } } } ] }, "Capability": { "allOf": [ { "$ref": "#/definitions/SubmodelElement" }, { "properties": { "modelType": { "const": "Capability" } } } ] }, "ConceptDescription": { "allOf": [ { "$ref": "#/definitions/Identifiable" }, { "$ref": "#/definitions/HasDataSpecification" }, { "properties": { "isCaseOf": { "type": "array", "items": { "$ref": "#/definitions/Reference" }, "minItems": 1 }, "modelType": { "const": "ConceptDescription" } } } ] }, "DataElement": { "$ref": "#/definitions/SubmodelElement" }, "DataElement_choice": { "oneOf": [ { "$ref": "#/definitions/Blob" }, { "$ref": "#/definitions/File" }, { "$ref": "#/definitions/MultiLanguageProperty" }, { "$ref": "#/definitions/Property" }, { "$ref": "#/definitions/Range" }, { "$ref": "#/definitions/ReferenceElement" } ] }, "DataSpecificationContent": { "type": "object", "properties": { "modelType": { "$ref": "#/definitions/ModelType" } }, "required": [ "modelType" ] }, "DataSpecificationContent_choice": { "oneOf": [ { "$ref": "#/definitions/DataSpecificationIec61360" } ] }, "DataSpecificationIec61360": { "allOf": [ { "$ref": "#/definitions/DataSpecificationContent" }, { "properties": { "preferredName": { "type": "array", "items": { "$ref": "#/definitions/LangStringPreferredNameTypeIec61360" }, "minItems": 1 }, "shortName": { "type": "array", "items": { "$ref": "#/definitions/LangStringShortNameTypeIec61360" }, "minItems": 1 }, "unit": { "type": "string", "minLength": 1, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "unitId": { "$ref": "#/definitions/Reference" }, "sourceOfDefinition": { "type": "string", "minLength": 1, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "symbol": { "type": "string", "minLength": 1, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "dataType": { "$ref": "#/definitions/DataTypeIec61360" }, "definition": { "type": "array", "items": { "$ref": "#/definitions/LangStringDefinitionTypeIec61360" }, "minItems": 1 }, "valueFormat": { "type": "string", "minLength": 1, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "valueList": { "$ref": "#/definitions/ValueList" }, "value": { "type": "string", "minLength": 1, "maxLength": 2048, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "levelType": { "$ref": "#/definitions/LevelType" }, "modelType": { "const": "DataSpecificationIec61360" } }, "required": [ "preferredName" ] } ] }, "DataTypeDefXsd": { "type": "string", "enum": [ "xs:anyURI", "xs:base64Binary", "xs:boolean", "xs:byte", "xs:date", "xs:dateTime", "xs:decimal", "xs:double", "xs:duration", "xs:float", "xs:gDay", "xs:gMonth", "xs:gMonthDay", "xs:gYear", "xs:gYearMonth", "xs:hexBinary", "xs:int", "xs:integer", "xs:long", "xs:negativeInteger", "xs:nonNegativeInteger", "xs:nonPositiveInteger", "xs:positiveInteger", "xs:short", "xs:string", "xs:time", "xs:unsignedByte", "xs:unsignedInt", "xs:unsignedLong", "xs:unsignedShort" ] }, "DataTypeIec61360": { "type": "string", "enum": [ "BLOB", "BOOLEAN", "DATE", "FILE", "HTML", "INTEGER_COUNT", "INTEGER_CURRENCY", "INTEGER_MEASURE", "IRDI", "IRI", "RATIONAL", "RATIONAL_MEASURE", "REAL_COUNT", "REAL_CURRENCY", "REAL_MEASURE", "STRING", "STRING_TRANSLATABLE", "TIME", "TIMESTAMP" ] }, "Direction": { "type": "string", "enum": [ "input", "output" ] }, "EmbeddedDataSpecification": { "type": "object", "properties": { "dataSpecification": { "$ref": "#/definitions/Reference" }, "dataSpecificationContent": { "$ref": "#/definitions/DataSpecificationContent_choice" } }, "required": [ "dataSpecification", "dataSpecificationContent" ] }, "Entity": { "allOf": [ { "$ref": "#/definitions/SubmodelElement" }, { "properties": { "statements": { "type": "array", "items": { "$ref": "#/definitions/SubmodelElement_choice" }, "minItems": 1 }, "entityType": { "$ref": "#/definitions/EntityType" }, "globalAssetId": { "type": "string", "minLength": 1, "maxLength": 2048, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "specificAssetIds": { "type": "array", "items": { "$ref": "#/definitions/SpecificAssetId" }, "minItems": 1 }, "modelType": { "const": "Entity" } } } ] }, "EntityType": { "type": "string", "enum": [ "CoManagedEntity", "SelfManagedEntity" ] }, "Environment": { "type": "object", "properties": { "assetAdministrationShells": { "type": "array", "items": { "$ref": "#/definitions/AssetAdministrationShell" }, "minItems": 1 }, "submodels": { "type": "array", "items": { "$ref": "#/definitions/Submodel" }, "minItems": 1 }, "conceptDescriptions": { "type": "array", "items": { "$ref": "#/definitions/ConceptDescription" }, "minItems": 1 } } }, "EventElement": { "$ref": "#/definitions/SubmodelElement" }, "EventPayload": { "type": "object", "properties": { "source": { "$ref": "#/definitions/Reference" }, "sourceSemanticId": { "$ref": "#/definitions/Reference" }, "observableReference": { "$ref": "#/definitions/Reference" }, "observableSemanticId": { "$ref": "#/definitions/Reference" }, "topic": { "type": "string", "minLength": 1, "maxLength": 255, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "subjectId": { "$ref": "#/definitions/Reference" }, "timeStamp": { "type": "string", "pattern": "^-?(([1-9][0-9][0-9][0-9]+)|(0[0-9][0-9][0-9]))-((0[1-9])|(1[0-2]))-((0[1-9])|([12][0-9])|(3[01]))T(((([01][0-9])|(2[0-3])):[0-5][0-9]:([0-5][0-9])(\\.[0-9]+)?)|24:00:00(\\.0+)?)(Z|\\+00:00|-00:00)$" }, "payload": { "type": "string", "contentEncoding": "base64" } }, "required": [ "source", "observableReference", "timeStamp" ] }, "Extension": { "allOf": [ { "$ref": "#/definitions/HasSemantics" }, { "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "valueType": { "$ref": "#/definitions/DataTypeDefXsd" }, "value": { "type": "string", "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "refersTo": { "type": "array", "items": { "$ref": "#/definitions/Reference" }, "minItems": 1 } }, "required": [ "name" ] } ] }, "File": { "allOf": [ { "$ref": "#/definitions/DataElement" }, { "properties": { "value": { "type": "string", "allOf": [ { "minLength": 1, "maxLength": 2048 }, { "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, { "pattern": "^([a-zA-Z][a-zA-Z0-9+\\-.]*:((//((((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;:&=+$,])*@)?((([a-zA-Z0-9]|[a-zA-Z0-9]([a-zA-Z0-9]|-)*[a-zA-Z0-9])\\.)*([a-zA-Z]|[a-zA-Z]([a-zA-Z0-9]|-)*[a-zA-Z0-9])(\\.)?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]*)?)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[$,;:@&=+])+)(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?|/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)(\\?(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;?:@&=+$,])(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)|(//((((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;:&=+$,])*@)?((([a-zA-Z0-9]|[a-zA-Z0-9]([a-zA-Z0-9]|-)*[a-zA-Z0-9])\\.)*([a-zA-Z]|[a-zA-Z]([a-zA-Z0-9]|-)*[a-zA-Z0-9])(\\.)?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]*)?)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[$,;:@&=+])+)(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?|/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;@&=+$,])+(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?)(\\?(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?)?(#(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?$" } ] }, "contentType": { "type": "string", "allOf": [ { "minLength": 1, "maxLength": 128 }, { "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, { "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[\\x80-\\xff])|\\\\([\\t !-~]|[\\x80-\\xff]))*\"))*$" } ] }, "modelType": { "const": "File" } } } ] }, "HasDataSpecification": { "type": "object", "properties": { "embeddedDataSpecifications": { "type": "array", "items": { "$ref": "#/definitions/EmbeddedDataSpecification" }, "minItems": 1 } } }, "HasExtensions": { "type": "object", "properties": { "extensions": { "type": "array", "items": { "$ref": "#/definitions/Extension" }, "minItems": 1 } } }, "HasKind": { "type": "object", "properties": { "kind": { "$ref": "#/definitions/ModellingKind" } } }, "HasSemantics": { "type": "object", "properties": { "semanticId": { "$ref": "#/definitions/Reference" }, "supplementalSemanticIds": { "type": "array", "items": { "$ref": "#/definitions/Reference" }, "minItems": 1 } } }, "Identifiable": { "allOf": [ { "$ref": "#/definitions/Referable" }, { "properties": { "administration": { "$ref": "#/definitions/AdministrativeInformation" }, "id": { "type": "string", "minLength": 1, "maxLength": 2048, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" } }, "required": [ "id" ] } ] }, "Key": { "type": "object", "properties": { "type": { "$ref": "#/definitions/KeyTypes" }, "value": { "type": "string", "minLength": 1, "maxLength": 2048, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" } }, "required": [ "type", "value" ] }, "KeyTypes": { "type": "string", "enum": [ "AnnotatedRelationshipElement", "AssetAdministrationShell", "BasicEventElement", "Blob", "Capability", "ConceptDescription", "DataElement", "Entity", "EventElement", "File", "FragmentReference", "GlobalReference", "Identifiable", "MultiLanguageProperty", "Operation", "Property", "Range", "Referable", "ReferenceElement", "RelationshipElement", "Submodel", "SubmodelElement", "SubmodelElementCollection", "SubmodelElementList" ] }, "LangStringDefinitionTypeIec61360": { "allOf": [ { "$ref": "#/definitions/AbstractLangString" }, { "properties": { "text": { "maxLength": 1023 } } } ] }, "LangStringNameType": { "allOf": [ { "$ref": "#/definitions/AbstractLangString" }, { "properties": { "text": { "maxLength": 128 } } } ] }, "LangStringPreferredNameTypeIec61360": { "allOf": [ { "$ref": "#/definitions/AbstractLangString" }, { "properties": { "text": { "maxLength": 255 } } } ] }, "LangStringShortNameTypeIec61360": { "allOf": [ { "$ref": "#/definitions/AbstractLangString" }, { "properties": { "text": { "maxLength": 18 } } } ] }, "LangStringTextType": { "allOf": [ { "$ref": "#/definitions/AbstractLangString" }, { "properties": { "text": { "maxLength": 1023 } } } ] }, "LevelType": { "type": "object", "properties": { "min": { "type": "boolean" }, "nom": { "type": "boolean" }, "typ": { "type": "boolean" }, "max": { "type": "boolean" } }, "required": [ "min", "nom", "typ", "max" ] }, "ModelType": { "type": "string", "enum": [ "AnnotatedRelationshipElement", "AssetAdministrationShell", "BasicEventElement", "Blob", "Capability", "ConceptDescription", "DataSpecificationIec61360", "Entity", "File", "MultiLanguageProperty", "Operation", "Property", "Range", "ReferenceElement", "RelationshipElement", "Submodel", "SubmodelElementCollection", "SubmodelElementList" ] }, "ModellingKind": { "type": "string", "enum": [ "Instance", "Template" ] }, "MultiLanguageProperty": { "allOf": [ { "$ref": "#/definitions/DataElement" }, { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/LangStringTextType" }, "minItems": 1 }, "valueId": { "$ref": "#/definitions/Reference" }, "modelType": { "const": "MultiLanguageProperty" } } } ] }, "Operation": { "allOf": [ { "$ref": "#/definitions/SubmodelElement" }, { "properties": { "inputVariables": { "type": "array", "items": { "$ref": "#/definitions/OperationVariable" }, "minItems": 1 }, "outputVariables": { "type": "array", "items": { "$ref": "#/definitions/OperationVariable" }, "minItems": 1 }, "inoutputVariables": { "type": "array", "items": { "$ref": "#/definitions/OperationVariable" }, "minItems": 1 }, "modelType": { "const": "Operation" } } } ] }, "OperationVariable": { "type": "object", "properties": { "value": { "$ref": "#/definitions/SubmodelElement_choice" } }, "required": [ "value" ] }, "Property": { "allOf": [ { "$ref": "#/definitions/DataElement" }, { "properties": { "valueType": { "$ref": "#/definitions/DataTypeDefXsd" }, "value": { "type": "string", "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "valueId": { "$ref": "#/definitions/Reference" }, "modelType": { "const": "Property" } }, "required": [ "valueType" ] } ] }, "Qualifiable": { "type": "object", "properties": { "qualifiers": { "type": "array", "items": { "$ref": "#/definitions/Qualifier" }, "minItems": 1 }, "modelType": { "$ref": "#/definitions/ModelType" } }, "required": [ "modelType" ] }, "Qualifier": { "allOf": [ { "$ref": "#/definitions/HasSemantics" }, { "properties": { "kind": { "$ref": "#/definitions/QualifierKind" }, "type": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "valueType": { "$ref": "#/definitions/DataTypeDefXsd" }, "value": { "type": "string", "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "valueId": { "$ref": "#/definitions/Reference" } }, "required": [ "type", "valueType" ] } ] }, "QualifierKind": { "type": "string", "enum": [ "ConceptQualifier", "TemplateQualifier", "ValueQualifier" ] }, "Range": { "allOf": [ { "$ref": "#/definitions/DataElement" }, { "properties": { "valueType": { "$ref": "#/definitions/DataTypeDefXsd" }, "min": { "type": "string", "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "max": { "type": "string", "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "modelType": { "const": "Range" } }, "required": [ "valueType" ] } ] }, "Referable": { "allOf": [ { "$ref": "#/definitions/HasExtensions" }, { "properties": { "category": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "idShort": { "type": "string", "allOf": [ { "minLength": 1, "maxLength": 128 }, { "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, { "pattern": "^[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9_]+$" } ] }, "displayName": { "type": "array", "items": { "$ref": "#/definitions/LangStringNameType" }, "minItems": 1 }, "description": { "type": "array", "items": { "$ref": "#/definitions/LangStringTextType" }, "minItems": 1 }, "modelType": { "$ref": "#/definitions/ModelType" } }, "required": [ "modelType" ] } ] }, "Reference": { "type": "object", "properties": { "type": { "$ref": "#/definitions/ReferenceTypes" }, "referredSemanticId": { "$ref": "#/definitions/Reference" }, "keys": { "type": "array", "items": { "$ref": "#/definitions/Key" }, "minItems": 1 } }, "required": [ "type", "keys" ] }, "ReferenceElement": { "allOf": [ { "$ref": "#/definitions/DataElement" }, { "properties": { "value": { "$ref": "#/definitions/Reference" }, "modelType": { "const": "ReferenceElement" } } } ] }, "ReferenceTypes": { "type": "string", "enum": [ "ExternalReference", "ModelReference" ] }, "RelationshipElement": { "allOf": [ { "$ref": "#/definitions/RelationshipElement_abstract" }, { "properties": { "modelType": { "const": "RelationshipElement" } } } ] }, "RelationshipElement_abstract": { "allOf": [ { "$ref": "#/definitions/SubmodelElement" }, { "properties": { "first": { "$ref": "#/definitions/Reference" }, "second": { "$ref": "#/definitions/Reference" } } } ] }, "RelationshipElement_choice": { "oneOf": [ { "$ref": "#/definitions/RelationshipElement" }, { "$ref": "#/definitions/AnnotatedRelationshipElement" } ] }, "Resource": { "type": "object", "properties": { "path": { "type": "string", "allOf": [ { "minLength": 1, "maxLength": 2048 }, { "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, { "pattern": "^([a-zA-Z][a-zA-Z0-9+\\-.]*:((//((((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;:&=+$,])*@)?((([a-zA-Z0-9]|[a-zA-Z0-9]([a-zA-Z0-9]|-)*[a-zA-Z0-9])\\.)*([a-zA-Z]|[a-zA-Z]([a-zA-Z0-9]|-)*[a-zA-Z0-9])(\\.)?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]*)?)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[$,;:@&=+])+)(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?|/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)(\\?(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;?:@&=+$,])(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)|(//((((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;:&=+$,])*@)?((([a-zA-Z0-9]|[a-zA-Z0-9]([a-zA-Z0-9]|-)*[a-zA-Z0-9])\\.)*([a-zA-Z]|[a-zA-Z]([a-zA-Z0-9]|-)*[a-zA-Z0-9])(\\.)?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]*)?)?|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[$,;:@&=+])+)(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?|/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*|(([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[;@&=+$,])+(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*(/((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*(;((([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])|[:@&=+$,]))*)*)*)?)(\\?(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?)?(#(([;/?:@&=+$,]|([a-zA-Z0-9]|[-_.!~*'()])|%([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])))*)?$" } ] }, "contentType": { "type": "string", "allOf": [ { "minLength": 1, "maxLength": 128 }, { "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, { "pattern": "^([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+/([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+([ \\t]*;[ \\t]*([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+=(([!#$%&'*+\\-.^_`|~0-9a-zA-Z])+|\"(([\\t !#-\\[\\]-~]|[\\x80-\\xff])|\\\\([\\t !-~]|[\\x80-\\xff]))*\"))*$" } ] } }, "required": [ "path" ] }, "SpecificAssetId": { "allOf": [ { "$ref": "#/definitions/HasSemantics" }, { "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 64, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "value": { "type": "string", "minLength": 1, "maxLength": 2048, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "externalSubjectId": { "$ref": "#/definitions/Reference" } }, "required": [ "name", "value" ] } ] }, "StateOfEvent": { "type": "string", "enum": [ "off", "on" ] }, "Submodel": { "allOf": [ { "$ref": "#/definitions/Identifiable" }, { "$ref": "#/definitions/HasKind" }, { "$ref": "#/definitions/HasSemantics" }, { "$ref": "#/definitions/Qualifiable" }, { "$ref": "#/definitions/HasDataSpecification" }, { "properties": { "submodelElements": { "type": "array", "items": { "$ref": "#/definitions/SubmodelElement_choice" }, "minItems": 1 }, "modelType": { "const": "Submodel" } } } ] }, "SubmodelElement": { "allOf": [ { "$ref": "#/definitions/Referable" }, { "$ref": "#/definitions/HasSemantics" }, { "$ref": "#/definitions/Qualifiable" }, { "$ref": "#/definitions/HasDataSpecification" } ] }, "SubmodelElementCollection": { "allOf": [ { "$ref": "#/definitions/SubmodelElement" }, { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/SubmodelElement_choice" }, "minItems": 1 }, "modelType": { "const": "SubmodelElementCollection" } } } ] }, "SubmodelElementList": { "allOf": [ { "$ref": "#/definitions/SubmodelElement" }, { "properties": { "orderRelevant": { "type": "boolean" }, "semanticIdListElement": { "$ref": "#/definitions/Reference" }, "typeValueListElement": { "$ref": "#/definitions/AasSubmodelElements" }, "valueTypeListElement": { "$ref": "#/definitions/DataTypeDefXsd" }, "value": { "type": "array", "items": { "$ref": "#/definitions/SubmodelElement_choice" }, "minItems": 1 }, "modelType": { "const": "SubmodelElementList" } }, "required": [ "typeValueListElement" ] } ] }, "SubmodelElement_choice": { "oneOf": [ { "$ref": "#/definitions/RelationshipElement" }, { "$ref": "#/definitions/AnnotatedRelationshipElement" }, { "$ref": "#/definitions/BasicEventElement" }, { "$ref": "#/definitions/Blob" }, { "$ref": "#/definitions/Capability" }, { "$ref": "#/definitions/Entity" }, { "$ref": "#/definitions/File" }, { "$ref": "#/definitions/MultiLanguageProperty" }, { "$ref": "#/definitions/Operation" }, { "$ref": "#/definitions/Property" }, { "$ref": "#/definitions/Range" }, { "$ref": "#/definitions/ReferenceElement" }, { "$ref": "#/definitions/SubmodelElementCollection" }, { "$ref": "#/definitions/SubmodelElementList" } ] }, "ValueList": { "type": "object", "properties": { "valueReferencePairs": { "type": "array", "items": { "$ref": "#/definitions/ValueReferencePair" }, "minItems": 1 } }, "required": [ "valueReferencePairs" ] }, "ValueReferencePair": { "type": "object", "properties": { "value": { "type": "string", "minLength": 1, "maxLength": 2048, "pattern": "^([\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd]|\\ud800[\\udc00-\\udfff]|[\\ud801-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udfff])*$" }, "valueId": { "$ref": "#/definitions/Reference" } }, "required": [ "value" ] } } }