Only for reviews (or other similar objects are United in hierarchy), IMHO, is not only unnecessarily increase the complexity when it is necessary to change the structure, then change it, may not will need, and may need to make multiple hierarchies.
\r
Another thing, if the United hierarchy of heterogeneous objects, or one object can be part of different hierarchies — there is definitely (if not, the question is denormalization with the aim of increasing performance) the objects separately of the hierarchy separately, can also metadata make sense to endure. In General, for hierarchy makes sense, IMHO, to look towards NoSQL.