{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "comtogether/lang/lexeme",
  "title": "Fiche lexicale d'un verbe (valence)",
  "description": "Decrit comment un verbe relie ses roles semantiques a des fonctions syntaxiques francaises. Ne contient PAS les formes conjuguees (generees par un moteur a regles), seulement la structure argumentale.",
  "type": "object",
  "required": ["lemma", "pos", "frames", "source", "reviewStatus"],
  "additionalProperties": false,
  "properties": {
    "lemma": { "type": "string" },
    "pos": { "const": "V" },
    "frames": {
      "type": "array",
      "minItems": 1,
      "description": "Un ou plusieurs cadres de sous-categorisation (un verbe peut avoir plusieurs constructions).",
      "items": {
        "type": "object",
        "required": ["id", "roles"],
        "additionalProperties": false,
        "properties": {
          "id": { "type": "string", "description": "Identifiant du sens/cadre, ex. donner.01" },
          "gloss": { "type": "string" },
          "roles": {
            "type": "array",
            "items": {
              "type": "object",
              "required": ["role", "function"],
              "additionalProperties": false,
              "properties": {
                "role": { "type": "string", "description": "Role semantique attendu." },
                "function": { "enum": ["subject", "direct_object", "indirect_object", "oblique"] },
                "preposition": { "type": ["string", "null"], "default": null },
                "clause": { "enum": ["infinitive", "finite"], "description": "Si l'argument est une proposition (demander a X DE venir)." }
              }
            }
          }
        }
      }
    },
    "source": {
      "type": "string",
      "description": "Provenance: editorial (ecrit main, valide) | lefff (CeCILL-C). JAMAIS dicovalence (CC BY-NC, exclu)."
    },
    "sourceVersion": { "type": "string" },
    "reviewStatus": { "enum": ["draft", "validated"] }
  }
}
