I've created a new node type for maintaining a list of projects for a portfolio site. I'd like to categorize each project by various criteria, so I'm creating various vocabularies specifically for that node type. For example:

Timeline
-- > 1 month
-- 1 month
-- 2 months
...

Budget
-- Pro Bono
-- < $1,000
-- $1,000 - $10,000
...

Languages
-- C
-- C++
-- Java

Relational Databases
-- Oracle 8i
-- DB2
...

...and so on and so on. I'm into some murky distinctions with technology categories though that lead me to believe a multiple heirarchy is a better choice, e.g. "Oracle 9i" might be both an RDBMS and an application server. I'm considering a "Technology Miscellany" vocabulary that aggregates everything, i.e. the first level children would be "Programming Languages, APIs, Frameworks, Operating Systems, etc."

Has anyone set a clever precedent for taxonomies such as this? Or is there a compelling technical reason to choose multiple vocabularies over one vocabulary with a deep, multiple hierearchies.

Thanks,
James

Comments

gatezone’s picture

Great question! I'm not sure if you are asking the same question I have but I found that a deep hierachy seemed simpler to manage but wasn't sure what type of corner I might be painting myself into.

Maybe if a taxonomy guru could point to somewhere that has an explanation of the strenths and weaknesses of each approach it would help without re-inventing the wheel.

moshe weitzman’s picture

technically, there isn't much reason to prefer one or the other. however, you do get different user experience with each choice.

- do you prefer one select menu on the node/add page or many?
- if you require ever node to pick a programming language, then you have to break that out into its own vocabulary. similarly, if a post can be about mutliple programming languages but only 1 ralational DB, then you need different vocabs.
- the taxonom_html and taxonomy_dhtml modules display vocbularies separately. Do you like the integrated view or not for these modules.

This is a matter of preference.

alex-and-r’s picture

As far as i understood from your post u r facing the problem of choice between faceted and hierearchycal classification. I don't know which is more suitable for your purposes but for me faceted classification is more flexable and offers more possibilities for managing content of the site. So i vote for multiple vocabularies!

And may be you'll find useful this resource: http://www.iawiki.net/FacetedClassification

MaryE’s picture

I also vote for user experience and preference for developing taxonomies. But in addition to the usual user interview / interaction techiniques, you should also want to see how the library science types dissect these issues - check out Dublin Core and related systems. If you have a DB background, you'll see it looks like the Zachman framework - the who-what-when-where-how of a piece of information.

Dublin Core is at http://dublincore.org/

Good Luck!