Hi,
Background
I’ve been using Logseq for about one and half year, and I have tried several approaches of categorizing information. I am now trying to build a comprehensive taxonomy for my PKMS and organize my notes around that taxonomy.
Question:
I am seeking feedback / advice on the naming conventions and / or metadata to use for terms or concepts that have the same name but different meaning or they have the same meaning but my relationship with them is different. I will go through a few examples to illustrate the issue
Elements with the same name but belonging to different topics
For example, there is Celery
the veggie and Celery
the distributed processing engine. One approach that I have thought of using is Celery (Vegetable)
and Celery (Technology)
to distinguish between the two
Terms with same name but one corresponds to a topic and the other to a physical object
For example, Scion TC 2005
:
- Is a car model for which I want to capture knowledge such as engine information.
- At the same time, it is my car, and for that I want to track TO-DOs, mechanical work that has been done etc.
The approach I’ve though for that is to have an additional property (e.g., `Inventory’:: Yes) or an additional tag e.g., [[asset]]
This distinction will help when trying to filter for information pertaining to either topics.
Elements that correspond the same entity, but my relationships with them is different
An example here is the company ABC Widgets
. That company produces widgets for which I want to capture knowledge about but at the same time they are a client of mine and I want to track TO-DOs related to my work for that client.
A potential approach here is to add a tag such as [[client-work]] or a property is_client:: Yes
I would appreciate your thoughts!
The primary means for disambiguation between same-name concepts is namespaces.
- Read Hierarchical tag system
- Ignore hierarchy, read namespaces.
- Your examples could become:
vegetable/celery
and technology/celery
- or
veggie/celery
and engine/celery
model/Scion TC 2005
and asset/Scion TC 2005
- or
topic/Scion TC 2005
and object/Scion TC 2005
company/ABC Widgets
and client/ABC Widgets
- In other words:
- the right part is the common name
- the left part is the family name
- Prefer family names that group concepts conveniently.
1 Like
Thanks a lot @mentaloid !
I thought of namespaces before, and even they provide a simple solution to the problem, I think that later on (and for cases I am probably not aware of right now), they might make querying more difficult or more complex. For example, if I want to retrieve information across namespaces where ABC Widgets
exists, I need to manually enter each node of the tree e.g., company/ABC Widgets
and client/ABC Widgets
etc. in my query.
That’s why I was considering a property or a tag-based approach.
Thanks again for the response. I really appreciate it.
If I understand correctly what you are saying here:
Querying namespaces is not particularly difficult.
You just have to enter a single entry with :block/namespace
I would construct an advanced query that will traverse all namespaces and find all matches with the “leaf node” name e.g., Scion TC 2005
in one of the aforementioned examples. (I am kinda struggling with advanced queries, but it’s useful to know that there is at least this option to retrieve information across namespaces)
You can also add aliases to your namespaced pages. That way, you can maintain your categorical hierarchy, but also be able to reference your pages easily inline. With some quick testing, I think aliases are resolved properly when searching, too.
For example, I have a page tech/logging/tracing for info about trace logging. I have it aliased as tracelog, which is how I reference it inline.
1 Like
Thank you both for the help!