I want to discuss a better means of organizing tags for websites that use a generic tagging system. I propose a tag hierarchy.
Basically, if I search for #dog, I should find posts with #puppy, #pug, #baby_pugs, #cute_dogs, etc.
But, if I search for #pug, I should only get posts with #pug, or other tags like #baby_pugs, #cute_pugs, etc.
This would make adding 50+ similar tags to a post irrelevant and allow for normal people to put a single obscure tag and still gain visibility.
I want to bring this idea up to more people. Where should I discuss this? You can suggest any website, community, or Lemmy instance where I could possibly develop this further.
I’m happy to discuss this here as well.
[Edit for clarity]: I am not just talking about tags for the federation and Mastodon. I am talking about improving any and all websites with a generic tagging system. Twitter, Instagram, Facebook, etc. etc.
If you don’t know about it, check out https://wordnet.princeton.edu/
It’s a great starting point for any English word hierarchy.
I didn’t know about it, thank you for showing me this.
Structurally the idea has some merit. I think the challenge that you will encounter especially in a federated environment is gaining agreement on how to fill that structure and the hierarchy that you’re implying and demonstrating. Using the pug example, you’ll likely find very little argument on a good hierarchy, but using a more contentious example, let’s say gender, how will you gain agreement across instances on what the hierarchy within the data should represent?
That is more of an argument involving the implementation of tags in general within the federation. But to answer your question:
Let’s say a group of people were to make a post on Mastodon with the tag #girls_night. How will all instances agree on the tag being correct?
The simple answer is they won’t. If a tag is contentious, it will be like any other drama between instances.
It’s the same for implementing tag hierarchy. Let’s say there is a default setup. Then if a tag or a tree of tags is contentious, each instance can include or exclude as they see fit.
Ok I got ya. Doesn’t that then limit the effective use of the hierarchy to the instance you’re on and the hierarchy you’re familiar with? In that the further removed you are from your home instance’s hierarchy the less likely things will match up. So ultimately searches loose effectiveness I think?
Anyhow like someone else said, not trying to disparage the idea - it’s interesting and I’m enjoying the various input and thoughts folks are bringing.
I don’t think Lemmy or Mastodon would be a good place to start necessarily. Don’t be discouraged, I just mean that I think this should be something separate, like a library, that other systems like Mastodon or Lemmy could then use. As a code library it could be maintained elsewhere and let these folks keep working on their projects.
However, the large architecture issue is that those tags must be added in secret - or dozens of queries would have to go off. Either:
- When someone comments #pug you also need to add on all possible permutations of pug so it’s queryable or
- When someone searches for #pug you need to do a much more complex query for all possible permuations of pug.
It would be possible to do a lookup table in sql for this, but again that requires maintenance and again every instance keeping track of their own set of known lookups. Anyone else have alternative architectures?
I don’t think Lemmy or Mastodon would be a good place to start necessarily. Don’t be discouraged, I just mean that I think this should be something separate, like a library,
True. I meant suggesting this idea for generally any website that uses tagging. Will update post to show this better.
As a code library it could be maintained elsewhere and let these folks keep working on their projects.
We would need a group like the Wiki Foundation to set this up. Though I wouldn’t know how to pitch this.
All I can say is this:
And all I can say is this:
I like the idea, but I have no idea how to help.
😔
The GitHub.
https://github.com/LemmyNet/lemmy/issues/2675 https://github.com/LemmyNet/lemmy/issues/3906 https://github.com/LemmyNet/lemmy/issues/3446 https://github.com/LemmyNet/lemmy/issues/317
I also want flairs: https://github.com/LemmyNet/lemmy/issues/1456
I’m sure there’s plenty more.
Look to image boorus if you want to go into image tagging to an obsessive degree. Although don’t go in and expect to be treated like the expert in the room, because you aren’t.
From my experience, sankaku applies tags in a similar manner to what you propose. It uses a parent/child system, such that when a child tag is applied, the parent tag(s) are automatically applied as well.
Although I’m not sure if it’s what you’re looking for. It operates on a “more is more” style system, where all relevant tags are supposed to get applied, such that it creates a more comprehensive searching system based on tags.
It’s definitely better than the default, but I’m talking about a one-way system.
If the parent is #dog, and the child is #pug, then searching the parent should give me the child as well, not the other way around.
If the parent is #dog, and the child is #pug, then searching the parent should give me the child as well, not the other way around.
I mean that’s basically how it works, you’re just framing it in terms of searching rather than applying tags. Everything that gets tagged #pug would automatically be given #dog, such that when you search #dog, everything that has #pug would be included
Ah, fair. Of course, the extra tags should be hidden otherwise it’s back to 50+ tags per post, but for the image board it’s perfect.
I don’t have an actual answer to your question, but imma use the opportunity to let my age show.
Seeing as we’re not on instagram or twitter, and seeing as this space is somewhat more techy than the average platform, could we please do tagging without precomiler instructions (or perl inline comments if that’s more your thing)?
“#” deserves better than being referred to as “the hash tag sign”.
This place is more techy, but please don’t assume. I have no idea what you’re arguing for.
I think they meant that
#
is used in many other ways than “the hash tag sign” and you should refer to it as such, e.g. as hash sign, pound sign or number sign.Correct. Today I learned that putting it at the start of a line here makes it looks like you’re yelling random statements.
How does my point relate to HTML tag metadata?