User:Dvdkhl/TagSystem Internal

From AniDB
Jump to navigation Jump to search

Internal

Structure

To explain the structure, four keywords are necessary to be introduced: Tag System, Tag Tree, Tag Entry and Tag-Entity Relation.
The whole tagging structure is divided into four sub systems (Anime, Character, Episodes, Creator) i.e. Tag Systems.
Each Tag System has its own Tag Tree which are unrelated to each other.
A Tag Tree consists of hierarchical ordering of Tag Entries (with attached properties) which are common to all Tag Systems (but each Tag Entry may only be used once per Tag System).
A Tag Entry consists of a name (and aliases if necessary), an image, a description and whether it should be restricted (mostly because of the image).
A Tag-Entity Relation connects a Tag Entry to an Entity (i.e. Anime, Character, Episode or Creator) with additional information (e.g. Weight, IsSpoiler, etc)

Example

To hit the structure home here is an example:
Lets say all tags were gone and we want to tag Gintama with Comedy, Slapstick and Parody.
First we need Tag Entries, one for each Keyword (Comedy, Slapstick, Parody), after we're done creating those (adding a name/aliases, image, description, etc.), we end up with the Tag Entries which we will now just refer to as [Comedy], [Slapstick], [Parody].
Clever as we are, we notice that there is a relationship between those Tag Entries, so we want to set [Comedy] as the parent of [Slapstick] and [Parody].
To do this, we go to the Anime Tag System (since Gintama is an anime) and manipulate its Tag Tree, i.e. set the parent of [Slapstick], [Parody] (within the Anime Tag System!) to [Comedy].
Now all that is left to do is to connect each of the Tag Entries to Gintama which is done through a Tag-Entity Relation.
TagSystem DB Example.png

What you see

What you actually see when adding/editing tags looks quite different at first and seems to bear not much resemblance to the structure explained above.
But it is just a different representation of the same structure.

Tag Add/Edit Page

TagEditPage.png
As show in the image above the Tag Add/Edit Page is a merge of the Tag Entry and Tag System/Tag Tree into one page.
The Tag Entry part is pretty straight forward as there is a direct relation between the input fields to the Tag Entry properties (except the Name/Aliases which is has a different page).
The Tag Tree part on the other hand is represented a bit different. Instead of just showing one Tree for the respective Tag System all four Tag Trees are shown, but only the bits that are relevant to the tag itself.
Which is the parent of the tag in each system and their attached properties, which are also editable in sets of four, one for each system.


Tag Names Add/Edit Page

TagNamesEditPage.png
This one is straight forward again. You reach this place after clicking "add/edit names" while being on the Tag Add/Edit Page and is directly related to the Tag Entries Name/Aliases property.

TagEntity Relation Add/Edit Page

TagEntityRelationEditPage.png
Again straight forward, it related to the TagEntity Relation, only that you can add/edit multiple tag-entity relations at once per entity.