Hi friends
I hope everyone's ok and having a nice summer!
So, the idea here is to use natural language directly as knowledge storage format, rather than using RDF, triplets, graphs, PROLOG, ...etc. Indeed, all these logical, digital, discrete formats need an anchoring, generally in the form of a textual description, to indicate the exact meaning of the relations and entities being used. This shows that these formats are fundamentally - inherently - deficient: they only capture part of the author's intention. However, today there are many tools and techniques for manipulating natural language, to search for it, to understand and analyze it, and to generate it. Maybe there's no need to limit oneself anymore, to formats whose main quality is ultimately to be "traditional".
Of course it's deliberately provocative but I think I can show that with the slightly structuring contribution of Markdown , we actually get a good quality format.
Let's take the Markdown syntax elements one by one.
First the titles and subtitles, marked with one or more # characters. They make it possible to hierarchize information by creating "container/content" pyramids which are the basis of any information structuring. This same structuring effect can be achieved with plain text, but not without some ambiguity, unless you use fixed recognizable sequences of characters, which amounts to the same thing. As a bonus, you don't waste a sequence of letters (like "Second Section") that you might want to use for something else.
Second important syntax element: links. One of the delicate points in the treatment of natural languages is the resolution of coreferences. If we use natural language to store knowledge, we obviously want to be sure that there is no ambiguity in the relationships. Markdown links come naturally to satisfy this need. But the link itself also offers a space to define the appearance of the link, and this space can be used to qualify the role of the pointed element (like the name of a connection port).
Third element, lists, both bulleted or numbered. I personally think that the intent behind these two forms is likely to be interpreted differently from person to person, which is why it is best to treat them as one single piece of syntax: lists. The use is then obvious: a list groups several entities to form an entity which represents their union.
Fourth and fifth syntax elements, blockquotes and code blocks. The blockquote allows you to make meta-descriptions, while the code block allows you to switch to another language, for example to integrate a mathematical formula, which seems useful.
Finally, the last elements that I'll take into account, bold and italics. Although their meaning depends on the context, they always serve to focus the reader's attention on a particular point in the text. As such, they represent a useful communication - and therefore representation - tool.
To me, this pushes towards some kind of document store based system, containing the information as natural language in Markdown, where the information is connected in an unambiguous way, and always corresponding exactly to the intention of the author. The distortion of meaning that exists between what the author writes and what the reader reads is natural and legitimate: it corresponds to a classic written communication between two humans. The medium forms a common working basis, inviting mind-to-mind collaboration to improve the content.