{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "schema:AlignmentObject",
  "title": "AlignmentObject",
  "description": "An intangible item that describes an alignment between a learning resource and a node in an educational framework.\n\nShould 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.",
  "type": "object",
  "allOf": [
    {
      "description": "A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc.",
      "$ref": "schema:Intangible"
    }
  ],
  "properties": {
    "alignmentType": {
      "description": "A category of alignment between the learning resource and the framework node. Recommended values include: 'requires', 'textComplexity', 'readingLevel', and 'educationalSubject'.",
      "oneOf": [
        { "type": "string" },
        { "type": "array", "items": { "type": "string" } }
      ]
    },
    "educationalFramework": {
      "description": "The framework to which the resource being described is aligned.",
      "type": "string"
    },
    "targetDescription": {
      "description": "The description of a node in an established educational framework.",
      "type": "string"
    },
    "targetName": {
      "description": "The name of a node in an established educational framework.",
      "type": "string"
    },
    "targetUrl": {
      "description": "The URL of a node in an established educational framework.",
      "type": "string",
      "format": "uri"
    }
  }
}
