References are defined as instances of ReferenceType Nodes. ReferenceType Nodes are visible in the AddressSpace and are defined using the ReferenceType NodeClass as specified in Table 9. In contrast, a Reference is an inherent part of a Node and no NodeClass is used to represent References.
This standard defines a set of ReferenceTypes provided as an inherent part of the OPC UA Address Space Model. These ReferenceTypes are defined in Clause 7 and their representation in the AddressSpace is defined in OPC 10000-5. Servers may also define ReferenceTypes. In addition, OPC 10000-4 defines NodeManagement Services that allow Clients to add ReferenceTypes to the AddressSpace.
Table 9 – ReferenceType NodeClass
|Base NodeClass Attributes||M||--||Inherited from the Base NodeClass. See 5.2.|
|IsAbstract||M||Boolean||A boolean Attribute with the following values:
TRUE it is an abstract ReferenceType, i.e. no Reference of this type shall exist, only of its subtypes.
FALSE it is not an abstract ReferenceType, i.e. References of this type can exist.
|Symmetric||M||Boolean||A boolean Attribute with the following values:
TRUE the meaning of the ReferenceType is the same as seen from both the SourceNode and the TargetNode.
FALSE the meaning of the ReferenceType as seen from the TargetNode is the inverse of that as seen from the SourceNode.
|InverseName||O||LocalizedText||The inverse name of the Reference, which is the meaning of the ReferenceType as seen from the TargetNode.|
|HasProperty||0..*||Used to identify the Properties (see 18.104.22.168).|
|HasSubtype||0..*||Used to identify subtypes (see 22.214.171.124).|
|NodeVersion||O||String||The NodeVersion Property is used to indicate the version of a Node.
The NodeVersion Property is updated each time a Reference is added or deleted to the Node the Property belongs to. Attribute value changes do not cause the NodeVersion to change. Clients may read the NodeVersion Property or subscribe to it to determine when the structure of a Node has changed.