Taxonomy - What is it and what can it do for me?

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Michael Hofmockel's picture
Start: 
2007-11-27 03:00 - 05:00 Etc/GMT-4

Our next meeting will address the question, "Taxonomy - What is it and what can it do for me?"

I know our last meeting was just two nights ago. But it is clearly time for a discussion on taxonomy. Let's see if we can't get a discussion going before the meeting and set ourselves up to delve deep into taxonomy at our next meeting.

For simplicity sake, Ontology and Taxonomy are the same thing.

Here are some references:

Ontology Development 101: A Guide to Creating Your First Ontology

90 modules under the category "taxonomy" on the Drupal projects page

Getting started handbook chapter called "Taxonomy: A way to organize your content"

- Understanding categories for new users

taxonomy.module API

taxonomy group

Videos:

Lullabot - Drupal Podcast No. 48: Taxonomy Taxonomy Taxonomy!

Drupal Dojo taxonomy term - "taxonomy"

Drupal Taxonomy

Comments

What can it do for me?

Michael Hofmockel's picture

Taxonomy - What is it and what can it do for me?
I think the harder portion of this question is, "What is it?" So let's ignore that for a moment and focus on, "What can it do for me?"

Here is a list of things taxonomy can help me achieve. Any additions?
1. Allow users to organize content.
2. Allow users to create relationships between content.
3. Control user access to content.
4. Help users find content.
5. Illuminate related content.

A few more references to help understand what Taxonomy/Ontology is and some tools to help build them.

Ontology (computer science) - http://en.wikipedia.org/wiki/Ontology_%28computer_science%29

Here is a really nice free mind mapping tool to help build ontologies. There is a client and server version. The server version provides a way for a community to work on an ontology together.
http://cmap.ihmc.us/

I don't know anything about this book title but what a great title.
Using Existing Website Ontologies to Assist Navigation and Exploration
http://www.springerlink.com/content/t1wyegv2jwxhdx8b/

Existing ontology libraries
DAML Ontology Library - http://www.daml.org/ontologies/
Welcome to the Protege Ontology Library! - http://protegewiki.stanford.edu/index.php/Protege_Ontology_Library
Sharable Ontology Library - http://www-ksl-svc.stanford.edu:5915/

OWL Web Ontology Language Overview - http://www.w3.org/TR/owl-features

WEB SITE ONTOLOGY EVOLUTION THROUGH WEB SITE ADAPTATION - http://kia1.leeds.ac.uk/alex//PREP2005_Mikroyannidis.pdf.

Regards,
Michael Hofmockel

Open Source || Open Access || Open Mind

Mental Mapping From Traditional Website IA to Taxonomy

monan's picture

I know taxonomy can be overlaid onto nodes so that you can view it in any number of different ways. I get a little uncomfortable when I think about using taxonomy exclusively for the site architecture.

I think that my biggest stumbling block when trying to grasp using Taxonomy exclusively for a site stems from not being able to map certain required pages into a taxonomy structure exclusively. For example, where does the contact page fall in the taxonomy?

If I were to rely only on Taxonomy to come up with the site IA, do I just have a very broad taxonomy with general-type categories like Contact, Home, and Company History, etc.?

What about how Drupal displays taxonomy pages? Where teasers of items are shown serially with separate titles, etc. If I need to customize a page to be more traditional-looking, I'm guessing that I can customize templates for certain taxonomy terms, but if I have to do all that, why not just rely on a single node for a given page, and forget the Taxonomy?

It seems that coming from traditional site design, taxonomies make a lot of sense if you have pages that are naturally collections of nodes, but it becomes more muddled if the pages are static and just supposed to stand on their own, and provide information that just doesn't change that often.

I keep coming back to using a traditional IA system with slots for Taxonomy collections where it made sense. I feel like I'm missing something obvious though...

Am I?

Michael Hofmockel's picture

I am not recommending Taxonomy as an exclusive method to organizing a site.

I am recommending it be considered as a complimentary structure and/or a way to control view/edit user permissions.

Yes, you are right that creating a taxonomy vocabulary or term for just one node like "contact" is not a good use of your time.

Yes, you are right in your perception that taxonomy is great for a collection. Isn't CCK just an entry form for what will become a collection.

If you have one content type then you don't really need taxonomy. You just put all the attributes that you may need for that form as individual fields. Then you can sort on fields.

But the REAL power of taxonomy comes when you want one field to be used in two different CCK content types. Replicating the field in the second content type does not provide you with a method to sort on both fields and produce a list of nodes that is a subset of either CCK content type. As well there is a maintenance issue when a new field choice is introduced. You must change it in every form individually. The more CCK content types that have some attributes in common the worse the problem gets.

Let's look at an example:

4 CCK content types: Cars, Motorcycles, Trucks, Vans.

2 attributes that cross all four CCK content types: Color (blue, green, red), Manufacturer (Honda, Toyota, Ford, Dodge, Bmw)

cars motorcycles trucks vans
blue,honda blue, bmw blue,ford green,honda
green, honda blue, bmw blue, toyota blue, toyota
red, toyota green, honda red, toyota green, dodge
blue, dodge blue, honda green, ford green, dodge
green, ford green, bmw green, ford red, honda
blue, bmw green, honda red, toyota red, toyota

 

manufacturer Color
honda blue
toyota green
ford red
dodge
bmw

It is easy to create lists of all blue cars. This can be done without taxonomy.

But how would you create a list of all blue Hondas? Or worse all blue or green Hondas?

What if after I am finished creating the site and the client comes up with a new color?

What if I want to let Honda certified users only see the Honda entries? With the help of TAC-module this is simple.

Regards,
Michael Hofmockel

Open Source || Open Access || Open Mind

A2Drupal 26Nov07 meeting - Taxonomy

Michael Hofmockel's picture

Here is a tentative agenda for our meeting.

*You will find a strong relationship with this agenda and Chapter 14 of Pro Drupal Development. If you have a copy, look through the chapter prior to our meeting. If you know anything about Drupal Taxonomy please attend as I can use the help. This is an often under utilized and misunderstood module but could very well be the most powerful module in core for organizing content.

Define Terms
- abstracted so you can change a word later with out loosing all the relationships.
- synonyms so two terms can have the same semantic meaning.

Define Vocabularies
-required
-controlled
-free tagging
-single vs. multiple terms
-related terms

Kinds of Taxonomy
- flat
- hierarchical
- multiple hierarchical

Viewing content by Term
-using AND and OR in URLS
-specifying depth for hierarchical vocab
-automatic feeds

Database schema for Taxonomy
- 7 tables

Contributed Modules *I have not tried all of these modules.
Viewing - Similar By Terms - http://drupal.org/project/similarterms
- Node Browser - http://drupal.org/project/node_browser
- Tagadelic - http://drupal.org/project/tagadelic
- Taxonomy Menu - http://drupal.org/project/taxonomy_menu
- uBrowser - http://drupal.org/project/ubrowser

Helpers - Node Auto Term - http://drupal.org/project/nat
- views - http://drupal.org/project/views
- path_auto - http://drupal.org/project/pathauto
- Taxonomy import/export via XML - http://drupal.org/project/taxonomy_xml
- Taxonomy CSV import - http://drupal.org/project/taxonomy_csv

ACL - OG Vocab - http://drupal.org/project/og_vocab
- Taxonomy Access Control Lite - http://drupal.org/project/tac_lite
- Taxonomy Role - http://drupal.org/project/taxonomy_role

Theme - Taxonomy Theme - http://drupal.org/project/taxonomy_theme

Regards,
Michael Hofmockel

Open Source || Open Access || Open Mind

Ann Arbor, Michigan

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: