Skip to content

Examples

Fresh

A collection of comprehensive, grounded example documents demonstrating MD-LD capabilities across real-world domains. All examples are complete, working MD-LD documents that parse and round-trip safely.

Getting Started Examples

Minimal

The absolute minimum: basic properties with typed values (xsd:date, xsd:integer, xsd:decimal, xsd:boolean), subject declarations, and simple links. Perfect for first-time learners.

markdown
[my] <tag:you@example.com,2026:>

## Resource {=my:resource .prov:Entity label}

[My first resource] {my:title}
[2026-05-06] {my:date ^^xsd:date}
[42] {my:count ^^xsd:integer}
[true] {my:active ^^xsd:boolean}
[3.14] {my:ratio ^^xsd:decimal}

## Related {=my:related .prov:Entity label}
[resource] {+my:resource ?my:relatedTo}

Personal Journal Entry

markdown
[my] <tag:you@example.com,2026:>
[j]  <my:journal/>

# 2026-05-06 {=j:2026-05-06 .j:Entry j:date ^^xsd:date label}

## A good walk {label}

Mood: [happy] {j:mood}
Energy: [8] {j:energy ^^xsd:integer}

Met [Bob] {+my:bob ?j:met} at [Central Park] {+my:central-park ?j:location}.
The weather was [sunny] {j:weather}.

Domain Examples

Personal and Temporal

Journal — Personal journaling with temporal hierarchy (year, month, week, day), activities, and temporal relationships. Demonstrates hierarchical subject chaining, temporal properties (prov:startedAtTime, prov:endedAtTime), and activity tracking.

Tasks — Task management system combining RDFS class definitions, property constraints, and status tracking. Shows ontology definition patterns with rdfs:Class, property ranges, and task lifecycle management.

markdown
[my] <tag:you@example.com,2026:>

# Project Alpha {=my:alpha .my:Project label}

