{ "$schema": "http://json-schema.org/draft-04/schema#", "id": "otherProperties.json", "title": "Definitions: Other Properties.", "description": "Schemas in #/definitions detect or validate keys, objects or constraints variously applicable to Annotations, Bodies, Targets, Specific Resources, Textual Bodies, Items, and/or Sources (Section 3.3).", "definitions": { "createdValidIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: created value", "description": "True when the object being tested (annotation, body, target...) has no created or has a single created of format date-time (Section 3.3.1)", "type": "object", "properties": {"created": {"oneOf": [ { "type": "string", "format": "date-time" }, { "type": "array", "minItems": 1, "maxItems": 1, "items": { "type": "string", "format": "date-time" } } ]}} }, "createdPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: created key with qualifying body/target classes", "description": "Supports implementation check of created (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "oneOf": [ {"$ref": "annotations.json#/definitions/annotationTypeValueFound"}, {"$ref": "specificResource.json#/definitions/specificeResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/externalWebResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/textualBodyFound"} ], "allOf": [ {"$ref": "#/definitions/createdValidIfPresent"}, {"required": ["created"]} ] }, "itemCreatedPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: items having created key with qualifying body/target classes", "description": "Supports implementation check of items having created (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/createdPropertyFound" } } } } }, "required": ["items"] }, "sourceCreatedPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: Specific Resource source having created key", "description": "Supports implementation check of created (if/when) used on Specific Resource source (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "source": { "type": "object", "required": ["created"] , "$ref": "#/definitions/createdValidIfPresent" } }, "required": ["source"] }, "generatedValidIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: generated value", "description": "True when the annotation, body or target has no generated or has a single generated of format date-time (Section 3.3.1)", "type": "object", "properties": {"generated": {"oneOf": [ { "type": "string", "format": "date-time" }, { "type": "array", "minItems": 1, "maxItems": 1, "items": { "type": "string", "format": "date-time" } } ]}} }, "generatedPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: generated key with qualifying body/target classes", "description": "Supports implementation check of generated (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "oneOf": [ {"$ref": "annotations.json#/definitions/annotationTypeValueFound"} ], "allOf": [ {"$ref": "#/definitions/generatedValidIfPresent"}, {"required": ["generated"]} ] }, "modifiedValidIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: modified value", "description": "True when the annotation, body or target has no modified or has a single modified of format date-time (Section 3.3.1)", "type": "object", "properties": {"modified": {"oneOf": [ { "type": "string", "format": "date-time" }, { "type": "array", "minItems": 1, "maxItems": 1, "items": { "type": "string", "format": "date-time" } } ]}} }, "modifiedPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: modified key with qualifying body/target classes", "description": "Supports implementation check of modified (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "oneOf": [ {"$ref": "annotations.json#/definitions/annotationTypeValueFound"}, {"$ref": "specificResource.json#/definitions/specificeResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/externalWebResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/textualBodyFound"} ], "allOf": [ {"$ref": "#/definitions/modifiedValidIfPresent"}, {"required": ["modified"]} ] }, "itemModifiedPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: items having modified key with qualifying body/target classes", "description": "Supports implementation check of items having modified (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/modifiedPropertyFound" } } } } }, "required": ["items"] }, "sourceModifiedPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: Specific Resource source having modified key", "description": "Supports implementation check of modified (if/when) used on Specific Resource source (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "source": { "type": "object", "required": ["modified"] , "$ref": "#/definitions/modifiedValidIfPresent" } }, "required": ["source"] }, "creatorValidIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: creator value", "description": "True when the annotation, body or target has one or more creators (Section 3.3.1)", "type": "object", "properties": {"creator": {"oneOf": [ { "$ref": "id.json#/definitions/stringUri" }, { "type": "object" }, { "type": "array", "minItems": 1, "items": { "oneOf": [ { "$ref": "id.json#/definitions/stringUri" }, { "type": "object" } ] } } ] } } }, "creatorSingularIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: creator value", "description": "True when the annotation, body or target has exactly 1 creator (Section 3.3.1)", "type": "object", "properties": {"creator": {"oneOf": [ { "$ref": "id.json#/definitions/stringUri" }, { "type": "object" }, { "type": "array", "minItems": 1, "maxItems": 1, "items": { "oneOf": [ { "$ref": "id.json#/definitions/stringUri" }, { "type": "object" } ] } } ] } } }, "creatorPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: creator key with qualifying body/target classes", "description": "Supports implementation check of creator (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Section 3.3.1)", "oneOf": [ {"$ref": "annotations.json#/definitions/annotationTypeValueFound"}, {"$ref": "specificResource.json#/definitions/specificeResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/externalWebResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/textualBodyFound"} ], "allOf": [ {"required": ["creator"]}, {"$ref": "#/definitions/creatorValidIfPresent"} ] }, "itemCreatorPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: items having creator key with qualifying body/target classes", "description": "Supports implementation check of items having creator (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/creatorPropertyFound" } } } } }, "required": ["items"] }, "sourceCreatorPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: Specific Resource source having creator key", "description": "Supports implementation check of creator (if/when) used on Specific Resource source (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "source": { "type": "object", "required": ["creator"] , "$ref": "#/definitions/creatorValidIfPresent" } }, "required": ["source"] }, "singleCreatorPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: creator key with qualifying body/target classes", "description": "Supports implementation check of creator being singular (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Section 3.3.1)", "oneOf": [ {"$ref": "annotations.json#/definitions/annotationTypeValueFound"}, {"$ref": "specificResource.json#/definitions/specificeResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/externalWebResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/textualBodyFound"} ], "allOf": [ {"required": ["creator"]}, {"$ref": "#/definitions/creatorSingularIfPresent"} ] }, "itemSingleCreatorPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: items having singular creator key with qualifying body/target classes", "description": "Supports implementation check of items having singular creator (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/singleCreatorPropertyFound" } } } } }, "required": ["items"] }, "sourceSingleCreatorPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: Specific Resource source having singular creator key", "description": "Supports implementation check of singular creator (if/when) used on Specific Resource source (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "source": { "type": "object", "required": ["creator"] , "$ref": "#/definitions/creatorSingularIfPresent" } }, "required": ["source"] }, "generatorValidIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: generator value", "description": "True when the annotation, body or target has a single generator (Section 3.3.1)", "type": "object", "properties": {"generator": {"oneOf": [ { "$ref": "id.json#/definitions/stringUri" }, { "type": "object" }, { "type": "array", "minItems": 1, "items": { "oneOf": [ { "$ref": "id.json#/definitions/stringUri" }, { "type": "object" } ] } } ] } } }, "generatorPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: generator key with qualifying body/target classes", "description": "Supports implementation check of generator (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Section 3.3.1)", "oneOf": [ {"$ref": "annotations.json#/definitions/annotationTypeValueFound"} ], "allOf": [ {"required": ["generator"]}, {"$ref": "#/definitions/generatorValidIfPresent"} ] }, "audienceDefinition": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Definition: audience object", "description": "True when object meets our requirements for audience value (Section 3.3.3)", "type": "object", "properties": { "id": {"$ref": "id.json#/definitions/arraySingleStringUri"} , "type": { "oneOf": [ { "type": "string", "pattern": "^(schema:)"}, { "type": "array", "minItems": 1, "items": { "type": "string", "pattern": "^(schema:)" } } ] } }, "patternProperties": { "^(schema:)": { "type": ["string", "object", "array"] } }, "additionalProperties": false }, "audienceValidIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: audience value", "description": "True when no audience or audience property of the annotation, body, target, ... is valid (Section 3.3.3)", "type": "object", "properties": { "audience": { "oneOf": [ { "$ref": "id.json#/definitions/stringUri" }, { "$ref": "#/definitions/audienceDefinition" }, { "type": "array", "minItems": 1, "items": { "oneOf": [ { "$ref": "id.json#/definitions/stringUri" }, { "$ref": "#/definitions/audienceDefinition" } ] } } ] } } }, "audiencePropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: audience key with qualifying body/target classes", "description": "Supports implementation check of audience (if/when) used on Annotation, External Web Resources, Specific Resources, Textual Body Resources (Section 3.3.3)", "oneOf": [ {"$ref": "annotations.json#/definitions/annotationTypeValueFound"}, {"$ref": "specificResource.json#/definitions/specificeResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/externalWebResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/textualBodyFound"} ], "allOf": [ {"required": ["audience"]}, {"$ref": "#/definitions/audienceValidIfPresent"} ] }, "itemAudiencePropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: items having audience key with qualifying body/target classes", "description": "Supports implementation check of items having audience (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/audiencePropertyFound" } } } } }, "required": ["items"] }, "sourceAudiencePropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: Specific Resource source having audience key", "description": "Supports implementation check of audience (if/when) used on Specific Resource source (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "source": { "type": "object", "required": ["audience"] , "$ref": "#/definitions/audienceValidIfPresent" } }, "required": ["source"] }, "accessibilityValidIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: accessibility value", "description": "True when no accessibility or accessibility property of the body, target, ... is valid (Section 3.3.4)", "type": "object", "properties": { "accessibility" : { "oneOf": [ { "type": "string" }, { "type": "array" , "minItems": 1, "items": { "type": "string" } } ] } } }, "accessibilityPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: accessibility key with qualifying body/target classes", "description": "Supports implementation check of accessibility (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Section 3.3.4)", "oneOf": [ {"$ref": "specificResource.json#/definitions/specificeResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/externalWebResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/textualBodyFound"} ], "allOf": [ {"required": ["accessibility"]}, {"$ref": "#/definitions/accessibilityValidIfPresent"} ] }, "itemAccessibilityPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: items having accessibility key with qualifying body/target classes", "description": "Supports implementation check of items having accessibility (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/accessibilityPropertyFound" } } } } }, "required": ["items"] }, "sourceAccessibilityPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: Specific Resource source having audience key", "description": "Supports implementation check of audience (if/when) used on Specific Resource source (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "source": { "type": "object", "required": ["accessibility"] , "$ref": "#/definitions/accessibilityValidIfPresent" } }, "required": ["source"] }, "rightsValidIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: rights value", "description": "True when the annotation, body or target has 0 or more rights properties that are strings of format uri (Section 3.3.6)", "type": "object", "properties": {"rights": { "oneOf": [ { "$ref": "id.json#/definitions/stringUri" }, { "type": "array", "minItems": 1, "items": { "$ref": "id.json#/definitions/stringUri" } } ] } } }, "rightsPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: rights key with qualifying annotation/body/target classes", "description": "Supports implementation check of rights (if/when) used on Annotation, External Web Resources, Specific Resources, Textual Body Resources (Sections 3.3.6)", "oneOf": [ {"$ref": "annotations.json#/definitions/annotationTypeValueFound"}, {"$ref": "specificResource.json#/definitions/specificeResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/externalWebResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/textualBodyFound"} ], "allOf": [ {"required": ["rights"]}, {"$ref": "#/definitions/rightsValidIfPresent"} ] }, "itemRightsPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: items having rights key with qualifying body/target classes", "description": "Supports implementation check of items having rights (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/rightsPropertyFound" } } } } }, "required": ["items"] }, "sourceRightsPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: Specific Resource source having rights key", "description": "Supports implementation check of rights (if/when) used on Specific Resource source (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "source": { "type": "object", "required": ["rights"] , "$ref": "#/definitions/rightsValidIfPresent" } }, "required": ["source"] }, "canonicalValidIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: canonical value", "description": "True when the annotation, body or target has 0 or 1 canonical properties that are strings of format uri (Section 3.3.7)", "type": "object", "properties": { "canonical": { "$ref": "id.json#/definitions/arraySingleStringUri" } } }, "canonicalPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: canonical key with qualifying annotation/body/target classes", "description": "Supports implementation check of canonical (if/when) used on Annotation, External Web Resources, Specific Resources, Textual Body Resources (Sections 3.3.7)", "oneOf": [ {"$ref": "annotations.json#/definitions/annotationTypeValueFound"}, {"$ref": "specificResource.json#/definitions/specificeResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/externalWebResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/textualBodyFound"} ], "allOf": [ {"required": ["canonical"]}, {"$ref": "#/definitions/canonicalValidIfPresent"} ] }, "itemCanonicalPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: items having canonical key with qualifying body/target classes", "description": "Supports implementation check of items having canonical (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/canonicalPropertyFound" } } } } }, "required": ["items"] }, "sourceCanonicalPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: Specific Resource source having canonical key", "description": "Supports implementation check of canonical (if/when) used on Specific Resource source (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "source": { "type": "object", "required": ["canonical"] , "$ref": "#/definitions/canonicalValidIfPresent" } }, "required": ["source"] }, "viaValidIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: via value", "description": "True when the annotation, body or target has 0 or more via properties that are strings of format uri (Section 3.3.7)", "type": "object", "properties": {"via": { "oneOf": [ { "$ref": "id.json#/definitions/stringUri" }, { "type": "array", "minItems": 1, "items": { "$ref": "id.json#/definitions/stringUri" } } ] } } }, "viaPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: via key with qualifying annotation/body/target classes", "description": "Supports implementation check of via (if/when) used on Annotation, External Web Resources, Specific Resources, Textual Body Resources (Sections 3.3.7)", "oneOf": [ {"$ref": "annotations.json#/definitions/annotationTypeValueFound"}, {"$ref": "specificResource.json#/definitions/specificeResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/externalWebResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/textualBodyFound"} ], "allOf": [ {"required": ["via"]}, {"$ref": "#/definitions/viaValidIfPresent"} ] }, "itemViaPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: items having via key with qualifying body/target classes", "description": "Supports implementation check of items having via (if/when) used on External Web Resources, Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/viaPropertyFound" } } } } }, "required": ["items"] }, "sourceViaPropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: Specific Resource source having via key", "description": "Supports implementation check of via (if/when) used on Specific Resource source (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "source": { "type": "object", "required": ["via"] , "$ref": "#/definitions/viaValidIfPresent" } }, "required": ["source"] }, "purposeRecognizedIfPresent": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Validation: purpose value", "description": "True when the body has 0 or more purpose property values (Section 3.3.5)", "type": "object", "properties": {"purpose": { "oneOf": [ { "$ref": "annotations.json#/definitions/motivationList" }, { "type": "array", "minItems": 1, "items": { "$ref": "annotations.json#/definitions/motivationList" } } ] } } }, "purposePropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: purpose key with qualifying body classes", "description": "Supports implementation check of purpose (if/when) used on Specific Resource Body or Textual Body (Sections 3.3.5)", "oneOf": [ {"$ref": "specificResource.json#/definitions/specificeResourceDetected"}, {"$ref": "bodyTarget.json#/definitions/textualBodyFound"} ], "allOf": [ {"required": ["purpose"]}, {"$ref": "#/definitions/purposeRecognizedIfPresent"} ] }, "itemPurposePropertyFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Collate: items having purpose key with qualifying body/target classes", "description": "Supports implementation check of items having purpose (if/when) used on Specific Resources, Textual Body Resources (Sections 3.2.1-6, 3.3)", "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/purposePropertyFound" } } } } }, "required": ["items"] }, "creatorAgentWithIdFound": { "type": "object", "properties": { "creator": { "oneOf": [ { "$ref": "id.json#/definitions/idValueFound" }, { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "id.json#/definitions/idValueFound" } } } } ] } }, "required": ["creator"] }, "sourceCreatorAgentWithIdFound": { "type": "object", "properties": { "source": { "$ref": "#/definitions/creatorAgentWithIdFound" } }, "required": ["source"] }, "itemCreatorAgentWithIdFound": { "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/creatorAgentWithIdFound" } } } } }, "required": ["items"] }, "agentTypeDefinition": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Definition: Agent type value", "description": "True when the object (creator or generator agent) has no type or has at least one recognized Agent type value (Section 3.3.2)", "type": "object", "properties": { "type": { "oneOf": [ {"type": "string", "enum": ["Person", "Organization", "Software"] }, {"type": "array", "minItems": 1, "not": { "items" : { "not": { "type": "string", "enum": ["Person", "Organization", "Software"] } } } } ] } } }, "agentTypeFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Check for implementation of Agent type value", "description": "True when the object (creator or generator agent) has at least one recognized Agent type value (Section 3.3.2)", "allOf": [ {"required": ["type"]}, {"$ref": "#/definitions/agentTypeDefinition"} ] }, "creatorAgentWithTypeFound": { "type": "object", "properties": { "creator": { "oneOf": [ { "$ref": "#/definitions/agentTypeFound" }, { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/agentTypeFound" } } } } ] } }, "required": ["creator"] }, "sourceCreatorAgentWithTypeFound": { "type": "object", "properties": { "source": { "$ref": "#/definitions/creatorAgentWithTypeFound" } }, "required": ["source"] }, "itemCreatorAgentWithTypeFound": { "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/creatorAgentWithTypeFound" } } } } }, "required": ["items"] }, "agentNameDefinition": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Definition: Agent name value", "description": "True when the object (creator or generator agent) has no name or has Agent name(s) of type string (Section 3.3.2)", "type": "object", "properties": { "name": { "oneOf": [ {"type": "string" }, {"type": "array", "minItems": 1, "items": {"type": "string"} } ] } } }, "agentSingularNameDefinition": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Definition: Agent name value", "description": "True when the object (creator or generator agent) has no name or has exactly one Agent name that is a string (Section 3.3.2)", "type": "object", "properties": { "name": { "oneOf": [ {"type": "string" }, {"type": "array", "minItems": 1, "maxItems": 1, "items": {"type": "string"} } ] } } }, "agentNameFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Check for implementation of Agent name value", "description": "True when the object (creator or generator agent) has Agent name value(s) (Section 3.3.2)", "allOf": [ {"required": ["name"]}, {"$ref": "#/definitions/agentNameDefinition"} ] }, "creatorAgentWithNameFound": { "type": "object", "properties": { "creator": { "oneOf": [ { "$ref": "#/definitions/agentNameFound" }, { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/agentNameFound" } } } } ] } }, "required": ["creator"] }, "sourceCreatorAgentWithNameFound": { "type": "object", "properties": { "source": { "$ref": "#/definitions/creatorAgentWithNameFound" } }, "required": ["source"] }, "itemCreatorAgentWithNameFound": { "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/creatorAgentWithNameFound" } } } } }, "required": ["items"] }, "agentSingularNameFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Check for implementation of Agent name value", "description": "True when the object (creator or generator agent) has exactly one Agent name value (Section 3.3.2)", "allOf": [ {"required": ["name"]}, {"$ref": "#/definitions/agentSingularNameDefinition"} ] }, "creatorAgentWithSingularNameFound": { "type": "object", "properties": { "creator": { "oneOf": [ { "$ref": "#/definitions/agentSingularNameFound" }, { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/agentSingularNameFound" } } } } ] } }, "required": ["creator"] }, "sourceCreatorAgentWithSingularNameFound": { "type": "object", "properties": { "source": { "$ref": "#/definitions/creatorAgentWithSingularNameFound" } }, "required": ["source"] }, "itemCreatorAgentWithSingularNameFound": { "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/creatorAgentWithSingularNameFound" } } } } }, "required": ["items"] }, "agentSingularNicknameDefinition": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Definition: Agent nickname value", "description": "True when the object (creator or generator agent) has no nickname or has exacly one Agent nickname that is a string (Section 3.3.2)", "type": "object", "properties": { "nickname": { "oneOf": [ {"type": "string" }, {"type": "array", "minItems": 1, "maxItems": 1, "items": {"type": "string"} } ] } } }, "agentSingularNicknameFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Check for implementation of Agent nickname value", "description": "True when the object (creator or generator agent) has an Agent nickname value (Section 3.3.2)", "allOf": [ {"required": ["nickname"]}, {"$ref": "#/definitions/agentSingularNicknameDefinition"} ] }, "creatorAgentWithSingularNicknameFound": { "type": "object", "properties": { "creator": { "oneOf": [ { "$ref": "#/definitions/agentSingularNicknameFound" }, { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/agentSingularNicknameFound" } } } } ] } }, "required": ["creator"] }, "sourceCreatorAgentWithSingularNicknameFound": { "type": "object", "properties": { "source": { "$ref": "#/definitions/creatorAgentWithSingularNicknameFound" } }, "required": ["source"] }, "itemCreatorAgentWithSingularNicknameFound": { "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/creatorAgentWithSingularNicknameFound" } } } } }, "required": ["items"] }, "agentEmailDefinition": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Definition: Agent email value", "description": "True when the object (creator or generator agent) has no email or has Agent one or more email addresses that start(s) mailto: and is format uri (Section 3.3.2)", "type": "object", "properties": { "email": { "oneOf": [ { "type": "string", "pattern": "^(mailto)", "format": "uri" }, {"type": "array", "minItems": 1, "items": {"type": "string", "pattern": "^(mailto)", "format": "uri" } } ] } } }, "agentEmailFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Check for implementation of Agent email value", "description": "True when the object (creator or generator agent) has Agent email value(s) (Section 3.3.2)", "allOf": [ {"required": ["email"]}, {"$ref": "#/definitions/agentEmailDefinition"} ] }, "creatorAgentWithEmailFound": { "type": "object", "properties": { "creator": { "oneOf": [ { "$ref": "#/definitions/agentEmailFound" }, { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/agentEmailFound" } } } } ] } }, "required": ["creator"] }, "sourceCreatorAgentWithEmailFound": { "type": "object", "properties": { "source": { "$ref": "#/definitions/creatorAgentWithEmailFound" } }, "required": ["source"] }, "itemCreatorAgentWithEmailFound": { "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/creatorAgentWithEmailFound" } } } } }, "required": ["items"] }, "agentEmail_sha1Definition": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Definition: Agent email_sha1 value", "description": "True when the object (creator or generator agent) has no email_sha1 or has one or more email_sha1 that is/are a string (Section 3.3.2)", "type": "object", "properties": { "email_sha1": { "oneOf": [ {"type": "string" }, {"type": "array", "minItems": 1, "items": {"type": "string"} } ] } } }, "agentEmail_sha1Found": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Check for implementation of Agent email_sha1 value", "description": "True when the object (creator or generator agent) has has one or more email_sha1 that is/are a string (Section 3.3.2)", "allOf": [ {"required": ["email_sha1"]}, {"$ref": "#/definitions/agentEmail_sha1Definition"} ] }, "creatorAgentWithEmail_sha1Found": { "type": "object", "properties": { "creator": { "oneOf": [ { "$ref": "#/definitions/agentEmail_sha1Found" }, { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/agentEmail_sha1Found" } } } } ] } }, "required": ["creator"] }, "sourceCreatorAgentWithEmail_sha1Found": { "type": "object", "properties": { "source": { "$ref": "#/definitions/creatorAgentWithEmail_sha1Found" } }, "required": ["source"] }, "itemCreatorAgentWithEmail_sha1Found": { "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/creatorAgentWithEmail_sha1Found" } } } } }, "required": ["items"] }, "agentHomepageDefinition": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Definition: Agent homepage value", "description": "True when the object (creator or generator agent) has no homempage or has one or more agent homepage addresses of format uri (Section 3.3.2)", "type": "object", "properties": { "email": { "oneOf": [ { "type": "string", "format": "uri" }, {"type": "array", "minItems": 1, "items": {"type": "string", "format": "uri" } } ] } } }, "agentHomepageFound": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Check for implementation of Agent homepage value", "description": "True when the object (creator or generator agent) has Agent homepage value(s) (Section 3.3.2)", "allOf": [ {"required": ["homepage"]}, {"$ref": "#/definitions/agentHomepageDefinition"} ] }, "creatorAgentWithHomepageFound": { "type": "object", "properties": { "creator": { "oneOf": [ { "$ref": "#/definitions/agentHomepageFound" }, { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/agentHomepageFound" } } } } ] } }, "required": ["creator"] }, "sourceCreatorAgentWithHomepageFound": { "type": "object", "properties": { "source": { "$ref": "#/definitions/creatorAgentWithHomepageFound" } }, "required": ["source"] }, "itemCreatorAgentWithHomepageFound": { "type": "object", "properties": { "items": { "type": "array", "minItems": 1, "not": { "items": { "not": { "$ref": "#/definitions/creatorAgentWithHomepageFound" } } } } }, "required": ["items"] } } }