{
	"$schema": "https://json-schema.org/draft/2020-12/schema",
	"$id": "https://schema.twindev.org/w3c-activity-streams/ActivityStreamsRelationship",
	"title": "ActivityStreamsRelationship",
	"description": "A W3C Activity Streams Relationship.\n\nA `Relationship` can be used to describe a relationship between two entities.\nIt is commonly used as a reified statement, using `subject` (subject), `relationship`\n(predicate), and `object` (object).",
	"type": "object",
	"properties": {
		"type": {
			"anyOf": [
				{
					"const": "Relationship"
				},
				{
					"type": "string"
				},
				{
					"type": "array",
					"items": {
						"anyOf": [
							{
								"const": "Relationship"
							},
							{
								"type": "string"
							}
						]
					}
				}
			],
			"description": "Relationship type."
		},
		"subject": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
				}
			],
			"description": "Subject of the relationship."
		},
		"object": {
			"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject",
			"description": "Object of the relationship."
		},
		"relationship": {
			"anyOf": [
				{
					"type": "string"
				},
				{
					"$ref": "https://schema.twindev.org/json-ld/JsonLdNodeObject"
				}
			],
			"description": "The relationship predicate.\n\nFor example, a URI identifying the relationship type."
		}
	},
	"required": ["type"],
	"allOf": [
		{
			"$ref": "https://schema.twindev.org/w3c-activity-streams/ActivityStreamsObject"
		}
	]
}
