yomichan/ext/data/schemas/dictionary-term-meta-bank-v3-schema.json
2021-05-30 16:22:25 -04:00

105 lines
4.4 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
"description": "Custom metadata for terms.",
"additionalItems": {
"type": "array",
"description": "Metadata about a single term.",
"minItems": 3,
"items": [
{
"type": "string",
"description": "The text for the term."
},
{
"type": "string",
"enum": ["freq", "pitch"],
"description": "Type of data. \"freq\" corresponds to frequency information; \"pitch\" corresponds to pitch information."
},
{
"description": "Data for the term."
}
],
"oneOf": [
{
"items": [
{},
{"enum": ["freq"]},
{
"oneOf": [
{
"type": ["string", "number"],
"description": "Frequency information for the term."
},
{
"type": ["object"],
"required": [
"reading",
"frequency"
],
"additionalProperties": false,
"properties": {
"reading": {
"type": "string",
"description": "Reading for the term."
},
"frequency": {
"type": ["string", "number"],
"description": "Frequency information for the term."
}
}
}
]
}
]
},
{
"items": [
{},
{"enum": ["pitch"]},
{
"type": ["object"],
"description": "Pitch accent information for the term.",
"required": [
"reading",
"pitches"
],
"additionalProperties": false,
"properties": {
"reading": {
"type": "string",
"description": "Reading for the term."
},
"pitches": {
"type": "array",
"description": "List of different pitch accent information for the term and reading combination.",
"additionalItems": {
"type": "object",
"required": [
"position"
],
"additionalProperties": false,
"properties": {
"position": {
"type": "integer",
"description": "Mora position of the pitch accent downstep. A value of 0 indicates that the word does not have a downstep (heiban).",
"minimum": 0
},
"tags": {
"type": "array",
"description": "List of tags for this pitch accent.",
"items": {
"type": "string",
"description": "Tag for this pitch accent. This typically corresponds to a certain type of part of speech."
}
}
}
}
}
}
}
]
}
]
}
}