Anthology

An Anthology is a Document that organises other Documents into a navigable hierarchy. Rather than carrying body prose, an Anthology holds references to items and to nested folders that group items, forming a tree. The registry uses this structure to power navigation panes, tables of contents, and ordered publication bundles.

Hierarchy predicates

An Anthology document uses two predicates in its RDF graph section to build the tree:

  • sd:hasItem — links the Anthology (or a Folder node within it) to a published Document IRI that belongs at that position in the hierarchy. Items are leaf nodes; they point outward to independent documents that exist and are versioned on their own.
  • sd:hasFolder — links the Anthology (or a Folder node within it) to a blank node or labeled node typed sd:Folder. Folders are structural groupings that carry a title and may themselves contain items and sub-folders.

These predicates are defined in the sd: namespace (https://docs.cida.no/ontology/sparqdown/). The Anthology's SHACL shape (sdg:AnthologyShape) enforces their cardinality and types.

Folders

A sd:Folder node is a lightweight container — an anonymous or labeled blank node bearing sd:title and the same sd:hasItem / sd:hasFolder predicates. Folders have no independent IRI; they exist only within the Version graph of the Anthology that declares them.

Folders are the Anthology's only grouping mechanism. Arbitrary nesting is permitted, but cycles are not. The Anthology tooling normalises anonymous-blank-node folders to labeled form (_:fN) so that edit operations (add item, move, remove) can target a specific folder by its blank-node label.

Items and draft items

An Anthology may also hold sd:hasDraftItem references — items that have been added but not yet published. Draft items resolve to a working draft IRI (a /.next version graph) rather than a published version. The editor surface distinguishes draft items visually and blocks anthology-level publication while any draft item remains unresolved.

Relationship to other types

  • An Anthology is a sd:Document and a sdg:SparqdownDocument; the registry parses and versions it like any other document.
  • It is not a sdg:PureFile — its source is Sparqdown, and the body (prose) is minimal or absent.
  • An Anthology may itself be listed as an item inside another Anthology, enabling hierarchical publication bundles.
Anthology — Sparqdown Docs