Super FR: Enhance Obsidian with a type system for notes and database-like views (metadata, object oriented model)

First and foremost, thanks for this amazing app!
I would like to suggest some features that could help make Obsidian better and more well-organized for users and devs too.

My suggestion comes from Dendron which has some amazing features but its capabilities are limited compared to Obsidian.

1. Vault schema using just YAML

Users can create a vault schema (for folders and notes) by using just a plain YAML schema

pos:
a. easy for users to create/refactor/delete a vault’s schema using some functions (actions in the command menu)
b. users can create their own vault schema by creating a YAML schema on their own [very useful for non-tech guys, which is a major problem we saw with the dataview (lot of people prefer Notion for that reason)]
c. easier for devs to have a common framework to dev more plugins

2. in addition to (1), there could be a second YAML schema just for metadata**

Anybody, even the most basic computer users, could edit their metadata schema in which they can edit their preferred metadata field (and predefined values, if they will) easily without any special tech knowledge

pos:
a. ready/user-created metadata fields based on the type/name of the metadata schema which then users could apply in their notes. This can be done by a “marriage” of the two YAML schemas (vault + metadata schemas)
b. when a user creates a specific type of note (ie. course), he/she can select(or automatically be applied in all course children) which metadata schema/as wants to be applied in all courses notes and furthermore, based on the metadata schema which the user selected, a relevant template could be applied too.


Another cool future (may some Obsidian users don’t need it but I leave them here as for further thinking)

3. dot naming convention

  ie. dev.prog-lang.python.loops
       dev.prog-lang.python.functions

pos:
a. you can get rid of folders and just work fast with files only
b. easy way to search your notes along with a fuzzy search feature in the search engine

With the all above, it would be very easy for anybody to create, maintain and manage their notes. Also easy to apply metadata fields and templates to the notes/child notes etc based on the schemas that they will have created and choose to be applied in individual notes or in a particular “family”/type of notes


Imagine just choosing “course” metadata schema to be applied to “course” (vault) schema and then every metadata field be populated with the relevant metadata without having to use third-party plugins (buggy sometimes/errors after updates etc) or writing them manually and most important easily done from everybody without losing yourself between plugins, docs etc.