Update web-platform-tests to revision 3b3585e368841b77caea8576fa56cef91c3fbdf0

This commit is contained in:
Ms2ger 2016-09-26 10:52:50 +02:00
parent d00639c55f
commit 3b4f0ec0bb
541 changed files with 14609 additions and 3288 deletions

View file

@ -5,7 +5,7 @@
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: Annotation is missing @context key or 'http://www.w3.org/ns/anno.jsonld' is not a value of @context.",
"title": "Annotation has **_@context_ key** and '**http://www.w3.org/ns/anno.jsonld**' is **a value of _@context_** - [model 3.1](https://www.w3.org/TR/annotation-model/#annotations)",
"title": "Implements **_@context_ key** and '**http://www.w3.org/ns/anno.jsonld**' is **a value of _@context_** - [model 3.1](https://www.w3.org/TR/annotation-model/#annotations)",
"description": "True when the Annotation has @context key and 'http://www.w3.org/ns/anno.jsonld' is an @context value (Section 3.1)",
"type": "object",
"required": [ "@context" ],

View file

@ -5,7 +5,7 @@
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: Annotation is missing id key or its value is not a single string of format uri.",
"title": "Annotation has **_id_ key** which has a **single value** that is a **string of format uri** - [model 3.1](https://www.w3.org/TR/annotation-model/#annotations)",
"title": "Implements **Annotation _id_ key** which has a **single value** that is a **string of format uri** - [model 3.1](https://www.w3.org/TR/annotation-model/#annotations)",
"description": "True when the Annotation has a single id that is a string of format uri (Section 3.1)",
"$ref": "id.json#/definitions/idValueFound"
}

View file

@ -5,7 +5,7 @@
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: Annotation is missing type key or 'Annotation' is not a value of type.",
"title": "Annotation has **_type_ key** and '**Annotation**' is **a value of _type_** - [model 3.1](https://www.w3.org/TR/annotation-model/#annotations)",
"title": "Implements **Annotation _type_ key** and '**Annotation**' is **a value of _type_** - [model 3.1](https://www.w3.org/TR/annotation-model/#annotations)",
"allOf": [
{ "$ref": "annotations.json#/definitions/annotationTypeValueFound"}
]

View file

@ -5,7 +5,7 @@
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "Error: Annotation is missing target key.",
"title": "Annotation has a **_target_ key** - [model 3.1](https://www.w3.org/TR/annotation-model/#annotations)",
"title": "Implements **_target_ key** - [model 3.1](https://www.w3.org/TR/annotation-model/#annotations)",
"description": "True when the Annotation has a target key (Section 3.1)",
"type": "object",
"required": ["target" ]

View file

