Subject:

tagging


Message-Id: https://www.5snb.club/w/tagging/
Linked-From: wiki.

context: boorus (like e621)

instead of tagging being just a plain list (or a namespaced list) of strings, make tags into their own objects, and also make images contain entities that can be referenced

entities are local to a single image. an entity may have tags that link entities in different images together, but an entity is just a way to group tags

an entity is usually a character, but in general its “anything that you want to point to” in a tag

tags act like like functions or operators

for example, you can have a tag \1 hugging \2, which takes 2 entities as arguments, in a specific order

This lets you run queries of the form “xenia hugging”, “xenia hugged” (if the inverse form is entered), and “xenia hugging tux” as well as just “hugging”

maybe have a * that all of this desugars to

so * hugging xenia is the long form of xenia hugged

(how to handle this in the search UI is an open question)

image tags

some tags just apply to the image as a whole

such as artist, or rating

tags

tags have a given UUID and that is what’s actually stored against images

this means that you can freely rename tags without anything breaking

tags have a freetext description field, used for storing background info, and a name.