Orgbase Transfer Schema Documentation¶
This document defines the "Transfer Schema" (Template) for the Orgbase crawler. This schema is used to normalize data extracted from the Orgbase website into a structured JSON format suitable for downstream processing and validation.
Root Structure¶
The root of the document is a JSON object containing the following primary sections:
| Key | Type | Description |
|---|---|---|
orgbase_id |
Integer | The unique numerical identifier assigned by Orgbase. |
locations |
Array | A list of location objects (current and historical). |
involved |
Array | A list of involved parties (builders, restorers, etc.). |
specifications |
Object | Detailed technical specifications of the organ. |
media |
Object | References to associated images, audio, and documents. |
literature |
Array | A list of bibliographic references. |
links |
Array | External web links associated with the entry. |
other_identifiers |
Array | Alternative IDs (e.g., Stichting Orgelcentrum card numbers). |
descriptions |
Array | General descriptive text snippets or history. |
1. Locations¶
Location objects track where the organ is or has been.
| Key | Type | Description |
|---|---|---|
status |
String | e.g., "current_location", "previous_location". |
country |
String | Standardized English country name. |
region |
String | State, province, or region. |
municipality |
String | Local government area. |
town |
String | City or village name. |
building |
String | Name of the church, hall, or residence. |
address |
String | Physical street address. |
website |
String | URL of the location's website. |
dates |
Array[String] | Years associated with this location. |
notes |
Array[String] | Additional context or commentary. |
raw_str |
String | The original text string from the source HTML. |
2. Specifications¶
The most complex section, containing the technical "disposition" of the organ.
Root Specifications Keys¶
stop_count: Integer - Total number of speaking stops.manuals: Array[Object] - List of keyboards.pedals: Array[Object] - List of pedalboards.werke: Array[Object] - List of organ divisions (e.g., Hauptwerk).stops: Object - Mapping of Werk Name -> List of Stop Objects.couplers: Array[Object] - List of mechanical or electrical couplers.accessories: Array[Object] - List of non-stop controls (e.g., Tremulant).
Manual / Pedal / Werk Object¶
| Key | Type | Description |
|---|---|---|
id |
String | Internal reference ID. |
name |
String | e.g., "Hauptwerk", "Swell". |
range |
Array[2] | [MIDI_Low, MIDI_High] or [null, null]. |
position |
String | Order of the manual (e.g., "1", "2"). |
action |
String | Type of key action (e.g., "Mechanical"). |
short_octave |
Object | Details on non-standard bottom octave mapping. |
divisions |
Array[Object] | Splits or specific division boundaries. |
split_keys |
Array[Object] | Logic for split-manual behavior. |
Stop Object¶
| Key | Type | Description |
|---|---|---|
id |
String | Internal stop ID. |
name |
String | Original stop name (e.g., "Principal 8'"). |
cleaned_name |
String | Name without pitch (e.g., "Principal"). |
length |
String | Primary pitch length (e.g., "8'"). |
fractal |
String | Fractional pitch (e.g., "2 2/3'"). |
mixture |
Boolean | True if the stop contains multiple ranks. |
mixture_ranks |
Array[Object] | List of lengths/fractals for mixture ranks. |
splits |
Array[Object] | Bass/Discant split points. |
transposition |
String | Sounding pitch difference. |
3. Media¶
Organizes associated assets.
Image Object¶
| Key | Type | Description |
|---|---|---|
filename |
String | Local filename if downloaded. |
link |
String | Full URL to the source image. |
host |
String | Origin domain. |
source |
String | Contributor name. |
copyright |
String | Copyright holder information. |
resolution |
String | e.g., "800x600". |
available |
Boolean | True if the link is currently active. |
4. Literature¶
Bibliographic data structure.
| Key | Type | Description |
|---|---|---|
type |
String | e.g., "book", "article", "unclassified". |
title |
String | Main title of the work. |
subtitle |
String | Secondary title info. |
year |
String | Publication year. |
authors |
Array[String] | List of author names. |
raw_str |
String | The full string as found on Orgbase. |
5. Common Attributes¶
Almost every nested object in this schema supports the following two attributes for traceability:
- dates: Array of strings containing identified years or date ranges.
- notes: Array of strings containing supplementary information or parsing caveats.