I know of several tags on SO that almost always appear together (and if they don't it is usually a mistake of the OP). For instance, the tags and almost always appear together with the tag , and I cannot think of any reason why it should not. The same goes for tags like , which is somewhat of a sub-category of the -tag. I am sure that there are similar scenarios in other tags.

An ontology can be used to define relationships between tags. In the simplest case, it would be a tree, where more general tags have more special tags as children. If a question is tagged with a special tag, it would implicitly also be tagged with all its ancestors in the ontology. More complex models are possible (though maybe useful), but I think we should start this discussion with a simple example.

The question is, could we benefit from such an ontology? And if so, how do we maintain it?

I will put my view on these question in an answer of my own.

  • 1
    Like this proposal? – Grace Note May 26 '11 at 15:10
  • Dammit, didn't find that. – Björn Pollex May 26 '11 at 15:13
  • 2
    @Grace: But you know what? I will leave it open. I think as SO continues to grow, this will become an issue more and more, and so maybe, it would not hurt to discuss it a bit more that just No, we won't do it. – Björn Pollex May 26 '11 at 15:16

A good starting point would be to run some sort of “tree building” machine learning over all the current questions looking for tags that predict other tags more than x% of the time.

| improve this answer | |
  • This makes a lot more sense than any of the proposals involving manual user-curation of hierarchies. – Shog9 May 26 '11 at 15:39
  • @Shog, I think manual editing will be needed, but we need a starting point. – Ian Ringrose May 26 '11 at 15:49
  • 2
    I'm exceedingly pessimistic about any tagging system that requires manual intervention beyond simply... tagging posts. Right now, if you filter by a tag you get a list of related tags in the sidebar - using these emergent relationships as inputs to the tag-suggestion lists makes some sense. – Shog9 May 26 '11 at 16:02

Real ontology would be beneficial, but that would require running some decent inference library. I'm not sure how keen are Stack Overflow developers on using SPARQL and if there is any software for that build on top of MS SQL and .Net.

As for the structure, it definitely is not a tree. Take , it has two ancestors and .

| improve this answer | |
  • 1
    Multiple inheritance isn't a problem in a true ontology; even circular inheritance is well-defined (it makes a group of synonyms). Ontologies are not class hierarchies. – Donal Fellows May 27 '11 at 12:49
  • @Donal: srsly? YPB? – vartec May 27 '11 at 12:51
  • What does “YPB” mean? – Donal Fellows May 27 '11 at 13:59
  • @Donal: "You Point Being". As in what's the point of your comment to my answer? – vartec May 27 '11 at 14:01

I think we would benefit from such an ontology. Users would only have to tag their question with the most specific tag that fits their issue, and it would automatically be tagged with the more general ones.

Also, some tags could benefit from having multiple ancestors (if we use a DAG instead of a tree for the ontology). For example is sometimes used for C++ templates, and sometimes for the templates of various web frameworks. If we had an ontology, a user could easily be prompted to disambiguate the use of the tag.

As for the question of how to maintain it, I would make it a privilege for experienced users (maybe 10k+). For instance, users with high reputation in a tag can manage the children of this tag. If a new tag is created, and the user does not have enough reputation to assign to some other tag, he can make a suggestion, and experienced users would see it in the moderation tools. I am not very sure on this point, so any ideas are welcome.

| improve this answer | |

You must log in to answer this question.

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