The maturity layer · MRK-1.1 → 2.0 · the projection
Your Markdown is already a knowledge graph.
The strongest objection to Markdown for machine knowledge is that it is a flat blob: no typed objects, no relationships, nothing a reasoner can traverse. It is a fair objection to Markdown alone. It is not an objection to MRK, because an MRK article is a validated semantic contract that happens to render in Markdown, and one JSON-LD context turns a whole corpus of them into RDF.
No component CMS. No XML. No re-authoring. A file you already have, plus a context file served at this root, is linked data, and from there the same deterministic retrieval and inference a heavyweight pipeline delivers is available to a team that started the afternoon with a folder of Markdown.
Context, not conversion
The served mrk-1.1.context.jsonld maps every MRK key to a predicate in a governed vocabulary: Dublin Core for titles and provenance, SKOS for concepts, an mrk: namespace for the rest. An article's id becomes a node, its sections become typed nodes carrying their roles, its concepts resolve to taxonomy IRIs, and its relations become graph edges. Apply the context to the YAML and you have RDF; nothing was rewritten.
A small reference projector does the two things a context alone cannot: it stamps the RDF types and expands the typed relations into direct edges, so a dependency is a first-class link rather than a nested blob. It is the analogue of the RDF plug-in a DITA shop runs: about ninety lines, no model, no CMS.
Retrieved, not reassembled
Once the corpus is a graph, retrieval is a query, not a similarity contest. Two questions a vector index cannot answer reliably become one-line SPARQL, and they return the same result every time. The first assembles an answer by meaning: the resolution section for a concept, only from articles that apply to the reader, are current, and are public: the applicability and safety gates of clause §R, enforced before a token is generated. The second does impact analysis: if an article changes, what depends on it? A typed edge makes that a traversal, not an inference.
Vector chunking discards structure and reassembles context probabilistically; it works until it doesn't, and when it fails it fails silently. Graph retrieval preserves identity, relationship, provenance, and applicability, and it is explainable. The vector layer still has a job, interpreting a fuzzy question, but it suggests; the graph decides.
The last two rungs
This is what L3 and L4 on the Structure Graduation Ladder mean in practice. L3 is an article that projects cleanly and joins the graph; L4 is a corpus whose projected graph passes SHACL: the shapes that catch a dangling reference or a mistyped node across files, the integrity check a per-file schema structurally cannot make.
The context, the SHACL shapes, and the 1.1 schema are served at this root; the reference projector is open. Start where you are, a folder of Markdown, and climb.
Free to adopt
mrk-1.1.context.jsonld, mrk-1.1.schema.json, and shapes.ttl are served here. The reference projector is open. No email, no CMS, no migration.