Reading over Writing
Knowledge and code should be read more often than written. Otherwise, the cost of writing it down is in most cases not justified.
-
Human Readers First
-
Easy for Agents, too
Agents can read the syntax of ddot.it without any skills, plugins or instruction.
Easy to Write
The basic syntax of ddot.it can be taught in 20 seconds:
-
All knowledge is triples
-
Example:
ddot.it ..has type.. language -
Structure:
subject .. relation .. object ,, here is optionally metadata about the triple
Programs can emit ddot.it trivially. Just ensure no double-dot appears in subjects or relations. In objects, either ensure no double-comma appears or always use the https://ddot.it/block command.
Less is More
Less syntax is better.
The fewer syntax elements ddot.it has, the easier it is to learn. And use. That’s why ddot.it has no syntax for lists. The only syntax sugar is an omitted subject.
More is Better
More triples is usually better.
In some rare cases, text which was not meant to be a triple is interpreted as a triple. Usually, there is no downside to it. Yes, a search would find some noise.
On the other hand, data meant to be triples should not be hard to type. If knowledge is hard to type, it will not get typed.
Be a Nice Guest
Don’t ask what you can embed in ddot.it, ask where you can embed ddot.it into. Ddot.it is a guest language in a host language.
Instead of putting HTML values in a ddot.it !!block, write an HTML file and annotate it with ddot.it tags. Use the HTML-specific ways, like custom component syntax or data attributes syntax. See HTML reader.
Connect the Dots
By re-using the same subjects, relation and/or objects in multiple places, a web of knowledge is created.
Make Simple Things Simple and Advanced Things Possible
The headline says it all.
You can go from a simple triple gradually by inserting more characters to more and more complex knowledge graphs.
Dirk .... SAPInterpretation: ("Dirk", "links to", "SAP")
You want to formalize how the two entities are related?
Dirk ..works at.. SAPInterpretation: ("Dirk", "works at", "SAP")
Want to add a textual note on the triple?
Dirk ..works at.. SAP ,, as developerInterpretation: ("Dirk", "works at", "SAP")["text", "as developer"]
Attach formal meta-data on the triple?
Dirk ..works at.. SAP ,, as developer;; ..since.. 2024Interpretation: ("Dirk", "works at", "SAP")["text", "as developer"]["since", "2024"]
We only ever added characters, having all complex stuff completely optional.