{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Workflow Provenance schema based on wfprov ontology",
  "type": "object",
  "properties": {
    "@type": {
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "WorkflowRun",
            "ProcessRun",
            "WorkflowEngine",
            "Artifact"
          ]
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ]
    },
    "name": {
      "type": "string",
      "description": "Name of the run or artifact",
      "x-jsonld-id": "http://www.w3.org/2000/01/rdf-schema#label"
    },
    "describedByWorkflow": {
      "type": "object",
      "description": "Links workflow run to its description",
      "x-jsonld-id": "http://purl.org/wf4ever/wfprov#describedByWorkflow",
      "x-jsonld-type": "@id"
    },
    "describedByProcess": {
      "type": "object",
      "description": "Links process run to its description",
      "x-jsonld-id": "http://purl.org/wf4ever/wfprov#describedByProcess",
      "x-jsonld-type": "@id"
    },
    "wasPartOfWorkflowRun": {
      "type": "object",
      "description": "Links process run to workflow run",
      "x-jsonld-id": "http://purl.org/wf4ever/wfprov#wasPartOfWorkflowRun",
      "x-jsonld-type": "@id"
    },
    "usedInput": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "Input artifacts used",
      "x-jsonld-id": "http://purl.org/wf4ever/wfprov#usedInput",
      "x-jsonld-type": "@id"
    },
    "wasOutputFrom": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "Output artifacts generated",
      "x-jsonld-id": "http://purl.org/wf4ever/wfprov#wasOutputFrom",
      "x-jsonld-type": "@id"
    },
    "wasAssociatedWith": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "Agents associated with execution",
      "x-jsonld-id": "http://www.w3.org/ns/prov#wasAssociatedWith",
      "x-jsonld-type": "@id"
    },
    "wasEnactedBy": {
      "type": "object",
      "description": "Workflow engine that executed the run",
      "x-jsonld-id": "http://purl.org/wf4ever/wfprov#wasEnactedBy",
      "x-jsonld-type": "@id"
    },
    "value": {
      "description": "Value of an artifact or parameter",
      "x-jsonld-id": "http://www.w3.org/ns/prov#value"
    }
  },
  "x-jsonld-extra-terms": {
    "WorkflowRun": "http://purl.org/wf4ever/wfprov#WorkflowRun",
    "ProcessRun": "http://purl.org/wf4ever/wfprov#ProcessRun",
    "WorkflowEngine": "http://purl.org/wf4ever/wfprov#WorkflowEngine",
    "Artifact": "http://purl.org/wf4ever/wfprov#Artifact"
  },
  "x-jsonld-prefixes": {
    "wfprov": "http://purl.org/wf4ever/wfprov#",
    "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
    "prov": "http://www.w3.org/ns/prov#",
    "wfdesc": "http://purl.org/wf4ever/wfdesc#"
  }
}