Scripture Burrito Concepts¶
A burrito is a wrapper that contains content and metadata. That wrapper may be made available in various digital formats, such as a zip file, an Amazon S3 bucket or a series of API calls. The term “burrito” describes the wrapper, not the distribution mechanism.
The metadata describes the contents of the burrito, including directory structure and ingredients.
Scripture Burritos are grouped into four flavor types, depending on its relationship to Scripture:
- Gloss - includes narratives, stories, etc.
- Parascriptural - includes anything indexed by book, chapter, verse that is not Scripture, e.g. commentaries or syntactic notes.
- Peripheral - any other resource related to Scripture
Burritos exist in a number of flavors. Flavors are distinguished by their FlavorType and reference system.
A reference system identifies the way that a resource is referenced and navigated. For instance, a resource may use BCV (book, chapter, verse).
Burritos contain ingredients. An ingredient is a file-like resource with a mime-type and, optionally, a scope or role.
This specification places no constraints on the file layout used for ingredients but strongly recommends they be placed in a ingredients/ directory. It is further recommended that application-specific files be placed within a sub-directory under this.
Flavors are typically quite broadly defined. Additional constraints may be added using conventions, which are expressed in the metadata using the schema. For example, an audio convention may specify that audio files represent whole chapters of Scripture, or that they are arranged according to a specific hierarchy. Burrito creators should respect any convention they include in the metadata. Burrito consumers may use conventions to decide how or whether to process a burrito. The semantics of no specified conventions is caveat emptor, i.e. nothing should be assumed about the content of the burrito beyond what is specified for the burrito flavor.
Variants provide a mechanism for distinguishing source burritos from derived burritos. A source variant is a user modifiable burrito. A derived variant is programmatically derived from a source variant.