{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/w3c-odrl/OdrlParty",
	"title": "OdrlParty",
	"description": "Interface for ODRL Parties.\nhttps://www.w3.org/TR/odrl-model/#party",
	"type": "object",
	"properties": {
		"uid": {
			"type": "string",
			"description": "The unique identifier for the party.\nMust be an IRI.",
			"format": "uri"
		},
		"@type": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"type": "array",
					"items": {
						"type": "string"
					}
				}
			],
			"description": "The type of the party.\nCan be used to specify additional type information (e.g., \"Party\",\n\"vcard:Organization\", \"vcard:Individual\")."
		},
		"partOf": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
				},
				{
					"type": "array",
					"items": {
						"anyOf": [
							{
								"type": "string"
							},
							{
								"$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
							}
						]
					}
				}
			],
			"description": "Reference to the party collection this party is part of.\nUsed to identify a PartyCollection that a Party entity is a member of."
		},
		"assigneeOf": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"type": "array",
					"items": {
						"type": "string"
					}
				}
			],
			"description": "Reference to a policy where this party is an assignee.\nWhen assigneeOf is asserted, the Party MUST be inferred to undertake\nthe assignee functional role of all the Rules of that Policy."
		},
		"assignerOf": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"type": "array",
					"items": {
						"type": "string"
					}
				}
			],
			"description": "Reference to a policy where this party is an assigner.\nWhen assignerOf is asserted, the Party MUST be inferred to undertake\nthe assigner functional role of all the Rules of that Policy."
		}
	}
}
