Source code
Revision control
Copy as Markdown
Other Tools
{
"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": {
"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": {
"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":
{
"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":
{
"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": {
"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": {
"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": {
"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": {
"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":
{
"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":
{
"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": {
"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": {
"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": {
"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":
{
"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":
{
"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": {
"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":
{
"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":
{
"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": {
"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": {
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
"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":
"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":
{
"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":
{
"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":
"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":
"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":
{
"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":
{
"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":
"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":
"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":
{
"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":
{
"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":
"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":
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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":
{
"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"]
}
}
}