Was:
The only property that can have a class as its value is rdf:type (and its subproperties). 

Now:
In OWL DL and OWL Lite, most properties cannot have classes as their values. 

In Approach 3, second bullet:
Added:
However, a DL reasoner will not be able to infer that a book that has LionSubject as the value for dc:subject is also about Animals. More specialized reasoners may be able to infer this information. 

In General Issue:
Removed:
Within a closed system that is under the control of a single design authority, this is not a problem, since the designer can use the natural pattern if the system is not restricted to using Description Logic reasoners, or use a different pattern if using Description Logic reasoners is required.

Removed examples using abstract syntax