@ -6,7 +6,7 @@
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: One or more Bodies of the Annotation is not one of a string of format uri, an External Web Resource, a Choice or Set, a Specific Resource.",
"title": "If present, each **_body_** is one of a **string of format uri**, an **External Web Resource**, an **Embedded Textual Body**, a **Choice** or **Set**, or a **Specific Resource** - [model 3.2](https://www.w3.org/TR/annotation-model/#bodies-and-targets), [model 4](https://www.w3.org/TR/annotation-model/#specific-resources)",
"description": "True when all Body(ies) are one of a string of format uri, an External Web Resource, a Choice or Set, a Specific Resource (Sections 3.2, Section 4)",
"description": "True when all Bodies are one of a string of format uri, an External Web Resource, a Choice or Set, a Specific Resource (Sections 3.2, Section 4)",
"type": "object",
"properties":
{

View file

@ -1,10 +1,10 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-annotationCreatedImplemented.json",
"assertionType": "may",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Valid Annotation-level created key not found. Annotation may have zero or exactly one created key value.",
"errorMessage": "Valid Annotation-level created key not found. Annotation should have exactly one created key value.",
"title": "Implements Annotation-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 implements exactly one created key value (Section 3.3.1)",
"allOf":

View file

@ -1,6 +1,6 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.7-annotationviaValidated.json",
"id": "3.3.7-annotationViaValidated.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",

View file

@ -1,25 +0,0 @@
{
"@context": "https://www.w3.org/ns/JSONtest-v1.jsonld",
"name": "Annotation implements optional keys and meets optional key value constraints for Creator and Generator Agents",
"description": "Agents (Creators, Generators) involved in an Annotation: <ul> <li>Should include certain properties (keys)</li> <li>May include additional keys</li> <li>should have Agent key values that conform to model recommended constraints</li> </ul> Note: failing an assertion indicates that a recommended or optional feature has not been implemented or has not been implemented correctly.",
"testType": "manual",
"ref": "https://www.w3.org/TR/annotation-model/#other-properties",
"assertions": [
"annotations/3.3.2-annotationCreatorAgentIdImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentIdImplemented.json",
"annotations/3.3.2-annotationCreatorAgentTypeImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentTypeImplemented.json",
"annotations/3.3.2-annotationCreatorAgentNicknameImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentNicknameImplemented.json",
"annotations/3.3.2-annotationCreatorAgentSingleNameImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentSingleNameImplemented.json",
"annotations/3.3.2-annotationCreatorAgentNameImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentNameImplemented.json",
"annotations/3.3.2-annotationCreatorAgentEmailImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentEmailImplemented.json",
"annotations/3.3.2-annotationCreatorAgentEmail_sha1Implemented.json",
"annotations/3.3.2-annotationGeneratorAgentEmail_sha1Implemented.json",
"annotations/3.3.2-annotationCreatorAgentHomepageImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentHomepageImplemented.json"
]
}

View file

@ -1,7 +1,8 @@
<!doctype html>
<html>
<head>
<title>Annotation has all required keys and all annotation keys used meet required value constraints</title>
<title>A single ANNOTATION has all required keys and all annotation keys used meet required value constraints</title>
<link rel="stylesheet" href="/resources/testharness.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/annotation-model/scripts/ajv.min.js"></script>
@ -11,26 +12,12 @@
setup({explicit_timeout: true, explicit_done: true });
var theDefinitions=[
"definitions/compositeDetected.json",
"definitions/processingLanguageDetected.json",
"definitions/textDirectionDetected.json",
"definitions/independentsDetected.json",
"definitions/specificResource.json",
"definitions/stringUri.json",
"definitions/choiceSet.json",
"definitions/bodyTarget.json",
"definitions/listDetected.json",
"definitions/formatDetected.json",
"definitions/annotations.json",
"definitions/otherProperties.json",
"definitions/choiceDetected.json",
"definitions/externalWebResource.json",
"definitions/externalWebResourceDetected.json",
"definitions/languageDetected.json",
"definitions/textualBody.json",
"definitions/id.json",
"definitions/itemsDetected.json",
"definitions/specificResourceDetected.json"
"definitions/id.json"
];
var theTestFile="annotationMusts.test";
@ -49,13 +36,13 @@ var runningTest = new JSONtest( {
<p>Fill the textarea below with JSON output from your annotation client
implementation that supports the following criteria:</p>
<div id="testDescription"></div>
<p>Specifically, the following assertions will be evaluated:</p>
<div id="assertion"></div>
<form name="annotation" id="annotation">
<textarea name="annotation-input" id="annotation-input" style="width: 90%; height: 10em" ></textarea>
<p><input type="button" id="annotation-run" name="Loading..." value="Loading...">
<input style="display: none" type="button" id="annotation-close"
name="Close" value="Close"></p>
</form>
<p>Specifically, the following assertions will be evaluated:</p>
<div id="assertion"></div>
</body>
</html>

View file

@ -1,9 +1,9 @@
{
"@context": "https://www.w3.org/ns/JSONtest-v1.jsonld",
"name": "Annotation has all required keys and all annotation keys used meet required value constraints",
"description": "Web Annotations: <ul> <li>MUST include certain properties (keys)</li> <li>MUST NOT have both body and bodyValue keys simultaneously</li> <li>MUST satisfy model constraints on values of required and any optional Annotation keys used</li> </ul> Note: Optional Annotation keys, optional constraints on key values, and optional and required details of body(ies) and target(s) checked by other tests.",
"name": "A single ANNOTATION has all required keys and all annotation keys used meet required value constraints",
"description": "Web Annotations: <ul> <li>MUST include certain properties (keys)</li> <li>MUST NOT have both body and bodyValue keys simultaneously</li> <li>MUST satisfy model constraints on values of required and any optional Annotation keys used</li> </ul> Note: Implementation of optional Annotation keys (features), optional constraints on key values, and optional keys and constraints on Agents involved in an Annotation checked by other tests.",
"testType": "manual",
"ref": "https://www.w3.org/TR/annotation-model/#annotations",
"ref": "https://www.w3.org/TR/annotation-model/",
"assertions": [
"annotations/3.1-annotationContextValidated.json",
"annotations/3.1-annotationIdValidated.json",
@ -18,6 +18,46 @@
"annotations/3.3.1-annotationGeneratedValidated.json",
"annotations/3.3.6-annotationRightsValidated.json",
"annotations/3.3.7-annotationCanonicalValidated.json",
"annotations/3.3.7-annotationViaValidated.json"
"annotations/3.3.7-annotationViaValidated.json",
"annotations/bodiesTargets/3.2.1-bodyTextDirectionValidated.json",
"annotations/bodiesTargets/3.3.1-bodyCreatedValidated.json",
"annotations/bodiesTargets/3.3.1-bodyModifiedValidated.json",
"annotations/bodiesTargets/3.3.6-bodyRightsValidated.json",
"annotations/bodiesTargets/3.3.7-bodyCanonicalValidated.json",
"annotations/bodiesTargets/3.3.7-bodyViaValidated.json",
"annotations/bodiesTargets/3.2.7-bodyEWRNoItems.json",
"annotations/bodiesTargets/3.3.5-bodyEWRNoPurpose.json",
"annotations/bodiesTargets/3.2.4-bodyChoiceSetNoValue.json",
"annotations/bodiesTargets/4-bodyChoiceSetNoSource.json",
"annotations/bodiesTargets/3.3.5-bodyChoiceSetNoPurpose.json",
"annotations/bodiesTargets/3.2.7-bodyEmbeddedTextualNoItems.json",
"annotations/bodiesTargets/4-bodyEmbeddedTextualNoSource.json",
"annotations/bodiesTargets/3.2.7-bodySpecificResourceNoItems.json",
"annotations/bodiesTargets/4-bodySpecificResourceNoValue.json",
"annotations/bodiesTargets/3.2.1-targTextDirectionValidated.json",
"annotations/bodiesTargets/3.3.1-targCreatedValidated.json",
"annotations/bodiesTargets/3.3.1-targModifiedValidated.json",
"annotations/bodiesTargets/3.3.6-targRightsValidated.json",
"annotations/bodiesTargets/3.3.7-targCanonicalValidated.json",
"annotations/bodiesTargets/3.3.7-targViaValidated.json",
"annotations/bodiesTargets/3.2.7-targEWRNoItems.json",
"annotations/bodiesTargets/3.3.5-targEWRNoPurpose.json",
"annotations/bodiesTargets/3.2.4-targChoiceSetNoValue.json",
"annotations/bodiesTargets/4-targChoiceSetNoSource.json",
"annotations/bodiesTargets/3.3.5-targChoiceSetNoPurpose.json",
"annotations/bodiesTargets/3.2.7-targSpecificResourceNoItems.json",
"annotations/bodiesTargets/4-targSpecificResourceNoValue.json",
"annotations/bodiesTargets/3.2.4-targNoTypeTextualBody.json",
"annotations/specificResource/4.2-selectorValidIfPresent.json",
"annotations/specificResource/4.3-stateValidIfPresent.json",
"annotations/specificResource/4.3.3-refinedByValidated.json",
"annotations/specificResource/4.4-styleClassValidIfPresent.json",
"annotations/specificResource/4.2-fragmentCssXPathSelectorValid.json",
"annotations/specificResource/4.2.4-textQuoteSelectorValid.json",
"annotations/specificResource/4.2-TextDataPositionSelectorValid.json",
"annotations/specificResource/4.2.7-svgSelectorValid.json",
"annotations/specificResource/4.2.8-rangeSelectorValid.json",
"annotations/specificResource/4.3.1-timeStateValid.json",
"annotations/specificResource/4.3.2-httpRequestStateValid.json"
]
}

View file

@ -2,6 +2,7 @@
<html>
<head>
<title>Annotation implements optional keys and meets optional key value constraints</title>
<link rel="stylesheet" href="/resources/testharness.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/annotation-model/scripts/ajv.min.js"></script>
@ -11,26 +12,12 @@
setup({explicit_timeout: true, explicit_done: true });
var theDefinitions=[
"definitions/compositeDetected.json",
"definitions/processingLanguageDetected.json",
"definitions/textDirectionDetected.json",
"definitions/independentsDetected.json",
"definitions/specificResource.json",
"definitions/stringUri.json",
"definitions/choiceSet.json",
"definitions/bodyTarget.json",
"definitions/listDetected.json",
"definitions/formatDetected.json",
"definitions/annotations.json",
"definitions/otherProperties.json",
"definitions/choiceDetected.json",
"definitions/externalWebResource.json",
"definitions/externalWebResourceDetected.json",
"definitions/languageDetected.json",
"definitions/textualBody.json",
"definitions/id.json",
"definitions/itemsDetected.json",
"definitions/specificResourceDetected.json"
"definitions/id.json"
];
var theTestFile="annotationOptionals.test";
@ -49,13 +36,13 @@ var runningTest = new JSONtest( {
<p>Fill the textarea below with JSON output from your annotation client
implementation that supports the following criteria:</p>
<div id="testDescription"></div>
<p>Specifically, the following assertions will be evaluated:</p>
<div id="assertion"></div>
<form name="annotation" id="annotation">
<textarea name="annotation-input" id="annotation-input" style="width: 90%; height: 10em" ></textarea>
<p><input type="button" id="annotation-run" name="Loading..." value="Loading...">
<input style="display: none" type="button" id="annotation-close"
name="Close" value="Close"></p>
</form>
<p>Specifically, the following assertions will be evaluated:</p>
<div id="assertion"></div>
</body>
</html>

View file

@ -5,13 +5,10 @@
"testType": "manual",
"ref": "https://www.w3.org/TR/annotation-model/#other-properties",
"assertions": [
"annotations/3.1-bodyKeyFound.json",
"annotations/3.3.1-annotationSingleCreatorImplemented.json",
"annotations/3.3.1-annotationCreatedImplemented.json",
"annotations/3.3.5-annotationSingleMotivationImplemented.json",
"annotations/3.2.5-bodyValueImplemented.json",
"annotations/3.3.1-annotationCreatorImplemented.json",
"annotations/3.3.1-annotationGeneratorImplemented.json",
"annotations/3.3.1-annotationGeneratedImplemented.json",
"annotations/3.3.1-annotationModifiedImplemented.json",
"annotations/3.3.3-annotationAudienceImplemented.json",
@ -19,7 +16,76 @@
"annotations/3.3.6-annotationRightsImplemented.json",
"annotations/3.3.7-annotationCanonicalImplemented.json",
"annotations/3.3.7-annotationViaImplemented.json",
"annotations/4.4-annotationStylesheetImplemented.json"
"annotations/4.4-annotationStylesheetImplemented.json",
"annotations/3.1-bodyKeyFound.json",
"annotations/bodiesTargets/3.2.1-bodySingleFormat.json",
"annotations/bodiesTargets/3.2.1-bodySingleLanguage.json",
"annotations/bodiesTargets/3.3.1-bodySingleCreator.json",
"annotations/bodiesTargets/3.3.1-bodyCreated.json",
"annotations/bodiesTargets/3.2.1-bodyFormat.json",
"annotations/bodiesTargets/3.2.1-bodyLanguage.json",
"annotations/bodiesTargets/3.2.2-bodyType.json",
"annotations/bodiesTargets/3.2.1-bodyProcessingLanguage.json",
"annotations/bodiesTargets/3.2.1-bodyTextDirection.json",
"annotations/bodiesTargets/3.3.1-bodyModified.json",
"annotations/bodiesTargets/3.3.3-bodyAudience.json",
"annotations/bodiesTargets/3.3.4-bodyAccessibility.json",
"annotations/bodiesTargets/3.3.5-bodyPurpose.json",
"annotations/bodiesTargets/3.3.6-bodyRights.json",
"annotations/bodiesTargets/3.3.7-bodyCanonical.json",
"annotations/bodiesTargets/3.3.7-bodyVia.json",
"annotations/bodiesTargets/3.2.1-bodyEWR.json",
"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",
"annotations/bodiesTargets/3.3.1-targCreated.json",
"annotations/bodiesTargets/3.2.1-targFormat.json",
"annotations/bodiesTargets/3.2.1-targLanguage.json",
"annotations/bodiesTargets/3.2.2-targType.json",
"annotations/bodiesTargets/3.2.1-targProcessingLanguage.json",
"annotations/bodiesTargets/3.2.1-targTextDirection.json",
"annotations/bodiesTargets/3.3.1-targModified.json",
"annotations/bodiesTargets/3.3.3-targAudience.json",
"annotations/bodiesTargets/3.3.4-targAccessibility.json",
"annotations/bodiesTargets/3.3.5-targPurpose.json",
"annotations/bodiesTargets/3.3.6-targRights.json",
"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",
"annotations/specificResource/4.4-styleClass.json",
"annotations/specificResource/4.5-renderedVia.json",
"annotations/specificResource/4.6-scope.json",
"annotations/specificResource/4.2-selectorFound.json",
"annotations/specificResource/4.2.1-fragmentSelector.json",
"annotations/specificResource/4.2.1-conformsTo.json",
"annotations/specificResource/4.2.2-cssSelector.json",
"annotations/specificResource/4.2.3-xpathSelector.json",
"annotations/specificResource/4.2.4-textQuoteSelector.json",
"annotations/specificResource/4.2.4-prefix.json",
"annotations/specificResource/4.2.4-suffix.json",
"annotations/specificResource/4.2.5-textPositionSelector.json",
"annotations/specificResource/4.2.6-dataPositionSelector.json",
"annotations/specificResource/4.2.7-svgSelector.json",
"annotations/specificResource/4.2.8-rangeSelector.json",
"annotations/specificResource/4.3-stateFound.json",
"annotations/specificResource/4.3.1-timeState.json",
"annotations/specificResource/4.3.2-requestHeaderState.json",
"annotations/specificResource/4.3.1-cached.json"
]
}

View file

@ -2,6 +2,7 @@
<html>
<head>
<title>Annotation implements optional keys and meets optional key value constraints for Creator and Generator Agents</title>
<link rel="stylesheet" href="/resources/testharness.css">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/annotation-model/scripts/ajv.min.js"></script>
@ -11,29 +12,15 @@
setup({explicit_timeout: true, explicit_done: true });
var theDefinitions=[
"definitions/compositeDetected.json",
"definitions/processingLanguageDetected.json",
"definitions/textDirectionDetected.json",
"definitions/independentsDetected.json",
"definitions/specificResource.json",
"definitions/stringUri.json",
"definitions/choiceSet.json",
"definitions/bodyTarget.json",
"definitions/listDetected.json",
"definitions/formatDetected.json",
"definitions/annotations.json",
"definitions/otherProperties.json",
"definitions/choiceDetected.json",
"definitions/externalWebResource.json",
"definitions/externalWebResourceDetected.json",
"definitions/languageDetected.json",
"definitions/textualBody.json",
"definitions/id.json",
"definitions/itemsDetected.json",
"definitions/specificResourceDetected.json"
"definitions/id.json"
];
var theTestFile="annotationAgentOptionals.test";
var theTestFile="annotationsAgentOptionals.test";
var runningTest = new JSONtest( {
"testInput" : "annotation-input",
@ -49,13 +36,13 @@ var runningTest = new JSONtest( {
<p>Fill the textarea below with JSON output from your annotation client
implementation that supports the following criteria:</p>
<div id="testDescription"></div>
<p>Specifically, the following assertions will be evaluated:</p>
<div id="assertion"></div>
<form name="annotation" id="annotation">
<textarea name="annotation-input" id="annotation-input" style="width: 90%; height: 10em" ></textarea>
<p><input type="button" id="annotation-run" name="Loading..." value="Loading...">
<input style="display: none" type="button" id="annotation-close"
name="Close" value="Close"></p>
</form>
<p>Specifically, the following assertions will be evaluated:</p>
<div id="assertion"></div>
</body>
</html>

View file

@ -0,0 +1,46 @@
{
"@context": "https://www.w3.org/ns/JSONtest-v1.jsonld",
"name": "Annotation implements optional keys and meets optional key value constraints for Creator and Generator Agents",
"description": "Agents (Creators, Generators) involved in an Annotation: <ul> <li>Should include certain properties (keys)</li> <li>May include additional keys</li> <li>should have Agent key values that conform to model recommended constraints</li> </ul> Note: failing an assertion indicates that a recommended or optional feature has not been implemented or has not been implemented correctly.",
"testType": "manual",
"ref": "https://www.w3.org/TR/annotation-model/#other-properties",
"assertions":
[
"annotations/3.3.1-annotationCreatorImplemented.json",
"annotations/3.3.2-annotationCreatorAgentIdImplemented.json",
"annotations/3.3.2-annotationCreatorAgentTypeImplemented.json",
"annotations/3.3.2-annotationCreatorAgentNicknameImplemented.json",
"annotations/3.3.2-annotationCreatorAgentSingleNameImplemented.json",
"annotations/3.3.2-annotationCreatorAgentNameImplemented.json",
"annotations/3.3.2-annotationCreatorAgentEmailImplemented.json",
"annotations/3.3.2-annotationCreatorAgentEmail_sha1Implemented.json",
"annotations/3.3.2-annotationCreatorAgentHomepageImplemented.json",
"annotations/3.3.1-annotationGeneratorImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentIdImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentTypeImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentNicknameImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentSingleNameImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentNameImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentEmailImplemented.json",
"annotations/3.3.2-annotationGeneratorAgentEmail_sha1Implemented.json",
"annotations/3.3.2-annotationGeneratorAgentHomepageImplemented.json",
"annotations/bodiesTargets/3.3.1-bodyCreator.json",
"annotations/bodiesTargets/3.3.2-bodyCreatorAgentIdImplemented.json",
"annotations/bodiesTargets/3.3.2-bodyCreatorAgentTypeImplemented.json",
"annotations/bodiesTargets/3.3.2-bodyCreatorAgentNicknameImplemented.json",
"annotations/bodiesTargets/3.3.2-bodyCreatorAgentSingleNameImplemented.json",
"annotations/bodiesTargets/3.3.2-bodyCreatorAgentNameImplemented.json",
"annotations/bodiesTargets/3.3.2-bodyCreatorAgentEmailImplemented.json",
"annotations/bodiesTargets/3.3.2-bodyCreatorAgentEmail_sha1Implemented.json",
"annotations/bodiesTargets/3.3.2-bodyCreatorAgentHomepageImplemented.json",
"annotations/bodiesTargets/3.3.1-targCreator.json",
"annotations/bodiesTargets/3.3.2-targCreatorAgentIdImplemented.json",
"annotations/bodiesTargets/3.3.2-targCreatorAgentTypeImplemented.json",
"annotations/bodiesTargets/3.3.2-targCreatorAgentNicknameImplemented.json",
"annotations/bodiesTargets/3.3.2-targCreatorAgentSingleNameImplemented.json",
"annotations/bodiesTargets/3.3.2-targCreatorAgentNameImplemented.json",
"annotations/bodiesTargets/3.3.2-targCreatorAgentEmailImplemented.json",
"annotations/bodiesTargets/3.3.2-targCreatorAgentEmail_sha1Implemented.json",
"annotations/bodiesTargets/3.3.2-targCreatorAgentHomepageImplemented.json"
]
}

View file

@ -0,0 +1,26 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-bodyEWR.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "An External Web Resource body may be used as an Annotation Body.",
"title": "Implements **External Web Resource** with **_id_ key** as a body of the Annotation [model 3.2.1](https://www.w3.org/TR/annotation-model/#bodies-and-targets)",
"description": "True when Annotation includes one or more External Web Resources as Annotation body(ies). (Section 3.2.1)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"anyOf": [
{ "$ref": "bodyTarget.json#/definitions/externalWebResourceDetected" },
{ "not": { "items": { "not": { "$ref": "bodyTarget.json#/definitions/externalWebResourceDetected" } } } },
{ "$ref": "bodyTarget.json#/definitions/sourceEwrDetected" },
{ "not": { "items": { "not": { "$ref": "bodyTarget.json#/definitions/sourceEwrDetected" } } } },
{ "$ref": "bodyTarget.json#/definitions/itemEwrDetected" },
{ "not": { "items": { "not": { "$ref": "bodyTarget.json#/definitions/itemEwrDetected" } } } }
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-bodyFormat.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a body may include format key with one or more values that are each a media type.",
"title": "Implements **body _format_ key** with one or more values each of which is a **media type** [model 3.2.1](https://www.w3.org/TR/annotation-model/#bodies-and-targets)",
"description": "True when Annotation includes one or more bodies, one or more of which include format key with one or more values that are each a media type. (Section 3.2.1)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/formatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceFormatPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/formatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceFormatPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-bodyLanguage.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a body may include language key with one or more values that are each a language code.",
"title": "Implements **body _language_ key** with one or more values each of which is a **language code** [model 3.2.1](https://www.w3.org/TR/annotation-model/#bodies-and-targets)",
"description": "True when Annotation includes one or more bodies, one or more of which include language key with one or more values that are each a language code. (Section 3.2.1)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/languagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceLanguagePropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/languagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceLanguagePropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-bodyProcessingLanguage.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Body may include processingLanguage key with a single value that is a language code.",
"title": "Implements **body _processingLanguage_ key** with a **single value** that is a **language code** [model 3.2.1](https://www.w3.org/TR/annotation-model/#bodies-and-targets)",
"description": "True when Annotation includes one or more Bodies, one or more of which include single processingLanguage key with a language code as value. (Section 3.2.1)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/processingLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemProcessingLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceProcessingLanguagePropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/processingLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemProcessingLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceProcessingLanguagePropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,39 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-bodySingleFormat.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Body should include format key with a single value that is a media type.",
"title": "Implements **body _format_ key** with a **single value** that is a **media type** [model 3.2.1](https://www.w3.org/TR/annotation-model/#bodies-and-targets)",
"description": "True when Annotation includes one or more bodies, one or more of which include single format key with a media type as value. (Section 3.2.1)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/singleFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemSingleFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceSingleFormatPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/singleFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemSingleFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceSingleFormatPropertyFound" }
]
}
}
}
}
]
}
},
"required": ["body"]
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-bodySingleLanguage.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Body should include language key with a single value that is a language code.",
"title": "Implements **body _language_ key** with a **single value** that is a **language code** [model 3.2.1](https://www.w3.org/TR/annotation-model/#bodies-and-targets)",
"description": "True when Annotation includes one or moreBodies, one or more of which include single language key with a language code as value. (Section 3.2.1)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/singleLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemSingleLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceSingleLanguagePropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/singleLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemSingleLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceSingleLanguagePropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-bodyTextDirection.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Body may include textDirection key with a single value that is one of ltr, rtl, or auto.",
"title": "Implements **body _textDirection_ key** with a **single value** that is is **one of ltr, rtl, or auto** [model 3.2.1](https://www.w3.org/TR/annotation-model/#bodies-and-targets)",
"description": "True when Annotation includes one or more Bodies, one or more of which include single textDirection key with one of ltr, rtl, or auto as value. (Section 3.2.1)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/textDirectionPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemTextDirectionPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceTextDirectionPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/textDirectionPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemTextDirectionPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceTextDirectionPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,44 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-bodyTextDirectionValidated.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: A body or body/source has multiple textDirection key values for a body or source, or a single textDirection key with a value that is not one of ltr, rtl, auto.",
"title": "If present as a body or body/source property, the **_textDirection_ key** has a **single value** which is **one of 'ltr', 'rtl', 'auto'** - [model 3.2.1](https://www.w3.org/TR/annotation-model/#external-web-resources)",
"description": "True when no body-level or body/source-level (SR body) textDirection key present or when all textDirection keys have a single value that is one of ltr, rtl, auto (Section 3.2.1)",
"type": "object",
"properties":
{
"body":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "bodyTarget.json#/definitions/textDirectionValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithTextDirection" }
]
},
{
"type": "array",
"minItems": 1,
"items":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "bodyTarget.json#/definitions/textDirectionValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithTextDirection" }
]
}
]
}
}
]
}
}
}

View file

@ -0,0 +1,25 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-targEWR.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "An External Web Resource target may be used as an Annotation Target.",
"title": "Implements **External Web Resource** with **_id_ key** as a target of the Annotation [model 3.2.1](https://www.w3.org/TR/annotation-model/#bodies-and-targets)",
"description": "True when Annotation includes one or more External Web Resources as Annotation target(ies). (Section 3.2.1)",
"type": "object",
"properties":
{
"target":
{
"anyOf": [
{ "$ref": "bodyTarget.json#/definitions/externalWebResourceDetected" },
{ "not": { "items": { "not": { "$ref": "bodyTarget.json#/definitions/externalWebResourceDetected" } } } },
{ "$ref": "bodyTarget.json#/definitions/sourceEwrDetected" },
{ "not": { "items": { "not": { "$ref": "bodyTarget.json#/definitions/sourceEwrDetected" } } } },
{ "$ref": "bodyTarget.json#/definitions/itemEwrDetected" },
{ "not": { "items": { "not": { "$ref": "bodyTarget.json#/definitions/itemEwrDetected" } } } }
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-targFormat.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a target may include format key with one or more values that are each a media type.",
"title": "Implements **target _format_ key** with one or more values each of which is a **media type** [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 format key with one or more values that are each a media type. (Section 3.2.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/formatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceFormatPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/formatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceFormatPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-targLanguage.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a target may include language key with one or more values that are each a language code.",
"title": "Implements **target _language_ key** with one or more values each of which is a **language code** [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 language key with one or more values that are each a language code. (Section 3.2.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/languagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceLanguagePropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/languagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceLanguagePropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-targProcessingLanguage.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Target may include processingLanguage key with a single value that is a language code.",
"title": "Implements **target _processingLanguage_ key** with a **single value** that is a **language code** [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 single processingLanguage key with a language code as value. (Section 3.2.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/processingLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemProcessingLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceProcessingLanguagePropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/processingLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemProcessingLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceProcessingLanguagePropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-targSingleFormat.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Target should include format key with a single value that is a media type.",
"title": "Implements **target _format_ key** with a **single value** that is a **media type** [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 single format key with a media type as value. (Section 3.2.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/singleFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemSingleFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceSingleFormatPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/singleFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemSingleFormatPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceSingleFormatPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-targSingleLanguage.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Target should include language key with a single value that is a language code.",
"title": "Implements **target _language_ key** with a **single value** that is a **language code** [model 3.2.1](https://www.w3.org/TR/annotation-model/#bodies-and-targets)",
"description": "True when Annotation includes one or moreTargets, one or more of which include single language key with a language code as value. (Section 3.2.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/singleLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemSingleLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceSingleLanguagePropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/singleLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemSingleLanguagePropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceSingleLanguagePropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-targTextDirection.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Target may include textDirection key with a single value that is one of ltr, rtl, or auto.",
"title": "Implements **target _textDirection_ key** with a **single value** that is is **one of ltr, rtl, or auto** [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 single textDirection key with one of ltr, rtl, or auto as value. (Section 3.2.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/textDirectionPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemTextDirectionPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceTextDirectionPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "bodyTarget.json#/definitions/textDirectionPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/itemTextDirectionPropertyFound" },
{ "$ref": "bodyTarget.json#/definitions/sourceTextDirectionPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,44 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-targTextDirectionValidated.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: A target or target/source has multiple textDirection key values for a target or source, or a single textDirection key with a value that is not one of ltr, rtl, auto.",
"title": "If present as a target or target/source property, the **_textDirection_ key** has a **single value** which is **one of 'ltr', 'rtl', 'auto'** - [model 3.2.1](https://www.w3.org/TR/annotation-model/#external-web-resources)",
"description": "True when no target-level or target/source-level (SR target) textDirection key present or when all textDirection keys have a single value that is one of ltr, rtl, auto (Section 3.2.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "bodyTarget.json#/definitions/textDirectionValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithTextDirection" }
]
},
{
"type": "array",
"minItems": 1,
"items":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "bodyTarget.json#/definitions/textDirectionValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithTextDirection" }
]
}
]
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.2-bodyType.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Body may include type key with one or more values that are each drawn from the model's list of resource classes.",
"title": "Implements **body _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 Bodies, 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": ["body"],
"properties":
{
"body":
{
"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" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$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",
"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" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,21 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.4-bodyChoiceSetNoValue.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "A Choice or Set body cannot include a value key. value key is only valid with Embedded Textual Bodies.",
"title": "If a **Choice or Set** is a body, it does NOT have a **_value_ key** - [model 3.2.4](https://www.w3.org/TR/annotation-model/#embedded-textual-body)",
"description": "True when no Choice or Set bodies or when none of the Choice or Set bodies include the value key. (Section 3.3.4)",
"type": "object",
"properties":
{
"body":
{
"allOf": [
{ "not": { "$ref": "choiceSet.json#/definitions/choiceSetWithValue" } },
{ "items": { "not": { "$ref": "choiceSet.json#/definitions/choiceSetWithValue" } } }
]
}
}
}

View file

@ -0,0 +1,24 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.4-bodyETB.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "An Embedded Textual Body may be used as an Annotation Body.",
"title": "Implements **Embedded Textual Body** with **_value_ key** as a body of the Annotation [model 3.2.4](https://www.w3.org/TR/annotation-model/#embedded-textual-body)",
"description": "True when Annotation includes one or more Embedded Textual Bodies as Annotation body(ies). (Section 3.2.4)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"anyOf": [
{ "$ref": "bodyTarget.json#/definitions/textualBodyFound" },
{ "not": { "items": { "not": { "$ref": "bodyTarget.json#/definitions/textualBodyFound" } } } },
{ "$ref": "bodyTarget.json#/definitions/itemETBDetected" },
{ "not": { "items": { "not": { "$ref": "bodyTarget.json#/definitions/itemETBDetected" } } } }
]
}
}
}

View file

@ -0,0 +1,39 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.4-bodyETBTypeText.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of an Embedded Textual Body should include type key which includes the value of Text.",
"title": "Implements **Embedded Textual Body _type_ key** which includes a value of **Text** [model 3.2.4](https://www.w3.org/TR/annotation-model/#embedded-textual-body)",
"description": "True when Annotation includes one or more Embedded Textual Bodies (incl. as part of body Choice or Set), one or more of which includes a type key which includes a value of Text. (Section 3.2.4)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf":
[
{ "$ref": "bodyTarget.json#/definitions/embeddedTextTypeIncludesText" },
{ "$ref": "bodyTarget.json#/definitions/itemEmbeddedTextTypeIncludesText" }
]
},
{ "not":
{
"items":
{ "not":
{ "anyOf":
[
{ "$ref": "bodyTarget.json#/definitions/embeddedTextTypeIncludesText" },
{ "$ref": "bodyTarget.json#/definitions/itemEmbeddedTextTypeIncludesText" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,39 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.4-bodyETBTypeTextualBody.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of an Embedded Textual Body should include type key which includes the value of TextualBody.",
"title": "Implements **Embedded Textual Body _type_ key** which includes a value of **TextualBody** [model 3.2.4](https://www.w3.org/TR/annotation-model/#embedded-textual-body)",
"description": "True when Annotation includes one or more Embedded Textual Bodies (incl. as part of body Choice or Set), one or more of which includes a type key which includes a value of TextualBody. (Section 3.2.4)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf":
[
{ "$ref": "bodyTarget.json#/definitions/embeddedTextTypeIncludesTextualBody" },
{ "$ref": "bodyTarget.json#/definitions/itemEmbeddedTextTypeIncludesTextualBody" }
]
},
{ "not":
{
"items":
{ "not":
{ "anyOf":
[
{ "$ref": "bodyTarget.json#/definitions/embeddedTextTypeIncludesTextualBody" },
{ "$ref": "bodyTarget.json#/definitions/itemEmbeddedTextTypeIncludesTextualBody" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,21 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.4-targChoiceSetNoValue.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "A Choice or Set target cannot include a value key. value key is only valid with Embedded Textual Bodies.",
"title": "If a **Choice or Set** is a target, it does NOT have a **_value_ key** - [model 3.2.4](https://www.w3.org/TR/annotation-model/#embedded-textual-targ)",
"description": "True when no Choice or Set targets or when none of the Choice or Set targets include the value key. (Section 3.3.4)",
"type": "object",
"properties":
{
"target":
{
"allOf": [
{ "not": { "$ref": "choiceSet.json#/definitions/choiceSetWithValue" } },
{ "items": { "not": { "$ref": "choiceSet.json#/definitions/choiceSetWithValue" } } }
]
}
}
}

View file

@ -0,0 +1,32 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.4-targNoTypeTextualBody.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "The description of a target resource MUST NOT include type key which includes the value of TextualBody.",
"title": "Neither **target** Resources nor target Choice or Set items have a **_type_ key** which includes a value of **TextualBody** [model 3.2.4](https://www.w3.org/TR/annotation-model/#embedded-textual-body)",
"description": "True when none of target(s), target source(s), target item(s) have a type key which includes a value of TextualBody. (Section 3.2.4)",
"type": "object",
"properties":
{
"target":
{
"allOf": [
{ "not": { "$ref": "bodyTarget.json#/definitions/embeddedTextTypeIncludesTextualBody" } },
{ "not": { "$ref": "bodyTarget.json#/definitions/itemEmbeddedTextTypeIncludesTextualBody" } },
{
"items":
{ "not":
{ "anyOf":
[
{ "$ref": "bodyTarget.json#/definitions/embeddedTextTypeIncludesTextualBody" },
{ "$ref": "bodyTarget.json#/definitions/itemEmbeddedTextTypeIncludesTextualBody" }
]
}
}
}
]
}
}
}

View file

@ -0,0 +1,29 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.7-bodyChoice.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "A Choice resource may be used as an Annotation Body (not found).",
"title": "Implements **Choice** with **_type_ and _items_ keys** as a body of the Annotation [model 3.2.7](https://www.w3.org/TR/annotation-model/#choice-of-bodies-and-targets)",
"description": "True when Annotation includes one or more Choice resources as Annotation body(ies). (Section 3.2.7)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "$ref": "choiceSet.json#/definitions/choiceDetected" },
{ "not":
{
"items":
{ "not":
{ "$ref": "choiceSet.json#/definitions/choiceDetected" }
}
}
}
]
}
}
}

View file

@ -0,0 +1,29 @@
{
"$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" }
}
}
}
]
}
}
}

