Ok, now we have synonyms which is great and helps a bit more to organize the tags. But I think we need something more (in addition).

I know that having tag hierarchy was proposed before and more or less declined but I mean something different.

This question clearly says that synonyms like php5 -> php are not intended (I swear, this is the last question about it.. from me ;) ) and the comments show that we indeed should have version numbers in the tags.

But if we have a look at the php5 tag, we can see that only a little more than half of the questions are tagged with php. Clearly every of these questions should be tagged with php as this the tag which is most probably in the interesting tag list.

We cannot keep track of all the questions that miss this tag and retag them.

Can we have some kind of a base-tag relationship that adds a tag like php if a question is tagged with php5 and missing it? This could be implemented like the synonyms.


3 Answers 3


I totally agree that it would be nice to have some way to organise the questions.

The problem for me is this: I see hundreds of questions flood past on StackOverflow, but 99.5% of them are totally outside my interest of expertise. That makes it quite a chore to read past pages of questions to find the ones I like. Programming is such a vast area that I'm sure the same is true for many people.

I know there are tags, but tags are so fine grained, as pointed out. It's easy to miss questions if you're not actively searching for them by specific tag.

Jeff, I know you hate hierarchies, probably because not everything fits into them nicely, and people try to force them. But some things do fit perfectly!

Suggestion: Tags and hierarchies!

You can tag a question and/or place it in the hierarchy.

  • I believe the solution is rather simple. when a user SEARCHES for questions tagged [php], then inherited tags like [php5] should be included. But when the person reads last questions tagged [php5] then questions with [php] would not be included. One more reasons for such a request is like when try to solve problem of using PHP5+IIS4 server with Delphi 7.0 + Indy 9.5 client. Now you have to specify 4*2 = 8 tags! But SO only allows 5 tags. Jan 16, 2014 at 13:51

Now that I think about it (I threw out the idea of tag hierarchies) in a comment in the other question, explicit hierarchies might not be the best. But the ability to explicitly relate tags in some way is necessary, either through hierarchies or explicit relations.

Jeff said in a comment that he's not a fan of hierarchies, and honestly, that probably not the best choice anyway, since hierarchies would get extremely complex and can go multiple depths. But being able to manually link related tags together would be helpful. Just take a look at this:

I posted an example in a comment on Jeff's post about how related tags might not follow a [base-tag] approach. An example of this are the requirements, requirements-management, requirements-gathering, requirements-elaboration, and software-requirements tags. I would want to review all of the questions in these tags first, but at a quick glance, they all refer to topics within requirements engineering, a discipline of software engineering (and a software-engineering tag exists on StackOverflow). Although this tag needs to be cleaned up (not all of the questions are explicitly about software engineering topics, if I'm following, ignoring, or searching for the software-engineering tag, I might also be interested in questions that have similar (but not synonymous) tags - examples, beyond the requirements-related tag include agile-processes, agile, agile-development (all of which are synonyms, by the way), cmmi, design-patterns, object-oriented-design...the list goes on.

And even looking at my list of examples, you can see other relationships potentially forming. The design-patterns and object-oriented-design both fall into the category of design and/or architecture (although the formal use of architecture might not necessarily include the detailed design that is being discussed on SO), and tags for both those topics exist.

  • tag exploration is already quite easy -- just click a tag, then look at the "related tags" in the sidebar of the question list. Keep clicking there to taste! Aug 2, 2010 at 10:14
  • 2
    The only problem is that related tags are just related by usage. For example, the "software-engineering" tag is not related visibly to any of the requirements tags, but it is related to "php", "java", "c#", and "c++" (and these tags are only tangentially related to software engineering, which is language agnostic). A manual way to put "requirements" as a related tag to "software-engineering" would be extremely helpful to explore tags that are actually related as opposed to just used together. Aug 2, 2010 at 10:34

Why don't you just use wildcards on the interesting tags? php* will pick up anything beginning with php.

Allow wildcards in ignored/interesting tags

On the server-side, exchange * with ~ to get a server-side tag wildcard, but be aware the restrictions on "tag explosion" are fairly severe.

  • I didn't know that, interesting. But I also use this list to let me show e.g. only php tagged questions. If I know click on php* it is translated to php~ and still gives me only those which are tagged with php and not with e.g. only php5. And I think it is more of an organizational problem. Do we want to have questions tagged with a language version, without the "base" language tag?
    – Felix
    Aug 2, 2010 at 9:33
  • @felix the server side limit is 4 characters not including the wildcard, so php~ is skirting that by 1 character and won't work correctly. I might relax it since we cap the number of exploded tag matches now anyway. Aug 2, 2010 at 9:36
  • 1
    Not all of the questions are necessarily going to be of the form [base][modification]. For example: the "requirements", "requirements-management", "requirements-gathering", "requirements-elaboration", and "software-requirements" tags all contain questions potentially related (I didn't review the questions in each tag to be sure) to requirements engineering. Requirements engineering is a discipline within "software-engineering", another tag on SO. If I'm interested in (or ignoring) software-engineering, I should also be potentially interested in or ignoring these tags. Aug 2, 2010 at 9:38
  • 1
    Maybe explicit hierarchies aren't the best solution, but being able to relate tags in a way other than synonyms (which appear to be exact replacements) seems like it would help people search and follow better. Aug 2, 2010 at 9:39
  • 1
    @thomas we're not interested in making the system that complex. I kind of hate hierarchy, so it's unlikely to happen on my watch. But, after I am dead, they can implement whatever they like! Aug 2, 2010 at 9:53
  • 2
    Would at least custom "suggestions" be available? Right now, it's built on how often tags are used together. If we could manually say that "x" is related to "y" (in some ambigious way - parent/child, sibling), it might make tag exploration much easier. Really, I see three good relationships with tags - "used with" (which is displayed now), "synonymous with" (tags that can be replaced with each other), and "similar to" (which denotes some kind of connection, potentially hierarchical or a sibling-relationship). Aug 2, 2010 at 9:56
  • 2
    By the way, I've been working on a side project at work involving knowledge management - there are good reasons why explicit hierarchies aren't optimal. However, "webs" - two way links between nodes (tags, in this case) are very good. It's just that the current implementation of relations by being used together is inadequate. Aug 2, 2010 at 19:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .