@metaxia/scriptures-source-stepbible-tipnr
v1.0.0
Published
Biblical proper nouns (people, places, and other named entities) from STEPBible's TIPNR dataset for @metaxia/scriptures. Unified Strong's numbers, all name forms, exhaustive references, genealogy, and geolocation.
Maintainers
Readme
@metaxia/scriptures-source-stepbible-tipnr
Biblical proper nouns — people, places, and other named entities — from STEPBible's TIPNR dataset (Translators Individualised Proper Names with all References), packaged for use with @metaxia/scriptures.
Every proper noun in the Bible is resolved to an individual person, place, or thing, unified under a single Strong's number and linked to:
- all of its name forms (Hebrew, Greek, spellings, variants, Aramaic);
- an exhaustive list of scripture references;
- genealogy for people (parents, siblings, partners, offspring, tribe);
- geolocation for places (OpenBible name, Google Maps / Palestine Open Maps, area);
- descriptions at four lengths.
Installation
npm install @metaxia/scriptures-source-stepbible-tipnrRequires
@metaxia/scriptures-core^3.0.0as a peer dependency (the version that adds the proper-nouns / names registry).
Usage
import '@metaxia/scriptures-source-stepbible-tipnr/register';
import { lookupName, lookupStrongsName, findNamesByRef } from '@metaxia/scriptures';
// Look up by English name (a name can map to several individuals)
const davids = await lookupName('David'); // -> [{ id: 'H1732', ... }]
// Look up a specific individual/place by unified Strong's number
const [aaron] = await lookupStrongsName('H0175');
aaron.gender; // 'male'
aaron.parents; // ['[email protected]', '[email protected]']
aaron.descriptions; // { briefest, brief, short, article }
// Find every proper noun that occurs in a verse
const atExo414 = await findNamesByRef('Exo.4.14');
// Restrict a lookup to one entity type
const places = await lookupName('Bethlehem', { type: 'place' });You can also use the source directly without the global registry:
import { source } from '@metaxia/scriptures-source-stepbible-tipnr';
const aaron = await source.lookupStrongs('H0175');
const byKey = await source.lookupUniqueName('[email protected]');Data format
Each entity is a ProperNoun (type exported from @metaxia/scriptures-core):
interface ProperNoun {
id: string; // unified Strong's number, e.g. "H0175"
name: string; // most common English name, e.g. "Aaron"
uniqueName: string; // disambiguating key, e.g. "[email protected]"
type: 'person' | 'place' | 'place+person' | 'other';
gender?: 'male' | 'female';
description?: string; // short label from the record head
names: ProperNounName[]; // all name/spelling/language forms + their refs
strongs: string[]; // all disambiguated Strong's numbers for this entity
refs: string[]; // every reference where the entity occurs
descriptions?: { briefest?; brief?; short?; article? };
summary?: string; // raw STEPBible summary (retains <strong=>/<ref=>/<br>)
// persons:
parents?; siblings?; partners?; offspring?: string[]; // uniqueName keys
tribe?: string;
// places:
openBibleName?; geographicalArea?: string;
founders?; inhabitants?: string[]; // uniqueName keys
googleMapUrl?; palopenmapsUrl?: string;
}The bundled data lives in data/:
stepbible-tipnr.json— entities keyed by unified Strong's numberstepbible-tipnr-name-index.json— lowercased English name →id[]
Building / refreshing the data from source
The data snapshot is bundled with the package so it works offline. To re-import the latest upstream data:
npm run import # downloads TIPNR from github.com/STEPBible, writes data/*.json
npm run build
npm testscripts/import.ts holds the upstream reference (STEPBIBLE_COMMIT); pin it to a
specific commit for a reproducible import, or leave it at master for the latest.
Note on the AI-generated descriptions. Per STEPBible, the
descriptions(briefest / brief / short / article) were adapted from output produced by Claude 3 Opus (April 2024) and may contain inaccuracies. The structural data (names, Strong's numbers, references, genealogy, geolocation) is editorial.
License & attribution
This package is dual-licensed:
- Code: MIT
- Data: CC BY 4.0 — the proper-nouns data is not relicensed.
The data is from STEP Bible (https://www.stepbible.org), based on work at Tyndale House, Cambridge, licensed under CC BY 4.0. Source: https://github.com/STEPBible/STEPBible-Data.
Modifications: converted from the upstream tab-separated TIPNR text file to JSON and restructured for lookup by Strong's number, name, and reference; the proper-noun content is otherwise unchanged.
STEPBible asks that others refer back to github.com/STEPBible as the authoritative source of the data and prefers that it be distributed from that single source. This package bundles a snapshot for offline/npm use (with
npm run importto refresh from upstream); please treat github.com/STEPBible as canonical and report any data corrections there, not here.
See LICENSE for full terms.
