Using non-node headings and ways of working?

This has come up before https://org-roam.discourse.group/t/control-over-headings-turning-into-nodes/2217. I’m asking because I’m curious how other people work.

Here’s something I find myself naturally doing when creating “hub” pages that link to a relatively large number of other pages. I’m going to create node fruit as a new org file, and make some links in there to some nodes that don’t exist yet:

* roam:apples

* roam:bananas

Then I’ll click on the link that I got from typing roam:apples and enter my thoughts about that:

Apples are nice.

Now when I use org-roam-node-find and search for apple, I get two results labelled simply apple: one to the apples node that’s its own org file, one to the apples node that’s a heading in the fruit file.

That’s expected when I think about it: as I understand it, headings with ids are nodes in org-roam, and using roam: to create links in a heading creates an id in the heading. So I can just delete that id to make the heading not a node, or maybe even write some elisp so I can control whether the id gets inserted (anybody done that? I’ve been hiding the properties drawers, so if I continue to use headings and properties this way I’ll need that).

I imagine people winding up to let me know that I could use org “plain lists” (what you get e.g. by using - as bullet character). Fair enough, but I also like to use headings just as lists because I like their plain-old-org behaviour.

Does anybody else feel this way? Did you resolve that just by deleting the ids, or did you find some other way of working?

What are your habits? I’m not committed to how I’m doing any of this so I’m really interested to hear how people do things differently, as well as tips on my specific way of working I’ve described here.

By the way, these link-y pages of mine aren’t necessarily gigantic lists – I don’t feel the need to make every list I start “comprehensive” – but there are obviously always going to be some nodes that are more highly connected than others and some may be fairly long.

Usually I add a ROAM_EXCLUDE property with t value to a heading. Then there’s no need to remove the ID, so you can still link to it. But it won’t appear as a node.

What do you actually type to insert the link (like the link from the fruit file to the apples file)?

It seems inserting links easily is an important thing – both ones to existing nodes and ones to new nodes.