MizTagger#

---
创建日期: 2015-10-18
---
一款使用标签特性进行文件管理的小公举,呃,工具。

起源#

没什么爱好,听听歌,也哼哼。 想要对这些歌曲做一个整理,既然是信息整理,就用Hashare吧,但歌曲有很明显的分类吗?

按照之前的说法,顶多全部歌曲(只是歌名)放到一个“音乐”的Hash下,然后和“游戏”、“电影”、“动漫”等Hash一起,放在一个叫“爱我列表”的Table中。

每一首歌有其特性标识。 例如按照歌唱者,标记上“张学友”、“周华健”、“王菲”、“蔡琴”等等; 按照语种又可以“国语”、“粤语”、“英语”; 按其内容或许是“爱情永恒”、“友谊万岁”、“青春梦想”……甚至一些其它标识“我想唱给你听”。

我们为每一个事物打上标签,不像是树状分类结构,联想或许就从一个事物的某个标签,导向另一个事物,再到下一个。

表达#

其实标签对于程序猿真是老朋友了,*nix里的权限机制,VB消息窗的按钮类型等等。 每个标签对应一个位置,一个事物包含或者不含此标签,其实就是0和1的排列。

对于已经打好标签的音乐文件,筛选的时候, “周华健的歌”、“张学友的粤语歌”、“王菲与周华健的合唱”、“蔡琴的歌但是不是关于爱情的”、“周华健或张学友关于青春梦想的歌曲”等等 (我不知道是不是真的有结果),这些就是按照标签存在与否进行筛选,我感觉挺酷的。

如何表达出这些逻辑呢?我想我原本很希望把关于这个的思考过程描述出来,但是现在不了。

“权衡考量”后选择了几种逻辑,“同时包含”、“含其一或更多”、“不含任一”、“不同时包含全部”。 呃……请使用下方会提供的链接使用一下MizTagger就会知道了。

其实思考这个过程非常有意思,开始一直纠结它们不对称,但是写代码的时候发现是对称的,现在我依然不知道是不是有其它可能。 也不知道是不是有其它更好的方式,现用方法还是有局限性。

另外还有很多关于Hashare计划如何实现标签的具体方式,我好想说啊!!!

实现#

我原来是打算给Hashare的Item加上标签功能,后来发现标签功能可以用在文件管理上,顺便在工作上有些帮助,然后就开始着手MizTagger。

某天意识到除了音乐,还可以用来管理电子书,就是因为它们并没有绝对分类,还格式不同。 所以标签可以是“扫描版”、“PDF”、“CHM”、“HTML”、“DOC”、“文章”、“工具使用”、“命令手册”等等。 标签很少吗?不,因为像是语言类型和平台太多,不打算在这里写。

所以标签原本只打算是Hashare一个功能,却成了一个单独作品。

莫名其妙的结尾#

当为条目、文件打上标签时,是没有明确分类,或者说有不同的分类方法,于是所有条目放在了一起。

可是这些条目又都有一个大的分类,使它们聚集(比如“音乐”)。 标签本身也有自己的分类(如“歌手”、“语言”、“主题”),可是实际上所有标签又都是同级的,标签分类只是方便搜索,是否分类正确并不会对条目产生影响。

没有绝对的标准,标签还是分类。 我们对事物的认识真是很“乱”,却又有序,思维跳跃莫名其妙,却又莫名奇妙。

真正的结尾#

首先, MizTagger可以从[http://www.mizip.net/down/MizTagger.zip]下载, 源代码位于[https://github.com/MIZiper/MizTagger]。 (对了,偷懒,都是英文的)

对于标签管理来说,比较重要的是需要先有全面的概念,大体将标签分类完成。 否则在添加新标签时,需要修改以往条目就显得很不值得了。 而且要将每个条目维护好,以便筛选时获得需要的条目。

我在制作的过程中,也试图了解是否已经有相似作品存在,没找到。 除了没细心找之外,还有可能有许多像我这样,个人独立的却搜索不到的作品,对我们,想法重于影响。

结尾才是开始#

有的时候标签具有等价性,如何对于不同的人提供相同的结果(我是指面向公众的搜索时),可能会考虑关系(MILation哦!)。

上述提到的都是在一个范畴内的信息/条目/文件,那么是不是会有多个范围标签需求? 这个时候如何表达、如何运算比较合适呢?

标签其实像在一维世界,逻辑或与非。是不是可以升级到二维,那时候就有其它的运算方式了?对于数学,永远保持敬畏。

如何为条目的标签进行索引,这样就不是一个个条目逻辑判断,都是困扰我,却无能为力的地方。

文章结构原本不应该是这样的,每次都这么说啦,也因为很多话想说说不出来。