View file

@ -0,0 +1,25 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.7-bodyEWRNoItems.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "The description of an External Web Resource body cannot include an items key. items key is only valid with Choice or Set.",
"title": "If an **External Web Resource** is a body, it does NOT have an **_items_ key** - [model 3.2.7](https://www.w3.org/TR/annotation-model/#choice-of-bodies-and-targets)",
"description": "True when no External Web Resource bodies or when none of the External Web Recource bodies include the items key. (Section 3.2.7)",
"type": "object",
"properties":
{
"body":
{
"allOf": [
{ "not": { "$ref": "bodyTarget.json#/definitions/ewrWithItems" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/ewrWithItems" } } },
{ "not": { "$ref": "bodyTarget.json#/definitions/sourceEwrWithItems" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/sourceEwrWithItems" } } },
{ "not": { "$ref": "bodyTarget.json#/definitions/itemEwrWithItems" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/itemEwrWithItems" } } }
]
}
}
}

View file

@ -0,0 +1,23 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.7-bodyEmbeddedTextualNoItems.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "An Embedded Textual body cannot include an items key. items key is only valid with Choice or Set.",
"title": "If an **Embedded Textual Body** is a body, it does NOT have an **_items_ key** - [model 3.2.7](https://www.w3.org/TR/annotation-model/#choice-of-bodies-and-targets)",
"description": "True when no Embedded Textual bodies or when none of the Embedded Textual bodies include the items key. (Section 4)",
"type": "object",
"properties":
{
"body":
{
"allOf": [
{ "not": { "$ref": "bodyTarget.json#/definitions/embeddedTextualBodyWithItems" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/embeddedTextualBodyWithItems" } } },
{ "not": { "$ref": "bodyTarget.json#/definitions/itemETBWithItems" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/itemETBWithItems" } } }
]
}
}
}

View file

@ -0,0 +1,23 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.7-bodySpecificResourceNoItems.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "An Specific Resource body cannot include an items key. items key is only valid with Choice or Set.",
"title": "If a **Specific Resource** is a body, it does NOT have an **_items_ key** - [model 3.2.7](https://www.w3.org/TR/annotation-model/#choice-of-bodies-and-targets)",
"description": "True when no Specific Resource bodies or when none of the Specific Resource bodies include the items key. (Section 4)",
"type": "object",
"properties":
{
"body":
{
"allOf": [
{ "not": { "$ref": "specificResource.json#/definitions/specificResourceWithItems" } },
{ "items": { "not": { "$ref": "specificResource.json#/definitions/specificResourceWithItems" } } },
{ "not": { "$ref": "specificResource.json#/definitions/itemSRWithItems" } },
{ "items": { "not": { "$ref": "specificResource.json#/definitions/itemSRWithItems" } } }
]
}
}
}

View file

@ -0,0 +1,28 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.7-targChoice.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "A Choice resource may be used as an Annotation Target (not found).",
"title": "Implements **Choice** with **_type_ and _items_ keys** as a target of the Annotation [model 3.2.7](https://www.w3.org/TR/annotation-model/#choice-of-targets-and-targets)",
"description": "True when Annotation includes one or more Choice resources as Annotation target(ies). (Section 3.2.7)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "$ref": "choiceSet.json#/definitions/choiceDetected" },
{ "not":
{
"items":
{ "not":
{ "$ref": "choiceSet.json#/definitions/choiceDetected" }
}
}
}
]
}
}
}

View file

@ -0,0 +1,28 @@
{
"$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" }
}
}
}
]
}
}
}

