Possible Duplicates:
Another kind of tag hierarchy/relationship
Could we make tags imply other tags?
i already suggested this here but i think this suggestion deserves it's own "question".
this suggestion tries to solve the problem highlighted here
synonyms are an answer to different tags which mean the same ([oop] and [object-oriented]), but there tags which are strongly related but do not mean the same ([php5] to [php]). this is where tag inheritance comes in.
here is a copy of my "answer" to the php5 "question":
i suggest tag inheritance.
something like php5 extends php
and php4 extends php
this means everything tagged as [php5] is automatically also tagged [php], but a question tagged as [php] will not automatically get tagged as [php5].
people interested only in php5 questions can follow only the [php5] tag. people interested in php in generall need to follow only [php] and will automatically also follow [php5] and [php4]
having [php] and [php5] as synonyms will not allow this differentiation.
note: tag inheritance will not solve the problem of people tagging their question wrong ([php5] when it is not php5 specific), that can only be solved by educating and retagging.
toying around with the tag inheritance idea a bit further, using python as example:
python2x extends python
python3x extends python
python-old extends python
python-current extends python
python-future extends python
currently python 2.7 and python 3.1 are both stable releases.
python26 extends python2x, python-old
python27 extends python2x, python-current
python30 extends python3x, python-old
python31 extends python3x, python-current
python32 extends python3x, python-future
eventually python 2.x will be declared dead, python 3.2 will be released, and maybe they will start working on python 4. then the inheritance tree can be changed to look like this.
python26 extends python2x, python-old
python27 extends python2x, python-old
python30 extends python3x, python-old
python31 extends python3x, python-old
python32 extends python3x, python-current
python33 extends python3x, python-future
python40 extends python4x, python-future
this will allow following scenarios:
- searching for [python] will find all question tagged with any of the python tags
- searching for [python3x] will find [python30], [python31] and [python32]
- searching for [python3x] and [python-current] will find only [python31] (in the future it will find [python32])
- searching for [python-current] will find [python27] and [python31] (in the future it will find [python32])
- searching for [python-old] will find [python26] and [python30]
- searching for [python-old] and [python2x] will find only [python26] (in the future it will find [python26] and [python27])
there is nothing principally new in tag inheritance. tag inheritance can be done today when everyone (EVERYONE) who tags a specific tag ([php5]) always (ALWAYS) also tags the more general tag ([php]). the problem is people don't do that.
the advantage of tag inheritance is that it is done automatically. furthermore, like the python example shows, we can do easy mass retagging by changing the inheritance tree.