Organizing notes into OO class relationships such as subclass (is-a) components (has-a)

QUESTION – Apologies in advance for the total newbie question. I’m evaluating Obsidian as a tool for system design that structures notes according to such basic relationships as specialization [supertype, type, subtype & instance], composition [containing entity, entity, component entity] and collaboration [calls, is-called-by]. It’s clear that I could organize the first two relationships using folders for a type hierarchy and composition hierarchy (not clear about third). Are there other tools, such as labeled links, references to collections and such that might work better? Is there a way to use tags to see these hierarchies. Is there a way to use a diagramming tool (plugin?) to show these relationships graphically? Any special plugins I should be looking at? Is this even a reasonable use of Obsidian?

EFFORTS TO DATE --I have read articles and watched videos about Obsidian, browsed the manual, searched the help section on this forum, searched the plugins, and done general due-diligence on Obsidian and I’m blown away by how powerful it is. But I’d hate to invest a huge block of time learning it just to discover what I want it to do. Any/all replies greatly appreciated.

HELP SEARCHES – Type, subtype, class, category, component, assembly, part, whole & lots of others.

NO NEED TO REPLY to this question unless you have any special recommendations. I found the answer to my question searching through the plugins. It’s now clear to me that Obsidian can do everything I want need it to, all the way to using formal UML as a design language.

Obsidian is an amazing tool, and I’m looking forward to discovering all the things I can do with it.