A demonstration of how any website or app could consume the dataset. Bhai Jaspal Singh Ji's parampara. · Home · Vision · Schema
⚠ SAMPLE DATA — ILLUSTRATIVE ONLY. Every notation, raag, and record below is a
placeholder to show structure and flow. None of it is Bhai Jaspal Singh Ji's actual notation.
Real, reviewed data is added only after the schema is approved and the source material is available.
For Baljeet — schema
Do the fields cover what a consumer needs to render this?
Is the many-to-many shabadIds model clean, or awkward?
Is the approved/draft distinction the right integrity model?
What's missing that teachers/students would want? See Vision.
Notation script (illustrative):
Notation is stored once as a canonical ASCII string; the script is a display choice. Case carries meaning — lowercase (e.g. g, d, n) is komal, M is teevra madhyam — so it is never case-folded.
Compositions for a shabad (many notations → one shabad)
One notation across a whole paath (one notation → many shabads)
Raag reference
How a consumer uses the data
The dataset is plain JSON. A consumer fetches it and groups notation records by shabadIds:
const notations = await (await fetch('data/notations.json')).json();
const raags = await (await fetch('data/raags.json')).json();
// All compositions available for a given shabad:
const forShabad = notations.filter(n => n.shabadIds.includes('DEMO-TMP'));
// Show only Ustaad ji-approved data; mark the rest as unverified:
const approved = forShabad.filter(n => n.status === 'approved');
Proposed license: CC BY-NC 4.0 (attribution to Bhai Jaspal Singh Ji, non-commercial) —
pending the family's blessing. Gurbani text is public domain; the license covers the notation and compilation.
Full contract in SCHEMA.md. This page and its data are a demo, not part of the dataset.