Add support for automatic, bidirectional and separately named list properties

Use case or problem

I started a PhD, and therefore my Vault is growing fast recently with all the bibliographic content I read and to save in my second brain. However, I am facing a limitation regarding the metadata of my notes. I need to tag notes to say that some are a component of others, and want this to be somehow bidirectional and obvious.

I need automatic, bidirectional and separately named list properties.

As an example, if I work on some construction materials, I want to specify that Particle board, MDF board and Plywood notes are part of my Wood panel note (i.e. they are hyponyms of Wood panel). On the other hand, when looking at Wood panel note, I would like to see that it is the hypernym of Particle board, MDF boards and Plywood.

It would make sense that these two properties, Hypernyms and Hyponyms are one and only one dynamic property that acts bidirectionally but separate in terms of naming. Therefore, I could also register a new Wood panel note, like OSB board from the Wood panel note which is through Hyponyms property. As I could do this linking the other way around, from the OSB board note through its Hypernyms property.

Proposed solution

Implement bidirectional properties that auto-update related notes automatically.
This feature is intended to work like Notion’s databases Relation properties, where one can define a bidirectional relation to other notes and give it a different name depending on the relation.

Notion like Relation property, with separate direction
Figure : Notion like Relation property, with separate direction

Current workaround (optional)

There are two approaches as of now:

  • Manual approcah: Manually create the reverse direction property and manually add links inside every time to create a new link from the opposite direction (cumbersome, won’t do it)
  • Semi-automatic approach: Create one of the directional property (e.g. Hypernyms) and make use of Dataview plugin to list the opposite direction on the other notes (i.e. Hyponyms). Here you need to add a Dataview code on every note basically and to add a hyponym somewhere, you’ll need to go to all hyponym notes and add their hypernym in Hypernyms property.

Related feature requests (optional)