My Script For Ontology Manager

Hi everyone,

I’m sharing a Python automation tool I wrote for those of us who maintain strict, axiomatic knowledge bases (similar to Zettelkasten but with enforced hierarchy).

If you treat your vault like a compiled database where filenames must strictly reflect their relationship to other notes (e.g., Owners, Superclasses, Parts), doing this manually is a pain. If you rename a parent concept, you usually have to manually rename every child note to maintain consistency.

I created Obsidian Ontology Manager to automate this.

:light_bulb: The Concept

The script treats Markdown notes as objects in a graph. Instead of statically naming a file “Human Hand,” you give it a Title: Hand and an Owner: [[Human]]. The script then compiles the filename for you.

If you later rename [[Human]] to [[Homo Sapiens]], the script detects the dependency change and automatically renames the child file to Homo Sapiens Hand.md, and—crucially—updates every Wikilink in your vault pointing to it.

:sparkles: Key Features

  • Recursive Pathing: A note can name itself by traversing the graph. You can pull data from your Owner, your Owner’s Superclass, or 3,4,5,… levels deep.

  • Inheritance: If a note has no Owner, it can inherit one from its PartOf or Supers links.

  • Orphan Dashboard: Automatically generates an Owner.md file listing all nodes that are disconnected from the graph.

I’d love to hear what you think, especially if you are interested in axiomatic organization or graph-based naming conventions!

1 Like

because forms does not accept links search Obsidian-Ontology-Manager on github for more details