Conversion Rules
Markdown to JSON-LD
Section titled “Markdown to JSON-LD”- Parse YAML frontmatter as structured data
- Map frontmatter properties to JSON-LD using context
- Parse Markdown content for:
- Wiki-links →
relationshipsarray - Entity references (@[[…]]) →
entitiesarray - Block references (^id) → fragment identifiers
- Wiki-links →
- Convert body content to
contentfield
JSON-LD to Markdown
Section titled “JSON-LD to Markdown”- Generate YAML frontmatter from JSON-LD properties
- Set first
titleor H1 fromdc:title - Convert
contentto Markdown body - Append ”## Relationships” section from
relationships - Append ”## Entities” section from
entities - Convert
@idURIs to wiki-links
Example Conversion
Section titled “Example Conversion”Input (JSON-LD):
{ "@context": "https://mif-spec.dev/schema/context.jsonld", "@type": "Memory", "@id": "urn:mif:550e8400", "title": "Dark Mode", "content": "User prefers dark mode", "relationships": [ {"relationshipType": "RelatesTo", "target": {"@id": "urn:mif:ui-prefs"}} ]}Output (Markdown):
---id: 550e8400type: semantictitle: Dark Mode---
# Dark Mode
User prefers dark mode
## Relationships
- relates-to [[ui-prefs]]Citations Conversion
Section titled “Citations Conversion”Markdown to JSON-LD:
- Parse frontmatter
citationsarray - For each citation:
- Map
type→citationTypevocabulary term - Map
role→citationRolevocabulary term - Resolve
@[[Entity|Type]]author refs → entity URIs - For multiple authors (comma-separated), convert to array of author objects
- Convert dates to ISO 8601 format
- Map
- If
## Citationsbody section exists:- Parse markdown links for title/url
- Extract metadata from
**Key**: valuepatterns - Merge with frontmatter (frontmatter takes precedence)
- Build
Citationobjects array
JSON-LD to Markdown:
- Generate frontmatter
citationsarray from JSON-LD - Convert entity URIs to wiki-link syntax
- If any citation has
noteexceeding 100 characters:- Create
## Citationsbody section - Format as markdown list with metadata
- Create
Example:
# Frontmattercitations: - type: article title: "Research Paper" url: https://example.com/paper role: supports author: "@[[Jane Smith|Person]]"Converts to:
"citations": [{ "@type": "Citation", "citationType": "article", "citationRole": "supports", "title": "Research Paper", "url": "https://example.com/paper", "author": { "@type": "EntityReference", "entity": {"@id": "urn:mif:entity:person:jane-smith"} }}]