Tag Heterarchical Tree

Off and on I have been playing around with the idea of a heterarchy tree for navigating through content, and I want to talk some more about it.

A heterarchy is a system of organization replete with overlap, multiplicity, mixed ascendancy, and/or divergent-but-coexistent patterns of relation (wikipedia)

If we are working in a modern taxonomy system, where content is tagged with terms, often these tags are shared (infact in is not worth much if there is no overlap) this allows the construction of a heterarchical system of terms.

The question is how to represent this organization. A Heterarchical Tree can be constructed by creating a parent-child relationship between terms. But how do we decide the parent and the child? Some taxonomy system, let you list them in a hierarchy, but not only does this take way to much time (most people don't even have time to tag content let alone say how the tags are related), it is often out of date soon after the structure is created (not to mention it is not heterarchical). But the content that we are tagging can show us the relationships. In a heterarchical tree, two tags which are attached to the same content are parent and child to each other. We let content guild the relationship, as content is add a organic tree will emerge, from any one term.

It might seem like we are cheating because the relationship goes both ways, but this is the beauty of heterarchy, the tree can start from any term, and we need not worry about which term is a meta-term, or a meta-meta-term. for all terms can be meta-terms. So we get a flexible navigation system that takes the form a familiar menu tree.

For example lets say we have four blog post with the following tags:

"baseball rocks" tags: baseball, sports, fun
"baseball good for heath" tags: baseball, heath
"dancing is good for you" tags: heath, fun, dancing
"man dances to death" tags: heath, dancing, death

the tree for heath would be

  • health
    • baseball
    • fun
    • dancing
      • fun
      • death
    • death

Now if one wanted to have a full tree they could have a list with all terms (as say gmail does) or there could be top level terms that the tree starts from or, this top level terms could be pulled from the terms themself (maybe the 5 terms with the most sub-terms).

The point is to present a view that is familiar to users (the tree view which is common to menu systems the world over) but that is not fix to a single structure.

I made a flyout menu example here
And am working on a drupal module for it's taxonomy system.

Hopefully there will be more to follow.