{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/aig/AuditableItemGraphVertex",
	"description": "Interface describing an auditable item graph vertex.",
	"type": "object",
	"properties": {
		"id": {
			"type": "string",
			"description": "The id of the element."
		},
		"dateCreated": {
			"type": "string",
			"description": "The date/time of when the element was created."
		},
		"dateModified": {
			"type": "string",
			"description": "The date/time of when the element was modified."
		},
		"dateDeleted": {
			"type": "string",
			"description": "The date/time of when the element was deleted, as we never actually remove items."
		},
		"@context": {
			"type": "array",
			"minItems": 2,
			"description": "JSON-LD Context.",
			"prefixItems": [
				{
					"type": "string",
					"const": "https://schema.twindev.org/aig/"
				},
				{
					"type": "string",
					"const": "https://schema.twindev.org/common/"
				}
			],
			"items": {
				"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
			}
		},
		"type": {
			"type": "string",
			"const": "AuditableItemGraphVertex",
			"description": "JSON-LD Type."
		},
		"organizationIdentity": {
			"type": "string",
			"description": "The identity of the organization which controls the vertex."
		},
		"annotationObject": {
			"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
			"description": "The JSON-LD annotation object for the vertex."
		},
		"aliases": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/aig/AuditableItemGraphAlias"
			},
			"description": "Alternative aliases that can be used to identify the vertex."
		},
		"resources": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/aig/AuditableItemGraphResource"
			},
			"description": "The resources attached to the vertex."
		},
		"edges": {
			"type": "array",
			"items": {
				"$ref": "https://schema.twindev.org/aig/AuditableItemGraphEdge"
			},
			"description": "Edges connected to the vertex."
		},
		"verified": {
			"type": "boolean",
			"description": "Is the vertex verified, will only be populated when verification is requested."
		}
	},
	"required": ["@context", "id", "type"]
}
