A metadata specification repository (not a software project). It defines four Dublin Core application profiles for zines and produces machine-readable artifacts for implementers.
node scripts/build-vocabularies.jsTransforms vocabularies/canonical/*.json into CSV, SKOS/Turtle, JSON-LD, and Django fixtures in vocabularies/generated/. Always commit canonical and generated files together.
Each profile (ZineCore2, AgentCore2, HoldingCore2, RepoCore2) has five synchronized artifacts:
- DCAP Narrative (
docs/<profile>-profile.md) — authoritative source - DC TAP Table (
profiles/<profile>-tap.csv) — machine-readable constraints - JSON-LD Context (
contexts/<profile>-context.jsonld) — IRI mappings - JSON Schema (
schemas/<profile>.schema.json) — validation rules - TypeScript Types (
types/<Profile>.d.ts) — manually maintained interfaces
When modifying a profile, update all five artifacts plus the implementers guide (zinecore2-implementers-guide.md) if applicable.
ZineCore2.creator → AgentCore2.display_name
HoldingCore2.zine_id → ZineCore2.id
HoldingCore2.repository_id → RepoCore2.id
zine:→https://zinecore.org/v2/zine#zine-agent:→https://zinecore.org/v2/agent#zine-holding:→https://zinecore.org/v2/holding#zine-repo:→https://zinecore.org/v2/repo#
All DC mappings use dcterms: (not legacy dc:).
series_title→dcterms:isPartOf(not a custom property)issue_designation→zine:issueDesignationgenre→zine:genrepublic_notes→zine:publicNotes
Every conformant record MUST include: title, creator, subject, genre, date, language, rights
Eight vocabularies: subjects, genres, rights_statements, agent_kinds, agent_roles, repo_kinds, holding_access_statuses, holding_distro_statuses.
Canonical JSON format:
{
"id": "genres",
"title": "Zine Genres",
"namespace": "https://zinecore.org/vocab/genres/",
"terms": [
{ "code": "perzine", "label": "Perzine" }
]
}The build script's DJANGO_MODELS mapping must stay aligned with the server repo's load_vocabularies management command.
See vocabularies/API-REFERENCE.md for the HTTP content-negotiation API hosted at https://zinecore.org/api/vocabularies/.