{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/json-ld/JsonLdContextDefinition",
	"title": "JsonLdContextDefinition",
	"description": "A context definition defines a local context in a node object.",
	"type": "object",
	"properties": {
		"@base": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"type": "null"
				}
			]
		},
		"@direction": {
			"anyOf": [
				{
					"const": "ltr"
				},
				{
					"const": "rtl"
				},
				{
					"type": "null"
				}
			]
		},
		"@import": {
			"type": "string"
		},
		"@language": {
			"type": "string"
		},
		"@propagate": {
			"type": "boolean"
		},
		"@protected": {
			"type": "boolean"
		},
		"@type": {
			"type": "object",
			"properties": {
				"@container": {
					"const": "@set"
				},
				"@protected": {
					"type": "boolean"
				}
			},
			"required": ["@container"]
		},
		"@version": {
			"const": "1.1"
		},
		"@vocab": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"type": "null"
				}
			]
		}
	},
	"additionalProperties": {
		"anyOf": [
			{
				"type": "null"
			},
			{
				"type": "string"
			},
			{
				"$ref": "https://schema.twindev.org/json-ld/JsonLdExpandedTermDefinition"
			},
			{
				"anyOf": [
					{
						"anyOf": [
							{
								"type": "string"
							},
							{
								"type": "null"
							}
						]
					},
					{
						"anyOf": [
							{
								"const": "ltr"
							},
							{
								"const": "rtl"
							},
							{
								"type": "null"
							}
						]
					},
					{
						"type": "string"
					},
					{
						"type": "boolean"
					},
					{
						"type": "object",
						"properties": {
							"@container": {
								"const": "@set"
							},
							"@protected": {
								"type": "boolean"
							}
						},
						"required": ["@container"]
					},
					{
						"const": "1.1"
					}
				]
			}
		]
	}
}
