{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.midasnetwork.us/schema/midas-catalog-jsonld.schema.json",
  "version": "1.1.0",
  "title": "MIDAS Catalog JSON-LD Metadata Schema",
  "description": "JSON Schema for MIDAS Catalog metadata records. Validates the JSON-LD output produced by the MIDAS Catalog system. Auto-generated from Java class hierarchy. Null values are never present — properties are omitted when not applicable.",
  "type": "object",
  "required": [
    "@type",
    "@context"
  ],
  "properties": {
    "@context": {
      "description": "JSON-LD context containing vocabulary namespace declarations, property mappings, and embedded documentation. All nested contexts are flattened to this root-level object.",
      "type": "object"
    }
  },
  "$defs": {
    "ConformsToStandard": {
      "title": "ConformsTo Standard",
      "description": "A metadata standard or specification that this resource's metadata conforms to. Typed as dcterms:Standard.",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "http://purl.org/dc/terms/Standard"
        },
        "id": {
          "description": "IRI of the standard.",
          "type": "string",
          "format": "uri"
        },
        "type": {
          "description": "Redundant type field using prefixed form. Typically 'dct:Standard'.",
          "type": "string"
        },
        "name": {
          "description": "Human-readable name of the standard.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the standard.",
          "type": "string"
        },
        "url": {
          "description": "URL of the standard's documentation.",
          "type": "string",
          "format": "uri"
        },
        "subjectAreas": {
          "description": "Subject domains covered by this standard.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "standardType": {
          "description": "Classification: 'generic', 'metadata schema', 'domain-specific', or 'custom'.",
          "type": "string",
          "enum": [
            "generic",
            "metadata schema",
            "domain-specific",
            "custom"
          ]
        }
      },
      "additionalProperties": true
    },
    "Location": {
      "title": "Location",
      "description": "A postal address for an organization. Mapped to schema:PostalAddress and vcard:Address.",
      "type": "object",
      "properties": {
        "@type": {
          "const": [
            "https://schema.org/PostalAddress",
            "vcard:Address"
          ]
        },
        "types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "address": {
          "description": "Street address line of a postal address.",
          "type": "string"
        },
        "city": {
          "description": "City or locality portion of a postal address.",
          "type": "string"
        },
        "state": {
          "description": "State, province, or region portion of a postal address.",
          "type": "string"
        },
        "country": {
          "description": "Country name or code for a postal address.",
          "type": "string"
        },
        "zipcode": {
          "description": "Postal code or ZIP code.",
          "type": "string"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        }
      },
      "additionalProperties": true
    },
    "Organization": {
      "title": "Organization",
      "description": "An organization (schema:Organization). Used for publisher, funder, provider, and creator roles.",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "https://schema.org/Organization"
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        },
        "identifiers": {
          "description": "Multiple identifiers for a person or entity (e.g., ORCID, researcher IDs). Used when an entity has more than one identifier.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "email": {
          "description": "Contact email address for the organization.",
          "type": "string"
        },
        "location": {
          "description": "Physical location of an organization. Contains a PostalAddress (Location) object.",
          "$ref": "#/$defs/Location"
        },
        "funder": {
          "description": "Organization that funded the creation or maintenance of this resource.",
          "$ref": "#/$defs/Organization"
        }
      },
      "additionalProperties": true
    },
    "Person": {
      "title": "Person",
      "description": "A person (schema:Person). Used for creators whose curated is_person flag is set, with optional ORCID identifiers.",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "https://schema.org/Person"
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        },
        "identifiers": {
          "description": "Multiple identifiers for a person or entity (e.g., ORCID, researcher IDs). Used when an entity has more than one identifier.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": true
    },
    "Place": {
      "title": "Place",
      "description": "A geographic location (schema:Place) with optional GeoNames feature classification.",
      "type": "object",
      "properties": {
        "@type": {
          "const": [
            "https://schema.org/Place",
            "geonames:Feature"
          ]
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        },
        "types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "featureCode": {
          "description": "GeoNames feature code indicating the type of geographic feature (e.g., 'PCLI' for independent political entity, 'ADM1' for first-order administrative division).",
          "type": "string"
        },
        "featureClass": {
          "description": "GeoNames feature class indicating the broad category of geographic feature (e.g., 'A' for administrative division, 'P' for populated place).",
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "DefinedTerm": {
      "title": "DefinedTerm",
      "description": "A term from a controlled vocabulary (schema:DefinedTerm, equivalent to skos:Concept).",
      "type": "object",
      "properties": {
        "@type": {
          "const": [
            "https://schema.org/DefinedTerm",
            "skos:Concept"
          ]
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        },
        "types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "displayName": {
          "description": "Human-readable display name for a term or concept. Used when the formal name differs from what should be shown to users.",
          "type": "string"
        },
        "exactMatch": {
          "description": "Cross-walk to an equivalent concept in another controlled vocabulary or scheme (e.g., LRMI, Wikidata, an OBO ontology). Used on educational formats, audiences, and file formats.",
          "type": "string"
        },
        "broadMatch": {
          "description": "Cross-walk to a broader concept in another controlled vocabulary or scheme. Used on educational use terms.",
          "type": "string"
        },
        "inDefinedTermSet": {
          "description": "The controlled vocabulary or terminology system that defines this term (e.g., 'MESH', 'SNOMED CT', 'ICD-10').",
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "PropertyValue": {
      "title": "PropertyValue",
      "description": "A property-value pair (schema:PropertyValue). Used for variableMeasured entries.",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "https://schema.org/PropertyValue"
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        },
        "propertyID": {
          "description": "A commonly used identifier for the characteristic represented by the property, e.g. a manufacturer or a standard code for a property. propertyID can be (1) a prefixed string, mainly meant to be used with standards for product properties; (2) a site-specific, non-prefixed string (e.g. the primary key of the property or the vendor-specific ID of the property), or (3) a URL indicating the type of the property, either pointing to an external vocabulary, or a Web resource that describes the property (e.g. a glossary entry). Standards bodies should promote a standard prefix for the identifiers of properties from their standards.",
          "type": "string"
        },
        "value": {
          "description": "The value of a QuantitativeValue (including Observation) or property value node.",
          "type": "string"
        },
        "valueReference": {
          "description": "A secondary value that provides additional information on the original value, e.g. a reference temperature or a type of measurement.",
          "$ref": "#/$defs/DefinedTerm"
        }
      },
      "additionalProperties": true
    },
    "License": {
      "title": "License",
      "description": "A license (schema:CreativeWork). Used for catalogLicense, sourceLicense, and distribution licenses.",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "https://schema.org/CreativeWork"
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        }
      },
      "additionalProperties": true
    },
    "Language": {
      "title": "Language",
      "description": "A human language (schema:Language) with ISO 639-2 code.",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "https://schema.org/Language"
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        }
      },
      "additionalProperties": true
    },
    "ComputerLanguage": {
      "title": "ComputerLanguage",
      "description": "A programming language (schema:ComputerLanguage).",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "https://schema.org/ComputerLanguage"
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        }
      },
      "additionalProperties": true
    },
    "OperatingSystem": {
      "title": "OperatingSystem",
      "description": "An operating system (schema:OperatingSystem).",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "https://schema.org/OperatingSystem"
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        }
      },
      "additionalProperties": true
    },
    "DataDownload": {
      "title": "DataDownload",
      "description": "A distribution of a dataset modeled as an access point (dcat:Distribution): the landing page is its dcat:accessURL; no direct download link.",
      "type": "object",
      "properties": {
        "@type": {
          "const": [
            "dcat:Distribution"
          ]
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        },
        "types": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "accessUrl": {
          "description": "Access point of a distribution: the landing page where the data can be browsed and obtained (DCAT allows a landing page as accessURL).",
          "type": "string",
          "format": "uri"
        },
        "encodingFormat": {
          "description": "File format or media type of a specific distribution (e.g., 'text/csv', 'application/json', 'application/xml'). Uses IANA media types.",
          "type": "string"
        },
        "mediaType": {
          "description": "IANA media type of this distribution as a resolvable IRI (e.g. https://www.iana.org/assignments/media-types/text/csv). DCAT-preferred for registered media types.",
          "type": "string"
        },
        "license": {
          "description": "License governing use of the resource (e.g., MIT, Apache, CC-BY). Can appear in multiple contexts (catalog, source data, distributions).",
          "$ref": "#/$defs/License"
        }
      },
      "additionalProperties": true
    },
    "CourseInstance": {
      "title": "CourseInstance",
      "description": "An offering of a course through a specific mode of study (schema:CourseInstance); carries the courseMode delivery values.",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "https://schema.org/CourseInstance"
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        },
        "courseMode": {
          "description": "The medium or means of delivery of the course (e.g., 'online', 'in-person', 'MOOC'). Array of text values, carried on the CourseInstance.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "instructor": {
          "description": "A person assigned to instruct or provide instructional assistance for the course. Person object(s), carried on the CourseInstance. schema.org's declared range is Person; MIDAS cannot guarantee the party is a person, so an organization listed as instructor still emits as Person.",
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "additionalProperties": true
    },
    "ProvAgent": {
      "title": "PROV-O Agent",
      "description": "A provenance agent (prov:Agent) — a person or organization.",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "http://www.w3.org/ns/prov#Agent"
        },
        "@id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        }
      },
      "additionalProperties": true
    },
    "ProvEntity": {
      "title": "PROV-O Entity",
      "description": "A provenance entity (prov:Entity) — a data source or generated resource.",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "http://www.w3.org/ns/prov#Entity"
        },
        "@id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "identifier": {
          "type": "string"
        },
        "identifierType": {
          "type": "string"
        },
        "license": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "iri": {
              "type": "string",
              "format": "uri"
            }
          },
          "additionalProperties": true
        },
        "rights": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "prov:wasAttributedTo": {
          "$ref": "#/$defs/ProvAgent"
        },
        "prov:wasDerivedFrom": {
          "$ref": "#/$defs/ProvEntity"
        },
        "prov:wasGeneratedBy": {
          "type": "object"
        }
      },
      "additionalProperties": true
    },
    "ProvActivity": {
      "title": "PROV-O Activity",
      "description": "A provenance activity (prov:Activity) — the creation or processing event.",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "http://www.w3.org/ns/prov#Activity"
        },
        "@id": {
          "description": "Activity identifier, typically '{collectionId}#creation-activity'.",
          "type": "string"
        },
        "prov:used": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ProvEntity"
          }
        },
        "prov:wasAssociatedWith": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ProvAgent"
          }
        },
        "prov:generated": {
          "$ref": "#/$defs/ProvEntity"
        }
      },
      "additionalProperties": true
    },
    "AboutItem": {
      "title": "About Item",
      "description": "An item in the 'about' array — either a DefinedTerm (topic/biological scale/type) or a Place.",
      "oneOf": [
        {
          "$ref": "#/$defs/DefinedTerm"
        },
        {
          "$ref": "#/$defs/Place"
        }
      ]
    },
    "DataCatalogRef": {
      "title": "DataCatalog Reference",
      "description": "Reference to the parent data catalog. For MIDAS records this is the MIDAS Catalog itself.",
      "type": "object",
      "properties": {
        "@type": {
          "const": [
            "https://schema.org/DataCatalog",
            "dcat:Catalog"
          ]
        },
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        }
      },
      "additionalProperties": true
    },
    "RelatedDataItem": {
      "title": "Related Data",
      "description": "A related resource (schema:CreativeWork) linked via dcterms:relation.",
      "type": "object",
      "properties": {
        "@type": {
          "type": "string",
          "const": "https://schema.org/CreativeWork"
        },
        "id": {
          "type": "string",
          "format": "uri"
        },
        "name": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "identifier": {
          "type": "string"
        },
        "sourceLicense": {
          "$ref": "#/$defs/License"
        },
        "rights": {
          "type": "string"
        }
      },
      "additionalProperties": true
    },
    "CreativeWorkProperties": {
      "title": "Common CreativeWork Properties",
      "description": "Properties shared by all MIDAS resource types. Corresponds to the Java CreativeWork class extending Thing.",
      "type": "object",
      "properties": {
        "@context": {
          "type": "object"
        },
        "id": {
          "description": "Unique identifier (IRI/URL) for this resource. In JSON-LD, @id represents the globally unique identifier.",
          "type": "string",
          "format": "uri"
        },
        "dcIdentifier": {
          "description": "Primary persistent identifier using Dublin Core terms (e.g., DOI, Handle, ARK, or persistent URL).",
          "type": "string"
        },
        "identifier": {
          "description": "Primary persistent identifier for this resource (e.g., DOI, Handle, ARK, or persistent URL). Can be a simple string or PropertyValue object.",
          "type": "string"
        },
        "name": {
          "description": "Title or name of the digital object, page, or resource.",
          "type": "string"
        },
        "description": {
          "description": "Brief description of the data; \n For datasets: What is included (variables, measurements), method/origin.\n For software: What it does, access requirements, supported languages.",
          "type": "string"
        },
        "url": {
          "description": "URL to the website that contains and/or describes the digital object or person.",
          "type": "string",
          "format": "uri"
        },
        "sameAs": {
          "description": "URL of a reference web page that unambiguously indicates the item's identity. Used to link to authoritative sources or alternative representations (e.g., ORCID profile, Wikidata entry).",
          "type": "string",
          "format": "uri"
        },
        "conformsTo": {
          "description": "Established standards or specifications that this metadata adheres to (e.g., Schema.org, Bioschemas, Dublin Core, DCAT). Lists metadata schemas and domain-specific standards used.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/ConformsToStandard"
          }
        },
        "includedInDataCatalog": {
          "description": "A collection of datasets in which this resource is included. Links to the MIDAS Catalog or other data catalogs.",
          "$ref": "#/$defs/DataCatalogRef"
        },
        "about": {
          "description": "Subject matter of the content. Contains DefinedTerm objects (topics, biological scales, types).",
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "dcSubject": {
          "description": "Topics or categories covered by the resource, using controlled vocabularies or keywords.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "keywords": {
          "description": "Topical keywords describing the resource's subject, for discovery (e.g. Google Dataset Search).",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "endpointUrl": {
          "description": "Web page where users can browse information about the dataset and access download links.",
          "type": "string",
          "format": "uri"
        },
        "inLanguage": {
          "description": "Primary language(s) of the resource content. Array of Language objects with ISO 639-2 language codes. Each language also carries a Lexvo ISO 639-3 sameAs cross-link when the 639-3 code is available.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/Language"
          }
        },
        "dcLanguage": {
          "description": "Language(s) of the resource content, using ISO 639-2 codes or language names.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "creator": {
          "description": "Person(s) and/or organization(s) who created or compiled the data, each typed by the curated is_person flag (Person when set, otherwise Organization). May include ORCID identifiers. When none are recorded, a single-element array holding the MIDAS Coordination Center Organization.",
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "dctCreator": {
          "description": "Entity primarily responsible for creating the resource (person or organization).",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "datePublished": {
          "description": "Last date the resource was made available (publication or most recent update), from the curated Last Publication Date. ISO 8601 (YYYY-MM-DD). Absence is intentional: a blank value denotes a regularly/automatically-updated resource, and is emitted-absent when no date is recorded — never defaulted to a fabricated value.",
          "type": "string"
        },
        "sdDatePublished": {
          "description": "Date MIDAS published this structured-data record (when curation of the record was completed). A fact about the metadata, not the dataset: it is never used as the dataset's datePublished. ISO 8601 (YYYY-MM-DD).",
          "type": "string"
        },
        "dateModified": {
          "description": "Date the resource was last modified or updated. Format: ISO 8601 date (YYYY-MM-DD).",
          "type": "string"
        },
        "modified": {
          "description": "Date the resource was last modified. Format: ISO 8601 date.",
          "type": "string"
        },
        "issued": {
          "description": "Date the resource was made available (mirror of datePublished, from the curated Last Publication Date). Format: ISO 8601 date.",
          "type": "string"
        },
        "catalogLicense": {
          "description": "License governing the metadata catalog itself. Separate from the license of the source data.",
          "$ref": "#/$defs/License"
        },
        "dcCatalogLicense": {
          "description": "URI or name of the license governing this metadata catalog, aligned with Dublin Core.",
          "type": "string"
        },
        "sourceLicense": {
          "description": "License governing the original source data or related resources.",
          "$ref": "#/$defs/License"
        },
        "version": {
          "description": "Version identifier of the resource (numeric or named, e.g., '1.0', 'v2.3', 'beta').",
          "type": "string"
        },
        "rights": {
          "description": "Usage rights and conditions for accessing or using the resource (e.g., 'Registration required', 'Academic use only').",
          "type": "string"
        },
        "dctRights": {
          "description": "Statement of rights held in and over the resource, including usage conditions.",
          "type": "string"
        },
        "accessibleForFree": {
          "description": "Boolean indicating whether the resource can be accessed at no cost to the user.",
          "type": "boolean"
        },
        "dctAccessRights": {
          "description": "Information about who can access the resource and under what conditions (e.g., 'Open Access', 'Restricted Access').",
          "type": "string"
        },
        "publisher": {
          "description": "Organization responsible for making the resource available. For MIDAS Catalog resources, this is the MIDAS Coordination Center.",
          "$ref": "#/$defs/Organization"
        },
        "dctPublisher": {
          "description": "Entity responsible for making the resource available.",
          "type": "string"
        },
        "places": {
          "description": "Array of Place objects with GeoNames references describing geographic locations covered by the resource.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/Place"
          }
        },
        "dctSpatial": {
          "description": "Geographic location(s) relevant to the resource, as place names or URIs.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "temporalCoverage": {
          "description": "Date range covered by the data. Format: ISO 8601 interval (YYYY-MM-DD/YYYY-MM-DD or YYYY-MM-DD/... for ongoing).",
          "type": "string"
        },
        "dcTemporal": {
          "description": "Time period(s) covered by the resource, as date range or temporal label.",
          "type": "string"
        },
        "externalIdentifiers": {
          "description": "Array of external identifier strings (DOIs, URLs, etc.) that reference this resource in other systems.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "relatedData": {
          "description": "Array of RelatedData (CreativeWork) objects describing publications, datasets, or other resources related to this resource.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/RelatedDataItem"
          }
        },
        "additionalProperty": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "@type": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "description": {
                "type": "string"
              }
            }
          }
        },
        "wasGeneratedBy": {
          "description": "Activity that generated this resource. Links to a prov:Activity describing the creation process.",
          "$ref": "#/$defs/ProvActivity"
        },
        "wasDerivedFrom": {
          "description": "Source entities from which this resource was derived. Indicates transformation or construction from pre-existing data. Repeated once per source.",
          "type": "array",
          "items": {
            "$ref": "#/$defs/ProvEntity"
          }
        },
        "pavCreatedBy": {
          "description": "Agent (person or organization) responsible for creating the resource. Similar to prov:wasGeneratedBy but more specific to authorship.",
          "$ref": "#/$defs/ProvAgent"
        },
        "pavAuthoredBy": {
          "description": "Agent who authored the intellectual content. Similar to dcterms:creator but with versioning context.",
          "$ref": "#/$defs/ProvAgent"
        },
        "pavDerivedFrom": {
          "description": "Source resources from which this version was derived, one IRI per source. Similar to prov:wasDerivedFrom with versioning emphasis.",
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          }
        },
        "pavLastUpdateOn": {
          "description": "Date and time of the most recent update to the resource. ISO 8601 format.",
          "type": "string"
        },
        "bibliographicCitation": {
          "description": "Recommended citation for the resource, including authorship, title, date, and URL. Follows standard academic citation format.",
          "type": "string"
        }
      },
      "required": [
        "description",
        "name"
      ],
      "additionalProperties": true
    },
    "DatasetRecord": {
      "title": "Dataset",
      "description": "A dataset record (schema:Dataset). Epidemiological data, surveillance data, case counts, mortality data.",
      "allOf": [
        {
          "$ref": "#/$defs/CreativeWorkProperties"
        },
        {
          "type": "object",
          "properties": {
            "@type": {
              "type": "string",
              "const": "https://schema.org/Dataset"
            },
            "distributions": {
              "description": "Array of dcat:Distribution access points for the dataset, one per available data format (CSV, JSON, XML, etc.); each carries the landing page as dcat:accessURL.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DataDownload"
              }
            }
          },
          "required": [
            "@type"
          ]
        }
      ]
    },
    "SoftwareApplicationRecord": {
      "title": "SoftwareApplication",
      "description": "A software application record (schema:SoftwareApplication). Modeling tools, simulation software, analysis packages.",
      "allOf": [
        {
          "$ref": "#/$defs/CreativeWorkProperties"
        },
        {
          "type": "object",
          "properties": {
            "@type": {
              "type": "string",
              "const": "https://schema.org/SoftwareApplication"
            },
            "applicationCategory": {
              "description": "High-level category of the application (e.g., 'DataVisualization').",
              "type": "string"
            },
            "applicationSubCategory": {
              "description": "More specific classification within the application category (e.g., 'data processing service', 'data processing tool').",
              "type": "string"
            },
            "additionalType": {
              "description": "Additional ontology-based type classification beyond the primary @type. Uses URIs from domain ontologies (e.g., OBO ontology terms for more precise categorization).",
              "type": "string",
              "format": "uri"
            },
            "encodingFormat": {
              "description": "File format or media type of a specific distribution (e.g., 'text/csv', 'application/json', 'application/xml'). Uses IANA media types.",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "programmingLanguage": {
              "description": "Programming language(s) used to create the software or code. Array of ComputerLanguage objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/ComputerLanguage"
              }
            },
            "operatingSystems": {
              "description": "Operating system(s) the software runs on, each a schema:OperatingSystem node carrying a name and (from the dbpedia resource IRI) an @id.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/OperatingSystem"
              }
            },
            "codeRepository": {
              "description": "URL of the source code repository (e.g., GitHub, GitLab, Bitbucket).",
              "type": "string",
              "format": "uri"
            }
          },
          "required": [
            "@type"
          ]
        }
      ]
    },
    "DataCatalogRecord": {
      "title": "DataCatalog",
      "description": "A data catalog record (schema:DataCatalog / dcat:Catalog). Collections of datasets, data portals.",
      "allOf": [
        {
          "$ref": "#/$defs/CreativeWorkProperties"
        },
        {
          "type": "object",
          "properties": {
            "@type": {
              "const": [
                "https://schema.org/DataCatalog",
                "dcat:Catalog"
              ]
            },
            "types": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "@type"
          ]
        }
      ]
    },
    "DashboardRecord": {
      "title": "Dashboard",
      "description": "A dashboard record (schema:SoftwareApplication with applicationCategory 'Dashboard'). Interactive data visualization tools.",
      "allOf": [
        {
          "$ref": "#/$defs/CreativeWorkProperties"
        },
        {
          "type": "object",
          "properties": {
            "@type": {
              "type": "string",
              "const": "https://schema.org/SoftwareApplication"
            },
            "applicationCategory": {
              "description": "High-level category of the application (e.g., 'DataVisualization').",
              "type": "string"
            },
            "applicationSubCategory": {
              "description": "More specific classification within the application category (e.g., 'data processing service', 'data processing tool').",
              "type": "string"
            },
            "additionalType": {
              "description": "Additional ontology-based type classification beyond the primary @type. Uses URIs from domain ontologies (e.g., OBO ontology terms for more precise categorization).",
              "type": "string",
              "format": "uri"
            },
            "encodingFormat": {
              "description": "File format or media type of a specific distribution (e.g., 'text/csv', 'application/json', 'application/xml'). Uses IANA media types.",
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "programmingLanguage": {
              "description": "Programming language(s) used to create the software or code. Array of ComputerLanguage objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/ComputerLanguage"
              }
            },
            "operatingSystems": {
              "description": "Operating system(s) the software runs on, each a schema:OperatingSystem node carrying a name and (from the dbpedia resource IRI) an @id.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/OperatingSystem"
              }
            },
            "codeRepository": {
              "description": "URL of the source code repository (e.g., GitHub, GitLab, Bitbucket).",
              "type": "string",
              "format": "uri"
            }
          },
          "required": [
            "@type"
          ]
        }
      ]
    },
    "RepositoryRecord": {
      "title": "Repository",
      "description": "A repository record (schema:DataCatalog, specialized). Code repositories, institutional archives.",
      "allOf": [
        {
          "$ref": "#/$defs/CreativeWorkProperties"
        },
        {
          "type": "object",
          "properties": {
            "@type": {
              "const": [
                "https://schema.org/DataCatalog",
                "dcat:Catalog"
              ]
            },
            "types": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "@type"
          ]
        }
      ]
    },
    "LiteratureRecord": {
      "title": "Literature",
      "description": "A literature collection record (schema:Collection). Collections of academic publications.",
      "allOf": [
        {
          "$ref": "#/$defs/CreativeWorkProperties"
        },
        {
          "type": "object",
          "properties": {
            "@type": {
              "type": "string",
              "const": "https://schema.org/Collection"
            },
            "genre": {
              "description": "Literary or artistic genre of the work (e.g., 'research literature', 'modeling studies', 'disease-specific collection').",
              "type": "string"
            },
            "additionalType": {
              "description": "Additional ontology-based type classification beyond the primary @type. Uses URIs from domain ontologies (e.g., OBO ontology terms for more precise categorization).",
              "type": "string",
              "format": "uri"
            }
          },
          "required": [
            "@type"
          ]
        }
      ]
    },
    "ModelingStudyRecord": {
      "title": "ModelingStudy",
      "description": "A modeling studies record (schema:Collection, Literature subtype). Collections of modeling papers.",
      "allOf": [
        {
          "$ref": "#/$defs/CreativeWorkProperties"
        },
        {
          "type": "object",
          "properties": {
            "@type": {
              "type": "string",
              "const": "https://schema.org/Collection"
            },
            "genre": {
              "description": "Literary or artistic genre of the work (e.g., 'research literature', 'modeling studies', 'disease-specific collection').",
              "type": "string"
            },
            "additionalType": {
              "description": "Additional ontology-based type classification beyond the primary @type. Uses URIs from domain ontologies (e.g., OBO ontology terms for more precise categorization).",
              "type": "string",
              "format": "uri"
            }
          },
          "required": [
            "@type"
          ]
        }
      ]
    },
    "DiseaseSpecificCollectionRecord": {
      "title": "DiseaseSpecificCollection",
      "description": "A disease-specific collection record (schema:Collection, Literature subtype).",
      "allOf": [
        {
          "$ref": "#/$defs/CreativeWorkProperties"
        },
        {
          "type": "object",
          "properties": {
            "@type": {
              "type": "string",
              "const": "https://schema.org/Collection"
            },
            "genre": {
              "description": "Literary or artistic genre of the work (e.g., 'research literature', 'modeling studies', 'disease-specific collection').",
              "type": "string"
            },
            "additionalType": {
              "description": "Additional ontology-based type classification beyond the primary @type. Uses URIs from domain ontologies (e.g., OBO ontology terms for more precise categorization).",
              "type": "string",
              "format": "uri"
            }
          },
          "required": [
            "@type"
          ]
        }
      ]
    },
    "LearningResourceRecord": {
      "title": "LearningResource",
      "description": "An educational resource record (schema:LearningResource). Courses, tutorials, workshops for infectious disease modeling.",
      "allOf": [
        {
          "$ref": "#/$defs/CreativeWorkProperties"
        },
        {
          "type": "object",
          "properties": {
            "@type": {
              "type": "string",
              "const": "https://schema.org/LearningResource"
            },
            "educationalLevel": {
              "description": "Target education level(s) for this learning resource (e.g., 'Graduate', 'Professional', 'General Public'). Array of DefinedTerm objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "educationalUse": {
              "description": "Purpose or use case for this learning resource (e.g., 'Classroom Instruction', 'Self-Paced Learning', 'Workshop Activity'). Array of DefinedTerm objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "audience": {
              "description": "Intended audience for the resource (e.g., 'infectious disease modelers', 'public health officials').",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "educationalObjective": {
              "description": "Learning objectives or outcomes that this resource is designed to achieve (e.g., 'Understanding SIR Models', 'Data Literacy', 'Scenario Analysis'). Array of DefinedTerm objects. LRMI extension.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "competencyRequired": {
              "description": "Prerequisites or prior knowledge required to effectively use this learning resource (e.g., 'Basic Statistics', 'Python Fundamentals', 'Calculus'). Array of DefinedTerm objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "teaches": {
              "description": "Knowledge, skill, or competency that learners can expect to acquire from this resource. Array of DefinedTerm objects representing topics or concepts taught.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "learningResourceType": {
              "description": "Format or presentation type of the learning resource (e.g., 'Online', 'Interactive', 'Video', 'Textbook'). Array of DefinedTerm objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "provider": {
              "description": "Organization(s) that provide or host this learning resource. Array of Organization objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/Organization"
              }
            },
            "timeRequired": {
              "description": "Approximate time required to complete the learning resource. Format: ISO 8601 duration (e.g., 'PT5H' for 5 hours, 'P2D' for 2 days).",
              "type": "string"
            },
            "programmingLanguage": {
              "description": "Programming language(s) used to create the software or code. Array of ComputerLanguage objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/ComputerLanguage"
              }
            },
            "dataRequirement": {
              "description": "Type of data required or used by this learning resource (e.g., 'Synthetic data', 'Real-World datasets', 'none'). DefinedTerm object. LRMI extension.",
              "$ref": "#/$defs/DefinedTerm"
            }
          },
          "required": [
            "@type"
          ]
        }
      ]
    },
    "CourseRecord": {
      "title": "Course",
      "description": "A course record (schema:Course): an educational resource flagged as a course, with delivery modes carried on a nested CourseInstance.",
      "allOf": [
        {
          "$ref": "#/$defs/CreativeWorkProperties"
        },
        {
          "type": "object",
          "properties": {
            "@type": {
              "type": "string",
              "const": "https://schema.org/Course"
            },
            "hasCourseInstance": {
              "description": "An offering of this course through a specific mode of study. CourseInstance object; present only when the resource is marked as a course.",
              "$ref": "#/$defs/CourseInstance"
            },
            "educationalLevel": {
              "description": "Target education level(s) for this learning resource (e.g., 'Graduate', 'Professional', 'General Public'). Array of DefinedTerm objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "educationalUse": {
              "description": "Purpose or use case for this learning resource (e.g., 'Classroom Instruction', 'Self-Paced Learning', 'Workshop Activity'). Array of DefinedTerm objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "audience": {
              "description": "Intended audience for the resource (e.g., 'infectious disease modelers', 'public health officials').",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "educationalObjective": {
              "description": "Learning objectives or outcomes that this resource is designed to achieve (e.g., 'Understanding SIR Models', 'Data Literacy', 'Scenario Analysis'). Array of DefinedTerm objects. LRMI extension.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "competencyRequired": {
              "description": "Prerequisites or prior knowledge required to effectively use this learning resource (e.g., 'Basic Statistics', 'Python Fundamentals', 'Calculus'). Array of DefinedTerm objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "teaches": {
              "description": "Knowledge, skill, or competency that learners can expect to acquire from this resource. Array of DefinedTerm objects representing topics or concepts taught.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "learningResourceType": {
              "description": "Format or presentation type of the learning resource (e.g., 'Online', 'Interactive', 'Video', 'Textbook'). Array of DefinedTerm objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/DefinedTerm"
              }
            },
            "provider": {
              "description": "Organization(s) that provide or host this learning resource. Array of Organization objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/Organization"
              }
            },
            "timeRequired": {
              "description": "Approximate time required to complete the learning resource. Format: ISO 8601 duration (e.g., 'PT5H' for 5 hours, 'P2D' for 2 days).",
              "type": "string"
            },
            "programmingLanguage": {
              "description": "Programming language(s) used to create the software or code. Array of ComputerLanguage objects.",
              "type": "array",
              "items": {
                "$ref": "#/$defs/ComputerLanguage"
              }
            },
            "dataRequirement": {
              "description": "Type of data required or used by this learning resource (e.g., 'Synthetic data', 'Real-World datasets', 'none'). DefinedTerm object. LRMI extension.",
              "$ref": "#/$defs/DefinedTerm"
            }
          },
          "required": [
            "@type"
          ]
        }
      ]
    }
  },
  "anyOf": [
    {
      "$ref": "#/$defs/DatasetRecord"
    },
    {
      "$ref": "#/$defs/SoftwareApplicationRecord"
    },
    {
      "$ref": "#/$defs/DataCatalogRecord"
    },
    {
      "$ref": "#/$defs/DashboardRecord"
    },
    {
      "$ref": "#/$defs/RepositoryRecord"
    },
    {
      "$ref": "#/$defs/LiteratureRecord"
    },
    {
      "$ref": "#/$defs/ModelingStudyRecord"
    },
    {
      "$ref": "#/$defs/DiseaseSpecificCollectionRecord"
    },
    {
      "$ref": "#/$defs/LearningResourceRecord"
    },
    {
      "$ref": "#/$defs/CourseRecord"
    }
  ]
}