Diego Cabello

<<<Back to Ents

Design

Date: 2025 Oct 27

Words: 245

Draft: 1 (Most recent)

The Organizational Container vs. Labeler Problem: Let’s say you want to have some tags be used to label objects, and some tags just to organize and contain those tags. For example, you want to label files based on their reading completion and their source format. If you just had plain nested tags, you could accidentally label an object with the literal tag “reading completion” or “format”, which would show up in queries and cause all sorts of issues downstream. So how do you make it so you can’t label objects with organiztiional containers in a human-readable, keyboard-typable format?

If we were to use JSON, there would be no clean and easy way to type it out. Here are the cleanest possible ways to do it:

{
"reading levels":
  ["not read", "skimmed", "partially read", "read", "re-read"],
"format": 
  ["journal", "book", "webpage"]
}
[
  {
  "tag": "reading levels",
  "labeler": false,
  "children": {
    {"tag": "not read",
     "labeler": true,
     "children": null},
    {"tag": "skimmed",
     "labeler": true,
     "children": null},
    {"tag": "partially read",
     "labeler": true,
     "children": null},
    {"tag": "read",
     "labeler": true,
     "children": null},
    {"tag": "re-read",
     "labeler": true,
     "children": null}
  },
  {
  "tag": "format",
  "labeler": false,
  "children": {
    {"tag": "journal",
     "labeler": true,
     "children": null},
    {"tag": "book",
     "labeler": true,
     "children": null},
    {"tag": "webpage",
     "labeler": true,
     "children": null}
  }
]

Verbose and unsightly!

To solve this, ENTS introduces the “Dud Tag”, which is an organizational container for other labelers, but is not a labeler itself. It is demarked with the + icon. It is used as such:

<<<Back to Ents

Made with Sculblog