Data Schema (Version 0.35)

Works

A Work has:

  • ref (REQUIRED string)
  • title (REQUIRED string)
  • first_uk_publication (string, YYYY, YYYY-MM or YYYY-MM-DD)
  • message (string)
  • tg_page (string)
  • tg_history_page (string)
  • hammond (string, this work's item code in Hammond & Anderson's Descriptive Bibliography, such as A3; sections are A, B, C, Di, Dii, Ei, Eii, Fi, Fii, Fiii and G)
  • abbreviations (list of Abbreviation items)
  • contains (list of Contains items)
  • questions (list of strings)
  • publication_groups (list of Publication Group items)

Abbreviations

How one source shortens a work's title. An Abbreviation has:

  • abbreviation (REQUIRED string)
  • source (REQUIRED string, a key in data/abbreviation_sources.yaml)

Publication Groups

A Publication Group has:

  • uid (REQUIRED string, four-character base30)
  • label (string)
  • isbn10 (string)
  • isbn13 (string)
  • unnumbered (string, one of predates, club, publisher)
  • year (integer)
  • questions (list of strings)
  • publisher_editions (list of Publisher Edition items)

Publisher Editions

A Publisher Edition has:

  • uid (REQUIRED string, four-character base30)
  • label (REQUIRED string)
  • first_year (REQUIRED integer)
  • format (REQUIRED string, one of hardback, paperback)
  • trim (string, one of a-format, b-format, c-format; paperbacks only)
  • publisher (string, a label in data/publishers.yaml)
  • market (string, a key in the market facet of data/tags.yaml)
  • traits (list of strings, each a key in the traits facet of data/tags.yaml)
  • physical (list of strings, each a key in the physical facet of data/tags.yaml; how the edition was issued, such as in a slipcase or as large print)
  • contains (list of Contains items)
  • questions (list of strings)
  • impression_groups (REQUIRED list of Impression Group items)

Impression Groups

An Impression Group has:

  • id (REQUIRED string)
  • uid (REQUIRED string, four-character base30)
  • tbn_ref (integer)
  • tbn_id (integer)
  • hammond_pages (list of integers, the pages of Hammond & Anderson's Descriptive Bibliography that describe this printing, ascending and without repeats)
  • publisher (string, a label in data/publishers.yaml)
  • cover_url (string)
  • cover_source (string, a key in data/image_sources.yaml)
  • cover_design (a Cover Design)
  • cover_artwork (string, the key of an artwork in art/metadata.yaml)
  • first_year (integer)
  • first_impression (integer)
  • first_known_impression (integer)
  • first_possible_impression (integer)
  • last_impression (integer)
  • last_known_impression (integer)
  • last_possible_impression (integer)
  • design_series (string, the key of a series in data/design_series.yaml)
  • set (string or list of strings, the key or keys of a set in data/sets.yaml)
  • set_volume (integer, which volume of that set this is)
  • set_variant (string, the key of a variant in that set, when its contents are not the same copy to copy; absent means common to every copy)
  • questions (list of strings)
  • note (string)
  • impressions (list of Impression items)

Cover Design

A Cover Design has:

  • relation (REQUIRED string, one of illustration, based-on-design, based-on-artwork, slipcase-illustration, illustrated, from-source)
  • artists (list of strings, each the key of an artist in art/metadata.yaml)
  • source (string)
  • note (string)

Impressions

An Impression has:

  • impression (REQUIRED integer)
  • year (integer)
  • copies (integer)
  • printer (string, the key of a printer in data/printers.yaml)
  • printed_in (string)
  • typeface (string, the key of a typeface in data/typefaces.yaml)
  • boards (string)
  • dust_jacket (string, one of matte, glossy, satin)
  • price (mapping of three-letter uppercase currency code to number)

Typefaces

The vocabulary in data/typefaces.yaml. A Typeface has:

  • label (REQUIRED string)
  • family (string, the key of another typeface)
  • foundry (string)
  • technology (string)
  • note (string)

Image Sources

The vocabulary in data/image_sources.yaml. An Image Source has:

  • label (REQUIRED string)
  • url (string)
  • note (string)

Printers

The vocabulary in data/printers.yaml. A Printer has:

  • label (REQUIRED string)
  • country (string)
  • note (string)

Design Series

The vocabulary in data/design_series.yaml. A Design Series has:

  • label (REQUIRED string)
  • years (string)
  • covers (list of strings)
  • format (string, hardback or paperback)
  • trim (string, one of a-format, b-format, c-format)
  • traits (list of strings, each a key in the traits facet of data/tags.yaml)

Publishers

The vocabulary in data/publishers.yaml. A Publisher has:

  • label (REQUIRED string)
  • years (string)
  • note (string)
  • imprint_of (string, the key of another publisher)
  • became (string, the key of another publisher)
  • names (list of strings, each the key of another publisher)
  • relation (string, one of imprint, joint, for)
  • questions (list of strings)

Tags

The vocabulary in data/tags.yaml. A Tag has:

  • facet (REQUIRED string, one of market, traits, physical)
  • label (REQUIRED string)

Abbreviation Sources

The vocabulary in data/abbreviation_sources.yaml, naming whose house style an Abbreviation belongs to. An Abbreviation Source has:

  • label (REQUIRED string)
  • url (string)
  • note (string)

Sets

The vocabulary in data/sets.yaml. A Set has:

  • uid (REQUIRED string, four-character base30)
  • label (REQUIRED string)
  • publisher (string, a label in data/publishers.yaml)
  • year (integer)
  • composition (string, one of gathered, exclusive, mixed)
  • volumes (integer)
  • isbn10 (string)
  • isbn13 (string)
  • tbn_ids (list of integers, the tolkienbooks.net records this set names: its own and, where they are catalogued, its volumes')
  • tbn_refs (mapping of tolkienbooks.net id to record number, for those ids in tbn_ids that no printing in the database carries; a printing supplies the rest)
  • cover_url (string)
  • cover_source (string, a key in data/image_sources.yaml)
  • variants (list of Set Variant items, at least two; for a set whose contents are not the same copy to copy)
  • questions (list of strings)

Set Variants

A Set Variant has:

  • key (REQUIRED string)
  • label (REQUIRED string)

Art

The file art/metadata.yaml has:

  • artworks (REQUIRED mapping of Artwork items)
  • artists (REQUIRED mapping of Artist items)

Artists

An Artist has:

  • name (REQUIRED string)
  • tg_page (string)

Artworks

An Artwork has:

  • artist (REQUIRED string, the key of an artist in art/metadata.yaml)
  • title (string)
  • unofficial_title (string)
  • file (string)
  • tg_page (string)

An Artwork must have a title or an unofficial_title.