This is a great thread. It is about one standard that is constrained, but a suggestion is to add to that constrained standard an area dedicated to whatever a user would like to stuff in there.
Historically there have been two similar standards - for Information Managers there is the ‘Topic Map Data Model Standard’ standard (see https://www.isotopicmaps.org) and for older programmers there is Java Serialization (Serialization and Deserialization in Java with Example - GeeksforGeeks). Both of these are reducible to YAML if you beat yourself on the head until you figure out some way to put into yaml every conceivable object property type (serialization) and if you force every kind of identifier (in the Topic Standard, an Identifier can appear many times in the same record, each unambiguously identifying the subject of the Topic Object) into YAML - and that is before the user gets the power to write a non-YAML or a personalized user area.
To state this with less cleverness, the need being discussed is on the one hand some form of object structuring (by properties for now) where naming is standardized up to a point, and on the other hand the need for writing stuff with an understandable markup language. The markup language issue could be due to starting from nothing and getting some distance quickly as the most realistic dev approach (NOT because that is the way it was started, but because it was a realistic approach). The YAML markup language approach still works because it is easier to convey and requires less development of tools.
But there are stresses that will rise higher and higher on this. Add pointers / links —— oh, wait, how about pointers into this or that database for indirection / cross-referencing, or how about highly tuned references (Bluebook standards: 3 or four different standards each a ‘uniform system of citation for legal texts’), or some easy mobility standard where there might be 20 directories on a machine that are various versions of the same database so there has to be some ‘root’ for the object and for the database. This will go on and on while the object structure is developed. In some ways that is fun.
There are ways around it. For instance a simple tool and a simple base object structure could be developed for reading/writing a major part of the settled structure out into YAML (or some other newly accepted standard for the auto read/write portion). The tool could be improved over time to translate whatever is in the base area to the new standard (as it gets released), and accept other YAML that is being added to the released standard and writing it out in the new standard. This is the realistic method for moving properties with new data types into the object structure. It is used in versioning mechanisms for data and programs.
The real reason behind the need for these versioning / upgrading scenarios is complexity, and complexity grows. Notice the Topic Standard’s allowance of multiple unambiguous identities and thus identifier field values. With complexity, that structure falls apart. Consider that in the early 1970’s there were so many people with the same exact social security number that on a campus of 30,000 students it was anticipated that there would be 25 students with an overlapping SSN. At Penn State there were 3 students with the same SSN, and two had the last name of Murphy. That was all fixed with versioning and a lot of hassle. Main point is that there has to be this kind of mechanism.
Consider what it will be like if the mindmap gets more structured and solidified. Pointers will be used. Nice diagrams. BUT, what happens when the same topic appears with good reason in two different maps. Or, how about at two places in the same map. Or, how about if it is in different places in 50 maps, and where it appears is dependent upon outside variables. How about where it is a root in one map that allows only trees, but is also a root in a map that allows forests, and thus has to be moved down one layer. How about if the location of the topic in a map is dependent upon the ‘fuzzy set’ of relationships into it as compared to other children of a parent. That is a head scratcher but it is what happens when positions of topics depend upon variables on relationships.
There are other methods for handling this kind of issue. First rule - don’t get locked in (and handle the griping / misunderstanding / over-broad explanations). Second rule - don’t under spec - there will be almost obvious situations that can be handled early to save a lot of later pain. Third rule - listen a lot and listen early by outing opinions.
(Aside: I think Obsidian is going to good places, and I think I can help, so I will. Thanks for being there.)
D