Skip to content

Ultra Compact Spec

Fresh

The most compact meaningful definition of MD-LD.

Core Idea

MD-LD is Markdown where {...} annotations after text carriers (spans, headings, lists, blockquotes) produce RDF quads. Strip {...} blocks to get valid Markdown. Keep them to get a knowledge graph.

Prefix

[p] <IRI>       — declare namespace; [p2] <p1:sub/> for folding

Carriers + Annotation = Triple

[value] {pred}          → S pred "value"
[text] {+O ?pred}       → S pred O
[text] {+O !pred}       → O pred S
{.Class}                → S rdf:type Class
{=IRI}                  → set subject (no triple emitted)

Polarity

{-pred}    retract literal
{-?pred}   retract object link
{-.Class}  retract type

Same-doc cancel: both disappear. External retract: goes to remove.

Invariant

quads ∩ remove = ∅ always.

Rules

  • No blank nodes
  • No structural inference
  • Subject persists until next {=...}
  • label = rdfs:label, comment = rdfs:comment
  • Built-ins: rdf, rdfs, xsd, sh, prov

API

js
parse({text})          → {quads, remove, statements, origin, primary, primarySubject}
generate({quads})      → {text}
merge([texts])         → {quads, remove, ...}