{ "$schema":                      "https://json-schema.org/draft/2020-12/schema",
  "$id":                          "https://schemas.mpai.community/TFA/V1.5/data/BehaviouralSignalQualifier.json",
  "title":                        "Behavioural Signal Qualifier V1.5",
  "type":                         "object",
  "required":                     [ "subTypes", "formats", "groupMap" ],
  "additionalProperties":         false,
  "properties":                   {

    "subTypes":                   { "type": "object", "additionalProperties": false,
                                    "required": [ "Motor Behaviour", "Gesture Behaviour", "Facial Behaviour",
                                    "Interaction Behaviour", "SpeechÃ¢â‚¬â€˜Related Behaviour" ], "properties": {

      "Motor Behaviour":          { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true,
                                    "default": [ "Gait", "UpperÃ¢â‚¬â€˜limb movement", "WholeÃ¢â‚¬â€˜body movement", "Fine motor actions" ] },

      "Gesture Behaviour":        { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true,
                                    "default": [ "Hand gestures", "Arm gestures", "Body gestures" ] },

      "Facial Behaviour":         { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true,
                                    "default": [ "Facial action units", "Facial expressions", "Eye region movements (nonÃ¢â‚¬â€˜EOG)" ] },

      "Interaction Behaviour":    { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true,
                                    "default": [ "Touchscreen interactions", "Keyboard interactions", "Mouse interactions", "Controller interactions" ] },

      "SpeechÃ¢â‚¬â€˜Related Behaviour": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true,
                                    "default": [ "Speech activity (voice activity detection)", "Prosodic behaviour (pitch, intensity, rhythm)", "Articulatory movement traces (nonÃ¢â‚¬â€˜audio)" ] } } },

    "formats":                    { "type": "object", "additionalProperties": false, "required": [ "Motor Behaviour Formats",
                                    "Gesture Behaviour Formats", "Facial Behaviour Formats", "Interaction Behaviour Formats",
                                    "SpeechÃ¢â‚¬â€˜Related Behaviour Formats" ], "properties": {

      "Motor Behaviour Formats":  { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true,
                                    "default": [ "CSV / TSV (motion timeÃ¢â‚¬â€˜series)", "JSON (motion event stream)",
                                    "BVH (Biovision Hierarchy)", "C3D (3D motion capture format)",
                                    "HDF5 (structured motion datasets)" ] },

      "Gesture Behaviour Formats":{ "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true,
                                    "default": [ "CSV / TSV", "JSON", "BVH", "C3D", "HDF5" ] },

      "Facial Behaviour Formats": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true,
                                    "default": [ "CSV / TSV (facial landmark timeÃ¢â‚¬â€˜series)", "JSON (facial action event stream)",
                                    "HDF5", "C3D (3D facial motion capture)", "BVH (hierarchical facial motion)" ] },

      "InteractionBehaviourFmts": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true,
                                    "default": [ "CSV / TSV (interaction logs)", "JSON (eventÃ¢â‚¬â€˜based interaction logs)", "XML (interaction trace format)", "HDF5" ] },

      "SpeechRelatBehaviourFmts": { "type": "array", "items": { "type": "string" }, "minItems": 1, "uniqueItems": true,
                                    "default": [ "CSV / TSV (prosodic features)", "JSON (speech activity events)", "HDF5", "RTTM (Rich Transcription Time Marked Ã¢â‚¬â€œ activity only)", "TextGrid (timing annotations)" ] } } },

    "groupMap":                   { "type": "array", "minItems": 1, "items": { "type": "object", "additionalProperties": false,
                                    "required": [ "subTypeGroup", "formatGroup" ], "properties": {
      "subTypeGroup":             { "type": "string" },
      "formatGroup":              { "type": "string" } } },
                                    "default": [
                                  { "subTypeGroup": "Motor Behaviour",           "formatGroup": "Motor Behaviour Formats" },
                                  { "subTypeGroup": "Gesture Behaviour",         "formatGroup": "Gesture Behaviour Formats" },
                                  { "subTypeGroup": "Facial Behaviour",          "formatGroup": "Facial Behaviour Formats" },
                                  { "subTypeGroup": "Interaction Behaviour",     "formatGroup": "Interaction Behaviour Formats" },
                                  { "subTypeGroup": "SpeechÃ¢â‚¬â€˜Related Behaviour",  "formatGroup": "SpeechÃ¢â‚¬â€˜Related Behaviour Formats" } ] },

    "DataXMData":                 { "$ref": "https://schemas.mpai.community/PTF/V1.0/data/DataExchangeMetadata.json" },
    "DescrMetadata":              { "type": "string", "maxLength": 2048 } } }
