Tag ontologies

I often want to organize tags into an ontology, i.e. there are categories of tags, and a category can itself be a parent tag that includes all its children

As a toy example, someone keeping their recipes in Dynalist might have the tags


#banana, #apple, #orange are all examples of #fruit. It would be useful to have the tags organized like

  • #fruit
  • #milk

so that when searching for #fruit, we get everything that is tagged with any of #fruit, #apple, #banana, #orange. This avoids having to keep track of the entire ontology and manually applying all the relevant tags every time you tag something. Instead, you can apply only the most-specific tags you need and rest assured that the parent tags will follow along.


well, in that specific case, I guess what you need to do is simply to tag all of those cases as #fruit
for example.

  • apple pie #cakes #pies #fruits #apples

I agree; that is the current way to do it. My goal in this post was to suggest that Dynalist could have a mechanism for keeping track of which tags are children of which other tags, so that it wouldn’t not be necessary to tag everything by hand in this way (which requires memorizing or looking up an entire hierarchy of tags every time you tag something).


This came up years ago in Adobe Lightroom for tagging photographs. You might look at their implementation as they do a good job of making the power available without burdening thee folks that either don’t tag or use flat tagging. http://www.learn-to-lightroom.com/articles/keyword-hierarchies/

1 Like

A good workaround can be to use ParentTag.ChildTag



You can always search for the parent tag too:


Rexx scripting language did this. Everything was a string (more or less) to Rexx, but in the right context it would consider stem (#fruit) and branches .apple, .orange, distinct.

1 Like

Please look at how the Mac app Bear handles this. It is the most elegant solution I’ve seen so far: