Re: Faceted tags
Enrico Zini <[email protected]> Tue, 6 Apr 2004 19:02:45 +0100
| Newsgroups | gmane.linux.debian.usability |
|---|---|
| Message-ID | <20040406180245.GA2105@mitac> |
On Tue, Mar 30, 2004 at 05:16:43PM +0200, Hervé Eychenne wrote: > > After graduation I finally had a look at the faceted catalogation stuff > > and I think it makes a lot of sense! > Could you please give a small example about what it is, and what it > would change? Sure! I definitely should: Faceted classification, also called multidimensional categorization, is a way of classifying information which is especially open and adaptive. Faceted classification uses a set of mutually exclusive attributes (metadata), every one representing a persistant aspect or property of the object, and all together exaustively defining the object itself. These attributes are called "facets" and have these peculiarities: - they are semantically invariant (for example, the property "colour" can assume many different values, but it's an invariant concept: an object will always have a colour) - they are an open set, to which is always possibile to add new facets - they can be used as research attributes, both singularly and in combination I'd thus define "facet" as the "dimension", or "axis" of categorization and "tag" as the value along the dimension/axis. So, in our debtags domain, possible facets and relative tags can be: - Supported file formats (MP3, OGG, PDF...) - User interface toolkit (GTK, QT, GNUStep...) - Type of software development application (Compiler, code generator, profiler, debugger, CVS...) - Programming language to be used with (C, C++, Perl, Java...) - Purpose (editing, searching, printing, chatting...) - Field of interest (astronomy, biology, chemistry, electronics...) - ... This isn't much different from what we have been doing for a while with namespaces. Actually, I think this is *exactly* what we were trying to do, except we didn't know it yet :) The nice thing about discovering this "faceted classification" definition is that we now have a well defined context for our work, which automatically gives a lot of answers to the questions we've been asking ourselves for a long time. For example: On Wed, Mar 24, 2004 at 05:48:42PM +0100, Erich Schubert wrote: > > http://debian.vitavonni.de/packagebrowser/?tags=desktop%2Cdesktop%3A%3Agnustep > > but before I start working on this, can you tell me my work will be not wasted? > Right now i think your work would mostly be wasted. > We first need to define a proper set of tags we want to use. For example, now we know that a first set of facets and tags can be defined now, and that facets can be added and expanded later. So, there is no need to define a special proper set of tags. It'd be interesting, instead, to make a good work to define a good initial set of facets to start working with. > > And can you fix these things as well: > > GNUStep is GNUstep > This exactly fits to the insufficiently-definedness of the package tags. > For me GNUStep has indeed been something inbetween of a widget toolkit > and a desktop environment. And here we know that if GNUStep is something inbetween of a widget toolkit and a desktop environment, then it should be categorized along at least two facets/dimensions/axis: "Widget Toolkit" and "Desktop Environment". We also know how to integrate the Trove cathegories, making new facets out of them or using them as tags for other existing facets. When trying to make facets out of our tag vocabulary, the feeling was like everything was finally going to its place, like atoms rearranging to form a crystal. I've started a reorganization of the current tag database in facets. The result is not yet complete, but should be a good enough proof-of-concept. I've attached my transition notes as the file "facets.gz" and the tag database I worked on as "faceted_db.gz". You can try them in tagcolledit. Have a look at the things in suite::mozilla to have an idea of how things start to appear. I find that grouping tags in facets/dimensions/axes makes the catalogation work much easier, because the meaning of each tag is much, much more clear, having the context attached. The work has still to be finished, and I wanted to share it to possibly keep the discussion going, as I can't pretend to have become a good librarian in 3 days :) Another cool thing of this transition is that it works by using namespaces, and it's fully backwards-compatible with all the code we've written so far! Eric: if you like it you can just replace the databases for the web interface! I plan to write some special support for facets in libtagcoll and the various related applications, as for example one may want to query for administration::* or for *::html, or to list all tags in a given facet. But yes, all existing tools already work great today! Since the meaning of tags can now be much clearer, we could definitely think about trying to let maintainers tag their packageg. I start seeing no need for a tag task force doing everything, but maybe some tag consultants that give advice and maybe override overstupid things. Further literature on tags can be found at the DebTags wiki pages, at http://wiki.debian.net/index.cgi?DebTags (I hope I remember well the address: I'm offline). Gunnar: you may see something common between the new categorization and the segusoland categorization (and btw, SO THANKS! for having pointed me at segusoland!). Actually, segusoland builds the interface around a faceted categorization of applications, and I kept at least the "purpose" and "fileformat" facets from there. It'd be now possible to write an expert system that finds you the right package(s) for your needs: "use::view", "media::video", "fileformat::divx". So cool!! Ciao, Enrico -- GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <[email protected]>
facets.gz
(application/octet-stream, 7.5 KB) - not displayed
faceted_db.gz
(application/octet-stream, 82.1 KB) - not displayed
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAcvDF9LSwzHl+v6sRAnQoAJ9CU53gm7WW1Px+ENxW3foqT43XQwCeIenD 1I+7xqHiVVRPYGglLuXrcMw= =YZri -----END PGP SIGNATURE-----