Skip to content

Data Files

Markdown documents are useful when you want to write more about the subject, but sometimes it’s helpful to describe multiple different subjects in the same file.

Now, let’s suppose we want to add information about the authors, but rather than making a new document for every author, we just want to record them all in one place. Instead of using Markdown, we can write the data in a .yamlld file describing multiple authors:

authors.yamlld
"@context":
"@base": tag:me@example.com,2026:my-workspace/authors/
schema: http://schema.org/
"@graph":
- "@id": f-scott-fitzgerald
"@type": schema:Person
schema:name: F. Scott Fitzgerald
- "@id": jane-austen
"@type": schema:Person
schema:name: Jane Austen

Here we specify schema: http://schema.org/ as a different style of shorthand to the @vocab pattern above to let us be more explicit about where these terms are defined.

The @base specifies the base URL for the contents, which is combined with the @id of the individual records to provide each a unique identifier, like tag:me@example.com,2026:my-workspace/authors/jane-austen

We can update our book document to refer to an author:

books/pride-and-prejudice.md
---
"@context":
"@vocab": http://schema.org/
kbex: tag:me@example.com,2026:my-workspace/
"@type": Book
name: Pride and Prejudice
author:
"@id": kbex:authors/jane-austen
---