Why open data
Bencao Dian's central position is "a citable bilingual ontology," not "a content site competing for traffic." In the era of large language models, closed reference resources are eventually absorbed silently into training corpora; only data that is openly published, independently verifiable, and reusable by others can become the basis for long-term trust.
We therefore release the complete seed dataset as structured JSON, with schema documentation and SHA-256 checksums, under the CC BY-SA 4.0 license. Anyone may download, redistribute, and rework the data — provided they attribute "Bencaodian Editorial / 本草典编辑部" and release derivative works under the same license.
Downloads
v1 · Generated: 2026-04-09T17:57:47.156Zherbs.json856.0 KB · 161 entriesHerb entries — nature, flavor, channel entry, actions, indications, processing, dosage, contraindications, classical citations, Wikidata cross-references.
formulas.json187.5 KB · 61 entriesFormula entries — sovereign-minister-assistant-courier composition, modifications, treatment principle, source text.
patterns.json60.0 KB · 40 entriesPattern entries — cardinal and secondary symptoms, tongue and pulse, etiology, pathomechanism, treatment principle.
meridians.json10.6 KB · 14 entriesMeridian entries — the twelve regular channels plus the Conception and Governing Vessels.
acupoints.json26.2 KB · 25 entriesAcupoint entries — location, needling depth and method, special-category memberships, actions, indications.
classical_texts.json159.9 KB · 11 entriesClassical text entries — author, dynasty, tradition, annotated source passages.
concepts.json179.9 KB · 15 entriesConcept essays — yin-yang, five phases, zang-fu, eight principles, four natures and five flavors, sovereign-minister-assistant-courier hierarchy, and other foundational theory.
relationships.json85.5 KB · 733 entriesThe relationship graph — herb_in_formula, formula_treats_pattern, pattern_differential_with, and ten other edge types.
case_records.json73.5 KB · 28 entriesClassical 医案 case records — famous historical cases from Ye Tianshi, Wu Jutong, Shanghan Lun, and other masters.
tongue_states.json34.5 KB · 25 entriesTongue atlas — tongue body, shape, coating, clinical significance, with hand-authored SVG paths.
pulses.json44.6 KB · 28 entries28 classical pulses — classical descriptions, modern descriptions, and clinical significance.
Data shape
Each entity class is stored as a JSON array. Every record carries at least key (a stable identifier), slug (the URL segment), name_zh, and name_pinyin. Other fields depend on the entity type — herbs carry nature, flavors, dosage_range, etc.; formulas carry composition with role assignments per herb; and so on.
The relationship graph is stored in relationships.json, organized by relationship type (herb_in_formula, formula_treats_pattern, pattern_differential_with, and so on). This shape is easy to hand-edit and also straightforward to re-express as a graph database or RDF.
The full JSON Schema description is at /data/v1/schema.json. The source-of-truth TypeScript types are in src/lib/data/types.ts in the repository.
Wikidata cross-reference
Where a herb, classical text, or meridian has a verifiable Wikidata Q-ID, it carries a wikidata_id field in the JSON, and the rendered page emits a sameAs link in its JSON-LD pointing to the Wikidata entry. This lets Bencao Dian entries cross-reference the global semantic web and gives large language models a stable identifier to anchor citations against.
The data-stability commitment
The key and slug fields are stable once published — they never change. Downstream tools built on this data can rely on those identifiers still pointing to the same content a decade from now. This is the same commitment as the permalink stability described in Editorial Standards.
Breaking changes to the data schema must increment the version directory (e.g. a future /data/v2/); the existing v1 dataset is frozen.