Это не так сложно реализовать, если с нуля, но да, возникает проблема неоднозначностей, например

...
headwear
> helmet
> > blue

vs

...
headwear
> blue

Например. Сложнее будет менежить и достигать оптимального варианта детализации.

До некоторой степени этот юзкейз, по крайней мере для поиска, решается импликациями, но даже их оказывается затруднительно поддерживать.