I've been a bit slow to catch on to parenting and intra-Web navigation but have now come up with the following idea.
Add parenting support as suggested by Peter in GenericMetaDataStoreForTopics and NavigationByTopicContext. So there is a new meta tag that links to the parent (i.e. the topic from which the link was originally created).
Bring together categories and parenting. At present a topic is given a category by the user selecting UseCategory (then selecting from multi-dimensional items e.g. TopicClassification, OperatingSystem) when editing, this results in special HTML markup. How about having the parent being the category definition. The category definition would define the possible categories.
The category defines a subset of a Web which these then act on
This is just as applicable to parenting, which itself defines a sub-set of a Web
Why not allow multiple parents?
In this instance a topic only has one parent, but multiple god-parents (please someone think of a better name)
I think this is simpler and allows a basic one line context (chain of parents). Similarly, OO languages now tend away from multiple implementation inheritance to one parent, but the ability to have multiple interfaces. Same simplicity arguments apply here - e.g. if there is only one parent, this relationship could be used for namespaces and security as well as grouping.
Expecting to re-parent seems wrong, re-parenting should be rare
Relationship between namespaces and NavigationByTopicContext - I feel that parents could in the future define namespaces (part of any topic is a Web, it's children are within that Web). But, generally we don't want the namespace of a topic to change once created (external references broken and just generally confusing) Present situation can be seen to model this with a topic able to link directly (in namespace terms) to everything below level 1 in it's tree.