This is the idea of splitting a node into variations with different context, different wording, or otherwise branching off of a node to create a related one that inherits some of its relations. We probably want some kind of bifurcation mechanism if:
- We want to handle significant changes in phrasing (changes that have implications for connected nodes)
- We want to introduce some level of canonicality (where context, e.g., place, starts to become important)
- We want to have a mechanism for comparing variations of nodes (though this could probably be done in other ways)
Scopes of Canonicality, Node Reuse, and Bifurcating the Graph
The idea of canonicality, at least as expressed by CDL, is that nodes (or claims, in their case) are reused globally where possible. That is, literally globally. But there are several other scopes of node reuse at more local levels, some of which could even exist simultaneously within a single system. Adjacent to discussions about canonicality is the process of “bifurcation” which refers to the idea that, in order to reuse nodes in multiple different contexts, or to produce variations of nodes that are unique to each context (however you choose to think about it), you need to undertake a process of pulling the graph apart into layers or “plies” that pertain to each context. This process is also referred to by CDL as disambiguation. The specifics of this process remain elusive, but it appears that such a process would have broader application than just navigating the different contexts associated with canonicality. It could also be useful in managing varying levels of specificity in nodes, varying phrasings of nodes, or other types of variations on regions of the graph, e.g., variations on solutions to a problem. The underlying idea is that when you create a variation on a region of the graph, some of the connected nodes in that region will also apply to the variant while others will not. This decision-making about which nodes to “copy over” to the new variant and how to manage their relationships thereafter appears to be the key part of the process that remains unsolved.
The CDL on context management, phrasings, and specificity hierarchies
The CDL’s solution to context differences in a canonical debate is to attach a list of contextual properties to each claim which can be used to clarify the specific areas where the claim applies. They also hope to use this same mechanism to handle varying levels of specificity. They hope to handle rephrasings/refinements using manual curation.
On phrasing vs. specificity
Much of the time, rephrasing a node will be done in order to add specificity that was found to be lacking. However, sometimes you also need to rephrase something because it was too specific, somehow misleading, or otherwise a poor characterization of the subject you’re dealing with. So there are cases of rephrasing that are not related to specificity.
List of scopes and implications
1 / Small topics
Simple problems; under 100 nodes; undertaken by small groups who are probably in communication outside of Ameliorate.
- There is no real concept of canonicality here. Though nodes may be used for multiple purposes within a topic, there will be little difference in context between them.
- If a node needs to be rephrased, all the implications can be handled manually.
- Multiple levels of specificity don’t need to be explicitly modeled; users can simply choose the specificity that best suits the topic.
2 / Large topics (similar to Obsidian vault scale)
The topic “how best to design ameliorate” would be a large topic since it admits of many subtopics.
- As maps grow, there’s a greater chance of nodes needing to be reused across varying contexts. This can lead to the node type feeling inappropriate in some cases or to the node content being misleading if it makes a claim. However, these issues can probably still be handled manually at the large map scale.
- If a node needs to be rephrased, the implications could be significant as many layers of other nodes may be attached which depend on it. It’s unclear whether changing node text and then manually handling implications will be sufficient or whether some method of graph bifurcation would be useful to handle the process of making a new variant of the node and transferring only a subset of its neighbours.
- Levels of specificity will almost certainly need to be modelled at this level. Perhaps this can simply be done using chains of “problem” or “component” nodes to indicate generalizes/specializes relationships.
3 / User-level canonicality
This scope slightly expands on the “large topic” scope by allowing node reuse between all topics that a user has created. Its characteristics are probably fairly similar to those of the “large topic” scope.
4 / Region or domain-level canonicality
It’s possible that node reuse could be permitted among geographic regions or professional domains such as medicine.
5 / Global canonicality
Hard mode.