{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/aig/AuditableItemGraphPartialVertex",
	"title": "AuditableItemGraphPartialVertex",
	"description": "Partial vertex payload for updatePartial (PATCH — requires id).\nSub-lists use explicit `{ add, remove }` patches; bare arrays are not supported.",
	"type": "object",
	"properties": {
		"id": {
			"type": "string",
			"description": "The id of the vertex to update."
		},
		"@context": {
			"type": "array",
			"prefixItems": [
				{
					"const": "https://schema.twindev.org/aig/"
				},
				{
					"const": "https://schema.twindev.org/common/"
				}
			],
			"items": {
				"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
			},
			"minItems": 2,
			"description": "JSON-LD Context."
		},
		"type": {
			"const": "AuditableItemGraphVertex",
			"description": "JSON-LD Type."
		},
		"aliasPatches": {
			"$ref": "https://schema.twindev.org/aig/AuditableItemGraphListPatch",
			"description": "Patch operations for aliases."
		},
		"resourcePatches": {
			"$ref": "https://schema.twindev.org/aig/AuditableItemGraphListPatch",
			"description": "Patch operations for resources."
		},
		"edgePatches": {
			"$ref": "https://schema.twindev.org/aig/AuditableItemGraphListPatch",
			"description": "Patch operations for edges."
		}
	},
	"required": ["id", "@context"],
	"allOf": [
		{
			"description": "Interface describing an auditable item graph vertex.",
			"type": "object",
			"properties": {
				"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",
					"prefixItems": [
						{
							"const": "https://schema.twindev.org/aig/"
						},
						{
							"const": "https://schema.twindev.org/common/"
						}
					],
					"items": {
						"$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
					},
					"minItems": 2,
					"description": "JSON-LD Context.",
					"$comment": "Inherited from AuditableItemGraphVertex"
				},
				"organizationIdentity": {
					"type": "string",
					"description": "The identity of the organization which controls the vertex.",
					"$comment": "Inherited from AuditableItemGraphVertex"
				},
				"annotationObject": {
					"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
					"description": "The JSON-LD annotation object for the vertex.",
					"$comment": "Inherited from AuditableItemGraphVertex"
				},
				"verified": {
					"type": "boolean",
					"description": "Is the vertex verified, will only be populated when verification is requested.",
					"$comment": "Inherited from AuditableItemGraphVertex"
				},
				"version": {
					"type": "number",
					"description": "The version of the vertex, populated only when getting a specific version.\nMaps to https://schema.org/version.",
					"$comment": "Inherited from AuditableItemGraphVertex"
				}
			},
			"required": ["@context"],
			"$comment": "Inlined utility base type AuditableItemGraphVertex so utility transformations can operate on concrete properties instead of a $ref."
		}
	]
}
