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.