View file

@ -0,0 +1,25 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.7-targEWRNoItems.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "The description of an External Web Resource target cannot include an items key. items key is only valid with Choice or Set.",
"title": "If an **External Web Resource** is a target, it does NOT have an **_items_ key** - [model 3.2.7](https://www.w3.org/TR/annotation-model/#choice-of-targets-and-targets)",
"description": "True when no External Web Resource targets (incl. as source or item) or when none of the External Web Recource targets include the items key. (Section 3.2.7)",
"type": "object",
"properties":
{
"target":
{
"allOf": [
{ "not": { "$ref": "bodyTarget.json#/definitions/ewrWithItems" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/ewrWithItems" } } },
{ "not": { "$ref": "bodyTarget.json#/definitions/sourceEwrWithItems" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/sourceEwrWithItems" } } },
{ "not": { "$ref": "bodyTarget.json#/definitions/itemEwrWithItems" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/itemEwrWithItems" } } }
]
}
}
}

View file

@ -0,0 +1,23 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.7-targSpecificResourceNoItems.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "An Specific Resource target cannot include an items key. items key is only valid with Choice or Set.",
"title": "If a **Specific Resource Target** is a target, it does NOT have an **_items_ key** - [model 3.2.7](https://www.w3.org/TR/annotation-model/#choice-of-targets-and-targets)",
"description": "True when no Specific Resource targets or when none of the Specific Resource targets include the items key. (Section 4)",
"type": "object",
"properties":
{
"target":
{
"allOf": [
{ "not": { "$ref": "specificResource.json#/definitions/specificResourceWithItems" } },
{ "items": { "not": { "$ref": "specificResource.json#/definitions/specificResourceWithItems" } } },
{ "not": { "$ref": "specificResource.json#/definitions/itemSRWithItems" } },
{ "items": { "not": { "$ref": "specificResource.json#/definitions/itemSRWithItems" } } }
]
}
}
}

View file

@ -0,0 +1,29 @@
{
"$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" }
}
}
}
]
}
}
}

View file

@ -0,0 +1,29 @@
{
"$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" }
}
}
}
]
}
}
}

View file

@ -0,0 +1,29 @@
{
"$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" }
}
}
}
]
}
}
}

View file

@ -0,0 +1,28 @@
{
"$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" }
}
}
}
]
}
}
}

View file

@ -0,0 +1,28 @@
{
"$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" }
}
}
}
]
}
}
}

View file

@ -0,0 +1,28 @@
{
"$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" }
}
}
}
]
}
}
}

View file

