# My Heuristic For Notes and Tags In Obsidian

> My simple heuristic for deciding if something is a note or a tag.

Source: https://curiouslychase.com/posts/my-heuristic-for-notes-and-tags-in-obsidian/

A lot of people ask me about my [Obsidian](https://curiouslychase.com/tools/obsidian/) setup and one of the most often asked questions is: "Do you prefer notes or tags for everything?"

My answer has always been "it depends."

I decided that I'd share my "it depends" heuristic to give others insights into how I think about when to use which one _and_ why (In my example).

The single heuristic I use for if something should be a note or a tag is "is this an abstract or concrete term?"

As an example, let's say I am doing a [What Is a Remote Design Sprint?](https://curiouslychase.com/posts/what-is-a-remote-design-sprint/) at [Murmur Labs](https://curiouslychase.com/posts/murmur-labs/) and I want to capture an insight for the retrospective, here's how I would go through the process of capturing if both the Sprint and the Retrospective are new concepts in my Personal Knowledge Management System.

Capture the insight as a list item in my daily page. As an example:
   "- The flow of capturing questions asynchronously was awkward."

This is a list item captured for the _concrete_ sprint about its _Retrospective_. 

This one is tricky, because at first blush, it seems like the retrospective _should_ be concrete, but I only need to capture that it's for _a_ retrospective that is specific to _this sprint_.

In this case, I would create a note for the Sprint ("Sprint WK12", for example) and tag it with #retro because I want to connect this specific Sprint with any notes about its Retrospective.

Now when I view the specific Sprint note, I can have a view that finds any items across my notes that references the note "Sprint WK12" and has a tag of #retro.

# Heuristic

- Is it a concrete object/event? If it is, it should be **a note**. Things that satisfy this would be "My House", "A Meeting on Thursday", "Some Specific Sprint", "The Surprising Power of Liberating Structures (Book)"
- If it's not, it's probably abstract and should be **a tag**. Things that satisfy this would be "retro", "meeting", "book", "task".

# Example of How This Heuristic Helps Me

The reason I find this useful is that I don't usually find myself writing queries for _just_ abstractions of objects/events.

I usually refine a query for a concrete object or event with the abstraction ("Show me all items tagged #retro for this week's sprint.").

An example of the code for this DataView would be:

```js
//```dataviewjs
dv.list(dv.pages().file.lists.where(t => t.text.includes("[[WK13 Sprint]]")).filter(t => t.text.includes("#retro")).map((t ) => t.text))
//```
```

This renders like this:

I could take that even further and use a subtag for #retro, such as #retro/dislike.

This would allow me to organize my #retro notes by "like", "dislike", "change".

If I wanted to see all retro items in some other note, I could use the same [DataView](https://curiouslychase.com/posts/dataview-obsidian/) JS query without the initial includes for the sprint, then refine it as necessary.
