OPC UA Address Space Model - Reference Types
In OPC UA, Standard ReferenceTypes define the relationships between nodes in the address space, specifying the semantics of how nodes are connected, such as hierarchical or non-hierarchical, and whether the relationship is one-way or bidirectional. Understanding this hierarchy can be helpful in troubleshooting issues with browsing a server. For example, as you can see in the below Wireshark browse request capture, the Identifier Numeric showcases what Reference Type the client has requested:

Along with this, a tool such as UA Expert can be helpful to identify what Reference Type a given Node is identified as:

Below is a full diagram and table that outlines the OPC UA Specification for these Reference types.

| ReferenceType | NodeId | Description |
|---|---|---|
| References | ns=0;i=31 | The base ReferenceType from which all other ReferenceTypes derive. It is abstract and symmetric. |
| NonHierarchicalReferences | ns=0;i=32 | Used for references that do not imply a hierarchy. It is abstract and symmetric. |
| HierarchicalReferences | ns=0;i=33 | Used for references that imply a hierarchy. It is abstract. |
| HasChild | ns=0;i=34 | Indicates that the target node is a child of the source node. It is abstract. |
| Organizes | ns=0;i=35 | Indicates that the source node organizes the target node without implying a parent-child relationship. |
| HasComponent | ns=0;i=47 | Indicates that the target node is a component of the source node. |
| HasOrderedComponent | ns=0;i=49 | Similar to HasComponent but indicates that the components have an inherent order. |
| HasProperty | ns=0;i=46 | Indicates that the target node is a property of the source node. |
| HasSubtype | ns=0;i=45 | Indicates that the target node is a subtype of the source node. |
| HasModellingRule | ns=0;i=37 | Associates a node with its modelling rule. |
| HasTypeDefinition | ns=0;i=40 | Indicates that the target node is the type definition of the source node. |
| HasEncoding | ns=0;i=38 | Associates a DataType node with its encoding nodes. |
| HasDescription | ns=0;i=39 | Associates a node with its description. |
| GeneratesEvent | ns=0;i=41 | Indicates that the source node can generate events of the type specified by the target node. |
| AlwaysGeneratesEvent | ns=0;i=3065 | Indicates that the source node always generates events of the type specified by the target node. |
| Aggregates | ns=0;i=44 | Indicates that the target node is an aggregate of the source node. It is abstract. |
| HasAddIn | ns=0;i=85 | Used to add additional functionality to an existing node. |
| HasEventSource | ns=0;i=36 | Indicates that the target node is an event source for the source node. |
| HasNotifier | ns=0;i=48 | Indicates that the target node is a notifier for the source node. |