The remaining advantages of tags over properties in Obsidian

I strongly agree, Nick. It will be great to have feature parity since I think properties are the future.

But for now, I continue to add data in two places: (1) frontmatter and (2) tags, so to get benefits from both metadata approaches. I would prefer, though eventually, to use Properties.

I’ll draw some attention to this post for more feedback.

5 Likes

Especially using tag wrangler to make “Tag Pages” by adding tags as aliases to a note, so they then appear as unlinked mentions. Pretty cool!

2 Likes

Well said. I agree and wait for devs to make their next steps.

1 Like
  • As properties stand now:
    • A tag is a label or series of nested keywords. This age old stalwart does one thing and it does it very well; just like all the other note making and knowledge tools we’ve ever used.
      • In obsidian tags have “baked in” core functionality the other properties don’t yet have; nesting for example and, I suspect, indexing. This is the only non community plugin way to create hierarchies with meta data today; although with careful use of dataview From & Where clauses and properties, you can create them for the output list or table.
    • The other properties have properties (type) just like any object oriented programming language and database. Some of the properties can be containers for other stuff (list and text properties can contain text or links); implied subtype.
  • I’ve assigned basic properties to nearly all my notes, but am holding off on anything further until the core database features and functionality is known.
    • Just being able to do this has made my vault incredibly useful, for me, and I’ve re-discovered the value & joy, and distraction, of Dataview.
    • Other than nesting, I’m waiting to see what the difference is between tags and the other properties.
  • Why?
    • Currently, all frontmatter pertains to a note. If that is a core design for the future, it will fundamentally change the way I use obsidian; yep, I’ll be forced to atomize:) Not a bad thing, but a huge effort.
    • In my case, I run the risk of over assigning properties and then having to clean them up again. This is an important point to make - consider the effort most of us are now making cleaning up history and with assigning new properties. If we are making the wrong choices now, how much will the effort be when the core database functionality is released?
  • I am an Obsidian lifer because of the community. But I feel like the team needs to present some direction and guidance in this area. This is a significant inflection point.
11 Likes

Ah yes…

One of the many reasons why I won’t be upgrading to properties any time soon. There is a fluidity to my current system and properties would throw all that into turmoil/

3 Likes

Not a rebuttal, just some thoughts in reply to keep the convo going.

I feel this. There are subtle and not-so-subtle ways in which Obsidian encourages us to work in files vs. blocks:

And to this I must agree, and because of other sentimental reasons, like devs both being University of Waterloo alums, which is true of me. I also respect they are new parents probably feeling how I feel right now lol.

But it is true that (as with the majority of other tools these days), changes are incremental and IP has to be protected by not revealing too much. I understand this even if I don’t like it. But there are folks in this community who design their lives around use of this tool, so some I sympathize with the desire for more information since I myself, as a professional researcher, feel overwhelmed by the evolving capacity of Obsidian and the resulting changes I have to make to my flow.


edit 2023-10-23 1545-50 - I am also seeing the writing on the wall with regards to files vs. blocks. The coming “Database” feature means files, not blocks. I’m not complaining. I think a Database feature would make Properties more meaningful and useful. Dataview is powerful, Datacore will be more powerful, and core Databases will be wonderful for my mental bandwidth if I use it (and hopefully Datacore and core Databases prove to be the same thing, with “Datacore” being a hint that Dataview is being sherlocked).

I will make an additional and final comment. A nested tag is equal to a Property. E.g., #genre/science-fiction is equal to

---
Genre: Science Fiction
---

However, what is lost by using a property instead of a tag is what @ton mentions:

We also lose “clickable search” (one of @nickmilo’s original points in this topic) and finally, bulk editing and renaming via Tag Wrangler (can use Visual Studio Code “Replace in File” instead, but this is not user friendly or as convenient when attempting to conduct oneself entirely in Obsidian).

But what is gained by using a property instead is de-cluttering the content of a note and individual blocks of text, as well as reducing the overall number of tags in the vault which is nice for sanity.

3 Likes

One should also ask how to work with individual text blocks. Should they be separate notes which can then be organized be properties? In theory we could have very fluid workflow to transfer text blocks to new notes with a backlink. This doesn’t mean tags are completely useless, but their usefulness is more and more unobvious. At least tags could be used to add metadata to tasks, but none of us know in which direction task management in Obsidian is going. Maybe we can associate tasks to notes in some day. Why do care about inline metadata because we could have a separate note entry for such thing?

I can only say that using Obsidian and by trying to maximize the utility of blocks and search results, I have become very good at writing paragraphs.

But to your point, how to work with text blocks indeed. In-line links attempts to render blocks as less necessary than tags (I would argue), so that is one suggestion, and then of course, as you say, these links lead to pages with properties that somehow add value to the blocks in which the links to these files may be found.