@ -0,0 +1,39 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-bodyCreated.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a body should include created key with a single value that is of format date-time.",
"title": "Implements **body _created_ key** with 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 Annotation includes one or more bodies, one or more of which include created key with a single value of date-time format. (Section 3.3.1)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/createdPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatedPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/createdPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatedPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,43 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-bodyCreatedValidated.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: A body or body/source has multiple created key values for a body or source, or a single created key value that is not of format date-time.",
"title": "If present all body-level or body/source-level **_created_ keys** have 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 body-level or body/source-level (SR body) created key present or when all created keys have a single value that is of format date-time (Section 3.3.1)",
"type": "object",
"properties":
{
"body":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/createdValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithCreated" }
]
},
{
"type": "array",
"items":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/createdValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithCreated" }
]
}
]
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-bodyCreator.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a body may include creator key with one or more values.",
"title": "Implements **body _creator_ key** with one or more values - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)",
"description": "True when Annotation includes one or more bodies, one or more of which include creator key with one or more values. (Section 3.3.1)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-bodyModified.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a body may include modified key with a single value that is of format date-time.",
"title": "Implements **body _modified_ key** with 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 Annotation includes one or more bodies, one or more of which include modified key with a single value of format date-time. (Section 3.3.1)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/modifiedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemModifiedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceModifiedPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/modifiedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemModifiedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceModifiedPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,44 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-bodyModifiedValidated.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: A body or body/source has multiple modified key values for a body or source, or a single modified key value that is not of format date-time.",
"title": "If present all body-level or body/source-level **_modified_ keys** have 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 body-level or body/source-level (SR body) modified key present or when all modified keys have a single value that is of format date-time (Section 3.3.1)",
"type": "object",
"properties":
{
"body":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/modifiedValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithModified" }
]
},
{
"type": "array",
"minItems": 1,
"items":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/modifiedValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithModified" }
]
}
]
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-bodySingleCreator.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a body should include creator key with a single value.",
"title": "Implements **body _creator_ key** with a **single value** [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)",
"description": "True when Annotation includes one or more bodies, one or more of which includes creator key with a single value. (Section 3.3.1)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/singleCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemSingleCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceSingleCreatorPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/singleCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemSingleCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceSingleCreatorPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-targCreated.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a target should include created key with a single value that is of format date-time.",
"title": "Implements **target _created_ key** with 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 Annotation includes one or more targets, one or more of which include created key with a single value of date-time format. (Section 3.3.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/createdPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatedPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/createdPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatedPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,43 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-targCreatedValidated.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: A target or target/source has multiple created key values for a target or source, or a single created key value that is not of format date-time.",
"title": "If present all target-level or target/source-level **_created_ keys** have 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 target-level or target/source-level (SR target) created key present or when all created keys have a single value that is of format date-time (Section 3.3.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/createdValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithCreated" }
]
},
{
"type": "array",
"items":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/createdValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithCreated" }
]
}
]
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-targCreator.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a target may include creator key with one or more values.",
"title": "Implements **target _creator_ key** with one or more values - [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)",
"description": "True when Annotation includes one or more targets, one or more of which include creator key with one or more values. (Section 3.3.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-targModified.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a target may include modified key with a single value that is of format date-time.",
"title": "Implements **target _modified_ key** with 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 Annotation includes one or more targets, one or more of which include modified key with a single value of format date-time. (Section 3.3.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/modifiedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemModifiedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceModifiedPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/modifiedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemModifiedPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceModifiedPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,44 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-targModifiedValidated.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: A target or target/source has multiple modified key values for a target or source, or a single modified key value that is not of format date-time.",
"title": "If present all target-level or target/source-level **_modified_ keys** have 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 target-level or target/source-level (SR target) modified key present or when all modified keys have a single value that is of format date-time (Section 3.3.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/modifiedValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithModified" }
]
},
{
"type": "array",
"minItems": 1,
"items":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/modifiedValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithModified" }
]
}
]
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.1-targSingleCreator.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a target should include creator key with a single value.",
"title": "Implements **target _creator_ key** with a **single value** [model 3.3.1](https://www.w3.org/TR/annotation-model/#lifecycle-information)",
"description": "True when Annotation includes one or more targets, one or more of which includes creator key with a single value. (Section 3.3.1)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/singleCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemSingleCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceSingleCreatorPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/singleCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemSingleCreatorPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceSingleCreatorPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-bodyCreatorAgentEmailImplemented.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Email for Body Creator (Agent) not found. Agents may have one or more email values.",
"title": "Implements Body-level creator (Agent) **_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 Body Creator (Agent) is implemented (Section 3.3.2)",
"required": [ "body" ],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithEmailFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithEmailFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithEmailFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithEmailFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithEmailFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithEmailFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-bodyCreatorAgentEmail_sha1Implemented.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Email_sha1 for Body Creator (Agent) not found. Agents may have one or more email_sha1 values.",
"title": "Implements Body-level creator (Agent) **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 Body Creator (Agent) is implemented (Section 3.3.2)",
"required": [ "body" ],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithEmail_sha1Found" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithEmail_sha1Found" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithEmail_sha1Found" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithEmail_sha1Found" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithEmail_sha1Found" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithEmail_sha1Found" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-bodyCreatorAgentHomepageImplemented.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Homepage for Body Creator (Agent) not found. Agents may have one or more homepage values.",
"title": "Implements Body-level creator (Agent) **_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 Body Creator (Agent) is implemented (Section 3.3.2)",
"required": [ "body" ],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithHomepageFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithHomepageFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithHomepageFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithHomepageFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithHomepageFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithHomepageFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-bodyCreatorAgentIdImplemented.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Id for Body Creator (Agent) not found or more than 1 found. Agents should have exactly one id of format uri.",
"title": "Implements Body-level creator (Agent) **_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 type for Body Creator (Agent) has exactly one id (Section 3.3.2)",
"required": [ "body" ],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithIdFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithIdFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithIdFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithIdFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithIdFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithIdFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-bodyCreatorAgentNameImplemented.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Name for Body Creator (Agent) not found. Agents may have one or more name values.",
"title": "Implements Body-level creator (Agent) **_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 Body Creator (Agent) is implemented (Section 3.3.2)",
"required": [ "body" ],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithNameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithNameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithNameFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithNameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithNameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithNameFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-bodyCreatorAgentNicknameImplemented.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Nickname for Body Creator (Agent) not found. Agents should have exactly one nickname value.",
"title": "Implements Body-level creator (Agent) **_nickname_ key** with a **single value** that is a string - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)",
"description": "True when exactly one nickname for Body Creator (Agent) is implemented (Section 3.3.2)",
"required": [ "body" ],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithSingularNicknameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithSingularNicknameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithSingularNicknameFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithSingularNicknameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithSingularNicknameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithSingularNicknameFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-bodyCreatorAgentSingleNameImplemented.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Single name for Body Creator (Agent) not found. Agents should have exactly one name value.",
"title": "Implements Body-level creator (Agent) **_name_ key** with a **single value** that is a string - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)",
"description": "True when exactly one name for Body Creator (Agent) is implemented (Section 3.3.2)",
"required": [ "body" ],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithSingularNameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithSingularNameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithSingularNameFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithSingularNameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithSingularNameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithSingularNameFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-bodyCreatorAgentTypeImplemented.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Type (Person, Organization, Software) for Body Creator (Agent) not found. Agents should have one or more type values.",
"title": "Implements Body-level creator (Agent) **_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 Body Creator (Agent) is implemented (Section 3.3.2)",
"required": [ "body" ],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithTypeFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithTypeFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithTypeFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithTypeFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithTypeFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithTypeFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-targCreatorAgentEmailImplemented.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Email for Target Creator (Agent) not found. Agents may have one or more email values.",
"title": "Implements Target-level creator (Agent) **_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 Target Creator (Agent) is implemented (Section 3.3.2)",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithEmailFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithEmailFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithEmailFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithEmailFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithEmailFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithEmailFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-targCreatorAgentEmail_sha1Implemented.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Email_sha1 for Target Creator (Agent) not found. Agents may have one or more email_sha1 values.",
"title": "Implements Target-level creator (Agent) **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 Target Creator (Agent) is implemented (Section 3.3.2)",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithEmail_sha1Found" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithEmail_sha1Found" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithEmail_sha1Found" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithEmail_sha1Found" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithEmail_sha1Found" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithEmail_sha1Found" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-targCreatorAgentHomepageImplemented.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Homepage for Target Creator (Agent) not found. Agents may have one or more homepage values.",
"title": "Implements Target-level creator (Agent) **_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 Target Creator (Agent) is implemented (Section 3.3.2)",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithHomepageFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithHomepageFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithHomepageFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithHomepageFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithHomepageFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithHomepageFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-targCreatorAgentIdImplemented.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Id for Target Creator (Agent) not found or more than 1 found. Agents should have exactly one id of format uri.",
"title": "Implements Target-level creator (Agent) **_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 type for Target Creator (Agent) has exactly one id (Section 3.3.2)",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithIdFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithIdFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithIdFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithIdFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithIdFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithIdFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-targCreatorAgentNameImplemented.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Name for Target Creator (Agent) not found. Agents may have one or more name values.",
"title": "Implements Target-level creator (Agent) **_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 Target Creator (Agent) is implemented (Section 3.3.2)",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithNameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithNameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithNameFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithNameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithNameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithNameFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-targCreatorAgentNicknameImplemented.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Nickname for Target Creator (Agent) not found. Agents should have exactly one nickname value.",
"title": "Implements Target-level creator (Agent) **_nickname_ key** with a **single value** that is a string - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)",
"description": "True when exactly one nickname for Target Creator (Agent) is implemented (Section 3.3.2)",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithSingularNicknameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithSingularNicknameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithSingularNicknameFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithSingularNicknameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithSingularNicknameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithSingularNicknameFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-targCreatorAgentSingleNameImplemented.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Single name for Target Creator (Agent) not found. Agents should have exactly one name value.",
"title": "Implements Target-level creator (Agent) **_name_ key** with a **single value** that is a string - [model 3.2.2](https://www.w3.org/TR/annotation-model/#agents)",
"description": "True when exactly one name for Target Creator (Agent) is implemented (Section 3.3.2)",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithSingularNameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithSingularNameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithSingularNameFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithSingularNameFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithSingularNameFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithSingularNameFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.2-targCreatorAgentTypeImplemented.json",
"assertionType": "should",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "Type (Person, Organization, Software) for Target Creator (Agent) not found. Agents should have one or more type values.",
"title": "Implements Target-level creator (Agent) **_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 Target Creator (Agent) is implemented (Section 3.3.2)",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithTypeFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithTypeFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithTypeFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/creatorAgentWithTypeFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCreatorAgentWithTypeFound" },
{ "$ref": "otherProperties.json#/definitions/itemCreatorAgentWithTypeFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.3-bodyAudience.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a body may include audience key which has one or more values with each audience instance described using schema.org/Audience classes and properties.",
"title": "Implements **body _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 bodies, 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": ["body"],
"properties":
{
"body":
{
"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" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$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",
"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" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,39 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.4-bodyAccessibility.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Body may include accessibility key which has one or more values.",
"title": "Implements **body _accessibility_ key** which has one or more values - [model 3.3.4](#https://www.w3.org/TR/annotation-model/#accessibility-of-content)",
"description": "True when Annotation includes one or more Bodies, one or more of which include accessibility key which has one or more values. (Section 3.3.4)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/accessibilityPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemAccessibilityPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceAccessibilityPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/accessibilityPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemAccessibilityPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceAccessibilityPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.4-targAccessibility.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Target may include accessibility key which has one or more values.",
"title": "Implements **target _accessibility_ key** which has one or more values - [model 3.3.4](#https://www.w3.org/TR/annotation-model/#accessibility-of-content)",
"description": "True when Annotation includes one or more Targets, one or more of which include accessibility key which has one or more values. (Section 3.3.4)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/accessibilityPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemAccessibilityPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceAccessibilityPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/accessibilityPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemAccessibilityPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceAccessibilityPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,21 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.5-bodyChoiceSetNoPurpose.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "A Choice or Set body cannot include an purpose key. purpose key is only valid with Specific Resources and Embedded Textual Bodies.",
"title": "If a **Choice or Set** is a body, it does NOT have a **_purpose_ key** - [model 3.3.5](https://www.w3.org/TR/annotation-model/#motivation-and-purpose)",
"description": "True when no Choice or Set bodies or when none of the Choice or Set bodies include the purpose key. (Section 3.3.5)",
"type": "object",
"properties":
{
"body":
{
"allOf": [
{ "not": { "$ref": "choiceSet.json#/definitions/choiceSetWithPurpose" } },
{ "items": { "not": { "$ref": "choiceSet.json#/definitions/choiceSetWithPurpose" } } }
]
}
}
}

View file

@ -0,0 +1,24 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.5-bodyEWRNoPurpose.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "The description of an External Web Resource body cannot include an purpose key. purpose key is only valid with Specific Resources and Embedded Textual Bodies.",
"title": "If an **External Web Resource** is a body, it does NOT have an **_purpose_ key** - [model 3.3.5](https://www.w3.org/TR/annotation-model/#motivation-and-purpose)",
"description": "True when no External Web Resource bodies or when none of the External Web Recource bodies include the purpose key. (Section 3.3.5)",
"type": "object",
"properties":
{
"body":
{
"allOf": [
{ "not": { "$ref": "bodyTarget.json#/definitions/ewrWithPurpose" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/ewrWithPurpose" } } },
{ "not": { "$ref": "bodyTarget.json#/definitions/sourceEwrWithPurpose" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/sourceEwrWithPurpose" } } },
{ "not": { "$ref": "bodyTarget.json#/definitions/itemEwrWithPurpose" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/itemEwrWithPurpose" } } }
] }
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.5-bodyPurpose.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Body may include purpose key with one or more values that are each drawn from model's list of Motivations.",
"title": "Implements **body _purpose_ key** with one or more values are each drawn from **model's list of Motivations** [model 3.3.5](https://www.w3.org/TR/annotation-model/#motivation-and-purpose)",
"description": "True when Annotation includes one or more Bodies, one or more of which include purpose key with one or more values that are each drawn from model's list of Motivations. (Section 3.3.5)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/purposePropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemPurposePropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/purposePropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemPurposePropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,21 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.5-targChoiceSetNoPurpose.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "A Choice or Set target cannot include an purpose key. purpose key is only valid with Specific Resources and Embedded Textual Bodies.",
"title": "If a **Choice or Set** is a target, it does NOT have a **_purpose_ key** - [model 3.3.5](https://www.w3.org/TR/annotation-model/#motivation-and-purpose)",
"description": "True when no Choice or Set targets or when none of the Choice or Set targets include the purpose key. (Section 3.3.5)",
"type": "object",
"properties":
{
"target":
{
"allOf": [
{ "not": { "$ref": "choiceSet.json#/definitions/choiceSetWithPurpose" } },
{ "items": { "not": { "$ref": "choiceSet.json#/definitions/choiceSetWithPurpose" } } }
]
}
}
}

View file

@ -0,0 +1,25 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.5-targEWRNoPurpose.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "The description of an External Web Resource target cannot include an purpose key. purpose key is only valid with Specific Resources and Embedded Textual Bodies.",
"title": "If an **External Web Resource** is a target, it does NOT have an **_purpose_ key** - [model 3.3.5](https://www.w3.org/TR/annotation-model/#motivation-and-purpose)",
"description": "True when no External Web Resource targets or when none of the External Web Recource targets include the purpose key. (Section 3.3.5)",
"type": "object",
"properties":
{
"target":
{
"allOf": [
{ "not": { "$ref": "bodyTarget.json#/definitions/ewrWithPurpose" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/ewrWithPurpose" } } },
{ "not": { "$ref": "bodyTarget.json#/definitions/sourceEwrWithPurpose" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/sourceEwrWithPurpose" } } },
{ "not": { "$ref": "bodyTarget.json#/definitions/itemEwrWithPurpose" } },
{ "items": { "not": { "$ref": "bodyTarget.json#/definitions/itemEwrWithPurpose" } } }
]
}
}
}

View file

@ -0,0 +1,36 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.5-targPurpose.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a Target may include purpose key with one or more values that are each drawn from model's list of Motivations.",
"title": "Implements **target _purpose_ key** with one or more values are each drawn from **model's list of Motivations** [model 3.3.5](https://www.w3.org/TR/annotation-model/#motivation-and-purpose)",
"description": "True when Annotation includes one or more Targets, one or more of which include purpose key with one or more values that are each drawn from model's list of Motivations. (Section 3.3.5)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/purposePropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemPurposePropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/purposePropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemPurposePropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-bodyRights.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a body may include rights key with one or more values each of format uri.",
"title": "Implements **body _rights_ 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 Annotation includes one or more Bodies, one or more of which include rights key with one or more values that are each of format uri. (Section 3.3.6)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/rightsPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemRightsPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceRightsPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/rightsPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemRightsPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceRightsPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,44 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.6-bodyRightsValidated.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: A body or body/source has one or more rights key values that are not of format uri.",
"title": "If present all body-level or body/source-level **_rights_ key values** are strings of **format uri** - [model 3.3.6](https://www.w3.org/TR/annotation-model/#rights-information)",
"description": "True when no body-level or body/source-level (SR body) rights key present or when all rights key values are strings of format uri (Section 3.3.6)",
"type": "object",
"properties":
{
"body":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/rightsValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithRights" }
]
},
{
"type": "array",
"minItems": 1,
"items":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/rightsValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithRights" }
]
}
]
}
}
]
}
}
}

View file

@ -0,0 +1,37 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.2.1-targRights.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a target may include rights key with one or more values each of format uri.",
"title": "Implements **target _rights_ 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 Annotation includes one or more Targets, one or more of which include rights key with one or more values that are each of format uri. (Section 3.3.6)",
"type": "object",
"properties":
{
"target":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/rightsPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemRightsPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceRightsPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/rightsPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemRightsPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceRightsPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,44 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.6-targRightsValidated.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: A target or target/source has one or more rights key values that are not of format uri.",
"title": "If present all target-level or target/source-level **_rights_ key values** are strings of **format uri** - [model 3.3.6](https://www.w3.org/TR/annotation-model/#rights-information)",
"description": "True when no target-level or target/source-level (SR target) rights key present or when all rights key values are strings of format uri (Section 3.3.6)",
"type": "object",
"properties":
{
"target":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/rightsValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithRights" }
]
},
{
"type": "array",
"minItems": 1,
"items":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/rightsValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithRights" }
]
}
]
}
}
]
}
}
}

