In regard to the domains of BIBFRAME properties, the BIBFRAME Vocabulary: Terminology and Conventions states:
"Domains and Ranges may be restricted to one BIBFRAME Core Class, i.e. Work, Instance, Authority or Annotation. If applicable to all Core Classes they have domain Resource [i.e. bf:Resource]; if applicable to more than one but not all they have no domain specified".
In practical work with BIBFRAME, it is problematic that domains are not specified when a property is restricted to a set of core classes, that is, more than one but not all. Restrictions exist, but when they are not stated explicitly, implementers cannot tell what they are.
For example, bf:titleVariation does not have a specified domain. Presumably, it can be used with both bf:Work and bf:Instance. But the fact that we have to make a presumption is not good practice.
bf:musicKey, bf:musicMedium, bf:musicMediumNote and bf:musicNumber contain information that, in the WEMI model, belongs in rdac:Work. Their domains are not specified, so we must presume they are included in bf:Work. Perhaps these properties also apply to bf:Instance. It is unclear what is intended.
A puzzling case is bf:immediateAcquisition. Conceptually, this property seems as though it can apply only to bf:Instance, yet the domain is not specified, so it must apply to another core class as well, but which one?
A complete specification of the domains of BIBFRAME properties would add clarity to the model.