I don’t use tasks in Obsidian so I won’t make any comments there, but regarding in-line metadata, it (for me) helps me to stay “in the content” rather than “in the file” so that instead of thinking about properties, I’m thinking about what I’m writing.

In short, links (pages/files) require or in some way encourage me to think more about file management, but tags seem to help me simplify.

3 Likes
  • Meaningful thoughts imply a commitment of time and I appreciate your time. Ditto for the devs here; they are on a thoughtful path with this wonderful tool.
  • In recent years, I’ve had opportunity to interact with a number of Waterloo folks in other areas of my life; they all have that thoughtful thing going on.
  • I recall after canvas appeared my ranting about the issues around block & section links and transclusion. But, ya know, even if properties are not given to them in core code, they work just fine; I adapted. And the simple but effective Copy Block Link functionality by mgmeyers is my most often used plugin. Like nature, another critter will fill a needed void. Maybe a tweak to this plugin will supply the solution to the FR Search: Copy context of search results and paste into note
  • Letting dust settle is warranted I reckon. That stop procrastinating video by Sam Matla gave me a tremendous lift; rich fodder in that guys head. His advice about using a project mentality has already born fruit with regard to properties. I juggle between science, music, and literary projects so applying a standard set of properties template to those notes in each project cloud makes perfect sense; there is not a perfect one size fits all frontmatter template for the whole vault.
  • I bet that property wrangler will appear; sorta has to.
  • The somewhat dated adage about normalizing data seems to apply to this topic - will we normalize at the file or block (atomic) level. Or maybe it doesn’t matter…
  • Kahneman gave us fast and slow. Dweck gave us growth and fixed. And, of course, the timeless different strokes for different folks. Obsidian, more than any other, really does fit in a neurodiverse community. I’ve learned and changed my use of Obsidian during the course of this thread.
  • Cheers!
2 Likes

Distilled - tags are nothing more than keywords with benefits.

2 Likes

That being said, tags can become “links” in similar fashion to proper links if added as an alias to a file, e.g.,

# Topic
---
alias: "#topic"
---

Tag Wrangler championed this, I believe. If one were to implement this practice, that would make the line between tags and links even thinner.

That being said, a link is equal to a file, and for a tag to be “linked” to a file, it must be done so in this way; as such it is not equivalent to a link. This matters because we can’t assign properties to tags, but we can to links (via the files they are links of). This is the direction Obsidian is taking, so I would argue the advantage of tag is simply convenience and cross-compatibility.

The convenience part is definitely one thing to consider here. Easy keywords with auto completion and then automatic link generation. They have already realized the importance of auto completion and it was adopted by properties. Maybe we see other realizations as well in the future.

The story of inline metadata is still in the hands of tags. In some way tags are logical way to indicate inline metadata because you only need one special character and then keyword. Key-value-pairs are too complex for inline metadata but they definitely have place in file properties. Sometimes you want to query one specific line exactly. Usually this is not needed but for example in language learning it’s very common task. How do you indicate inline metadata with some key-value pairs? You want a link to the source material and the actual phrase/word.

One very elegant solution would be to capture your word as a separate note. You don’t get the benefit of adding key-value-pairs directly here because the backlink destination doesn’t directly contain information about your exact thoughts when you made the backlink. There are several ways to deal with this situation but how about making yet another note for your inline capture? You could then capture the exact moment when you made the inline capture and then link that forward to your actual resource. I think this workflow is really powerful because you can re-use other links when making your capture. I’m not sure how to deal with that three-level linking when working with dataview queries but at least for now you have captured everything and they are properly connected.

The point here is that you want to indicate inline metadata somehow. With some equal effort compared to tags, you could do much more powerful stuff with links. You can make your note alias as #topic to emphasize a concept that you want to link. I really like this idea but it’s hard to market it to wider audience. I think it’s quite obvious that you have concepts that are linked frequently and then you have other notes that are not frequently mentioned. There is clearly a distinction but how a computer would do that distinction for you? And do we want to think this as black and white question? Maybe we want to specify more details about different concepts and then single yes/no information is not very useful. In that case we would want to use floating search similar to Slash commands.

