The HasEventSource ReferenceType is a concrete ReferenceType and can be used directly. It is a subtype of HierarchicalReferences.

The semantic of this ReferenceType is to relate event sources in a hierarchical, non-looping organization. This ReferenceType and any subtypes are intended to be used for discovery of Event generation in a Server. They are not required to be present for a Server to generate an Event from its source (causing the Event) to its notifying Nodes. In particular, the root notifier of a Server, the Server Object defined in OPC 10000-5, is always capable of supplying all Events from a Server and as such has implied HasEventSource References to every event source in a Server.

The SourceNode of this ReferenceType shall be an Object or View that is a source of Event Subscriptions. A source of Event Subscriptions is an Object or View that has its “SubscribeToEvents” bit set within the EventNotifier Attribute. The SourceNode may also be an ObjectType when referencing an InstanceDeclaration where an instance of the ObjectType containing the InstanceDeclaration generates events. Note the ObjectType is not considered a source of Event Subscriptions.

The TargetNode of this ReferenceType can be a Node of any NodeClass that can generate event notifications via a subscription to the reference source.

Starting from Node “A” and only following References of the HasEventSource ReferenceType or of its subtypes it shall never be possible to return to “A”. But it is permitted that, following the References, there may be more than one path leading to another Node “B”.