{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Schema for EarthCODE Workflow",
  "allOf": [
    {
      "$ref": "https://ogcincubator.github.io/geodcat-ogcapi-records/build/annotated/geo/geodcat/geodcat-records/schema.json"
    }
  ],
  "properties": {
    "properties": {
      "type": "object",
      "anyOf": [
        {
          "$ref": "https://ogcincubator.github.io/bblock-prov-schema/build/annotated/ogc-utils/prov-entity/schema.json"
        },
        {
          "not": {
            "required": [
              "provType"
            ]
          }
        }
      ],
      "required": [
        "osc:project"
      ],
      "properties": {
        "osc:project": {
          "$ref": "https://ogcincubator.github.io/bblocks-openscience/build/annotated/osc/geodcat-stac-earthcode/common/schema.json#/$defs/osc:project"
        },
        "wfdesc:hasInput": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "$ref": "https://ogcincubator.github.io/bblocks-ogcapi-processes/build/annotated/api/processes/v1/schemas/inputDescription/schema.json"
          }
        },
        "wfdesc:hasOutput": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "$ref": "https://ogcincubator.github.io/bblocks-ogcapi-processes/build/annotated/api/processes/v1/schemas/outputDescription/schema.json"
          }
        }
      }
    },
    "links": {
      "type": "array",
      "items": {
        "oneOf": [
          {
            "title": "Other Link",
            "properties": {
              "rel": {
                "not": {
                  "enum": [
                    "via"
                  ]
                }
              }
            }
          },
          {
            "$ref": "https://ogcincubator.github.io/bblocks-openscience/build/annotated/osc/geodcat-stac-earthcode/common/schema.json#/$defs/via_links"
          }
        ]
      }
    }
  }
}