{
  "$id": "https://biosimulant.com/standards/model-compatibility/v0.1/schemas/rule.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "missing": {
      "enum": [
        "unknown",
        "conditional",
        "incompatible",
        "ignore"
      ]
    },
    "operator": {
      "enum": [
        "equal",
        "not-equal",
        "in",
        "not-in",
        "subset",
        "superset",
        "range",
        "pattern",
        "same-dimension",
        "unit-convertible",
        "term-equivalent",
        "term-subsumes",
        "labels-equal",
        "labels-permutation",
        "mapping-total",
        "mapping-bijective",
        "context-compatible",
        "digest-equal"
      ]
    },
    "parameters": {
      "type": "object"
    },
    "reason_code": {
      "pattern": "^BMCS_[A-Z0-9_]+$",
      "type": "string"
    },
    "severity": {
      "enum": [
        "info",
        "warning",
        "error"
      ]
    },
    "source": {
      "pattern": "^/",
      "type": "string"
    },
    "target": {
      "pattern": "^/",
      "type": "string"
    }
  },
  "required": [
    "source",
    "target",
    "operator",
    "missing",
    "reason_code"
  ],
  "title": "Compatibility Rule",
  "type": "object"
}
