HasComponent
In OPC UA, HasComponent is the hierarchical ReferenceType expressing composition: the target node is a constituent part of the source. It is identifier i=47 in namespace 0, a subtype of Aggregates, with the inverse name ComponentOf. It links Objects to their child Objects, DataVariables and Methods.
Composition, not containment
HasComponent means part-of. A Mixer Object has its Temperature DataVariable, its Start Method and its Identification Object as components: they belong to it, they are typically created and deleted with it, and a client can read the parent's structure as a definition of what the machine is. The contrast is Organizes, which merely says a node appears in a folder.
Where it appears in types
On an ObjectType, HasComponent children are instance declarations that carry a modelling rule. On an instance, HasComponent children are the real nodes, and Mandatory declarations must be present. Methods are always reached by HasComponent, never by HasProperty. HasOrderedComponent is the sibling subtype used where the order of components is meaningful.
Browsing with it
Browsing forward HasComponent with IncludeSubtypes false gives you the pure composition structure of an instance, without folder noise and without Properties. Browsing HierarchicalReferences with IncludeSubtypes true gives you composition, properties, folder membership and subtypes in one result set. Which you want depends on whether you are reading structure or drawing a tree.
Example
HasComponent versus HasProperty versus Organizes on the same node
Objects (i=85, FolderType)
--Organizes--> Machines (folder membership)
Machines
--Organizes--> Mixer_01 (folder membership)
Mixer_01
--HasComponent--> Temperature (Variable) a part of the mixer
--HasComponent--> Start (Method) a part of the mixer
--HasComponent--> Identification (Object) a part of the mixer
Temperature
--HasProperty--> EURange (Variable) metadata about the value
--HasProperty--> EngineeringUnits (Variable) metadata about the value
Inverse browse from Temperature:
--ComponentOf--> Mixer_01
Defined in: Part 3 - Address Space Model, standard ReferenceTypes and the Aggregates hierarchy.
Last verified 7 September 2026 against OPC UA 1.05.07. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.