View file

@ -0,0 +1,38 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.7-bodyCanonical.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a body rresource may include canonical key with a single value that is of format uri.",
"title": "Implements **body _canonical_ key** with a **single value** that is of **format uri** [model 3.3.7](https://www.w3.org/TR/annotation-model/#bodies-and-targets)",
"description": "True when Annotation includes one or more bodies, one or more of which include canonical key with a single value of format uri. (Section 3.3.7)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/canonicalPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemCanonicalPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCanonicalPropertyFound" }
]
},
{ "not":
{ "items":
{ "not":
{ "anyOf": [
{ "$ref": "otherProperties.json#/definitions/canonicalPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/itemCanonicalPropertyFound" },
{ "$ref": "otherProperties.json#/definitions/sourceCanonicalPropertyFound" }
]
}
}
}
}
]
}
}
}

View file

@ -0,0 +1,44 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.7-bodyCanonicalValidated.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: A body or body/source has multiple canonical key values for a body or source, or a single canonical key value that is not of format uri.",
"title": "If present all body-level or body/source-level **_canonical_ keys** have a **single value** which is a string of **format uri** - [model 3.3.](https://www.w3.org/TR/annotation-model/#other-identities)",
"description": "True when no body-level or body/source-level (SR body) canonical key present or when all canonical keys have a single value which is a string of format uri (Section 3.3.7)",
"type": "object",
"properties":
{
"body":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/canonicalValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithCanonical" }
]
},
{
"type": "array",
"minItems": 1,
"items":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/canonicalValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithCanonical" }
]
}
]
}
}
]
}
}
}

View file

@ -0,0 +1,28 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.7-bodyVia.json",
"assertionType": "may",
"expectedResult": "valid",
"onUnexpectedResult" : "passAndContinue",
"errorMessage": "The description of a body resource may include via key with one or more values that are each of format uri.",
"title": "Implements **body _via_ key** which has one or more values, each of which is a **string of format uri** - [model 3.3.7](https://www.w3.org/TR/annotation-model/#other-identities)",
"description": "True when Annotation includes one or more bodies, one or more of which include via key with one or more values that are each of format uri. (Section 3.3.7)",
"type": "object",
"required": ["body"],
"properties":
{
"body":
{
"oneOf": [
{ "$ref": "otherProperties.json#/definitions/viaPropertyFound" },
{ "not":
{ "items":
{ "not":
{ "$ref": "otherProperties.json#/definitions/viaPropertyFound" }
}
}
}
]
}
}
}

View file

@ -0,0 +1,43 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "3.3.7-bodyViaValidated.json",
"assertionType": "must",
"expectedResult": "valid",
"onUnexpectedResult" : "failAndContinue",
"errorMessage": "ERROR: A body or body/source has one or more via key values that are not of format uri.",
"title": "If present all body-level or body/source-level **_via_ key values** are strings of **format uri** - [model 3.3.7](https://www.w3.org/TR/annotation-model/#other-identities)",
"description": "True when no body-level or body/source-level (SR body) via key present or when all via key values are strings of format uri (Section 3.3.7)",
"type": "object",
"properties":
{
"body":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/viaValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithVia" }
]
},
{
"type": "array",
"minItems": 1,
"items":
{
"oneOf":
[
{ "$ref": "id.json#/definitions/arraySingleStringUri" },
{ "allOf":
[
{ "$ref": "otherProperties.json#/definitions/viaValidIfPresent" },
{ "$ref": "specificResource.json#/definitions/sourceWithVia" }
]
}
]
}
}
]
}
}}

Some files were not shown because too many files have changed in this diff Show more