I am a folder heathen. Hiss. The purpose of folders in my vault are twofold:
1. Separate "types" of notes
2. Create namespaces
Never create more than two layers of hierarchy (`type/namespace/note.md`). Use the property "up" to define any substructure in the folder.
## Rationale
I've read many forum posts on this topic and arrived at this as a good compromise between linking-only style organization and excessive hierarchical structures. Many of the posters indicated they started without folders, but over time, developed a very basic folder structure like this one.
> [!NOTE]+ Why not folders?
>Folders are pretty 20th century. I stopped using folders for document management in 2014. Everything lived in one folder on my drive ("C:/Downloads"). To find stuff, I search.
>
>Admittedly, this can be problematic for collaboration, and so when my team required it I would use a folder structure. But I never really could find anything and the structure very quickly turned into chaos.
>
>In the context of knowledge management, the best tools for information discovery are search (which is now being replaced by generative AI to some extent), not drill-down taxonomies. With [[Obsidian]], linking and properties are far superior for defining structure than folders.
>
>The key problem with folders is that you have to categorize every document according to the taxonomy of the folder structure. Setting up the taxonomy is the first challenge. Exclusively categorizing a note adds overhead every time you create one and is probably not meaningful. Finally, knowledge evolves and so pre-defined taxonomies drift from representing the real world over time--as do the notes that are contained therein.
### Separating types of notes
Knowledge notes, templates, journals, daily notes, etc. each have their own top level folder. Every note will live in one folder. The categories for "types" of notes are exhaustive and mutually exclusive.
The only note that does not live in a folder is "index", which acts as the home page.
### Namespaces
Obsidian uses the note path automatically as needed to disambiguate between two notes of the same name.
You might have a note "function" that describes how to write a function in Python and another about R. The links to these notes will be `Python/function` and `R/function`. Within a note in the Python folder, you can simply type ``[[function]]`` to link to that note. If you need to link to that note outside of the folder, you can specify the full path `[[Python/function]]`. Only the note name is shown in the wiki-style link.
#### Alternatives
One alternative would be to have longer, more explicit note names that are universally unique, such as `Python function` or `function (Python)`. I don't like this option because it makes the wiki-links style links less natural in the note itself, and might require lots of aliasing.
Another popular alternative is a disambiguation page. I don't like this as it breaks the structure of the vault, requires an extra step to find the linked page, and doesn't allow you to preview the note in reading mode.
### Bonus: sub-vaults
A bonus feature is that you can open any folder as a sub-vault.
## Settings
To make this system work seamlessly, you need to adjust a couple settings.
- **Obsidian settings:** set default to create new note in the current folder. This will ensure that notes created by links get created in the same folder as the note it was created from (you can move these later if needed, but this default behavior will save you a lot of time).
- **Note refactor settings:** set default to extract note to a new note in the current folder
## Practices
Use these best practices to make this system sing.
### Create a note
In general, create notes by using the Quick Switcher (`Ctrl + O`). This helps prevent creating the same note twice. Type the folder name first, then slash, then the new note name.
> [!NOTE]+ Open as a sub-vault
> When working exclusively with a single type of note, open that folder as its own vault. This will save you from having to include `<type>/` in the note path when creating new notes with Quick Switcher.
To create a blank note (i.e., use the **New note** icon in the sidebar or `Ctrl + N`), first select the folder in which you want the note to appear.
### Manage folders
While you could only move notes to a folder when there is another note with that name already, I recommend storing all related notes in a folder when it exists.
In general, create folders for
- Software, tools, libraries, etc. that require more than one note (e.g., Python, Pandas, JavaScript, Obsidian)
- Major content areas (e.g., web development, statistics, fitness).
Everything else can live in the root directory for that type of note!
> [!NOTE] Do not create subfolders
> Do not create subfolders within your major content area folder. For example, the statistical software SPSS would have it's own folder outside of the Statistics folder. The Statistics folder only creates a namespace for statistics concepts (e.g. multiplication rule of probability versus the multiplication rule in calculus)
### Parent note as map of content
Create a "parent" note in a folder with the same name as the folder. This note describes the concept that the folder represents. You can use this note as the map of content for the folder space. I recommend building dataviews that aggregate all notes for this topic under meaningful headers.
### Use property "parent" for sub-structure
Use the property "parent" as the primary means of creating sub-structure in a folder. Instead of creating a subfolder, use the parent property to point to the parent note.
For example, instead of a folder structure like
```
.
+--Statistics/
+--Distributions/
+--Binomial
+--Exponential
```
You could have something like
`Statistics <- Distributions <- Binomial`
and
`Statistics <- Distributions <- Exponential`
where the note `Binomial` has the parent property `Distributions` and the `Distributions` note has the parent property `Statistics`. Besides describing the concept of a distribution, the `Distributions` note can act as the map of content for all `Distributions` with a [[DataView]] query.
The graph view does not link content from the same folder, and so the "up" property helps define the structure of the folder without relying on subfolders.
### Use the property "topic" for meta-structure
Related content can be grouped at any level using the property "topic". I like to use this to replace the folder structure that might exist above the folders in the vault. For example you can assign the property "topic" programming for all notes related to Python and R.
The topic property should be mutually exclusive.
### Map of vault content
Use the topic property as a color for your graph to visualize the relative distributions of each topic.
In `index`, create a dashboard view that shows all topic properties and also organizes notes under topic headers.