1 Like
  • Have been lurking in discord in recent weeks simply to observe. And there is a typical lifecycle from new folks to experienced folks to trendy hipsters. We all stub our feet as we go on the same issues: where did I put it, what did I call it, how can I find it, what’s it about…
  • It resonates with me that all properties, including tags and links serve the function to categorize stuff so we can find it, analyze it, think about it, learn, and, hopefully, write more about it for some meaningful purpose.
  • Right now we assign properties to a note (yaml frontmatter) or embed an inline property to a smaller chunk of a note. Each of the properties is really establishing a relationship:
    • between notes - links
    • between a note or chunk and a concept defined by a named property (all properties sans links).
  • And then, of course, there are folders that corral files, thereby classifying them by folder name and sometimes with associated moc or folder notes.
  • Having just groomed my entire vault and assigning very basic properties, I’m not proceeding any further until I see where we’re headed with properties and if the fundamental object in Obsidian is a note or something smaller. Right now, the something smaller thing is error prone and just too full of friction and curse words. But I can live just fine with core search using the out of the box operators to find anything I need for my purpose. When I need a dopamine fix, I’ll craft a dataview script to answer some pressing analytical question.
  • Bluntly, I am done with chasing complex workflows and plugin solutions; all of it is ephemeral and results in emotional roller coaster rides.
  • I am at a loss in trying to offer any advice to anyone new in this space on how to get started or even begin to answer “why Obsidian?”. Be it sitting on somebodies couch with a laptop or a discord & forum post.
  • The advice of “oh just start using it” or “sure, you can use folders” or “yeah just put a tag there” or “the help docs are located here”…such advise is not wise and results in confusion later on. (sadly, I still offer them up and I know I shouldn’t).
  • The scene - am sitting on the couch and just gushed about how cool Obsidian is - look over at a blank stare - “can you just tell me what I should do with this note?”
  • The only answer for this particular person is a dichotomous key of questions to determine their purpose for the note, an estimate of their attention span & knowledge, and some understanding of how they think. Only then can some recipe of links, tags, properties, headers, and list items can be offered.
  • The help docs don’t provide guidance but do serve as reference if one has the patience to decipher the prose and experiment.
  • I used to advise folks to “go check out the Knowledge Management Channel on Discord” until I started perusing it recently. There is a huge gap between entry level folks asking basic questions and the core folks that camp in those areas now. And here on discourse we devolve into very long missives not easily shredded by new minds. (I know I’m guilty, falling on sword)
  • The vast majority of folks coming into this space do not think or behave like us early adopting and easily adapting scripting types. Heady discussions and philosophical pkm methodologies just feed the churn rate. We’re not doing fellow users or the industry any favors on our current path.
  • Somehow these tools need to provide for different mindsets and attention spans. Otherwise the industry will not grow and only be applicable for the cognitive elite and the “in-crowd”. Even the various LLM’s are challenged, most of my friends still don’t grok a properly worded prompt, they use it like a google search and get confused with the results and ask “why ChatGPT?”
  • The heros in this space are the special souls moderating the firehose of folks in the general channel. Hats off and deep admiration.
  • It will be interesting to see just how Obsidian goes about the goal of making itself more approachable.
10 Likes

Very interesting! Somehow, I hadn’t ever considered that possibility. But perhaps, like people have commented above, if they are separate things, Databases will be much more note based. And, Datacore is apparently going to be note, heading, and block based.

Clearly I haven’t kept up with the information as much as most. So, for others like myself, here’s a quote from the Datacore readme:

  • Section / Block Queries: Datacore indexes all files (including attachments, PDFs, and images), and supports queries at section and block level granularity.
3 Likes

Today I made a related but slightly different feature request:

I do believe we are asking for the same thing, but where you are looking for a clickable property values within notes, I am looking for clickable property values in the search menu. If our requests end up being merged, I think that would be a meaningful improvement to properties.

1 Like

Ha, so true!

Hi Mitch,
Could you please describe that workflow and the corresponding dataview?
Thank you! :slight_smile:

Let’s say my manager’s name was Joe. (It wasn’t, but let’s say that for this example.)

Our weekly 1:1 meeting was Tuesdays 10 am. There was never a specific agenda–just time for me to catch him up on what I had been working on over the past week, and anything else I needed to bring to his attention. Likewise, it was a time for him to bring up anything he needed to bring to my attention. (We also talked during the week as needed, for timely matters.)

During the week, if I thought of something to bring up on the 1:1, I either added it to the note for whatever project it was relevant to, or I’d just add it to the daily note. Either way, I’d tag the paragraph or section #Joe.

Just prior to our meeting, I’d click the tag, which called up search, review all the tagged items, and manually compile a list of things to discuss with my manager. The first time I did this I just read from the search box in Obsidian while meeting with my manager, but that was too disorganized, so instead I created a fresh list, and wrote out notes manually.

I did not use dataview for this process. Indeed, I do not use dataview at all. I find it a little challenging to configure and I just haven’t found a need for it.

1 Like

Hi Mitch,

thanks for describing your workflow.

tags are pagewise metadata, so I was interested how you attach them to sections or paragraphs. Your solution, to use the search for your workflow is lean and therefore beautiful :slight_smile:

If your interested to try a more sophisticated solution, you could try using the hashtag as a inline field and attach your information to it, for example like this:

in daily note:
#joe:: reminder to tell joe about XYZ

in project note:
#joe:: the following question is still open: blabla

then you could have a dataview, to query for the #joe-fields like this:

```dataview
Table row["joe"] AS "Topics to discuss with Joe"
From #joe
Sort file.name DESC
```
2 Likes

Thank you. In what way is that an improvement on clicking the tag?