Closed BirgitBoss closed 4 months ago
This would be a straightforward modelling (AAS V3.0 DRAFT).
:Reference a bamm:Entity;
bamm:properties (:keys :type [
bamm:property :referredSemanticId;
bamm:optional "true"^^xsd:boolean
]);
bamm:preferredName "Reference"@en.
:ReferenceCharacteristic a bamm:Characteristic;
bamm:dataType :Reference.
:keys a bamm:Property;
bamm:characteristic :ListOfKeys.
:ListOfKeys a bamm-c:List;
bamm:dataType :Key.
:Key a bamm:Entity;
bamm:properties (:keyType :value).
:value a bamm:Property;
bamm:characteristic :IdentifierDataType.
:type a bamm:Property;
bamm:characteristic :ReferenceTypes;
bamm:exampleValue "ExternalReference".
:referredSemanticId a bamm:Property;
bamm:characteristic :ReferenceCharacteristic;
bamm:description "type now Identifier because recursive otherwise: needs to be fixed"@en.
:ReferenceTypes a bamm-c:Enumeration;
bamm:dataType xsd:string;
bamm-c:values ("ExternalReference" "ModelReference").
:keyType a bamm:Property;
bamm:characteristic :KeyTypesEnum.
:KeyTypesEnum a bamm-c:Enumeration;
bamm:dataType xsd:string;
bamm-c:values ("AnnotationRelationshipElement" "AssetAdministrationShell" "BasicEventElement" "Blob" "Capability" "ConceptDescription" "DataElement" "Entity" "EventElement" "File" "FragmentReference" "GlobalReference" "Identifiable" "MultiLanguageProperty" "Operation" "Property" "Range" "Referable" "ReferenceElement" "RelationshipElement" "Submodel" "SubmodelElement" "SubmodelElementCollection" "SubmodelElementList").
:IdentifierLengthConstraint a bamm-c:LengthConstraint;
bamm-c:maxValue "2000"^^xsd:nonNegativeInteger;
bamm-c:minValue "1"^^xsd:nonNegativeInteger.
:IdentifierDataType a bamm-c:Trait;
bamm-c:baseCharacteristic bamm-c:Text;
bamm-c:constraint :IdentifierLengthConstraint.
Edit @atextor: Fix formatting
@atextor , should there be an ADR to describe how this and other Asset Administration Shell features are supported within SAMM and tooling?
Is your task related to a problem? Please describe. SAMM shall support the semantic definition of reference element submodel elements in the Asset Administration Shell (AAS).
Describe the solution you'd like introduce characteristic for references introduce characteristic for model references introduce characteristic for global references
Note: in AAS a reference may be either a global reference like an urn or it may be a reference to a property of another aspect in another twin. There are also requirements to state: it is a reference to the element with the semanticId XYZ in the aspect 123.
Describe alternatives you've considered none
Additional context compare to #133 (relationship element) https://industrialdigitaltwin.org/wp-content/uploads/2021/09/07_details_of_the_asset_administration_shell_part1_v3_en_2020.pdf