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.