Категории тегов - PullRequest
       22

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

3 голосов
/ 15 июля 2010

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

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

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

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

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

1 Ответ

1 голос
/ 18 декабря 2010

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

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

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

...