Я начинаю проект pro bono, представляющий собой веб-интерфейс к крупнейшей в мире коллекции лютневой музыки, и это сложная коллекция с нескольких точек зрения. Части в основном от 1400 до 1600, но они варьируются от середины 1200-х годов до наших дней. Излишне говорить, что существует огромное разнообразие в том, как произведения классифицируются и кому они приписываются. Очевидно, что никакая жесткая иерархия на основе БД не будет работать с этой коллекцией, поэтому мои мысли обращаются к тегам.
Но не все теги одинаковы. У меня будут теги, которые представляют человека / роль (композитор, переводчик, энтабулятор и т. Д.), Теги, которые представляют инструмент (ы), для которого произведение написано, и теги, которые представляют, как произведение было классифицировано любым из полдюжины различных систем классификации, используемых на протяжении веков.
Мы будем использовать полууправляемый словарь тегов, чтобы предотвратить распространение неконтролируемых тегов (например, del.icio.us), но я хочу рассматривать теги как принадлежащие к разным группам. Теги людей не должны предлагаться, когда редактор выполняет теги инструментов и т. Д.
Кто-нибудь делал что-то подобное? Я могу придумать несколько способов сделать это, но если есть существующая хорошо выполненная система, это сэкономит мне время на реализацию / отладку.
FWIW: это система Django, и я собираюсь начать с Django-tagging, а затем взломать оттуда, возможно, добавить поле категории или ...