Tasks: [design] {+#design ?my:task sh:name}, [build] {+#build ?my:task sh:name}.

## Design {=#design .my:Task label}
Status: [done] {my:status}
Assigned: [Alice] {+my:alice ?my:assignee}

## Build {=#build .my:Task label}
Status: [in-progress] {my:status}

Research and Data Science

Medical AI Research — Scientific paper demonstrating:

  • Multi-author attribution with roles and contributions
  • Dataset versioning (primary to augmented to derived)
  • Research activities with temporal boundaries
  • Qualified associations tracking who did what
markdown
[res] <tag:lab@example.org,2026:>

# Deep Learning Study {=res:study .prov:Activity label}

Started: [2026-01-01] {prov:startedAtTime ^^xsd:date}
Ended: [2026-06-01] {prov:endedAtTime ^^xsd:date}

Authors:
- Dr. Chen {+res:chen ?prov:wasAssociatedWith .prov:Person label}
- Dr. Park {+res:park ?prov:wasAssociatedWith .prov:Person label}

Used dataset [ImageNet v2] {+res:imagenet-v2 ?prov:used label}.
Generated [Model v3] {+res:model-v3 ?prov:generated label}.

Project and Business

Website Redesign Project — Complex project management with team structure, phases, dependencies, and complete activity provenance. Shows:

  • Team roles and responsibilities
  • Multi-phase workflow (planning, design, development)
  • Activity sequencing with prov:wasInformedBy
  • Entity usage and generation tracking

Task Management System — Comprehensive task system combining RDF/RDFS for ontology definition with practical task modeling.

Complex Systems and Missions

Cassini-Huygens Mission — NASA/ESA space mission with detailed timeline:

  • Multi-agent systems (orbiter + probe acting on behalf of organizations)
  • Long-running activities spanning years
  • Precise temporal markers (xsd:dateTime)
  • Entity generation tracking through mission phases
markdown
[esa] <tag:esa@example.org,2026:>

# Cassini-Huygens {=esa:cassini .prov:Entity label}

## Launch {=esa:launch .prov:Activity label}
Started: [1997-10-15T00:00:00Z] {prov:startedAtTime ^^xsd:dateTime}
By: [NASA] {+esa:nasa ?prov:wasAssociatedWith label}

## Saturn Arrival {=esa:saturn-arrival .prov:Activity label}
Started: [2004-07-01T00:00:00Z] {prov:startedAtTime ^^xsd:dateTime}
Informed by: [launch] {+esa:launch ?prov:wasInformedBy}

Ontology Examples

RDF Fundamentals

Basic RDF concepts: class definitions, property ranges, and type hierarchies using RDFS vocabulary.

markdown
[ont] <tag:you@example.com,2026:ontology/>

## Person {=ont:Person .rdfs:Class label}

> A human being in the knowledge graph. {comment}

## Organization {=ont:Organization .rdfs:Class label}

> A formal group of people. {comment}

## worksAt {=ont:worksAt .rdf:Property label}

Domain: [Person] {+ont:Person ?rdfs:domain}
Range: [Organization] {+ont:Organization ?rdfs:range}

PROV-O Patterns

Complete provenance vocabulary:

markdown
[prov] <tag:you@example.com,2026:provenance/>

## Report {=prov:report .prov:Entity label}

## Analysis {=prov:analysis .prov:Activity label}
Started: [2026-05-06T09:00:00Z] {prov:startedAtTime ^^xsd:dateTime}
Ended: [2026-05-06T11:00:00Z] {prov:endedAtTime ^^xsd:dateTime}

## Analyst {=prov:analyst .prov:Person label}

{=prov:report}
Generated by [analysis] {+prov:analysis ?prov:wasGeneratedBy}
Attributed to [analyst] {+prov:analyst ?prov:wasAttributedTo}

SHACL Validation

Self-documenting validation shapes:

markdown
[my] <tag:you@example.com,2026:>

## Person Shape {=my:PersonShape .sh:NodeShape label}

Validates all [Person] {+prov:Person ?sh:targetClass} nodes with:
[name rule] {+my:PersonShape-name ?sh:property sh:name} and
[email rule] {+my:PersonShape-email ?sh:property sh:name}.

### Name rule {=my:PersonShape-name .sh:PropertyShape}
Path: [label] {+label ?sh:path}
Required: [1] {sh:minCount sh:maxCount ^^xsd:integer}
> Every person must have exactly one name. {sh:message}

### Email rule {=my:PersonShape-email .sh:PropertyShape}
Path: [my:email] {+my:email ?sh:path}
Required: [1] {sh:minCount ^^xsd:integer}
> Every person must have an email address. {sh:message}

XSD Datatypes Reference

markdown
[types] <tag:you@example.com,2026:>

## Datatypes {=types:examples label}

String: [Hello, world] {types:str ^^xsd:string}
Integer: [42] {types:int ^^xsd:integer}
Decimal: [3.14] {types:dec ^^xsd:decimal}
Double: [3.14e2] {types:dbl ^^xsd:double}
Boolean: [true] {types:bool ^^xsd:boolean}
Date: [2026-05-06] {types:date ^^xsd:date}
DateTime: [2026-05-06T14:30:00Z] {types:dt ^^xsd:dateTime}
Time: [14:30:00Z] {types:time ^^xsd:time}
Duration: [P1Y6M] {types:dur ^^xsd:duration}
URI: [https://example.org/] {types:uri ^^xsd:anyURI}
English text: [Hello] {types:en @en}
French text: [Bonjour] {types:fr @fr}

Advanced Patterns

LLM Time Workflow

Complete LLM-assisted workflow with provenance tracking, temporal boundaries, and activity sequences.

markdown
[llm] <tag:workflow@example.com,2026:>

## LLM Analysis Session {=llm:session-2026-05-06 .prov:Activity label}

Started: [2026-05-06T14:00:00Z] {prov:startedAtTime ^^xsd:dateTime}
Model: [claude-opus-4-6] {llm:model}
Prompt tokens: [1250] {llm:promptTokens ^^xsd:integer}

Input: [customer-data.md] {+llm:input-doc ?prov:used label}
Output: [analysis-report.md] {+llm:output-doc ?prov:generated label}

Dogfood — MD-LD Describing Itself

MD-LD describing its own ontology:

markdown
[mdld] <tag:mdld@example.com,2026:>

# MD-LD Specification {=mdld:spec .prov:Entity label}

Version: [1.0] {mdld:version}
Format: [Markdown Linked Data] {mdld:format}

## parse function {=mdld:parse .rdf:Property label}

> Parses MD-LD text to RDF quads. {comment}
Domain: [string] {+xsd:string ?rdfs:domain}

Key Features Demonstrated

  • Subject Declaration ({=IRI}) — Persistent context for document focus
  • Subject Introduction ({+IRI}) — Introducing new entities inline
  • Typed Values (^^xsd:type) — Type-safe literals
  • Language Tags (@en, @es, @fr) — Multilingual content
  • Class Annotations (.Class) — RDF typing
  • Property Chains (?predicate) — Linking subjects and objects
  • Fragment Subjects ({=#fragment}) — Document structure with internal links
  • Reverse Relations (!predicate) — Inverse connections
  • PROV-O Integration — Complete activity, entity, and agent provenance
  • SHACL Shapes — Validation constraints and schema documentation
  • Round-trip Safety — Parse, generate, and parse cycles preserve semantics