# ddot.it > ddot.it is a minimal, plain-text triple syntax for building a personal or enterprise knowledge graph across any tool or document type. It is token-efficient, Markdown-compatible, and easy to type on any keyboard. ddot.it lets you embed typed links (triples) directly in any text — source code comments, Markdown, YAML, AsciiDoc, plain text, and more. A **ddot collector** reads those sources, extracts all triples, and combines them into a single knowledge graph in Connected JSON (CJ) format. For writing ddot.it, just read write.md and skip the rest. ## Syntax - for Parsing ### Codepoints Newline normalisation is applied before parsing: `CR LF` → NL, `LF` → NL, `CR` → NL. Whitespace is stripped from the start and end of names. Whitespace (`WS`) is TAB plus every Unicode space separator (category `Zs`) — so NBSP (U+00A0) and NARROW NO-BREAK SPACE (U+202F) count as whitespace, because they are visually indistinguishable from a space. Zero-width characters (U+200B, U+FEFF) are category `Cf` and are ordinary text. ### Tokens Symbol characters (`.`, `,`, `;`, `!`) form **maximal runs**; a run is a special token only at its special length. Everything else is text (`TX`), so `Node.js` and `U.S.A.` contain no operator. | Token | Meaning | Regex | |-------|-------------------------------|----------------------| | `DT2` | exactly two dots | `(?