Категории тегов

Я начинаю проект pro bono, представляющий собой веб-интерфейс к крупнейшей в мире коллекции лютневой музыки, и это сложная коллекция с нескольких точек зрения. Части в основном от 1400 до 1600, но они варьируются от середины 1200-х годов до наших дней. Излишне говорить, что существует огромное разнообразие в том, как произведения классифицируются и кому они приписываются. Очевидно, что никакая жесткая иерархия на основе БД не будет работать с этой коллекцией, поэтому мои мысли обращаются к тегам.

Но не все теги одинаковы. У меня будут теги, которые представляют человека / роль (композитор, переводчик, энтабулятор и т. Д.), Теги, которые представляют инструмент (ы), для которого произведение написано, и теги, которые представляют, как произведение было классифицировано любым из полдюжины различных систем классификации, используемых на протяжении веков.

Мы будем использовать полууправляемый словарь тегов, чтобы предотвратить распространение неконтролируемых тегов (например, del.icio.us), но я хочу рассматривать теги как принадлежащие к разным группам. Теги людей не должны предлагаться, когда редактор выполняет теги инструментов и т. Д.

Кто-нибудь делал что-то подобное? Я могу придумать несколько способов сделать это, но если есть существующая хорошо выполненная система, это сэкономит мне время на реализацию / отладку.

FWIW: это система Django, и я собираюсь начать с Django-tagging, а затем взломать оттуда, возможно, добавить поле категории или ...


person Peter Rowell    schedule 15.07.2010    source источник


Ответы (1)


Есть проблема №14 для django-tagging, поданная еще в 2007 году, которая пытается решить эту проблему. Не знаю, планируют ли разработчики добавить эту функцию или нет.

Однако есть machinetags ветвь django-tagging, которую поддерживает Грегор Мюллеггер здесь, по адресу https://code.launchpad.net/~gregor-muellegger/django-tagging/machinetags/. Он позволяет назначать пространства имен тегов (и / или значения) и облегчать запросы тегов по пространству имен / значению. Таким образом, вы могли бы пометить кусок, например, instrument:<instrument_name> или instrument=<instrument_name>.

Он в основном синхронизирован с транком django-tagging (последняя фиксация -, хотя некоторые коммиты отсутствуют). Я помню, как год назад работал над каким-то проектом, использующим эту ветку; все работало нормально. Прочтите документацию по ветке и комментарии по проблеме для получения более подробной информации.

person Anton Strogonoff    schedule 18.12.2010
comment
Обнаружен ряд связанных вопросов: stackoverflow.com/questions/3771726/, stackoverflow.com/questions/4477423/, stackoverflow.com/questions/3542388/, stackoverflow.com/questions/3077502/ - person Anton Strogonoff; 18.12.2010
comment
Спасибо! Ваше время отличное. Этот проект зашел в тупик, когда владелец сайта отвлекся на семейный бизнес. Он вернулся, и это всплыло всего пару дней назад. Даже если он немного не синхронизирован с 1.2.3, я взломал достаточно кода Django и уверен, что смогу с ним справиться. - person Peter Rowell; 21.12.2010