TagStudio icon indicating copy to clipboard operation
TagStudio copied to clipboard

Attribute Relationships/ Tag Fields

Open Immac opened this issue 9 months ago • 0 comments

Add fields to tags, I'd like for there to be some options on how they are related (Imagine DB relationships), The usual tag relationship is ambiguous, sometimes it's an is, sometimes it's a has, sometimes it's something else, this can be solved with tag fields, the tags become structs, but I'd like for there to be just a little bit more in the sense that some relationships are not symmetrical and some relationships are reciprocal, etc.. etc.. Fore example if

Max is Dog
Mike is Person
Mike owns Max | Mike.pets= [Max] #This implies that Max has Mike as an owner so | Mike.owners = [Mike] should also be true

An option to update related tags field when tag is changed would be nice. In this example, adding max to the owned by mike should update the Max's owners. A 1..n n..n 1..1 etc option as well would be nice as well. So when creating a field, you should be able to define a reciprocal (owned<->owners) and a relationship (n...n) in this case (Let's say Max is Mike's family dog so Mary is also Max's owner so n...n, since they can own many things as well) Note that this is different from adding a field to a specific file, this would be adding fields to tags. The tag Mike could have Mike.pets =[Max,Molly] Mike.siblings = [Alex,Arlene] Mike.favorite_foods = [Soup,Pasta]

Sure I could have a Mike's Pets tag, but I would need to know the tag exists instead of looking at something that has the tag Mike, and knowing what tags are related to the tag Mike via the fields. As an added bonus, this could double down as a pretty nice world builder if this gets implemented.

Immac avatar May 23 '24 23:05 Immac