[Debtags-devel] Vocabulary updates, part 2

Enrico Zini enrico@enricozini.org
Tue, 26 Apr 2005 00:19:51 +0200


--fUYQa+Pmc3FrFX/N
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Apr 25, 2005 at 02:03:03PM -0700, Erich Schubert wrote:

> I'll try to explain with an example:
> we have fileformat::oggvorbis I guess. But what if I'm not really
> interested in applications that can handle ogg, but I'd like to have
> any music format?

You could just use media::audio, like you said just below.  Then the
fileformat::* tags can provide further refinement to narrow down the
list of packages, should it still be too large.


> We can specify this with two apporaches - using "implications" and
> encricos "formulas"

What do you mean with "formulas"?

> While the formulas can express much more of course, I have two
> objections to them: first of all, they are designed to be applied to
> the database upon query (while I would add implications at edit time,
> but that has its own drawbacks), and secondly its like the "enhances"
> field with packages - it feels like its specified at the wrong place.

If you intend a kind of automatic inference of tags upon predefined
rules, I'd like to abandon that completely except in autodebtags.


I realised that debtags gets much much simpler and interesting when the
tag database is the same on disk than it is on applications, as that
leaves people more free to access it with no hidden burden, and, more
imporantly, allows me to create an indexed version of the database that
can be queried efficiently.  I tried that approach in the new version of
the library that I committed.

If we like that approach, then automatic adding of tags can be performed
in whatever way one would like: implications, automatically added tags
using formulas, AI tagging and whatever else autodebtags can do and will
be able to do.


> I'd also like to have a clean split between "objective" things such as
> used technologies (protocol::smtp, which maybe should be
> protocol::mail::smtp) and its use (mail-client, mail-server etc.)

You strike a good point here.  Facets should be as well defined and
"objective" as possible.

This article:
http://www.pixelcharmer.com/fieldnotes/archives/process_designing/2003/0003=
48.html
has a "Faceted Classification" section that gives clues and further
pointers about creating faceted schemes.  That gives great hints on the
good road to follow.

Ranganathan suggests that there are 5 fundamental facets, the PMEST:
 * Personality=E2=80=94what the object is primarily =E2=80=9Cabout.=E2=80=
=9D This is
   considered the =E2=80=9Cmain facet.=E2=80=9D
 * Matter=E2=80=94the material of the object
 * Energy=E2=80=94the processes or activities that take place in
   relation to the object
 * Space=E2=80=94where the object happens or exists
 * Time=E2=80=94when the object occurs
Moveable Type guy mapped it as such: (from that article)
 * Personality=3Dtopic
 * Matter=3Dform
 * Energy=3Dprocess
 * Space=3DI don't believe I've used this facet, or perhaps it's the
   permalink of the post itself? Yes, let's go with that for now.
 * Time=3Ddate
We're working with software, which is even more different, so we might
need even more fantasy to map the 5 dimensions of Ranganathan to
software, if that is possible at all.  But even if it's impossible, it's
worth trying as that could show some point of view we've forgot so far.

However, 'objective things' and 'their use' map into 'personality' and
'energy'.  The implemented-in facet maps into 'matter'.  This gives us
more brain structure to think about our facets.  It'd be interesting to
see our list of facets on this light:

 * Personality=E2=80=94what the object is primarily =E2=80=9Cabout.=E2=80=9D
   accessibility
   admin
   dbtech
   devel
   field
   filetransfer
   format
   game
   hardware
   hwtech
   junior
   langdevel
   mail
   media
   network
   protocol
   security
   sound
   web
 * Matter=E2=80=94the material of the object
   data
   implemented-in
   interface
   role
   suite
   uitoolkit
 * Energy=E2=80=94the processes or activities that take place in
   relation to the object
   use
 * Space=E2=80=94where the object happens or exists
   culture
 * Time=E2=80=94when the object occurs
   (nothing that we have comes to my mind, although some auto-generated
   tag like:
     last-release::last-week
     last-release::last-month
     last-release::last-year
     last-release::before-last-year
   can be an idea of something to put here.

 * Without an obvious placing:
   special

This helps in giving those facets a shape, isn't it?


That article also points to these further 3 articles:
 http://www.boxesandarrows.com/archives/ranganathan_for_ias.php
  A must read: short overview of Ranganathan's work.
 http://aifia.org/pg/a_simplified_model_for_facet_analysis.php
  Nice overview of the whole theory.
 http://www.iawiki.net/FacetedClassification
  Tooons of pointers to nice articles.  I clicked randomly and hit this
  one which is a nice introduction to what we're doing as well:
    http://www.adaptivepath.com/publications/essays/archives/000034.php


Ciao,

Enrico

--
GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <enrico@enricozini.org>

--fUYQa+Pmc3FrFX/N
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCbW0H9LSwzHl+v6sRAp0ZAJ4+v5PogLC/7wmSoUjaOw1lcft1yQCfXVC0
5jZ3J5c18Yloj5yUnimpE84=
=xK6L
-----END PGP SIGNATURE-----

--fUYQa+Pmc3FrFX/N--