core/packs/common/schema/lemma.schema.json

52 lines
2.1 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "CORE Lemma Record",
"description": "A single lemma entry in a CORE language pack. Lemmas are the stable lexical unit — not tokens, not surface forms.",
"type": "object",
"required": ["lemma_id", "language", "script_form", "pos", "morph_class", "semantic_family"],
"properties": {
"lemma_id": {
"type": "string",
"description": "Unique identifier in the form '<lang>:<canonical_form>'. Example: 'he:dabar'."
},
"language": {
"type": "string",
"enum": ["en", "he", "el"],
"description": "ISO 639-1 code for the pack language."
},
"script_form": {
"type": "string",
"description": "The lemma in its native script. Hebrew right-to-left; Greek polytonic or monotonic as appropriate."
},
"transliteration": {
"type": ["string", "null"],
"description": "SBL-style transliteration for Hebrew and Greek. Null for English."
},
"gloss_seed": {
"type": ["string", "null"],
"description": "A single-word English gloss for orientation only. Not a definition. Not used in semantic lift."
},
"pos": {
"type": "string",
"description": "Part of speech. Examples: verb, noun, adjective, particle, conjunction, preposition."
},
"morph_class": {
"type": "string",
"description": "Morphological class within the pack. Hebrew: qal, niphal, etc. Greek: thematic, athematic, etc. English: regular, irregular, copular, etc."
},
"semantic_family": {
"type": "string",
"description": "The broad semantic domain this lemma inhabits. Must correspond to a recognized CORE field primitive family."
},
"field_hooks": {
"type": "array",
"items": { "type": "string" },
"description": "List of CORE field primitive targets this lemma can lift into. Must be non-empty for any lemma that participates in semantic lift."
},
"readback_priority": {
"type": ["number", "integer"],
"description": "Relative priority when this lemma is a candidate during readback disambiguation. Higher is preferred."
}
},
"additionalProperties": false
}