I was thinking about
and
Coming up with a rigorous model for human thinking
and one of the big questions I was asking myself was how people can create and destroy the idea of "contexts", a sub-graph of the global knowledge graph. I realized that one thing that's related is that people can "zoom" in and out of ideas; that is, given a context, we can be asked for more detail, or less detail, and a person can provide it.
For example, consider the context in my mind of the SwiftUI framework. I could be asked to give a one-sentence description, a paragraph description, or write a few pages. This tells me I could create a composition of all the nodes and structure within that context, and I could modify the length of the composition as needed. But this brings up so many questions.
How do we create compositions at different "granularities", like the different size descriptions? At the very least we need to have an understanding of "importance"; how do I decide the detail to provide and the detail to leave out? Maybe importance of a node is the number of connections I have to that node?
In fact maybe a node is a context? When I first learned SwiftUI, I'll have created one such node. As I learn more, I would've created more and more nodes in the context of SwiftUI. But this also doesn't really fit with the idea that contexts can be quickly broken and destroyed. Maybe instead, it needs to be reframed as contexts being entered and exited.
Another question this brings up is if a node is a context...how is it actually determined what is inside that context? A basic answer would be it just contains all the nodes that are connected...and then when you "enter" the context, every node you create become implicitly connected to it.
If I'm asked "Provide a description of SwiftUI to someone who already knows what Swift is" then I compose the context of SwiftUI excluding the context of Swift; since the person already knows it. In fact, when I'm asked "Provide a description for SwiftUI" I'm really just picking a default value for how much context my audience has, and then composing based on that. My answer would depend on how much my audience knows, since it will let me know what I should and shouldn't compose.
One of the problems with this though, is that everything in SwiftUI is inherently linked to Swift. If a node connects to both SwiftUI and Swift, does it get included in the composition?
Additionally, how do edges get composed? i.e. a relationship can be very nuanced and complicated, and can also be composed at different granularities. I think it happens by comparing and contrasting the two ends of the edge somehow.