From 98f9060681d805a976afa69eec76f8777f627eec Mon Sep 17 00:00:00 2001 From: Shane McCarron Date: Tue, 13 Dec 2016 05:45:22 -0600 Subject: [PATCH] Annotation model fixreqs (#4232) * Tightened tests for optional components of model The schema definitions did not say that an item was required so there were false positives in some cases - but only on optional components of the model. * Incorporated updates to address false positives This essentially involves adding required entries to many of the optional schema components. * Tightened tests for optional components of model The schema definitions did not say that an item was required so there were false positives in some cases - but only on optional components of the model. * Remove Composite, List, Independent tests Consistent with CR3 changes --- .../3.2-targetObjectsRecognized.json | 3 +- .../annotations/annotationOptionals.test | 8 -- .../bodiesTargets/3.2.1-targEWR.json | 3 +- .../bodiesTargets/3.2.1-targFormat.json | 3 +- .../bodiesTargets/3.2.1-targLanguage.json | 3 +- .../3.2.1-targProcessingLanguage.json | 3 +- .../bodiesTargets/3.2.1-targSingleFormat.json | 3 +- .../3.2.1-targSingleLanguage.json | 3 +- .../3.2.1-targTextDirection.json | 3 +- .../bodiesTargets/3.2.2-targType.json | 3 +- .../bodiesTargets/3.2.7-bodyChoiceSet.json | 29 ------ .../bodiesTargets/3.2.7-targChoice.json | 3 +- .../bodiesTargets/3.2.7-targChoiceSet.json | 28 ------ .../bodiesTargets/3.2.8-bodyComposite.json | 29 ------ .../bodiesTargets/3.2.8-bodyIndependents.json | 29 ------ .../bodiesTargets/3.2.8-bodyList.json | 29 ------ .../bodiesTargets/3.2.8-targComposite.json | 28 ------ .../bodiesTargets/3.2.8-targIndependents.json | 28 ------ .../bodiesTargets/3.2.8-targList.json | 28 ------ .../bodiesTargets/3.3.1-targCreated.json | 3 +- .../bodiesTargets/3.3.1-targCreator.json | 3 +- .../bodiesTargets/3.3.1-targModified.json | 3 +- .../3.3.1-targSingleCreator.json | 3 +- ....3.2-targCreatorAgentEmailImplemented.json | 3 +- ...targCreatorAgentEmail_sha1Implemented.json | 3 +- ...2-targCreatorAgentHomepageImplemented.json | 3 +- .../3.3.2-targCreatorAgentIdImplemented.json | 3 +- ...3.3.2-targCreatorAgentNameImplemented.json | 3 +- ...2-targCreatorAgentNicknameImplemented.json | 3 +- ...targCreatorAgentSingleNameImplemented.json | 3 +- ...3.3.2-targCreatorAgentTypeImplemented.json | 3 +- .../bodiesTargets/3.3.3-targAudience.json | 3 +- .../3.3.4-targAccessibility.json | 3 +- .../bodiesTargets/3.3.5-targPurpose.json | 3 +- .../bodiesTargets/3.3.6-targRights.json | 3 +- .../bodiesTargets/3.3.7-targCanonical.json | 3 +- .../bodiesTargets/3.3.7-targVia.json | 3 +- .../bodiesTargets/4-bodyChoiceSetFound.json | 25 ----- .../bodiesTargets/4-targChoiceSetFound.json | 25 ----- .../bodiesTargets/4-targSpecificResource.json | 3 +- .../bodiesTargets/4.4-targStyleClass.json | 3 +- .../bodiesTargets/4.5-targRenderedVia.json | 3 +- .../specificResource/3.2.2-targType.json | 38 ++++++++ .../specificResource/3.3.3-targAudience.json | 38 ++++++++ .../specificResource/4.2-selectorFound.json | 3 +- .../specificResource/4.2.1-conformsTo.json | 3 +- .../4.2.1-fragmentSelector.json | 3 +- .../specificResource/4.2.2-cssSelector.json | 3 +- .../specificResource/4.2.3-xpathSelector.json | 3 +- .../specificResource/4.2.4-prefix.json | 3 +- .../specificResource/4.2.4-suffix.json | 3 +- .../4.2.4-textQuoteSelector.json | 3 +- .../4.2.5-textPositionSelector.json | 3 +- .../4.2.6-dataPositionSelector.json | 3 +- .../specificResource/4.2.7-svgSelector.json | 3 +- .../specificResource/4.2.8-rangeSelector.json | 3 +- .../specificResource/4.3-stateFound.json | 3 +- .../specificResource/4.3.1-cached.json | 3 +- .../specificResource/4.3.1-timeState.json | 3 +- .../4.3.2-requestHeaderState.json | 3 +- .../specificResource/4.3.3-refinedBy.json | 3 +- .../specificResource/4.4-styleClass.json | 3 +- .../4.4-styleClassValidIfPresent.json | 3 +- .../specificResource/4.5-renderedVia.json | 3 +- .../specificResource/4.6-scope.json | 3 +- .../collections/collectionOptionals.test | 1 + .../pages/3.3.1-pageCreatedImplemented.json | 25 ++--- .../pages/3.3.1-pageCreatedValidated.json | 22 ++--- .../pages/3.3.1-pageCreatorImplemented.json | 24 ++--- .../pages/3.3.1-pageModifiedImplemented.json | 25 ++--- .../pages/3.3.1-pageModifiedValidated.json | 22 ++--- ....3.2-pageCreatorAgentEmailImplemented.json | 25 ++--- ...pageCreatorAgentEmail_sha1Implemented.json | 25 ++--- ...2-pageCreatorAgentHomepageImplemented.json | 25 ++--- .../3.3.2-pageCreatorAgentIdImplemented.json | 25 ++--- ...3.3.2-pageCreatorAgentNameImplemented.json | 25 ++--- ...2-pageCreatorAgentNicknameImplemented.json | 25 ++--- ...3.3.2-pageCreatorAgentTypeImplemented.json | 33 +++---- .../pages/3.3.6-pageRightsImplemented.json | 33 +++---- .../pages/3.3.6-pageRightsValidated.json | 22 ++--- .../pages/5.2-pageFirstImplemented.json | 23 ++--- .../pages/5.2-pageFirstValidated.json | 22 ++--- .../pages/5.2-pageLabelImplemented.json | 23 ++--- .../pages/5.2-pageLabelValidated.json | 22 ++--- .../pages/5.2-pageLastImplemented.json | 23 ++--- .../pages/5.2-pageLastValidated.json | 26 ++--- .../pages/5.2-pageTotalImplemented.json | 25 ++--- .../pages/5.2-pageTotalValidated.json | 24 ++--- .../collections/pages/pageOptionals.test | 1 + annotation-model/definitions/bodyTarget.json | 10 +- annotation-model/definitions/choiceSet.json | 97 +------------------ 91 files changed, 378 insertions(+), 793 deletions(-) delete mode 100644 annotation-model/annotations/bodiesTargets/3.2.7-bodyChoiceSet.json delete mode 100644 annotation-model/annotations/bodiesTargets/3.2.7-targChoiceSet.json delete mode 100644 annotation-model/annotations/bodiesTargets/3.2.8-bodyComposite.json delete mode 100644 annotation-model/annotations/bodiesTargets/3.2.8-bodyIndependents.json delete mode 100644 annotation-model/annotations/bodiesTargets/3.2.8-bodyList.json delete mode 100644 annotation-model/annotations/bodiesTargets/3.2.8-targComposite.json delete mode 100644 annotation-model/annotations/bodiesTargets/3.2.8-targIndependents.json delete mode 100644 annotation-model/annotations/bodiesTargets/3.2.8-targList.json delete mode 100644 annotation-model/annotations/bodiesTargets/4-bodyChoiceSetFound.json delete mode 100644 annotation-model/annotations/bodiesTargets/4-targChoiceSetFound.json create mode 100644 annotation-model/annotations/specificResource/3.2.2-targType.json create mode 100644 annotation-model/annotations/specificResource/3.3.3-targAudience.json diff --git a/annotation-model/annotations/3.2-targetObjectsRecognized.json b/annotation-model/annotations/3.2-targetObjectsRecognized.json index f6dd20ebe5591e..ce2dc22dd6fb10 100644 --- a/annotation-model/annotations/3.2-targetObjectsRecognized.json +++ b/annotation-model/annotations/3.2-targetObjectsRecognized.json @@ -18,5 +18,6 @@ } ] } - } + }, + "required": [ "target" ] } diff --git a/annotation-model/annotations/annotationOptionals.test b/annotation-model/annotations/annotationOptionals.test index 16def6b44743dd..c86eb35df7ee7e 100644 --- a/annotation-model/annotations/annotationOptionals.test +++ b/annotation-model/annotations/annotationOptionals.test @@ -39,11 +39,7 @@ "annotations/bodiesTargets/3.2.4-bodyETB.json", "annotations/bodiesTargets/3.2.4-bodyETBTypeTextualBody.json", "annotations/bodiesTargets/3.2.4-bodyETBTypeText.json", - "annotations/bodiesTargets/3.2.7-bodyChoiceSet.json", "annotations/bodiesTargets/3.2.7-bodyChoice.json", - "annotations/bodiesTargets/3.2.8-bodyList.json", - "annotations/bodiesTargets/3.2.8-bodyComposite.json", - "annotations/bodiesTargets/3.2.8-bodyIndependents.json", "annotations/bodiesTargets/3.2.1-targSingleFormat.json", "annotations/bodiesTargets/3.2.1-targSingleLanguage.json", "annotations/bodiesTargets/3.3.1-targSingleCreator.json", @@ -61,11 +57,7 @@ "annotations/bodiesTargets/3.3.7-targCanonical.json", "annotations/bodiesTargets/3.3.7-targVia.json", "annotations/bodiesTargets/3.2.1-targEWR.json", - "annotations/bodiesTargets/3.2.7-targChoiceSet.json", "annotations/bodiesTargets/3.2.7-targChoice.json", - "annotations/bodiesTargets/3.2.8-targList.json", - "annotations/bodiesTargets/3.2.8-targComposite.json", - "annotations/bodiesTargets/3.2.8-targIndependents.json", "annotations/bodiesTargets/4-bodySpecificResource.json", "annotations/bodiesTargets/4-targSpecificResource.json", "annotations/specificResource/4.3.3-refinedBy.json", diff --git a/annotation-model/annotations/bodiesTargets/3.2.1-targEWR.json b/annotation-model/annotations/bodiesTargets/3.2.1-targEWR.json index 4571f0ec8f413f..f605d5c1c0b3fe 100644 --- a/annotation-model/annotations/bodiesTargets/3.2.1-targEWR.json +++ b/annotation-model/annotations/bodiesTargets/3.2.1-targEWR.json @@ -21,5 +21,6 @@ { "not": { "items": { "not": { "$ref": "bodyTarget.json#/definitions/itemEwrDetected" } } } } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.1-targFormat.json b/annotation-model/annotations/bodiesTargets/3.2.1-targFormat.json index 134a8956ec00c3..2bc0a6457876ca 100644 --- a/annotation-model/annotations/bodiesTargets/3.2.1-targFormat.json +++ b/annotation-model/annotations/bodiesTargets/3.2.1-targFormat.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.1-targLanguage.json b/annotation-model/annotations/bodiesTargets/3.2.1-targLanguage.json index b8f2a94b2cef35..2f92b3eedc5382 100644 --- a/annotation-model/annotations/bodiesTargets/3.2.1-targLanguage.json +++ b/annotation-model/annotations/bodiesTargets/3.2.1-targLanguage.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.1-targProcessingLanguage.json b/annotation-model/annotations/bodiesTargets/3.2.1-targProcessingLanguage.json index 1ddcf71a0d9978..6c3f2966bfd3d9 100644 --- a/annotation-model/annotations/bodiesTargets/3.2.1-targProcessingLanguage.json +++ b/annotation-model/annotations/bodiesTargets/3.2.1-targProcessingLanguage.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.1-targSingleFormat.json b/annotation-model/annotations/bodiesTargets/3.2.1-targSingleFormat.json index b58038206afbde..520dd512b7062c 100644 --- a/annotation-model/annotations/bodiesTargets/3.2.1-targSingleFormat.json +++ b/annotation-model/annotations/bodiesTargets/3.2.1-targSingleFormat.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.1-targSingleLanguage.json b/annotation-model/annotations/bodiesTargets/3.2.1-targSingleLanguage.json index 6bb9cf6cc1e16f..ac19b45ba5257f 100644 --- a/annotation-model/annotations/bodiesTargets/3.2.1-targSingleLanguage.json +++ b/annotation-model/annotations/bodiesTargets/3.2.1-targSingleLanguage.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.1-targTextDirection.json b/annotation-model/annotations/bodiesTargets/3.2.1-targTextDirection.json index d9d0d0417cf13c..5da8a6273a6107 100644 --- a/annotation-model/annotations/bodiesTargets/3.2.1-targTextDirection.json +++ b/annotation-model/annotations/bodiesTargets/3.2.1-targTextDirection.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.2-targType.json b/annotation-model/annotations/bodiesTargets/3.2.2-targType.json index fa9e0a743d48a6..10ccd9d50dc2ad 100644 --- a/annotation-model/annotations/bodiesTargets/3.2.2-targType.json +++ b/annotation-model/annotations/bodiesTargets/3.2.2-targType.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.7-bodyChoiceSet.json b/annotation-model/annotations/bodiesTargets/3.2.7-bodyChoiceSet.json deleted file mode 100644 index 5db068a192da3b..00000000000000 --- a/annotation-model/annotations/bodiesTargets/3.2.7-bodyChoiceSet.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "3.2.7-bodyChoiceSet.json", - "assertionType": "may", - "expectedResult": "valid", - "onUnexpectedResult" : "passAndContinue", - "errorMessage": "A Body may be a Choice or Set.", - "title": "Implements **Choice or Set** with type and items key as a body - [model 3.2.7](https://www.w3.org/TR/annotation-model/#choice-of-bodies-and-targets)", - "description": "True when a Choice or Set is used as a body. (Section 3.2.7)", - "type": "object", - "required": ["body"], - "properties": - { - "body": - { - "oneOf": [ - { "$ref": "choiceSet.json#/definitions/choiceOrSetDetected" }, - { "not": - { - "items": - { "not": - { "$ref": "choiceSet.json#/definitions/choiceOrSetDetected" } - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.7-targChoice.json b/annotation-model/annotations/bodiesTargets/3.2.7-targChoice.json index 38c2f5db08b895..5a49f2f9127268 100644 --- a/annotation-model/annotations/bodiesTargets/3.2.7-targChoice.json +++ b/annotation-model/annotations/bodiesTargets/3.2.7-targChoice.json @@ -24,5 +24,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.7-targChoiceSet.json b/annotation-model/annotations/bodiesTargets/3.2.7-targChoiceSet.json deleted file mode 100644 index aa121337c11025..00000000000000 --- a/annotation-model/annotations/bodiesTargets/3.2.7-targChoiceSet.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "3.2.7-targChoiceSet.json", - "assertionType": "may", - "expectedResult": "valid", - "onUnexpectedResult" : "passAndContinue", - "errorMessage": "A Target may be a Choice or Set.", - "title": "Implements **Choice or Set** with type and items key as a target - [model 3.2.7](https://www.w3.org/TR/annotation-model/#choice-of-bodies-and-targets)", - "description": "True when a Choice or Set is used as a target. (Section 3.2.7)", - "type": "object", - "properties": - { - "target": - { - "oneOf": [ - { "$ref": "choiceSet.json#/definitions/choiceOrSetDetected" }, - { "not": - { - "items": - { "not": - { "$ref": "choiceSet.json#/definitions/choiceOrSetDetected" } - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.8-bodyComposite.json b/annotation-model/annotations/bodiesTargets/3.2.8-bodyComposite.json deleted file mode 100644 index f0a6509d329a78..00000000000000 --- a/annotation-model/annotations/bodiesTargets/3.2.8-bodyComposite.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "3.2.8-bodyComposite.json", - "assertionType": "may", - "expectedResult": "valid", - "onUnexpectedResult" : "passAndContinue", - "errorMessage": "A Composite resource may be used as an Annotation Body (not found).", - "title": "Implements **Composite** with **_type_ and _items_ keys** as a body of the Annotation [model 3.2.8](https://www.w3.org/TR/annotation-model/#sets-of-bodies-and-targets)", - "description": "True when Annotation includes one or more Composite resources as Annotation body(ies). (Section 3.2.8)", - "type": "object", - "required": ["body"], - "properties": - { - "body": - { - "oneOf": [ - { "$ref": "choiceSet.json#/definitions/compositeDetected" }, - { "not": - { - "items": - { "not": - { "$ref": "choiceSet.json#/definitions/compositeDetected" } - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.8-bodyIndependents.json b/annotation-model/annotations/bodiesTargets/3.2.8-bodyIndependents.json deleted file mode 100644 index c6a78db7d9fac1..00000000000000 --- a/annotation-model/annotations/bodiesTargets/3.2.8-bodyIndependents.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "3.2.8-bodyIndependents.json", - "assertionType": "may", - "expectedResult": "valid", - "onUnexpectedResult" : "passAndContinue", - "errorMessage": "A Independents resource may be used as an Annotation Body (not found).", - "title": "Implements **Independents** with **_type_ and _items_ keys** as a body of the Annotation [model 3.2.8](https://www.w3.org/TR/annotation-model/#sets-of-bodies-and-targets)", - "description": "True when Annotation includes one or more Independents resources as Annotation body(ies). (Section 3.2.8)", - "type": "object", - "required": ["body"], - "properties": - { - "body": - { - "oneOf": [ - { "$ref": "choiceSet.json#/definitions/independentsDetected" }, - { "not": - { - "items": - { "not": - { "$ref": "choiceSet.json#/definitions/independentsDetected" } - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.8-bodyList.json b/annotation-model/annotations/bodiesTargets/3.2.8-bodyList.json deleted file mode 100644 index aa260b462e84e7..00000000000000 --- a/annotation-model/annotations/bodiesTargets/3.2.8-bodyList.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "3.2.8-bodyList.json", - "assertionType": "may", - "expectedResult": "valid", - "onUnexpectedResult" : "passAndContinue", - "errorMessage": "A List resource may be used as an Annotation Body (not found).", - "title": "Implements **List** with **_type_ and _items_ keys** as a body of the Annotation [model 3.2.8](https://www.w3.org/TR/annotation-model/#sets-of-bodies-and-targets)", - "description": "True when Annotation includes one or more List resources as Annotation body(ies). (Section 3.2.8)", - "type": "object", - "required": ["body"], - "properties": - { - "body": - { - "oneOf": [ - { "$ref": "choiceSet.json#/definitions/listDetected" }, - { "not": - { - "items": - { "not": - { "$ref": "choiceSet.json#/definitions/listDetected" } - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.8-targComposite.json b/annotation-model/annotations/bodiesTargets/3.2.8-targComposite.json deleted file mode 100644 index 031beec90d1741..00000000000000 --- a/annotation-model/annotations/bodiesTargets/3.2.8-targComposite.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "3.2.8-targComposite.json", - "assertionType": "may", - "expectedResult": "valid", - "onUnexpectedResult" : "passAndContinue", - "errorMessage": "A Composite resource may be used as an Annotation Target (not found).", - "title": "Implements **Composite** with **_type_ and _items_ keys** as a target of the Annotation [model 3.2.8](https://www.w3.org/TR/annotation-model/#sets-of-targets-and-targets)", - "description": "True when Annotation includes one or more Composite resources as Annotation target(ies). (Section 3.2.8)", - "type": "object", - "properties": - { - "target": - { - "oneOf": [ - { "$ref": "choiceSet.json#/definitions/compositeDetected" }, - { "not": - { - "items": - { "not": - { "$ref": "choiceSet.json#/definitions/compositeDetected" } - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.8-targIndependents.json b/annotation-model/annotations/bodiesTargets/3.2.8-targIndependents.json deleted file mode 100644 index d9f50346fb57a6..00000000000000 --- a/annotation-model/annotations/bodiesTargets/3.2.8-targIndependents.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "3.2.8-targIndependents.json", - "assertionType": "may", - "expectedResult": "valid", - "onUnexpectedResult" : "passAndContinue", - "errorMessage": "A Independents resource may be used as an Annotation Target (not found).", - "title": "Implements **Independents** with **_type_ and _items_ keys** as a target of the Annotation [model 3.2.8](https://www.w3.org/TR/annotation-model/#sets-of-targets-and-targets)", - "description": "True when Annotation includes one or more Independents resources as Annotation target(ies). (Section 3.2.8)", - "type": "object", - "properties": - { - "target": - { - "oneOf": [ - { "$ref": "choiceSet.json#/definitions/independentsDetected" }, - { "not": - { - "items": - { "not": - { "$ref": "choiceSet.json#/definitions/independentsDetected" } - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.2.8-targList.json b/annotation-model/annotations/bodiesTargets/3.2.8-targList.json deleted file mode 100644 index 7ab726b6cf8aef..00000000000000 --- a/annotation-model/annotations/bodiesTargets/3.2.8-targList.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "3.2.8-targList.json", - "assertionType": "may", - "expectedResult": "valid", - "onUnexpectedResult" : "passAndContinue", - "errorMessage": "A List resource may be used as an Annotation Target (not found).", - "title": "Implements **List** with **_type_ and _items_ keys** as a target of the Annotation [model 3.2.8](https://www.w3.org/TR/annotation-model/#sets-of-targets-and-targets)", - "description": "True when Annotation includes one or more List resources as Annotation target(ies). (Section 3.2.8)", - "type": "object", - "properties": - { - "target": - { - "oneOf": [ - { "$ref": "choiceSet.json#/definitions/listDetected" }, - { "not": - { - "items": - { "not": - { "$ref": "choiceSet.json#/definitions/listDetected" } - } - } - } - ] - } - } -} \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.3.1-targCreated.json b/annotation-model/annotations/bodiesTargets/3.3.1-targCreated.json index 0db8559c7c2f89..85a3da6e4cf402 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.1-targCreated.json +++ b/annotation-model/annotations/bodiesTargets/3.3.1-targCreated.json @@ -34,5 +34,6 @@ ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.3.1-targCreator.json b/annotation-model/annotations/bodiesTargets/3.3.1-targCreator.json index e1ee1b4764fa84..d4f2e44b23ca5b 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.1-targCreator.json +++ b/annotation-model/annotations/bodiesTargets/3.3.1-targCreator.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.3.1-targModified.json b/annotation-model/annotations/bodiesTargets/3.3.1-targModified.json index 4c3cf7b6896ac1..7c8fb0cdb8a634 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.1-targModified.json +++ b/annotation-model/annotations/bodiesTargets/3.3.1-targModified.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.3.1-targSingleCreator.json b/annotation-model/annotations/bodiesTargets/3.3.1-targSingleCreator.json index 5eb662ba9ca91b..91b9aed2ee4c5b 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.1-targSingleCreator.json +++ b/annotation-model/annotations/bodiesTargets/3.3.1-targSingleCreator.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentEmailImplemented.json b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentEmailImplemented.json index 133da131d82277..daccf45e02b637 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentEmailImplemented.json +++ b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentEmailImplemented.json @@ -32,5 +32,6 @@ } ] } - } + }, + "required": [ "target" ] } diff --git a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentEmail_sha1Implemented.json b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentEmail_sha1Implemented.json index 1c34b43e0f4652..103ef83bdae47a 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentEmail_sha1Implemented.json +++ b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentEmail_sha1Implemented.json @@ -32,5 +32,6 @@ } ] } - } + }, + "required": [ "target" ] } diff --git a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentHomepageImplemented.json b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentHomepageImplemented.json index bc79f1a5e36468..da8ac7fd785772 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentHomepageImplemented.json +++ b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentHomepageImplemented.json @@ -32,5 +32,6 @@ } ] } - } + }, + "required": [ "target" ] } diff --git a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentIdImplemented.json b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentIdImplemented.json index bed81643477482..8728b848dd10c9 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentIdImplemented.json +++ b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentIdImplemented.json @@ -32,5 +32,6 @@ } ] } - } + }, + "required": [ "target" ] } diff --git a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentNameImplemented.json b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentNameImplemented.json index 15c91f92e6dcbf..9cd9990d14797b 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentNameImplemented.json +++ b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentNameImplemented.json @@ -32,5 +32,6 @@ } ] } - } + }, + "required": [ "target" ] } diff --git a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentNicknameImplemented.json b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentNicknameImplemented.json index 7c84087f4e96f4..17b69bff08903e 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentNicknameImplemented.json +++ b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentNicknameImplemented.json @@ -32,5 +32,6 @@ } ] } - } + }, + "required": [ "target" ] } diff --git a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentSingleNameImplemented.json b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentSingleNameImplemented.json index 7f5428f548058f..5604f4a4b99d85 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentSingleNameImplemented.json +++ b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentSingleNameImplemented.json @@ -32,5 +32,6 @@ } ] } - } + }, + "required": [ "target" ] } diff --git a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentTypeImplemented.json b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentTypeImplemented.json index b9f6c8bae49a37..f26238616babe7 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentTypeImplemented.json +++ b/annotation-model/annotations/bodiesTargets/3.3.2-targCreatorAgentTypeImplemented.json @@ -32,5 +32,6 @@ } ] } - } + }, + "required": [ "target" ] } diff --git a/annotation-model/annotations/bodiesTargets/3.3.3-targAudience.json b/annotation-model/annotations/bodiesTargets/3.3.3-targAudience.json index df84e2b4203752..5b2ba6fa97c57b 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.3-targAudience.json +++ b/annotation-model/annotations/bodiesTargets/3.3.3-targAudience.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.3.4-targAccessibility.json b/annotation-model/annotations/bodiesTargets/3.3.4-targAccessibility.json index 4f04e3d1d3c2b0..0f345a16f26b93 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.4-targAccessibility.json +++ b/annotation-model/annotations/bodiesTargets/3.3.4-targAccessibility.json @@ -34,5 +34,6 @@ ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.3.5-targPurpose.json b/annotation-model/annotations/bodiesTargets/3.3.5-targPurpose.json index b3894864e27594..68c861a5c7557a 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.5-targPurpose.json +++ b/annotation-model/annotations/bodiesTargets/3.3.5-targPurpose.json @@ -32,5 +32,6 @@ ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.3.6-targRights.json b/annotation-model/annotations/bodiesTargets/3.3.6-targRights.json index 23906035568ec5..31de4f809d5122 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.6-targRights.json +++ b/annotation-model/annotations/bodiesTargets/3.3.6-targRights.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.3.7-targCanonical.json b/annotation-model/annotations/bodiesTargets/3.3.7-targCanonical.json index f7fb58e254fc51..76bd003d4c2ae0 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.7-targCanonical.json +++ b/annotation-model/annotations/bodiesTargets/3.3.7-targCanonical.json @@ -33,5 +33,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/3.3.7-targVia.json b/annotation-model/annotations/bodiesTargets/3.3.7-targVia.json index c6625e73718b3f..d175687aeac3b6 100644 --- a/annotation-model/annotations/bodiesTargets/3.3.7-targVia.json +++ b/annotation-model/annotations/bodiesTargets/3.3.7-targVia.json @@ -23,5 +23,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/4-bodyChoiceSetFound.json b/annotation-model/annotations/bodiesTargets/4-bodyChoiceSetFound.json deleted file mode 100644 index 3f6751b51cea57..00000000000000 --- a/annotation-model/annotations/bodiesTargets/4-bodyChoiceSetFound.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "4-bodyChoiceSetFound.json", - "assertionType": "may", - "expectedResult": "valid", - "onUnexpectedResult" : "passAndContinue", - "errorMessage": "A Body may be a Choice or Set.", - "title": "If a **Choice or Set** is a body, it does NOT have a **_source_ key** - [model 4](https://www.w3.org/TR/annotation-model/#specific-resources)", - "description": "True when no Choice or Set bodies or when none of the Choice or Set bodies include the source key. (Section 4)", - "type": "object", - "properties": - { - "body": - { - "oneOf": [ - { "$ref": "choiceSet.json#/definitions/choiceOrSetDetected" } , - { "type": "Array", - "minItems": 1, - "not": - { "items": { "not": { "$ref": "choiceSet.json#/definitions/choiceOrSetDetected" } } } - } - ] - } - } -} \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/4-targChoiceSetFound.json b/annotation-model/annotations/bodiesTargets/4-targChoiceSetFound.json deleted file mode 100644 index 6b67481dcdd92a..00000000000000 --- a/annotation-model/annotations/bodiesTargets/4-targChoiceSetFound.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "4-targChoiceSetFound.json", - "assertionType": "may", - "expectedResult": "valid", - "onUnexpectedResult" : "passAndContinue", - "errorMessage": "A Target may be a Choice or Set.", - "title": "Implements a **Choice or Set** as target - [model 3.2.7](https://www.w3.org/TR/annotation-model/#choice-of-bodies-and-targets)", - "description": "True when Choice or Set is a target. (Section 3.2.7)", - "type": "object", - "properties": - { - "target": - { - "oneOf": [ - { "$ref": "choiceSet.json#/definitions/choiceOrSetDetected" } , - { "type": "Array", - "minItems": 1, - "not": - { "items": { "not": { "$ref": "choiceSet.json#/definitions/choiceOrSetDetected" } } } - } - ] - } - } -} \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/4-targSpecificResource.json b/annotation-model/annotations/bodiesTargets/4-targSpecificResource.json index 2e7a9f30bc4a1b..92e388af28401b 100644 --- a/annotation-model/annotations/bodiesTargets/4-targSpecificResource.json +++ b/annotation-model/annotations/bodiesTargets/4-targSpecificResource.json @@ -29,5 +29,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/4.4-targStyleClass.json b/annotation-model/annotations/bodiesTargets/4.4-targStyleClass.json index cde8fa4d3f69ab..88765ef8eb49f1 100644 --- a/annotation-model/annotations/bodiesTargets/4.4-targStyleClass.json +++ b/annotation-model/annotations/bodiesTargets/4.4-targStyleClass.json @@ -31,5 +31,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/bodiesTargets/4.5-targRenderedVia.json b/annotation-model/annotations/bodiesTargets/4.5-targRenderedVia.json index 0b9a4554133c6f..e2b718ce4d1164 100644 --- a/annotation-model/annotations/bodiesTargets/4.5-targRenderedVia.json +++ b/annotation-model/annotations/bodiesTargets/4.5-targRenderedVia.json @@ -31,5 +31,6 @@ } ] } - } + }, + "required": [ "target" ] } \ No newline at end of file diff --git a/annotation-model/annotations/specificResource/3.2.2-targType.json b/annotation-model/annotations/specificResource/3.2.2-targType.json new file mode 100644 index 00000000000000..0c85cef7f627ac --- /dev/null +++ b/annotation-model/annotations/specificResource/3.2.2-targType.json @@ -0,0 +1,38 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "id": "3.2.2-targType.json", + "assertionType": "may", + "expectedResult": "valid", + "onUnexpectedResult" : "passAndContinue", + "errorMessage": "The description of a Target may include type key with one or more values that are each drawn from the model's list of resource classes.", + "title": "Implements **target _type_ key** with one or more values each of which is drawn from the **model's list of resource classes** [model 3.2.1](https://www.w3.org/TR/annotation-model/#bodies-and-targets)", + "description": "True when Annotation includes one or more Targets, one or more of which include type key with one or more values that are each drawn from the model's list of resource classes. (Section 3.2.1)", + "type": "object", + "required": [ "target" ], + "properties": + { + "target": + { + "oneOf": [ + { "anyOf": [ + { "$ref": "bodyTarget.json#/definitions/recognizedTypeFound" }, + { "$ref": "bodyTarget.json#/definitions/itemRecognizedTypeFound" }, + { "$ref": "bodyTarget.json#/definitions/sourceFormatPropertyFound" } + ] + }, + { "not": + { "items": + { "not": + { "anyOf": [ + { "$ref": "bodyTarget.json#/definitions/recognizedTypeFound" }, + { "$ref": "bodyTarget.json#/definitions/itemRecognizedTypeFound" }, + { "$ref": "bodyTarget.json#/definitions/sourceRecognizedTypeFound" } + ] + } + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/annotation-model/annotations/specificResource/3.3.3-targAudience.json b/annotation-model/annotations/specificResource/3.3.3-targAudience.json new file mode 100644 index 00000000000000..9f71688a878684 --- /dev/null +++ b/annotation-model/annotations/specificResource/3.3.3-targAudience.json @@ -0,0 +1,38 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "id": "3.3.3-targAudience.json", + "assertionType": "may", + "expectedResult": "valid", + "onUnexpectedResult" : "passAndContinue", + "errorMessage": "The description of a target may include audience key which has one or more values with each audience instance described using schema.org/Audience classes and properties.", + "title": "Implements **target _audience_ key** which has one or more values with each audience instance described using **[schema.org/Audience](http://schema.org/Audience) classes and properties** - [model 3.3.3](https://www.w3.org/TR/annotation-model/#intended-audience)", + "description": "True when Annotation includes one or more targets, one or more of which include audience key which has one or more values with each audience instance described using schema.org/Audience classes and properties.. (Section 3.3.3)", + "type": "object", + "required": [ "target" ], + "properties": + { + "target": + { + "oneOf": [ + { "anyOf": [ + { "$ref": "otherProperties.json#/definitions/audiencePropertyFound" }, + { "$ref": "otherProperties.json#/definitions/itemAudiencePropertyFound" }, + { "$ref": "otherProperties.json#/definitions/sourceAudiencePropertyFound" } + ] + }, + { "not": + { "items": + { "not": + { "anyOf": [ + { "$ref": "otherProperties.json#/definitions/audiencePropertyFound" }, + { "$ref": "otherProperties.json#/definitions/itemAudiencePropertyFound" }, + { "$ref": "otherProperties.json#/definitions/sourceAudiencePropertyFound" } + ] + } + } + } + } + ] + } + } +} \ No newline at end of file diff --git a/annotation-model/annotations/specificResource/4.2-selectorFound.json b/annotation-model/annotations/specificResource/4.2-selectorFound.json index bddf35543d0271..45390f35efdf2e 100644 --- a/annotation-model/annotations/specificResource/4.2-selectorFound.json +++ b/annotation-model/annotations/specificResource/4.2-selectorFound.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.2.1-conformsTo.json b/annotation-model/annotations/specificResource/4.2.1-conformsTo.json index a440b9486532a3..12df91d311fe89 100644 --- a/annotation-model/annotations/specificResource/4.2.1-conformsTo.json +++ b/annotation-model/annotations/specificResource/4.2.1-conformsTo.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.2.1-fragmentSelector.json b/annotation-model/annotations/specificResource/4.2.1-fragmentSelector.json index df9f9968bc1f9d..d21488ef51eb25 100644 --- a/annotation-model/annotations/specificResource/4.2.1-fragmentSelector.json +++ b/annotation-model/annotations/specificResource/4.2.1-fragmentSelector.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.2.2-cssSelector.json b/annotation-model/annotations/specificResource/4.2.2-cssSelector.json index aa422920908268..ec3359230435f2 100644 --- a/annotation-model/annotations/specificResource/4.2.2-cssSelector.json +++ b/annotation-model/annotations/specificResource/4.2.2-cssSelector.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.2.3-xpathSelector.json b/annotation-model/annotations/specificResource/4.2.3-xpathSelector.json index 53b8bb76a3800d..e5526be5c21a33 100644 --- a/annotation-model/annotations/specificResource/4.2.3-xpathSelector.json +++ b/annotation-model/annotations/specificResource/4.2.3-xpathSelector.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.2.4-prefix.json b/annotation-model/annotations/specificResource/4.2.4-prefix.json index 31961d778c35ea..825a24a6d9eb4d 100644 --- a/annotation-model/annotations/specificResource/4.2.4-prefix.json +++ b/annotation-model/annotations/specificResource/4.2.4-prefix.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.2.4-suffix.json b/annotation-model/annotations/specificResource/4.2.4-suffix.json index 88a52b175c05b0..b03fb6028c3969 100644 --- a/annotation-model/annotations/specificResource/4.2.4-suffix.json +++ b/annotation-model/annotations/specificResource/4.2.4-suffix.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.2.4-textQuoteSelector.json b/annotation-model/annotations/specificResource/4.2.4-textQuoteSelector.json index 65d2faeebb6f0d..34ef0ed6c6559e 100644 --- a/annotation-model/annotations/specificResource/4.2.4-textQuoteSelector.json +++ b/annotation-model/annotations/specificResource/4.2.4-textQuoteSelector.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.2.5-textPositionSelector.json b/annotation-model/annotations/specificResource/4.2.5-textPositionSelector.json index b709b9298c0a3a..03cdf2ee6472ce 100644 --- a/annotation-model/annotations/specificResource/4.2.5-textPositionSelector.json +++ b/annotation-model/annotations/specificResource/4.2.5-textPositionSelector.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.2.6-dataPositionSelector.json b/annotation-model/annotations/specificResource/4.2.6-dataPositionSelector.json index 1735eb04582e4b..42144206868b3a 100644 --- a/annotation-model/annotations/specificResource/4.2.6-dataPositionSelector.json +++ b/annotation-model/annotations/specificResource/4.2.6-dataPositionSelector.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.2.7-svgSelector.json b/annotation-model/annotations/specificResource/4.2.7-svgSelector.json index 45b0e828beef98..17834f54dbef4a 100644 --- a/annotation-model/annotations/specificResource/4.2.7-svgSelector.json +++ b/annotation-model/annotations/specificResource/4.2.7-svgSelector.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.2.8-rangeSelector.json b/annotation-model/annotations/specificResource/4.2.8-rangeSelector.json index a55bf842e840e5..68c2feaf30b4ac 100644 --- a/annotation-model/annotations/specificResource/4.2.8-rangeSelector.json +++ b/annotation-model/annotations/specificResource/4.2.8-rangeSelector.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.3-stateFound.json b/annotation-model/annotations/specificResource/4.3-stateFound.json index 568e0fd2fea024..fb1b1a09d03119 100644 --- a/annotation-model/annotations/specificResource/4.3-stateFound.json +++ b/annotation-model/annotations/specificResource/4.3-stateFound.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.3.1-cached.json b/annotation-model/annotations/specificResource/4.3.1-cached.json index 40f02af9bcb330..449356a3df9f9d 100644 --- a/annotation-model/annotations/specificResource/4.3.1-cached.json +++ b/annotation-model/annotations/specificResource/4.3.1-cached.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.3.1-timeState.json b/annotation-model/annotations/specificResource/4.3.1-timeState.json index 49b2034549dcd6..faa84764350976 100644 --- a/annotation-model/annotations/specificResource/4.3.1-timeState.json +++ b/annotation-model/annotations/specificResource/4.3.1-timeState.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.3.2-requestHeaderState.json b/annotation-model/annotations/specificResource/4.3.2-requestHeaderState.json index 66a6a5f9791166..829043b126b4cd 100644 --- a/annotation-model/annotations/specificResource/4.3.2-requestHeaderState.json +++ b/annotation-model/annotations/specificResource/4.3.2-requestHeaderState.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.3.3-refinedBy.json b/annotation-model/annotations/specificResource/4.3.3-refinedBy.json index a9582597aa038a..127e6841659d08 100644 --- a/annotation-model/annotations/specificResource/4.3.3-refinedBy.json +++ b/annotation-model/annotations/specificResource/4.3.3-refinedBy.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.4-styleClass.json b/annotation-model/annotations/specificResource/4.4-styleClass.json index 079d002aabc22d..800950b270a1a2 100644 --- a/annotation-model/annotations/specificResource/4.4-styleClass.json +++ b/annotation-model/annotations/specificResource/4.4-styleClass.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.4-styleClassValidIfPresent.json b/annotation-model/annotations/specificResource/4.4-styleClassValidIfPresent.json index 5af382bd0573eb..3e599a0590e6e8 100644 --- a/annotation-model/annotations/specificResource/4.4-styleClassValidIfPresent.json +++ b/annotation-model/annotations/specificResource/4.4-styleClassValidIfPresent.json @@ -81,7 +81,8 @@ } ] } - } + }, + "required": [ "target" ] } } } diff --git a/annotation-model/annotations/specificResource/4.5-renderedVia.json b/annotation-model/annotations/specificResource/4.5-renderedVia.json index 008c7312045d46..2815d3ca7e0427 100644 --- a/annotation-model/annotations/specificResource/4.5-renderedVia.json +++ b/annotation-model/annotations/specificResource/4.5-renderedVia.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/annotations/specificResource/4.6-scope.json b/annotation-model/annotations/specificResource/4.6-scope.json index fcc237bd3c7f49..f2002d597e9618 100644 --- a/annotation-model/annotations/specificResource/4.6-scope.json +++ b/annotation-model/annotations/specificResource/4.6-scope.json @@ -67,7 +67,8 @@ } ] } - } + }, + "required": [ "target" ] } ], "definitions": diff --git a/annotation-model/collections/collectionOptionals.test b/annotation-model/collections/collectionOptionals.test index 885b3f4020c483..5a75eb6bc6a1b8 100644 --- a/annotation-model/collections/collectionOptionals.test +++ b/annotation-model/collections/collectionOptionals.test @@ -3,6 +3,7 @@ "name": "A single Annotation Collection implements optional keys and meets optional key value constraints", "description": "A Collection of Web Annotations: Note: failing an assertion indicates only that a recommended or optional feature has not been implemented or has not been implemented correctly.
Please fill textarea with json-ld serialization of a single Annotation Collection description", "testType": "manual", + "skipFailures": [ "should", "may" ], "ref": "https://www.w3.org/TR/annotation-model/", "assertions": [ "collections/5.1-collectionLabelImplemented.json", diff --git a/annotation-model/collections/pages/3.3.1-pageCreatedImplemented.json b/annotation-model/collections/pages/3.3.1-pageCreatedImplemented.json index e65ea8f29c1611..3979744c91d936 100644 --- a/annotation-model/collections/pages/3.3.1-pageCreatedImplemented.json +++ b/annotation-model/collections/pages/3.3.1-pageCreatedImplemented.json @@ -4,23 +4,16 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Valid Annotation Page-level created key not found. Annotation Page may have exactly one created key value inherited from Collection.", - "title": "Implements Annotation Page-level **_created_ key** which has a **single value** that is a **string of format date-time** - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)", - "description": "True when the Annotation Page implements exactly one created key value (Sections 3.3.1 and 5.2)", - "oneOf": [ - { "allOf": [ - { "$ref": "#/definitions/createdImplemented" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Valid Annotation Page-level created key (i.e., in description of Collection included using partOf key) not found. Annotation Page may have exactly one created key value inherited from Collection.", + "title": "Implements Annotation Page-level **_created_ key** (i.e., in description of Collection included using partOf key) which has a **single value** that is a **string of format date-time** - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)", + "description": "True when the Annotation Page implements exactly one created key value (i.e., in description of Collection included using partOf key) (Sections 3.3.1 and 5.2)", + "type": "object", + "properties": + { + "partOf": { "$ref": "#/definitions/createdImplemented" } - }, - "required": [ "first" ] - } - ], + }, + "required": [ "partOf" ], "definitions": { "createdImplemented": diff --git a/annotation-model/collections/pages/3.3.1-pageCreatedValidated.json b/annotation-model/collections/pages/3.3.1-pageCreatedValidated.json index be4e9c32487c9b..96218084ad1c5b 100644 --- a/annotation-model/collections/pages/3.3.1-pageCreatedValidated.json +++ b/annotation-model/collections/pages/3.3.1-pageCreatedValidated.json @@ -5,20 +5,12 @@ "expectedResult": "valid", "onUnexpectedResult" : "failAndContinue", "errorMessage": "ERROR: Annotation page has multiple created key values or a single created key value that is not of format date-time.", - "title": "If present the Annotation page-level **_created_ key** has a **single value** that is of **format date-time** - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)", - "description": "True when no Annotation page created key present or when created key has a single value that is of format date-time (Section 3.3.1)", - "type": "object", - "oneOf": [ - { "allOf": [ - { "$ref": "otherProperties.json#/definitions/createdValidIfPresent" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "properties": - {"first": + "title": "If present the Annotation page-level **_created_ key** (i.e., in description of Collection included using partOf key) has a **single value** that is of **format date-time** - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)", + "description": "True when no Annotation page created key present (i.e., in description of Collection included using partOf key) or when created key has a single value that is of format date-time (Section 3.3.1)", + "type": "object", + "properties": + { + "partOf": { "$ref": "otherProperties.json#/definitions/createdValidIfPresent" } - }, - "required": [ "first" ] - } - ] + } } diff --git a/annotation-model/collections/pages/3.3.1-pageCreatorImplemented.json b/annotation-model/collections/pages/3.3.1-pageCreatorImplemented.json index 8b6ded3a4ec762..6ae95413e28409 100644 --- a/annotation-model/collections/pages/3.3.1-pageCreatorImplemented.json +++ b/annotation-model/collections/pages/3.3.1-pageCreatorImplemented.json @@ -4,23 +4,15 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Valid Annotation Page-level creator key not found. Annotation Page may have zero or more creators inherited from Collection.", - "title": "Implements **Annotation Page-level _creator_ key** which has one or more values, each of which is a **string of format uri** or an **object** - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)", - "description": "True when the Annotation Page implements creator key (Section 3.3.1)", - "oneOf": [ - { "allOf": [ - { "$ref": "#/definitions/creatorImplemented" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Valid Annotation Page-level creator key (i.e., in description of Collection included using partOf key) not found. Annotation Page may have zero or more creators inherited from Collection.", + "title": "Implements **Annotation Page-level _creator_ key** (i.e., in description of Collection included using partOf key) which has one or more values, each of which is a **string of format uri** or an **object** - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)", + "type": "object", + "properties": + { + "partOf": { "$ref": "#/definitions/creatorImplemented" } - }, - "required": [ "first" ] - } - ], + }, + "required": [ "partOf" ], "definitions": { "creatorImplemented": diff --git a/annotation-model/collections/pages/3.3.1-pageModifiedImplemented.json b/annotation-model/collections/pages/3.3.1-pageModifiedImplemented.json index 5bccc821152ea6..68d22370afbb39 100644 --- a/annotation-model/collections/pages/3.3.1-pageModifiedImplemented.json +++ b/annotation-model/collections/pages/3.3.1-pageModifiedImplemented.json @@ -4,23 +4,16 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Valid Annotation Page-level modified key not found. Annotation Page may have zero or exactly one modified key value inherited from Collection.", - "title": "Implements Annotation Page-level **_modified_ key** which has a **single value** that is a **string of format date-time** - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)", - "description": "True when the Annotation Page implements exactly one modified key value (Section 3.3.1, 5.2)", - "oneOf": [ - { "allOf": [ - { "$ref": "#/definitions/modifiedImplemented" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Valid Annotation Page-level modified key (i.e., in description of Collection included using partOf key) not found. Annotation Page may have zero or exactly one modified key value inherited from Collection.", + "title": "Implements Annotation Page-level **_modified_ key** (i.e., in description of Collection included using partOf key) which has a **single value** that is a **string of format date-time** - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)", + "description": "True when the Annotation Page implements exactly one modified key value (i.e., in description of Collection included using partOf key) (Section 3.3.1, 5.2)", + "type": "object", + "properties": + { + "partOf": { "$ref": "#/definitions/modifiedImplemented" } - }, - "required": [ "first" ] - } - ], + }, + "required": [ "partOf" ], "definitions": { "modifiedImplemented": diff --git a/annotation-model/collections/pages/3.3.1-pageModifiedValidated.json b/annotation-model/collections/pages/3.3.1-pageModifiedValidated.json index d8591cd16a4643..e7c1a5583751e5 100644 --- a/annotation-model/collections/pages/3.3.1-pageModifiedValidated.json +++ b/annotation-model/collections/pages/3.3.1-pageModifiedValidated.json @@ -5,20 +5,12 @@ "expectedResult": "valid", "onUnexpectedResult" : "failAndContinue", "errorMessage": "ERROR: Annotation page has multiple modified key values or a single modified key value that is not of format date-time.", - "title": "If present the Annotation page-level **_modified_ key** has a **single value** that is of **format date-time** - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)", - "description": "True when no Annotation page modified key present or when modified key has a single value that is of format date-time (Section 3.3.1)", - "type": "object", - "oneOf": [ - { "allOf": [ - { "$ref": "otherProperties.json#/definitions/modifiedValidIfPresent" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "properties": - {"first": + "title": "If present the Annotation page-level **_modified_ key** (i.e., in description of Collection included using partOf key) has a **single value** that is of **format date-time** - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)", + "description": "True when no Annotation page modified key present (i.e., in description of Collection included using partOf key) or when modified key has a single value that is of format date-time (Section 3.3.1)", + "type": "object", + "properties": + { + "partOf": { "$ref": "otherProperties.json#/definitions/modifiedValidIfPresent" } - }, - "required": [ "first" ] - } - ] + } } diff --git a/annotation-model/collections/pages/3.3.2-pageCreatorAgentEmailImplemented.json b/annotation-model/collections/pages/3.3.2-pageCreatorAgentEmailImplemented.json index c30f81ac28f1d4..541a32deb6a88f 100644 --- a/annotation-model/collections/pages/3.3.2-pageCreatorAgentEmailImplemented.json +++ b/annotation-model/collections/pages/3.3.2-pageCreatorAgentEmailImplemented.json @@ -4,23 +4,16 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Email for Annotation Page Creator (Agent), inherited from Collection, not found. Agents may have one or more email values.", - "title": "Implements Annotation Page-level creator (Agent), inherited from Collection, **_email_ key** with one or more values, each of which is a **mailto: uri** - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", - "description": "True when one or more email values for Annotation Page Creator (Agent), inherited from Collection, is implemented (Section 3.3.2)", - "oneOf": [ - { "allOf": [ - { "$ref": "#/definitions/creatorAgentEmailFound" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Email for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) not found. Agents may have one or more email values.", + "title": "Implements Annotation Page-level creator (Agent) (i.e., in description of Collection included using partOf key) **_email_ key** with one or more values, each of which is a **mailto: uri** - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", + "description": "True when one or more email values for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) is implemented (Section 3.3.2)", + "type": "object", + "properties": + { + "partOf": { "$ref": "#/definitions/creatorAgentEmailFound" } - }, - "required": [ "first" ] - } - ], + }, + "required": [ "partOf" ], "definitions": { "creatorAgentEmailFound": { "properties": diff --git a/annotation-model/collections/pages/3.3.2-pageCreatorAgentEmail_sha1Implemented.json b/annotation-model/collections/pages/3.3.2-pageCreatorAgentEmail_sha1Implemented.json index 41e6ec0f6a4421..ba7d38eac1db4d 100644 --- a/annotation-model/collections/pages/3.3.2-pageCreatorAgentEmail_sha1Implemented.json +++ b/annotation-model/collections/pages/3.3.2-pageCreatorAgentEmail_sha1Implemented.json @@ -4,23 +4,16 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Email_sha1 for Annotation Page Creator (Agent), inherited from Collection, not found. Agents may have one or more email_sha1 values.", - "title": "Implements Annotation Page-level creator (Agent), inherited from Collection, **email_sha1 key** with one or more values - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", - "description": "True when one or more email_sha1 values for Annotation Page Creator (Agent), inherited from Collection, is implemented (Section 3.3.2)", - "oneOf": [ - { "allOf": [ - { "$ref": "#/definitions/creatorAgentEmail_sha1Found" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Email_sha1 for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) not found. Agents may have one or more email_sha1 values.", + "title": "Implements Annotation Page-level creator (Agent) (i.e., in description of Collection included using partOf key) **email_sha1 key** with one or more values - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", + "description": "True when one or more email_sha1 values for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) is implemented (Section 3.3.2)", + "type": "object", + "properties": + { + "partOf": { "$ref": "#/definitions/creatorAgentEmail_sha1Found" } - }, - "required": [ "first" ] - } - ], + }, + "required": [ "partOf" ], "definitions": { "creatorAgentEmail_sha1Found": { "properties": diff --git a/annotation-model/collections/pages/3.3.2-pageCreatorAgentHomepageImplemented.json b/annotation-model/collections/pages/3.3.2-pageCreatorAgentHomepageImplemented.json index d325b17ba83aaf..7b8c9d7e2a8aeb 100644 --- a/annotation-model/collections/pages/3.3.2-pageCreatorAgentHomepageImplemented.json +++ b/annotation-model/collections/pages/3.3.2-pageCreatorAgentHomepageImplemented.json @@ -4,23 +4,16 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Homepage for Annotation Page Creator (Agent), inherited from Collection, not found. Agents may have one or more homepage values.", - "title": "Implements Annotation Page-level creator (Agent), inherited from Collection, **_homepage_ key** with one or more values, each of which is a **string of format uri** - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", - "description": "True when one or more homepage values for Annotation Page Creator (Agent), inherited from Collection, is implemented (Section 3.3.2)", - "oneOf": [ - { "allOf": [ - { "$ref": "#/definitions/creatorAgentHomePageFound" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Homepage for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) not found. Agents may have one or more homepage values.", + "title": "Implements Annotation Page-level creator (Agent) (i.e., in description of Collection included using partOf key) **_homepage_ key** with one or more values, each of which is a **string of format uri** - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", + "description": "True when one or more homepage values for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) is implemented (Section 3.3.2)", + "type": "object", + "properties": + { + "partOf": { "$ref": "#/definitions/creatorAgentHomePageFound" } - }, - "required": [ "first" ] - } - ], + }, + "required": [ "partOf" ], "definitions": { "creatorAgentHomePageFound": { "properties": diff --git a/annotation-model/collections/pages/3.3.2-pageCreatorAgentIdImplemented.json b/annotation-model/collections/pages/3.3.2-pageCreatorAgentIdImplemented.json index 6d45c1df72bb46..2a280ead8d23ed 100644 --- a/annotation-model/collections/pages/3.3.2-pageCreatorAgentIdImplemented.json +++ b/annotation-model/collections/pages/3.3.2-pageCreatorAgentIdImplemented.json @@ -4,23 +4,16 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Single id for Annotation Page Creator (Agent), inherited from Collection, not found for any Creator. Agents should have exactly one id of format uri.", - "title": "Implements Annotation Page-level creator (Agent), inherited from Collection, **_id_ key** with **single value** that is a **string of format uri** - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", - "description": "True when at least one Annotation Page Creator (Agent), inherited from Collection, has exactly one id (Section 3.3.2)", - "oneOf": [ - { "allOf": [ - { "$ref": "#/definitions/creatorAgentIdFound" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Single id for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) not found for any Creator. Agents should have exactly one id of format uri.", + "title": "Implements Annotation Page-level creator (Agent) (i.e., in description of Collection included using partOf key) **_id_ key** with **single value** that is a **string of format uri** - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", + "description": "True when at least one Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) has exactly one id (Section 3.3.2)", + "type": "object", + "properties": + { + "partOf": { "$ref": "#/definitions/creatorAgentIdFound" } - }, - "required": [ "first" ] - } - ], + }, + "required": [ "partOf" ], "definitions": { "creatorAgentIdFound": { diff --git a/annotation-model/collections/pages/3.3.2-pageCreatorAgentNameImplemented.json b/annotation-model/collections/pages/3.3.2-pageCreatorAgentNameImplemented.json index 077c3d51402097..50f811021e1a71 100644 --- a/annotation-model/collections/pages/3.3.2-pageCreatorAgentNameImplemented.json +++ b/annotation-model/collections/pages/3.3.2-pageCreatorAgentNameImplemented.json @@ -4,23 +4,16 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Name for Annotation Page Creator (Agent), inherited from Collection, not found. Agents may have one or more name values.", - "title": "Implements Annotation Page-level creator (Agent), inherited from Collection, **_name_ key** with one or more values - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", - "description": "True when one or more name values for Annotation Page Creator (Agent), inherited from Collection, is implemented (Section 3.3.2)", - "oneOf": [ - { "allOf": [ - { "$ref": "#/definitions/creatorAgentNameFound" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Name for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) not found. Agents may have one or more name values.", + "title": "Implements Annotation Page-level creator (Agent) (i.e., in description of Collection included using partOf key) **_name_ key** with one or more values - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", + "description": "True when one or more name values for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) is implemented (Section 3.3.2)", + "type": "object", + "properties": + { + "partOf": { "$ref": "#/definitions/creatorAgentNameFound" } - }, - "required": [ "first" ] - } - ], + }, + "required": [ "partOf" ], "definitions": { "creatorAgentNameFound": { "properties": diff --git a/annotation-model/collections/pages/3.3.2-pageCreatorAgentNicknameImplemented.json b/annotation-model/collections/pages/3.3.2-pageCreatorAgentNicknameImplemented.json index 60398fed77c570..7829deafcbbe6b 100644 --- a/annotation-model/collections/pages/3.3.2-pageCreatorAgentNicknameImplemented.json +++ b/annotation-model/collections/pages/3.3.2-pageCreatorAgentNicknameImplemented.json @@ -4,23 +4,16 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Single nickname for Annotation Page Creator (Agent), inherited from Collection, not found for any Creator. Agents should have exactly one id of format uri.", - "title": "Implements Annotation Page-level creator (Agent), inherited from Collection, **_nickname_ key** with **single value** that is a **string of format uri** - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", - "description": "True when at least one Annotation Page Creator (Agent), inherited from Collection, has exactly one nickname (Section 3.3.2)", - "oneOf": [ - { "allOf": [ - { "$ref": "#/definitions/creatorAgentNicknameFound" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Single nickname for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) not found for any Creator. Agents should have exactly one id of format uri.", + "title": "Implements Annotation Page-level creator (Agent) (i.e., in description of Collection included using partOf key) **_nickname_ key** with **single value** that is a **string of format uri** - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", + "description": "True when at least one Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) has exactly one nickname (Section 3.3.2)", + "type": "object", + "properties": + { + "partOf": { "$ref": "#/definitions/creatorAgentNicknameFound" } - }, - "required": [ "first" ] - } - ], + }, + "required": [ "partOf" ], "definitions": { "creatorAgentNicknameFound": { diff --git a/annotation-model/collections/pages/3.3.2-pageCreatorAgentTypeImplemented.json b/annotation-model/collections/pages/3.3.2-pageCreatorAgentTypeImplemented.json index 8144fa24e5a06f..20b40d0104e0c9 100644 --- a/annotation-model/collections/pages/3.3.2-pageCreatorAgentTypeImplemented.json +++ b/annotation-model/collections/pages/3.3.2-pageCreatorAgentTypeImplemented.json @@ -4,34 +4,27 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Type (Person, Organization, Software) for Annotation Page Creator (Agent), inherited from Collection, not found. Agents should have one or more type values.", - "title": "Implements Annotation Page-level creator (Agent), inherited from Collection, **_type_ key** with one or more values from **model-recommended list (Person, Organization, Software)** - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", - "description": "True when type for Annotation Page Creator (Agent), inherited from Collection, is implemented (Section 3.3.2)", - "oneOf": [ - { "allOf": [ - { "$ref": "#/definitions/creatorAgentNameFound" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": - { "$ref": "#/definitions/creatorAgentNameFound" } - }, - "required": [ "first" ] - } - ], + "errorMessage": "Type (Person, Organization, Software) for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) not found. Agents should have one or more type values.", + "title": "Implements Annotation Page-level creator (Agent) (i.e., in description of Collection included using partOf key) **_type_ key** with one or more values from **model-recommended list (Person, Organization, Software)** - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)", + "description": "True when type for Annotation Page Creator (Agent) (i.e., in description of Collection included using partOf key) is implemented (Section 3.3.2)", + "type": "object", + "properties": + { + "partOf": + { "$ref": "#/definitions/creatorAgentTypeFound" } + }, + "required": [ "partOf" ], "definitions": { - "creatorAgentNameFound": + "creatorAgentTypeFound": { "properties": { "creator": { "oneOf": [ - { "$ref": "otherProperties.json#/definitions/agentNameFound" }, + { "$ref": "otherProperties.json#/definitions/agentTypeFound" }, { "type": "array", "minItems": 1, "not": - { "items": { "not": { "$ref": "otherProperties.json#/definitions/agentNameFound" } } } + { "items": { "not": { "$ref": "otherProperties.json#/definitions/agentTypeFound" } } } } ] } diff --git a/annotation-model/collections/pages/3.3.6-pageRightsImplemented.json b/annotation-model/collections/pages/3.3.6-pageRightsImplemented.json index 56e4e910124d66..7a3fa5c460a744 100644 --- a/annotation-model/collections/pages/3.3.6-pageRightsImplemented.json +++ b/annotation-model/collections/pages/3.3.6-pageRightsImplemented.json @@ -4,28 +4,21 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Annotation Page rights key (inherited from Collection) having string value(s) of format uri not found. Annotation Page may may have zero or more rights key values.", - "title": "Implements Annotation Page **_rights_** key (inherited from Collection) which has one or more values, each of which is a **string of format uri** - [model 3.3.6](https://www.w3.org/TR/annotation-model/#rights-information)", - "description": "True when the Annotation Page implements rights key with with string(s) of format uri value(s) (Sections 5.1 and 3.3.6)", - "oneOf": [ - { "allOf": [ + "errorMessage": "Annotation Page rights key (i.e., in description of Collection included using partOf key) having string value(s) of format uri not found. Annotation Page may may have zero or more rights key values.", + "title": "Implements Annotation Page **_rights_** key (i.e., in description of Collection included using partOf key) which has one or more values, each of which is a **string of format uri** - [model 3.3.6](https://www.w3.org/TR/annotation-model/#rights-information)", + "description": "True when the Annotation Page implements collection rights key (i.e., in description of Collection included using partOf key) with with string(s) of format uri value(s) (Sections 5.1 and 3.3.6)", + "type": "object", + "properties": + { + "partOf": + { "allOf": + [ { "$ref": "otherProperties.json#/definitions/rightsValidIfPresent" }, { "type": "object", - "required": [ "rights" ]}, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } + "required": [ "rights" ] } ] - }, - { "type": "object", - "properties": - {"first": - { "allOf": [ - { "$ref": "otherProperties.json#/definitions/rightsValidIfPresent" }, - { "type": "object", - "required": [ "rights" ]} - ] - } - }, - "required": [ "first" ] } - ] + }, + "required": [ "partOf" ] + } diff --git a/annotation-model/collections/pages/3.3.6-pageRightsValidated.json b/annotation-model/collections/pages/3.3.6-pageRightsValidated.json index 472c316dc6b4ec..99f0e7c7a796ea 100644 --- a/annotation-model/collections/pages/3.3.6-pageRightsValidated.json +++ b/annotation-model/collections/pages/3.3.6-pageRightsValidated.json @@ -4,21 +4,13 @@ "assertionType": "must", "expectedResult": "valid", "onUnexpectedResult" : "failAndContinue", - "errorMessage": "ERROR: Annotation page page has one or more values for the rights key that are not strings of format uri.", - "title": "If present the Annotation page page-level **_rights_ key** has values that are all **strings of format uri** - [model 3.3.6](https://www.w3.org/TR/annotation-model/#rights-information)", - "description": "True when no Annotation page page rights key present or when all values of rights key are strings of format uri (Section 3.3.6)", + "errorMessage": "ERROR: Annotation page page has one or more values for the rights key (i.e., in description of Collection included using partOf key) that are not strings of format uri.", + "title": "If present the Annotation page page-level **_rights_ key** (i.e., in description of Collection included using partOf key)has values that are all **strings of format uri** - [model 3.3.6](https://www.w3.org/TR/annotation-model/#rights-information)", + "description": "True when no Annotation page collection rights key present or when all values of rights key are strings of format uri (Section 3.3.6)", "type": "object", - "oneOf": [ - { "allOf": [ - { "$ref": "otherProperties.json#/definitions/rightsValidIfPresent" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "properties": - {"first": + "properties": + { + "partOf": { "$ref": "otherProperties.json#/definitions/rightsValidIfPresent" } - }, - "required": [ "first" ] - } - ] + } } diff --git a/annotation-model/collections/pages/5.2-pageFirstImplemented.json b/annotation-model/collections/pages/5.2-pageFirstImplemented.json index 1c7dfb141e70ad..5e0934e14fa396 100644 --- a/annotation-model/collections/pages/5.2-pageFirstImplemented.json +++ b/annotation-model/collections/pages/5.2-pageFirstImplemented.json @@ -4,22 +4,15 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Annotation Page has no first key (inherited from Collection).", - "title": "Implements **Annotation Page _first_ key** (inherited from Collection) with valid value - [model 5.1](https://www.w3.org/TR/annotation-model/#annotation-collection)", - "oneOf": [ - { "allOf": [ - { "$ref": "collections.json#/definitions/firstFound" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Annotation Page has no first key (i.e., in description of Collection included using partOf key).", + "title": "Implements **Annotation Page _first_ key** (i.e., in description of Collection included using partOf key) with valid value - [model 5.1](https://www.w3.org/TR/annotation-model/#annotation-collection)", + "type": "object", + "properties": + { + "partOf": { "$ref": "collections.json#/definitions/firstFound" } - }, - "required": [ "first" ] - } - ] + }, + "required": [ "partOf" ] } diff --git a/annotation-model/collections/pages/5.2-pageFirstValidated.json b/annotation-model/collections/pages/5.2-pageFirstValidated.json index 2e260b1d36ec0b..bffe4e889f0b6e 100644 --- a/annotation-model/collections/pages/5.2-pageFirstValidated.json +++ b/annotation-model/collections/pages/5.2-pageFirstValidated.json @@ -4,20 +4,12 @@ "assertionType": "must", "expectedResult": "valid", "onUnexpectedResult" : "failAndContinue", - "errorMessage": "ERROR: Annotation Page has invalid first key.", - "title": "**Annotation Page _first_ key** (inherited from Collection), if present, has value of string of format uri - [model 5.2](https://www.w3.org/TR/annotation-model/#annotation-page)", - "oneOf": [ - { "allOf": [ - { "$ref": "collections.json#/definitions/firstValidIfPresent" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "ERROR: Annotation Page has invalid first key (i.e., in description of Collection included using partOf key).", + "title": "**Annotation Page _first_ key** (i.e., in description of Collection included using partOf key), if present, has value of string of format uri - [model 5.2](https://www.w3.org/TR/annotation-model/#annotation-page)", + "type": "object", + "properties": + { + "partOf": { "$ref": "collections.json#/definitions/firstValidIfPresent" } - }, - "required": [ "first" ] - } - ] + } } diff --git a/annotation-model/collections/pages/5.2-pageLabelImplemented.json b/annotation-model/collections/pages/5.2-pageLabelImplemented.json index e64d5d80b24667..19b82f3ba96d29 100644 --- a/annotation-model/collections/pages/5.2-pageLabelImplemented.json +++ b/annotation-model/collections/pages/5.2-pageLabelImplemented.json @@ -4,20 +4,13 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Annotation Page has no label key (inherited from Collection).", - "title": "Implements **Annotation Page _label_ key** (inherited from Collection) with valid value - [model 5.1](https://www.w3.org/TR/annotation-model/#annotation-collection)", - "oneOf": [ - { "allOf": [ - { "$ref": "collections.json#/definitions/labelFound" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Annotation Page has no label key (i.e., in description of Collection included using partOf key).", + "title": "Implements **Annotation Page _label_ key** (i.e., in description of Collection included using partOf key) with valid value - [model 5.1](https://www.w3.org/TR/annotation-model/#annotation-collection)", + "type": "object", + "properties": + { + "partOf": { "$ref": "collections.json#/definitions/labelFound" } - }, - "required": [ "first" ] - } - ] + }, + "required": [ "partOf" ] } diff --git a/annotation-model/collections/pages/5.2-pageLabelValidated.json b/annotation-model/collections/pages/5.2-pageLabelValidated.json index 740bd622aedcbe..50749f4489d303 100644 --- a/annotation-model/collections/pages/5.2-pageLabelValidated.json +++ b/annotation-model/collections/pages/5.2-pageLabelValidated.json @@ -4,20 +4,12 @@ "assertionType": "must", "expectedResult": "valid", "onUnexpectedResult" : "failAndContinue", - "errorMessage": "ERROR: Annotation Page has label key with non-string value or an array as value containing non-string value.", - "title": "**Annotation Page _label_ key**, if present (inherited from Collection), is **a value of type string** - [model 5.2](https://www.w3.org/TR/annotation-model/#annotation-page)", - "oneOf": [ - { "allOf": [ - { "$ref": "collections.json#/definitions/labelDefinition" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "ERROR: Annotation Page has label key (i.e., in description of Collection included using partOf key) with non-string value or an array as value containing non-string value.", + "title": "**Annotation Page _label_ key**, if present (i.e., in description of Collection included using partOf key), is **a value of type string** - [model 5.2](https://www.w3.org/TR/annotation-model/#annotation-page)", + "type": "object", + "properties": + { + "partOf": { "$ref": "collections.json#/definitions/labelDefinition" } - }, - "required": [ "first" ] - } - ] + } } diff --git a/annotation-model/collections/pages/5.2-pageLastImplemented.json b/annotation-model/collections/pages/5.2-pageLastImplemented.json index dc0806404fd081..4978fedf61162d 100644 --- a/annotation-model/collections/pages/5.2-pageLastImplemented.json +++ b/annotation-model/collections/pages/5.2-pageLastImplemented.json @@ -4,20 +4,13 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Annotation Page has no last key (inherited from Collection).", - "title": "Implements **Annotation Page _last_ key** (inherited from Collection) with valid value - [model 5.1](https://www.w3.org/TR/annotation-model/#annotation-collection)", - "oneOf": [ - { "allOf": [ - { "$ref": "collections.json#/definitions/lastFound" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "Annotation Page has no last key (i.e., in description of Collection included using partOf key).", + "title": "Implements **Annotation Page _last_ key** (i.e., in description of Collection included using partOf key) with valid value - [model 5.1](https://www.w3.org/TR/annotation-model/#annotation-collection)", + "type": "object", + "properties": + { + "partOf": { "$ref": "collections.json#/definitions/lastFound" } - }, - "required": [ "first" ] - } - ] + }, + "required": [ "partOf" ] } diff --git a/annotation-model/collections/pages/5.2-pageLastValidated.json b/annotation-model/collections/pages/5.2-pageLastValidated.json index 9d02948b39de8c..d80c37c4c6d58c 100644 --- a/annotation-model/collections/pages/5.2-pageLastValidated.json +++ b/annotation-model/collections/pages/5.2-pageLastValidated.json @@ -4,24 +4,12 @@ "assertionType": "must", "expectedResult": "valid", "onUnexpectedResult" : "failAndContinue", - "errorMessage": "ERROR: Annotation Page has last key with non-uri value or array as value containing more than one item.", - "title": "**Annotation Page _last_ key** (inherited from Collection), if present, is **a single value of format uri** - [model 5.2](https://www.w3.org/TR/annotation-model/#annotation-page)", - "oneOf": [ - { "allOf": [ - { "$ref": "collections.json#/definitions/lastValidIfPresent" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": + "errorMessage": "ERROR: Annotation Page has last key (i.e., in description of Collection included using partOf key) with non-uri value or array as value containing more than one item.", + "title": "**Annotation Page _last_ key** (i.e., in description of Collection included using partOf key), if present, is **a single value of format uri** - [model 5.2](https://www.w3.org/TR/annotation-model/#annotation-page)", + "type": "object", + "properties": + { + "partOf": { "$ref": "collections.json#/definitions/lastValidIfPresent" } - }, - "required": [ "first" ] - } - ] - - - - + } } diff --git a/annotation-model/collections/pages/5.2-pageTotalImplemented.json b/annotation-model/collections/pages/5.2-pageTotalImplemented.json index 6e0e61a5c15aa7..fe1f21edae54be 100644 --- a/annotation-model/collections/pages/5.2-pageTotalImplemented.json +++ b/annotation-model/collections/pages/5.2-pageTotalImplemented.json @@ -4,20 +4,13 @@ "assertionType": "may", "expectedResult": "valid", "onUnexpectedResult" : "passAndContinue", - "errorMessage": "Annotation Page has no total key (inherited from Collection).", - "title": "Implements **Annotation Page _total_ key** (inherited from Collection) with valid value - [model 5.1](https://www.w3.org/TR/annotation-model/#annotation-collection)", - "oneOf": [ - { "allOf": [ - { "$ref": "collections.json#/definitions/totalFound" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": - { "$ref": "collections.json#/definitions/totalFound" } - }, - "required": [ "first" ] - } - ] + "errorMessage": "Annotation Page has no total key (i.e., in description of Collection included using partOf key).", + "title": "Implements **Annotation Page _total_ key** (i.e., in description of Collection included using partOf key) with valid value - [model 5.1](https://www.w3.org/TR/annotation-model/#annotation-collection)", + "type": "object", + "properties": + { + "partOf": + { "$ref": "collections.json#/definitions/totalFound" } + }, + "required": [ "partOf" ] } diff --git a/annotation-model/collections/pages/5.2-pageTotalValidated.json b/annotation-model/collections/pages/5.2-pageTotalValidated.json index eb9411d8522597..ca57e286ed327d 100644 --- a/annotation-model/collections/pages/5.2-pageTotalValidated.json +++ b/annotation-model/collections/pages/5.2-pageTotalValidated.json @@ -4,20 +4,12 @@ "assertionType": "must", "expectedResult": "valid", "onUnexpectedResult" : "failAndContinue", - "errorMessage": "ERROR: Annotation Page has total key with non-numeric value, a negative numeric value, or more than one value.", - "title": "**Annotation Page _total_ key**, if present (inherited from Collection), is **a non-negative integer value** - [model 5.2](https://www.w3.org/TR/annotation-model/#annotation-page)", - "oneOf": [ - { "allOf": [ - { "$ref": "collections.json#/definitions/totalDefinition" }, - { "$ref": "collections.json#/definitions/annotationPageTypeValueFound" } - ] - }, - { "type": "object", - "properties": - {"first": - { "$ref": "collections.json#/definitions/totalDefinition" } - }, - "required": [ "first" ] - } - ] + "errorMessage": "ERROR: Annotation Page has total key (i.e., in description of Collection included using partOf key) with non-numeric value, a negative numeric value, or more than one value.", + "title": "**Annotation Page _total_ key**, if present (i.e., in description of Collection included using partOf key), is **a non-negative integer value** - [model 5.2](https://www.w3.org/TR/annotation-model/#annotation-page)", + "type": "object", + "properties": + { + "partOf": + { "$ref": "collections.json#/definitions/totalDefinition" } + } } diff --git a/annotation-model/collections/pages/pageOptionals.test b/annotation-model/collections/pages/pageOptionals.test index 2d53d6550c78ef..39fac8f93c1540 100644 --- a/annotation-model/collections/pages/pageOptionals.test +++ b/annotation-model/collections/pages/pageOptionals.test @@ -3,6 +3,7 @@ "name": "A single Annotation Page implements optional keys and meets optional key value constraints", "description": "Pages of Web Annotations: Note: Implementation of optional Annotation Collection keys (features), optional constraints on key values, and optional keys and constraints on Agents involved in an Annotation Collection checked by other tests.
Please fill textarea with json-ld serialization of a single Annotation Page or an Annotation Collection with an embedded Page", "testType": "manual", + "skipFailures": [ "should", "may" ], "ref": "https://www.w3.org/TR/annotation-model/", "assertions": [ "collections/pages/5.2-pagePartOfImplemented.json", diff --git a/annotation-model/definitions/bodyTarget.json b/annotation-model/definitions/bodyTarget.json index b51c0461f9c4b4..8c09b14aa4039e 100644 --- a/annotation-model/definitions/bodyTarget.json +++ b/annotation-model/definitions/bodyTarget.json @@ -83,11 +83,8 @@ "oneOf": [ {"$ref": "id.json#/definitions/stringUri"}, {"$ref": "choiceSet.json#/definitions/choiceDetected" }, - {"$ref": "choiceSet.json#/definitions/compositeDetected" }, - {"$ref": "choiceSet.json#/definitions/independentsDetected" }, - {"$ref": "choiceSet.json#/definitions/listDetected" }, - {"$ref": "specificResource.json#/definitions/specificeResourceDetected" }, - {"$ref": "#/definitions/externalWebResourceDetected" } + {"$ref": "specificResource.json#/definitions/specificeResourceDetected" }, + {"$ref": "#/definitions/externalWebResourceDetected" } ] }, @@ -100,9 +97,6 @@ "anyOf": [ {"$ref": "id.json#/definitions/stringUri"}, {"$ref": "choiceSet.json#/definitions/choiceDetected" }, - {"$ref": "choiceSet.json#/definitions/compositeDetected" }, - {"$ref": "choiceSet.json#/definitions/independentsDetected" }, - {"$ref": "choiceSet.json#/definitions/listDetected" }, {"$ref": "specificResource.json#/definitions/specificeResourceDetected" }, {"$ref": "#/definitions/externalWebResourceDetected" }, {"$ref": "#/definitions/textualBodyFound" } diff --git a/annotation-model/definitions/choiceSet.json b/annotation-model/definitions/choiceSet.json index 89c2ebdc74c2c2..aafb27bb260d95 100644 --- a/annotation-model/definitions/choiceSet.json +++ b/annotation-model/definitions/choiceSet.json @@ -1,8 +1,8 @@ { "$schema": "http://json-schema.org/draft-04/schema#", "id": "choiceSet.json", - "title": "Definitions: Choice, Composite, List, Independents.", - "description": "Schemas in #/definitions detect or validate keys/objects used in describing Choice, Composite, List, Independents (Sections 3.2.7 and 3.2.8).", + "title": "Definitions: Choice.", + "description": "Schemas in #/definitions detect or validate keys/objects used in describing Choice (Sections 3.2.7 and 3.2.8).", "definitions": { @@ -55,69 +55,18 @@ "required": [ "type" ] }, - "compositeTypeDefinition": - { - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Definition: Composite type", - "description": "True when object has type key and object's type is 'Composite' (Section 3.2.7)", - "type": "object", - "properties": - { - "type": - { - "type": "string", - "enum": ["Composite"] - } - }, - "required": [ "type" ] - }, - - "listTypeDefinition": - { - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Definition: List type", - "description": "True when object has type key and object's type is 'List' (Section 3.2.7)", - "type": "object", - "properties": - { - "type": - { - "type": "string", - "enum": ["List"] - } - }, - "required": [ "type" ] - }, - - "independentsTypeDefinition": - { - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Definition: Independents type", - "description": "True when object has type key and object's type is 'Independents' (Section 3.2.7)", - "type": "object", - "properties": - { - "type": - { - "type": "string", - "enum": ["Independents"] - } - }, - "required": [ "type" ] - }, - "choiceOrSetTypeDefinition": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Definition: Choice or Set type", - "description": "True when object has type key and object's type is any of 'Choice', 'Composite', 'List', 'Independents' (Section 3.2.7)", + "description": "True when object has type key and object's type is any of 'Choice' (Section 3.2.7)", "type": "object", "properties": { "type": { "type": "string", - "enum": ["Choice", "Composite", "List", "Independents"] + "enum": ["Choice"] } }, "required": [ "type" ] @@ -135,46 +84,10 @@ ] }, - "compositeDetected": { - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Detection: Composite", - "description": "True when object's type is 'Composite' and the object has an items array (Section 3.2.8)", - "type": "object", - "allOf": - [ - { "$ref": "#/definitions/compositeTypeDefinition" }, - { "$ref": "#/definitions/itemsDetected" } - ] - }, - - "listDetected": { - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Detection: List", - "description": "True when object's type is 'List' and the object has an items array (Section 3.2.7)", - "type": "object", - "allOf": - [ - { "$ref": "#/definitions/listTypeDefinition" }, - { "$ref": "#/definitions/itemsDetected" } - ] - }, - - "independentsDetected": { - "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Detection: Independents", - "description": "True when object's type is 'Independents' and the object has an items array (Section 3.2.7)", - "type": "object", - "allOf": - [ - { "$ref": "#/definitions/independentsTypeDefinition" }, - { "$ref": "#/definitions/itemsDetected" } - ] - }, - "choiceOrSetDetected": { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Detection: Choice or Set", - "description": "True when object's type is one of Choice, Composite, List or Independents and the object has an items array (Section 3.2.7)", + "description": "True when object's type is one of Choice and the object has an items array (Section 3.2.7)", "type": "object", "allOf": [