{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "schema:LearningResource",
  "title": "LearningResource",
  "description": "The LearningResource type can be used to indicate [[CreativeWork]]s (whether physical or digital) that have a particular and explicit orientation towards learning, education, skill acquisition, and other educational purposes.\n\n[[LearningResource]] is expected to be used as an addition to a primary type such as [[Book]], [[VideoObject]], [[Product]] etc.\n\n[[EducationEvent]] serves a similar purpose for event-like things (e.g. a [[Trip]]). A [[LearningResource]] may be created as a result of an [[EducationEvent]], for example by recording one.",
  "type": "object",
  "allOf": [
    {
      "description": "The most generic kind of creative work, including books, movies, photographs, software programs, etc.",
      "$ref": "schema:CreativeWork"
    }
  ],
  "properties": {
    "assesses": {
      "description": "The item being described is intended to assess the competency or learning outcome defined by the referenced term.",
      "anyOf": [{ "type": "string" }, { "$ref": "schema:DefinedTerm" }]
    },
    "competencyRequired": {
      "description": "Knowledge, skill, ability or personal attribute that must be demonstrated by a person or other entity in order to do something such as earn an Educational Occupational Credential or understand a LearningResource.",
      "oneOf": [
        {
          "anyOf": [
            { "type": "string", "format": "uri" },
            { "type": "string" },
            { "$ref": "schema:DefinedTerm" }
          ]
        },
        {
          "type": "array",
          "items": {
            "anyOf": [
              { "type": "string", "format": "uri" },
              { "type": "string" },
              { "$ref": "schema:DefinedTerm" }
            ]
          }
        }
      ]
    },
    "educationalAlignment": {
      "description": "An alignment to an established educational framework.\n\nThis property should not be used where the nature of the alignment can be described using a simple property, for example to express that a resource [[teaches]] or [[assesses]] a competency.",
      "oneOf": [
        { "$ref": "schema:AlignmentObject" },
        { "type": "array", "items": { "$ref": "schema:AlignmentObject" } }
      ]
    },
    "educationalLevel": {
      "description": "The level in terms of progression through an educational or training context. Examples of educational levels include 'beginner', 'intermediate' or 'advanced', and formal sets of level indicators.",
      "anyOf": [
        { "type": "string", "format": "uri" },
        { "type": "string" },
        { "$ref": "schema:DefinedTerm" }
      ]
    },
    "educationalUse": {
      "description": "The purpose of a work in the context of education; for example, 'assignment', 'group work'.",
      "anyOf": [{ "type": "string" }, { "$ref": "schema:DefinedTerm" }]
    },
    "learningResourceType": {
      "description": "The predominant type or kind characterizing the learning resource. For example, 'presentation', 'handout'.",
      "anyOf": [{ "type": "string" }, { "$ref": "schema:DefinedTerm" }]
    },
    "teaches": {
      "description": "The item being described is intended to help a person learn the competency or learning outcome defined by the referenced term.",
      "anyOf": [{ "type": "string" }, { "$ref": "schema:DefinedTerm" }]
    }
  }
}
