标签类别
我正在启动一个无偿项目,该项目是世界上最大的鲁特琴音乐收藏的网络界面,从多个角度来看,这是一个具有挑战性的收藏。这些作品大部分是 1400 到 1600 件,但范围是从 1200 年代中期到现在。不用说,这些作品的分类方式和作者归属存在巨大差异。显然,任何形式的严格的、数据库强制的层次结构都不适用于这个集合,所以我的想法转向标签。
但并非所有标签都是相同的。我将拥有代表个人/角色(作曲家、翻译家、演奏家等)的标签、代表作品所用乐器的标签,以及代表作品如何按以下任一分类的标签:几个世纪以来使用了六种不同的分类系统。
我们将使用半控制的标签词汇来防止失控的标签扩散(例如 del.icio.us),但我想将标签视为属于不同的组。当编辑器进行乐器标签等时,不应提供人员标签。
有人做过类似的事情吗?我可以想到几种方法来做到这一点,但如果有一个做得很好的现有系统,它将节省我实施/调试的时间。
FWIW:这是一个 Django 系统,我正在考虑从 Django 标记开始,然后从那里进行黑客攻击,可能添加一个类别字段或......
I'm starting a pro bono project that is the web interface to the world's largest collection of lute music and it's a challenging collection from several points of view. The pieces are largely from 1400 to 1600, but they range from the mid-1200's to present day. Needless to say, there is tremendous variability in how the pieces are categorized and who they are attributed to. It is obvious that any sort of rigid, DB-enforced hierarchy isn't going to work with this collection, so my thoughts turn to tags.
But not all tags are the same. I'll have tags that represent a person/role (composer, translator, entabulator, etc.), tags that represent the instrument(s) the piece in written for, and tags that represent how the piece has been classified by any one of half a dozen different classification systems used over the centuries.
We will be using a semi-controlled tag vocabulary to prevent runaway tag proliferation (e.g. del.icio.us), but I want to treat the tags as belonging to different groups. People tags should not be offered when the editor is doing instrument tagging, etc.
Has anyone done something like this? I have several ways I can think of to do it, but if there is an existing system that is well-done it would save me time implementing/debugging.
FWIW: This is a Django system and I'm looking at starting with Django-tagging and then hacking from there, possibly adding a category field or ...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
2007 年提交的 django-tagging 问题#14 试图解决这个问题。不知道开发者是否打算添加此功能。
然而,有一个
django-tagging
的machinetags
分支,由 Gregor Müllegger 维护,位于 https://code.launchpad.net/~gregor-muellegger/django-tagging/machinetags/。它允许分配标签名称空间(和/或值),并方便按名称空间/值查询标签。因此,您可以使用instrument:
或instrument=
来标记片段。它主要与 django 标记主干同步(
最新提交是,但缺少许多提交)。我记得大约一年前我自己正在使用该分支进行一些项目;效果很好。有关更多详细信息,请阅读有关分支的文档和有关该问题的评论。There's an issue #14 for django-tagging filed back in 2007 which is trying to address this problem. Don't know whether developers are planning to add this feature or not.
However, there's a
machinetags
branch ofdjango-tagging
mantained by Gregor Müllegger here at https://code.launchpad.net/~gregor-muellegger/django-tagging/machinetags/. It allows to assign tags namespaces (and/or values), and facilitate querying tags by namespace / value. So you'd be able to tag a piece withinstrument:<instrument_name>
orinstrument=<instrument_name>
, for example.It's mostly in sync with the django-tagging trunk (
the latest commit isthere's a number of commits missing though). I remember myself working on some project using that branch about a year ago; it worked fine. Read the documentation on branch and comments on the issue for more details.