From d48c451f17a75a771377782c1638cc87e58e8d3b Mon Sep 17 00:00:00 2001 From: Ege Korkan Date: Wed, 27 Mar 2024 13:12:45 +0100 Subject: [PATCH 1/7] add high level diagram --- toolchain/README.md | 16 +++++++++++++++- toolchain/toolchain-highlevel.drawio | 1 + toolchain/toolchain-highlevel.png | Bin 0 -> 17846 bytes 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 toolchain/toolchain-highlevel.drawio create mode 100644 toolchain/toolchain-highlevel.png diff --git a/toolchain/README.md b/toolchain/README.md index 3ad433c8f..882bca29a 100644 --- a/toolchain/README.md +++ b/toolchain/README.md @@ -1,6 +1,20 @@ # W3C Web of Things Specification Generation Process -The W3C WoT specification generation process toolchain is depicted as a Business Process Modeling Notation diagram. There are 4 actors involved: +## High-level Approach + +Looking at a higher level, the specification generation process is about changing a small number of files and generating different resources such as the specification text, vocabularies, and schemas as detailed in our requirements document's [output resources section](https://github.com/w3c/wot-thing-description/blob/main/toolchain/requirements.md#output-resources). + +The diagram below provides this high-level vision. + +![High-level Toolchain](./toolchain-highlevel.png) + +## Detailed Current Process + +The current W3C WoT specification generation process toolchain is depicted as a Business Process Modeling Notation (BPMN) diagram in the figure below. This is a result of years of work that have resulted in different tools that require high manual effort to keep everything synced. The future goal is to switch to an easier-to-maintain toolchain that is usable by people without a deep understanding of the technologies involved. + +![Toolchain BPMN](./wot-toolchain-bpmn.png) + +There are 4 actors involved: 1. **_Semantic Web Expert_** 2. **_WoT Toolchain_** diff --git a/toolchain/toolchain-highlevel.drawio b/toolchain/toolchain-highlevel.drawio new file mode 100644 index 000000000..47f8be385 --- /dev/null +++ b/toolchain/toolchain-highlevel.drawio @@ -0,0 +1 @@ +7Vpdb9owFP01PA4RJ+HjsdBu07Rp1ajU7mkyiUmsJXHkmAL99btOnBDbdGxVWpiWF7CvP2Lfc3zjc2HgLtLdB47z+AsLSTJAo3A3cK8HCDkOcuBLWvaVZTLxKkPEaag6HQxL+kSUcaSsGxqSQusoGEsEzXVjwLKMBEKzYc7ZVu+2Zon+1BxHxDIsA5zY1nsairiyjtHoYP9IaBSrJ8+cWdWQ4rqv6lnEOGTblsm9GbgLzpioSuluQRLpu9ot1bj3z7Q26+IkE38yYD6jwbdP+XYV/Ng/fbn5KhbzyTs1yyNONmq/arFiXzsA1p3LYrqLJMLDVZ5mwxALPHDnCV6R5JYVVFCWQZ8A1kI4NDwSLig48bPRYcWEYCl0wAmNjo64Ug2C5WDdxlSQZY4DuYItPB9sRcURx4dyLNJElqGodgLTkN2zLnIaxwNhCUuJ4HvoogaMFVSKqg102wPwnjLFLczrYVhRLWomPsABBYXIX6CDenRa6Pg6Oq53ZnTcHp3n0UFoel50vB6dC0bH79FpoeMZ6Jw7sk0tdO7JCgxsDR93Mc2iYoDGCSxjvuJQimRpmZOArsGVpcvR6APJCFcVs+8d3OCCGNPMQp2zTRYSubjRMzB063rk6r53ZvbJaBzddn6DSOfen50+GyQLr+TdVhI5wUVBA90xuhfBFXz/0K58l5Uh8uv69a7der2vazsqHlrl761yOcRranKIOxn6qn5LOAVvyBNWjqh2QELrrm3gBLtkGx6Q01dWgXlExCkS27i3cPWPwFrbOEmAu4/6co9BrZ5wyyhspKGV4/r6ZcU12FJtU41q39rNiab6RGhqTFT5wZqoZF6z7ZeTcWyR8Y6kOfgGNBngBwDLS7J5vr8RBaNJXDioQqfqyYCc0jCUw+ecQATGq3Iqyalc7rn0gj8f+Ndyro1gdZSG6pomyYIlTJIwJGu8KVfZQdBwHCNgu9Ohb4UNZ3SEX68WNeolvX7YmPyTYQP9E2HDIJaPXho2DCnrTd42bEwsMi5VQCgvEWOcyld5tiryEmXrfsA34O2zBo9CcPaT1OEjYxl51YiCDHHrT45ElOmbBpQ+N6QpKDM5NDqzhHL67JCGjylxnfGZ8enzQ5eNT58h0vAxkxDnThE5fY7od+fH9Y7dEN4WIVscWgh1IzlOKg5ZM8VDLUOctgxR6qVWIpoQ6VhxqPNzUnFURD+X5PAMXnkvlRz+yCDoG0sOx9Ycl89GdHls9Ho2dsFGO4deJ8UKi5aXJWyVqYt3lqFq0ezPNK2ZLO3ujWXn1o2fLf4bZPS0sndEzc66QQaqhz+5VMfr8E8h9+YX \ No newline at end of file diff --git a/toolchain/toolchain-highlevel.png b/toolchain/toolchain-highlevel.png new file mode 100644 index 0000000000000000000000000000000000000000..e6462c65dfaec1b838be1d7b2d8b01c19990a700 GIT binary patch literal 17846 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 literal 0 HcmV?d00001 From 66d1e3972718a1dc627b9167b853f682934a9ad7 Mon Sep 17 00:00:00 2001 From: Ege Korkan Date: Wed, 27 Mar 2024 15:38:58 +0100 Subject: [PATCH 2/7] add new requirement to the rows --- toolchain/tool-analysis.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/toolchain/tool-analysis.md b/toolchain/tool-analysis.md index a7e655d3b..8f1ebe00e 100644 --- a/toolchain/tool-analysis.md +++ b/toolchain/tool-analysis.md @@ -6,9 +6,10 @@ Therefore, the aim is to identify a set of potential tools that can simplify the The table below provides a summary of the analyzed tools according to the defined requirements. -| Tool | LinkML | TreeLDR | ESMF | A.ML | Schema Salad | SOML | WIDOCO | +| Requirement \| Tool | LinkML | TreeLDR | ESMF | A.ML | Schema Salad | SOML | WIDOCO | |-------------------------|----------|----------|----------|----------|--------------|----------|----------| | Language | Python | Rust | Java | Scala | Python | NG | Java | +| Object/Dict Support | | | | | | | | | Array Support | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☒ | | One of | ☑ | ☑ | ☒ | ☑ | ☑ | ☒ | ☒ | | Type/Type[] | ☒ | ☒ | ☒ | ☒ | ☒ | ☒ | ☒ | From d9ec1f78fbf4211c17916aea656f9abfad4e7efb Mon Sep 17 00:00:00 2001 From: Ege Korkan Date: Wed, 27 Mar 2024 17:08:59 +0100 Subject: [PATCH 3/7] Update tool-analysis.md --- toolchain/tool-analysis.md | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/toolchain/tool-analysis.md b/toolchain/tool-analysis.md index 8f1ebe00e..c7da4d38e 100644 --- a/toolchain/tool-analysis.md +++ b/toolchain/tool-analysis.md @@ -10,13 +10,25 @@ The table below provides a summary of the analyzed tools according to the define |-------------------------|----------|----------|----------|----------|--------------|----------|----------| | Language | Python | Rust | Java | Scala | Python | NG | Java | | Object/Dict Support | | | | | | | | -| Array Support | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☒ | -| One of | ☑ | ☑ | ☒ | ☑ | ☑ | ☒ | ☒ | -| Type/Type[] | ☒ | ☒ | ☒ | ☒ | ☒ | ☒ | ☒ | -| Inheritance | ☑ | ☑ | ☑ | ☑ | ☑ | ☑ | ☒ | -| Unknown object keys | ☑ | ☒ | ☒ | ☑ | ☒ | ☒ | ☒ | -| Pattern Matching | ☑ | ☑ | ☑ | ☑ | ☒ | ☑ | ☒ | -| JSON Schema Generation | ☑ | ☑ | ☑ | ☒ | ☒ | ☒ | ☒ | -| SHACL Shapes Generation | ☑ | ☒ | ☒ | ☒ | ☒ | ☒ | ☒ | -| Term Documentation | ☑ | ☒ | ☒ | ☒ | ☑ | ☒ | ☑ | -| Diagram Generation | ☑ | ☒ | ☑ | ☒ | ☑ | ☒ | ☑ | +| Condition Check | | | | | | | | +| Array Support | O | O | O | O | O | O | X | +| One of | O | O | X | O | O | X | X | +| Type/Type[] | O | X | X | X | X | X | X | +| Inheritance | O | O | O | O | O | O | X | +| Unknown object keys | O | X | X | O | X | X | X | +| Pattern Matching | O | O | O | O | X | O | X | +| JSON Schema Generation | O | O | O | X | X | X | X | +| SHACL Shapes Generation | O | X | X | X | X | X | X | +| Term Documentation | O | X | X | X | O | X | O | +| Diagram Generation | O | X | O | X | O | X | O | + +Explanations: + +- Object/Dict Support: Modelling a JSON Object structure. E.g. TD having properties, actions, events keys or a single form element +- Relationship Check: Asserting conditions on values based on other values. E.g. security values should be in securityDefinitions first, titles and descriptions having same language +- Array Support: Modelling a JSON Array structure. E.g. links and forms array +- One of: Enum and similar structs where values are restricted. E.g. security schemes, op values +- Type/Type[]: A value which can be a type or a type of that array. E.g. `@type`, security, op +- Inheritance: A class inheriting another one and thus copying all its properties. E.g. property affordance inheriting data schema +- Unknown object keys: An object whose property keys are not defined by the model. E.g. all affordance names, securityDefinition keys. +- Pattern Matching: A string value with a regex pattern. E.g. `tm:optional` being restricted to affordance names only. From 17f2973faa1a54397c7b1b4f1f659288c275d073 Mon Sep 17 00:00:00 2001 From: Ege Korkan Date: Wed, 3 Apr 2024 12:58:00 +0200 Subject: [PATCH 4/7] move requirements to main toolchain readme --- toolchain/README.md | 64 +++++++++++++++++++++++++++++++++++++-- toolchain/requirements.md | 59 ------------------------------------ 2 files changed, 62 insertions(+), 61 deletions(-) delete mode 100644 toolchain/requirements.md diff --git a/toolchain/README.md b/toolchain/README.md index 882bca29a..ea4bf1c36 100644 --- a/toolchain/README.md +++ b/toolchain/README.md @@ -3,8 +3,8 @@ ## High-level Approach Looking at a higher level, the specification generation process is about changing a small number of files and generating different resources such as the specification text, vocabularies, and schemas as detailed in our requirements document's [output resources section](https://github.com/w3c/wot-thing-description/blob/main/toolchain/requirements.md#output-resources). - -The diagram below provides this high-level vision. +The diagram below provides this high-level vision where we can see the inputs and outputs. +The template style inputs are written mostly once in the beginning and are generally specific to each resource, whereas the source of truth is what the TD Task Force works on at each Pull Request to generate the specification text and resource. ![High-level Toolchain](./toolchain-highlevel.png) @@ -30,3 +30,63 @@ The STTL engine takes different RDF graphs: TD model ontologies, SHACL shapes (v The TD specification include diagrams that are also generated from the same SHACL and merged context sources. The STTL Engine is run once more to generated diagrams in textual form (DOT text files) and then turned into graphics using Graphviz tool. The output is the SVG figures of the TD specification, which is then manually converted into PNG using a desired tool of choice. These PNG files are used to feed the HTML specification. The Parser Creation process is mainly performed by a developer using a 2-step process. The grammar is developed manually using to context-free grammar according to the semantics of STTL language. Then, Jison tool takes the grammar as input and outputs a JavaScript file capable of parsing the language described by that grammar. The generated script is then used to parse visualization template inputs in the STTL Engine. + +## Requirements for Toolchain + +Before working on the restructuring of the toolchain to make it simpler, we can write the requirements of the toolchain +by listing what kind of inputs we want to work on and what kind of outputs we want to provide to the users (reader, implementer, spec writers). + +**Overall Goal:** Change a small number of files (source of truth) but generate as many resources as needed by users. + +**Compromise:** Reduce the amount of cross-checking between files by a human expert. In this case, everything is not automatically generated. + +## General Requirements for Toolchain + +1. Someone without expertise in our tooling should be able to make contributions. This is especially relevant for binding contributions from experts of the protocol who are not experts of the semantic web or the type of tooling we have. Thus, the learning curve should not be steep at all. + 1. Relying on well-known tools would make it easier. Templating engines like [Handlebars](https://handlebarsjs.com/) are well-known. STTL is not well-known and doesn't support all the features we need. + 2. More documentation about the entire repository configuration and tooling (Actions, hooks, npm scripts to run at some point etc.) +2. It should be easy to debug/observe the process. +3. If multiple tools are "chained together", we should ensure that the inputs and outputs match. An example would be if the generated JSON Schema is badly structured, it would result in cryptic TS definitions. +4. Not mixing up multiple languages in one resource file (currently, we have HTML snippets in SHACL shapes). +5. (Optional) The tooling should be easy to install and understand the inner workings. + +## Output Resources + +Output resources are given to the users of the specification for various usages. + +The following resources are updated each time the "source of truth" in the input resources is updated: + +- Editor's Draft index.html -> Should be provided with each PR. Used for PR Preview. + - Users: Read by spec writes and early adopters of features. +- UML Class Diagrams -> Integrated into index.html +- Ontologies: HTML and TTL format +- JSON-LD Context +- JSON Schemas: For TD and TM +- SHACL Shapes +- Abstraction or Interfaces for Programming Languages: + - TypeScript definitions: Currently done via Scripting API TF + - We need to clarify it for other languages +- Test cases: Each feature has its test case(s). Currently in Eclipse Thingweb but will be moved here + +The following resources are updated less frequently, generally in publication phases: + +- Publication index.html (Overview.html) -> Done with each publication + - Users: Adopters of the standard +- UML Class Diagrams: Beautified versions of the "always synced" diagrams + - Users: Adopters of the standard (to give an overview) + +## Input Resources + +Input resources, referred to as source of truth, are what the TD Task Force writes and maintains to generate the output resources for the users. + +The following resources are updated for each change: + +- Single source of truth in the form of one file (can be split into multiple for maintainability) + +The following resources are written mostly at the beginning of work: + +- Any template file + +To clarify: + +- File type and structure of each resource. diff --git a/toolchain/requirements.md b/toolchain/requirements.md deleted file mode 100644 index 926f69dbb..000000000 --- a/toolchain/requirements.md +++ /dev/null @@ -1,59 +0,0 @@ -# Toolchain Requirements - -Before working on the restructuring of the toolchain to make it simpler, we can write the requirements of the toolchain -by listing what kind of inputs we want to work on and what kind of outputs we want to provide to the users (reader, implementer, spec writers). - -**Overall Goal:** Change a small number of files (source of truth) but generate as many resources as needed by users. - -**Compromise:** Reduce the amount of cross-checking between files by a human expert. In this case, everything is not automatically generated. - -## General Requirements for Toolchain - -1. Someone without expertise in our tooling should be able to make contributions. This is especially relevant for binding contributions from experts of the protocol who are not experts of the semantic web or the type of tooling we have. Thus, the learning curve should not be steep at all. - 1. Relying on well-known tools would make it easier. Templating engines like [Handlebars](https://handlebarsjs.com/) are well-known. STTL is not well-known and doesn't support all the features we need. - 2. More documentation about the entire repository configuration and tooling (Actions, hooks, npm scripts to run at some point etc.) -2. It should be easy to debug/observe the process. -3. If multiple tools are "chained together", we should ensure that the inputs and outputs match. An example would be if the generated JSON Schema is badly structured, it would result in cryptic TS definitions. -4. Not mixing up multiple languages in one resource file (currently, we have HTML snippets in SHACL shapes). -5. (Optional) The tooling should be easy to install and understand the inner workings. - -## Output Resources - -Output resources are given to the users of the specification for various usages. - -The following resources are updated each time the "source of truth" in the input resources is updated: - -- Editor's Draft index.html -> Should be provided with each PR. Used for PR Preview. - - Users: Read by spec writes and early adopters of features. -- UML Class Diagrams -> Integrated into index.html -- Ontologies: HTML and TTL format -- JSON-LD Context -- JSON Schemas: For TD and TM -- SHACL Shapes -- Abstraction or Interfaces for Programming Languages: - - TypeScript definitions: Currently done via Scripting API TF - - We need to clarify it for other languages -- Test cases: Each feature has its test case(s). Currently in Eclipse Thingweb but will be moved here - -The following resources are updated less frequently, generally in publication phases: - -- Publication index.html (Overview.html) -> Done with each publication - - Users: Adopters of the standard -- UML Class Diagrams: Beautified versions of the "always synced" diagrams - - Users: Adopters of the standard (to give an overview) - -## Input Resources - -Input resources, referred to as source of truth, are what the TD Task Force writes and maintains to generate the output resources for the users. - -The following resources are updated for each change: - -- Single source of truth in the form of one file (can be split into multiple for maintainability) - -The following resources are written mostly at the beginning of work: - -- Any template file - -To clarify: - -- File type and structure of each resource. From 03cd829d85cdf2299584a0291d4e335d33889cfe Mon Sep 17 00:00:00 2001 From: Ege Korkan Date: Wed, 3 Apr 2024 16:42:26 +0200 Subject: [PATCH 5/7] Update tool-analysis.md --- toolchain/tool-analysis.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/toolchain/tool-analysis.md b/toolchain/tool-analysis.md index c7da4d38e..4dc6c9c45 100644 --- a/toolchain/tool-analysis.md +++ b/toolchain/tool-analysis.md @@ -1,6 +1,6 @@ # W3C WoT Toolchain Analysis -The current W3C WoT specification generation tool relies on various artifacts such as a JSON Schema, ontologies, SHACL shapes, which can be produced by separately. However, when there is an extension to the Thing Description information model, these artifacts must also be updated according to their respective schemas. This process often requires significant manual effort and can result in inconsistencies between the different artifacts. +The current W3C WoT specification generation tool relies on various artifacts such as a JSON Schema, ontologies, and SHACL shapes, which can be produced separately. However, when there is an extension to the Thing Description information model, these artifacts must also be updated according to their respective schemas. This process often requires significant manual effort and can result in inconsistencies between the different artifacts. Therefore, the aim is to identify a set of potential tools that can simplify the generation of the WoT artifacts. An analysis of existing tools has been conducted based on different requirements, which are determined by the modeling features crucial for the TD information model. The table below provides a summary of the analyzed tools according to the defined requirements. @@ -13,7 +13,7 @@ The table below provides a summary of the analyzed tools according to the define | Condition Check | | | | | | | | | Array Support | O | O | O | O | O | O | X | | One of | O | O | X | O | O | X | X | -| Type/Type[] | O | X | X | X | X | X | X | +| Type/Type[] | X | X | X | X | X | X | X | | Inheritance | O | O | O | O | O | O | X | | Unknown object keys | O | X | X | O | X | X | X | | Pattern Matching | O | O | O | O | X | O | X | @@ -21,14 +21,22 @@ The table below provides a summary of the analyzed tools according to the define | SHACL Shapes Generation | O | X | X | X | X | X | X | | Term Documentation | O | X | X | X | O | X | O | | Diagram Generation | O | X | O | X | O | X | O | +| Prog. Lang. Gen. | | | | | | | | +| Extensibility | | | | | | | | Explanations: -- Object/Dict Support: Modelling a JSON Object structure. E.g. TD having properties, actions, events keys or a single form element -- Relationship Check: Asserting conditions on values based on other values. E.g. security values should be in securityDefinitions first, titles and descriptions having same language +- Object/Dict Support: Modelling a JSON Object structure. E.g. TD having properties, actions, events keys, or a single form element +- Condition Check: Asserting conditions on values based on other values. E.g. security values should be in securityDefinitions first, titles and descriptions having the same language - Array Support: Modelling a JSON Array structure. E.g. links and forms array - One of: Enum and similar structs where values are restricted. E.g. security schemes, op values -- Type/Type[]: A value which can be a type or a type of that array. E.g. `@type`, security, op +- Type/Type[]: A value that can be a type or a type of that array. E.g. `@type`, security, op. This should be possible via `One of` modeling and we should check. - Inheritance: A class inheriting another one and thus copying all its properties. E.g. property affordance inheriting data schema - Unknown object keys: An object whose property keys are not defined by the model. E.g. all affordance names, securityDefinition keys. - Pattern Matching: A string value with a regex pattern. E.g. `tm:optional` being restricted to affordance names only. +- JSON Schema Generation: +- SHACL Shapes Generation: +- Term Documentation: +- Diagram Generation: +- Prog. Lang. Gen.: +- Extensibility: From 7f236b3f984f973e0ea8c0e933c532102ada8dd4 Mon Sep 17 00:00:00 2001 From: Ege Korkan Date: Wed, 3 Apr 2024 17:03:41 +0200 Subject: [PATCH 6/7] change lf encoding --- context/td-context.ttl | 4492 ++++++++++++++++++++-------------------- 1 file changed, 2246 insertions(+), 2246 deletions(-) diff --git a/context/td-context.ttl b/context/td-context.ttl index a2cee3aa3..1f266895d 100644 --- a/context/td-context.ttl +++ b/context/td-context.ttl @@ -1,2246 +1,2246 @@ -_:context . -_:context . -_:context _:td . -_:td . -_:td "td" . -_:td . -_:context _:jsonschema . -_:jsonschema . -_:jsonschema "jsonschema" . -_:jsonschema . -_:context _:wotsec . -_:wotsec . -_:wotsec "wotsec" . -_:wotsec . -_:context _:hctl . -_:hctl . -_:hctl "hctl" . -_:hctl . -_:context _:rdfs . -_:rdfs . -_:rdfs "rdfs" . -_:rdfs . -_:context _:xsd . -_:xsd . -_:xsd "xsd" . -_:xsd . -_:context _:dct . -_:dct . -_:dct "dct" . -_:dct . -_:context _:htv . -_:htv . -_:htv "htv" . -_:htv . -_:context _:tm . -_:tm . -_:tm "tm" . -_:tm . -_:context _:license . -_:license . -_:license "license" . -_:license . -_:context _:id . -_:id . -_:id "id" . -_:context _:properties . -_:properties . -_:properties "properties" . -_:properties . -_:properties . -_:properties _:hasPropertyAffordance-context . -_:hasPropertyAffordance-context . -_:hasPropertyAffordance-context . -_:hasPropertyAffordance-context _:hasPropertyAffordance-td . -_:hasPropertyAffordance-td . -_:hasPropertyAffordance-td "td" . -_:hasPropertyAffordance-td . -_:hasPropertyAffordance-context _:hasPropertyAffordance-jsonschema . -_:hasPropertyAffordance-jsonschema . -_:hasPropertyAffordance-jsonschema "jsonschema" . -_:hasPropertyAffordance-jsonschema . -_:hasPropertyAffordance-context _:hasPropertyAffordance-wotsec . -_:hasPropertyAffordance-wotsec . -_:hasPropertyAffordance-wotsec "wotsec" . -_:hasPropertyAffordance-wotsec . -_:hasPropertyAffordance-context _:hasPropertyAffordance-hctl . -_:hasPropertyAffordance-hctl . -_:hasPropertyAffordance-hctl "hctl" . -_:hasPropertyAffordance-hctl . -_:hasPropertyAffordance-context _:hasPropertyAffordance-dct . -_:hasPropertyAffordance-dct . -_:hasPropertyAffordance-dct "dct" . -_:hasPropertyAffordance-dct . -_:hasPropertyAffordance-context _:hasPropertyAffordance-schema . -_:hasPropertyAffordance-schema . -_:hasPropertyAffordance-schema "schema" . -_:hasPropertyAffordance-schema . -_:hasPropertyAffordance-context _:hasPropertyAffordance-rdf . -_:hasPropertyAffordance-rdf . -_:hasPropertyAffordance-rdf "rdf" . -_:hasPropertyAffordance-rdf . -_:hasPropertyAffordance-context _:hasPropertyAffordance-DataSchema . -_:hasPropertyAffordance-DataSchema . -_:hasPropertyAffordance-DataSchema "DataSchema" . -_:hasPropertyAffordance-DataSchema . -_:hasPropertyAffordance-context _:hasPropertyAffordance-readOnly . -_:hasPropertyAffordance-readOnly . -_:hasPropertyAffordance-readOnly "readOnly" . -_:hasPropertyAffordance-readOnly . -_:hasPropertyAffordance-context _:hasPropertyAffordance-writeOnly . -_:hasPropertyAffordance-writeOnly . -_:hasPropertyAffordance-writeOnly "writeOnly" . -_:hasPropertyAffordance-writeOnly . -_:hasPropertyAffordance-context _:hasPropertyAffordance-exclusiveMaximum . -_:hasPropertyAffordance-exclusiveMaximum . -_:hasPropertyAffordance-exclusiveMaximum "exclusiveMaximum" . -_:hasPropertyAffordance-exclusiveMaximum . -_:hasPropertyAffordance-context _:hasPropertyAffordance-exclusiveMinimum . -_:hasPropertyAffordance-exclusiveMinimum . -_:hasPropertyAffordance-exclusiveMinimum "exclusiveMinimum" . -_:hasPropertyAffordance-exclusiveMinimum . -_:hasPropertyAffordance-context _:hasPropertyAffordance-maximum . -_:hasPropertyAffordance-maximum . -_:hasPropertyAffordance-maximum "maximum" . -_:hasPropertyAffordance-maximum . -_:hasPropertyAffordance-context _:hasPropertyAffordance-minimum . -_:hasPropertyAffordance-minimum . -_:hasPropertyAffordance-minimum "minimum" . -_:hasPropertyAffordance-minimum . -_:hasPropertyAffordance-context _:hasPropertyAffordance-maxItems . -_:hasPropertyAffordance-maxItems . -_:hasPropertyAffordance-maxItems "maxItems" . -_:hasPropertyAffordance-maxItems . -_:hasPropertyAffordance-context _:hasPropertyAffordance-minItems . -_:hasPropertyAffordance-minItems . -_:hasPropertyAffordance-minItems "minItems" . -_:hasPropertyAffordance-minItems . -_:hasPropertyAffordance-context _:hasPropertyAffordance-contentEncoding . -_:hasPropertyAffordance-contentEncoding . -_:hasPropertyAffordance-contentEncoding "contentEncoding" . -_:hasPropertyAffordance-contentEncoding . -_:hasPropertyAffordance-context _:hasPropertyAffordance-minLength . -_:hasPropertyAffordance-minLength . -_:hasPropertyAffordance-minLength "minLength" . -_:hasPropertyAffordance-minLength . -_:hasPropertyAffordance-context _:hasPropertyAffordance-maxLength . -_:hasPropertyAffordance-maxLength . -_:hasPropertyAffordance-maxLength "maxLength" . -_:hasPropertyAffordance-maxLength . -_:hasPropertyAffordance-context _:hasPropertyAffordance-pattern . -_:hasPropertyAffordance-pattern . -_:hasPropertyAffordance-pattern "pattern" . -_:hasPropertyAffordance-pattern . -_:hasPropertyAffordance-context _:hasPropertyAffordance-contentMediaType . -_:hasPropertyAffordance-contentMediaType . -_:hasPropertyAffordance-contentMediaType "contentMediaType" . -_:hasPropertyAffordance-contentMediaType . -_:hasPropertyAffordance-context _:hasPropertyAffordance-items . -_:hasPropertyAffordance-items . -_:hasPropertyAffordance-items "items" . -_:hasPropertyAffordance-items . -_:hasPropertyAffordance-context _:hasPropertyAffordance-required . -_:hasPropertyAffordance-required . -_:hasPropertyAffordance-required "required" . -_:hasPropertyAffordance-required . -_:hasPropertyAffordance-required . -_:hasPropertyAffordance-context _:hasPropertyAffordance-enum . -_:hasPropertyAffordance-enum . -_:hasPropertyAffordance-enum "enum" . -_:hasPropertyAffordance-enum . -_:hasPropertyAffordance-enum . -_:hasPropertyAffordance-context _:hasPropertyAffordance-const . -_:hasPropertyAffordance-const . -_:hasPropertyAffordance-const "const" . -_:hasPropertyAffordance-const . -_:hasPropertyAffordance-context _:hasPropertyAffordance-default . -_:hasPropertyAffordance-default . -_:hasPropertyAffordance-default "default" . -_:hasPropertyAffordance-default . -_:hasPropertyAffordance-context _:hasPropertyAffordance-multipleOf . -_:hasPropertyAffordance-multipleOf . -_:hasPropertyAffordance-multipleOf "multipleOf" . -_:hasPropertyAffordance-multipleOf . -_:hasPropertyAffordance-context _:hasPropertyAffordance-format . -_:hasPropertyAffordance-format . -_:hasPropertyAffordance-format "format" . -_:hasPropertyAffordance-format . -_:hasPropertyAffordance-context _:hasPropertyAffordance-oneOf . -_:hasPropertyAffordance-oneOf . -_:hasPropertyAffordance-oneOf "oneOf" . -_:hasPropertyAffordance-oneOf . -_:hasPropertyAffordance-oneOf . -_:hasPropertyAffordance-context _:hasPropertyAffordance-allOf . -_:hasPropertyAffordance-allOf . -_:hasPropertyAffordance-allOf "allOf" . -_:hasPropertyAffordance-allOf . -_:hasPropertyAffordance-allOf . -_:hasPropertyAffordance-context _:hasPropertyAffordance-anyOf . -_:hasPropertyAffordance-anyOf . -_:hasPropertyAffordance-anyOf "anyOf" . -_:hasPropertyAffordance-anyOf . -_:hasPropertyAffordance-anyOf . -_:hasPropertyAffordance-context _:hasPropertyAffordance-type . -_:hasPropertyAffordance-type . -_:hasPropertyAffordance-type "type" . -_:hasPropertyAffordance-type . -_:hasPropertyAffordance-context _:hasPropertyAffordance-title . -_:hasPropertyAffordance-title . -_:hasPropertyAffordance-title "title" . -_:hasPropertyAffordance-title . -_:hasPropertyAffordance-context _:hasPropertyAffordance-titles . -_:hasPropertyAffordance-titles . -_:hasPropertyAffordance-titles "titles" . -_:hasPropertyAffordance-titles . -_:hasPropertyAffordance-titles . -_:hasPropertyAffordance-context _:hasPropertyAffordance-description . -_:hasPropertyAffordance-description . -_:hasPropertyAffordance-description "description" . -_:hasPropertyAffordance-description . -_:hasPropertyAffordance-context _:hasPropertyAffordance-descriptions . -_:hasPropertyAffordance-descriptions . -_:hasPropertyAffordance-descriptions "descriptions" . -_:hasPropertyAffordance-descriptions . -_:hasPropertyAffordance-descriptions . -_:hasPropertyAffordance-context _:hasPropertyAffordance-object . -_:hasPropertyAffordance-object . -_:hasPropertyAffordance-object "object" . -_:hasPropertyAffordance-object . -_:hasPropertyAffordance-context _:hasPropertyAffordance-array . -_:hasPropertyAffordance-array . -_:hasPropertyAffordance-array "array" . -_:hasPropertyAffordance-array . -_:hasPropertyAffordance-context _:hasPropertyAffordance-boolean . -_:hasPropertyAffordance-boolean . -_:hasPropertyAffordance-boolean "boolean" . -_:hasPropertyAffordance-boolean . -_:hasPropertyAffordance-context _:hasPropertyAffordance-string . -_:hasPropertyAffordance-string . -_:hasPropertyAffordance-string "string" . -_:hasPropertyAffordance-string . -_:hasPropertyAffordance-context _:hasPropertyAffordance-number . -_:hasPropertyAffordance-number . -_:hasPropertyAffordance-number "number" . -_:hasPropertyAffordance-number . -_:hasPropertyAffordance-context _:hasPropertyAffordance-integer . -_:hasPropertyAffordance-integer . -_:hasPropertyAffordance-integer "integer" . -_:hasPropertyAffordance-integer . -_:hasPropertyAffordance-context _:hasPropertyAffordance-null . -_:hasPropertyAffordance-null . -_:hasPropertyAffordance-null "null" . -_:hasPropertyAffordance-null . -_:hasPropertyAffordance-context _:hasPropertyAffordance-properties . -_:hasPropertyAffordance-properties . -_:hasPropertyAffordance-properties "properties" . -_:hasPropertyAffordance-properties . -_:hasPropertyAffordance-properties . -_:hasPropertyAffordance-properties _:properties-context . -_:properties-context . -_:properties-context _:properties-properties . -_:properties-properties . -_:properties-properties "properties" . -_:properties-properties . -_:properties-properties . -_:hasPropertyAffordance-context _:hasPropertyAffordance-propertyName . -_:hasPropertyAffordance-propertyName . -_:hasPropertyAffordance-propertyName "propertyName" . -_:hasPropertyAffordance-propertyName . -_:hasPropertyAffordance-context _:hasPropertyAffordance-unit . -_:hasPropertyAffordance-unit . -_:hasPropertyAffordance-unit "unit" . -_:hasPropertyAffordance-unit . -_:context _:actions . -_:actions . -_:actions "actions" . -_:actions . -_:actions . -_:context _:events . -_:events . -_:events "events" . -_:events . -_:events . -_:context _:security . -_:security . -_:security "security" . -_:security . -_:security . -_:security _:hasSecurityConfiguration-context . -_:hasSecurityConfiguration-context . -_:hasSecurityConfiguration-context . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-td . -_:hasSecurityConfiguration-td . -_:hasSecurityConfiguration-td "td" . -_:hasSecurityConfiguration-td . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-jsonschema . -_:hasSecurityConfiguration-jsonschema . -_:hasSecurityConfiguration-jsonschema "jsonschema" . -_:hasSecurityConfiguration-jsonschema . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-wotsec . -_:hasSecurityConfiguration-wotsec . -_:hasSecurityConfiguration-wotsec "wotsec" . -_:hasSecurityConfiguration-wotsec . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-hctl . -_:hasSecurityConfiguration-hctl . -_:hasSecurityConfiguration-hctl "hctl" . -_:hasSecurityConfiguration-hctl . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-dct . -_:hasSecurityConfiguration-dct . -_:hasSecurityConfiguration-dct "dct" . -_:hasSecurityConfiguration-dct . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-rdf . -_:hasSecurityConfiguration-rdf . -_:hasSecurityConfiguration-rdf "rdf" . -_:hasSecurityConfiguration-rdf . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-in . -_:hasSecurityConfiguration-in . -_:hasSecurityConfiguration-in "in" . -_:hasSecurityConfiguration-in . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-name . -_:hasSecurityConfiguration-name . -_:hasSecurityConfiguration-name "name" . -_:hasSecurityConfiguration-name . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-authorization . -_:hasSecurityConfiguration-authorization . -_:hasSecurityConfiguration-authorization "authorization" . -_:hasSecurityConfiguration-authorization . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-token . -_:hasSecurityConfiguration-token . -_:hasSecurityConfiguration-token "token" . -_:hasSecurityConfiguration-token . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-refresh . -_:hasSecurityConfiguration-refresh . -_:hasSecurityConfiguration-refresh "refresh" . -_:hasSecurityConfiguration-refresh . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-proxy . -_:hasSecurityConfiguration-proxy . -_:hasSecurityConfiguration-proxy "proxy" . -_:hasSecurityConfiguration-proxy . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-scopes . -_:hasSecurityConfiguration-scopes . -_:hasSecurityConfiguration-scopes "scopes" . -_:hasSecurityConfiguration-scopes . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-flow . -_:hasSecurityConfiguration-flow . -_:hasSecurityConfiguration-flow "flow" . -_:hasSecurityConfiguration-flow . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-qop . -_:hasSecurityConfiguration-qop . -_:hasSecurityConfiguration-qop "qop" . -_:hasSecurityConfiguration-qop . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-alg . -_:hasSecurityConfiguration-alg . -_:hasSecurityConfiguration-alg "alg" . -_:hasSecurityConfiguration-alg . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-format . -_:hasSecurityConfiguration-format . -_:hasSecurityConfiguration-format "format" . -_:hasSecurityConfiguration-format . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-identity . -_:hasSecurityConfiguration-identity . -_:hasSecurityConfiguration-identity "identity" . -_:hasSecurityConfiguration-identity . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-allOf . -_:hasSecurityConfiguration-allOf . -_:hasSecurityConfiguration-allOf "allOf" . -_:hasSecurityConfiguration-allOf . -_:hasSecurityConfiguration-allOf . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-oneOf . -_:hasSecurityConfiguration-oneOf . -_:hasSecurityConfiguration-oneOf "oneOf" . -_:hasSecurityConfiguration-oneOf . -_:hasSecurityConfiguration-oneOf . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-scheme . -_:hasSecurityConfiguration-scheme . -_:hasSecurityConfiguration-scheme "scheme" . -_:hasSecurityConfiguration-scheme . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-description . -_:hasSecurityConfiguration-description . -_:hasSecurityConfiguration-description "description" . -_:hasSecurityConfiguration-description . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-descriptions . -_:hasSecurityConfiguration-descriptions . -_:hasSecurityConfiguration-descriptions "descriptions" . -_:hasSecurityConfiguration-descriptions . -_:hasSecurityConfiguration-descriptions . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-nosec . -_:hasSecurityConfiguration-nosec . -_:hasSecurityConfiguration-nosec "nosec" . -_:hasSecurityConfiguration-nosec . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-auto . -_:hasSecurityConfiguration-auto . -_:hasSecurityConfiguration-auto "auto" . -_:hasSecurityConfiguration-auto . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-combo . -_:hasSecurityConfiguration-combo . -_:hasSecurityConfiguration-combo "combo" . -_:hasSecurityConfiguration-combo . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-basic . -_:hasSecurityConfiguration-basic . -_:hasSecurityConfiguration-basic "basic" . -_:hasSecurityConfiguration-basic . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-digest . -_:hasSecurityConfiguration-digest . -_:hasSecurityConfiguration-digest "digest" . -_:hasSecurityConfiguration-digest . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-apikey . -_:hasSecurityConfiguration-apikey . -_:hasSecurityConfiguration-apikey "apikey" . -_:hasSecurityConfiguration-apikey . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-bearer . -_:hasSecurityConfiguration-bearer . -_:hasSecurityConfiguration-bearer "bearer" . -_:hasSecurityConfiguration-bearer . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-cert . -_:hasSecurityConfiguration-cert . -_:hasSecurityConfiguration-cert "cert" . -_:hasSecurityConfiguration-cert . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-psk . -_:hasSecurityConfiguration-psk . -_:hasSecurityConfiguration-psk "psk" . -_:hasSecurityConfiguration-psk . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-public . -_:hasSecurityConfiguration-public . -_:hasSecurityConfiguration-public "public" . -_:hasSecurityConfiguration-public . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-pop . -_:hasSecurityConfiguration-pop . -_:hasSecurityConfiguration-pop "pop" . -_:hasSecurityConfiguration-pop . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-oauth2 . -_:hasSecurityConfiguration-oauth2 . -_:hasSecurityConfiguration-oauth2 "oauth2" . -_:hasSecurityConfiguration-oauth2 . -_:hasSecurityConfiguration-context _:hasSecurityConfiguration-uriVariables . -_:hasSecurityConfiguration-uriVariables . -_:hasSecurityConfiguration-uriVariables "uriVariables" . -_:hasSecurityConfiguration-uriVariables . -_:context _:schema . -_:schema . -_:schema "schema" . -_:schema . -_:context _:securityDefinitions . -_:securityDefinitions . -_:securityDefinitions "securityDefinitions" . -_:securityDefinitions . -_:securityDefinitions . -_:securityDefinitions _:definesSecurityScheme-context . -_:definesSecurityScheme-context . -_:definesSecurityScheme-context . -_:definesSecurityScheme-context _:definesSecurityScheme-td . -_:definesSecurityScheme-td . -_:definesSecurityScheme-td "td" . -_:definesSecurityScheme-td . -_:definesSecurityScheme-context _:definesSecurityScheme-jsonschema . -_:definesSecurityScheme-jsonschema . -_:definesSecurityScheme-jsonschema "jsonschema" . -_:definesSecurityScheme-jsonschema . -_:definesSecurityScheme-context _:definesSecurityScheme-wotsec . -_:definesSecurityScheme-wotsec . -_:definesSecurityScheme-wotsec "wotsec" . -_:definesSecurityScheme-wotsec . -_:definesSecurityScheme-context _:definesSecurityScheme-hctl . -_:definesSecurityScheme-hctl . -_:definesSecurityScheme-hctl "hctl" . -_:definesSecurityScheme-hctl . -_:definesSecurityScheme-context _:definesSecurityScheme-dct . -_:definesSecurityScheme-dct . -_:definesSecurityScheme-dct "dct" . -_:definesSecurityScheme-dct . -_:definesSecurityScheme-context _:definesSecurityScheme-rdf . -_:definesSecurityScheme-rdf . -_:definesSecurityScheme-rdf "rdf" . -_:definesSecurityScheme-rdf . -_:definesSecurityScheme-context _:definesSecurityScheme-in . -_:definesSecurityScheme-in . -_:definesSecurityScheme-in "in" . -_:definesSecurityScheme-in . -_:definesSecurityScheme-context _:definesSecurityScheme-name . -_:definesSecurityScheme-name . -_:definesSecurityScheme-name "name" . -_:definesSecurityScheme-name . -_:definesSecurityScheme-context _:definesSecurityScheme-authorization . -_:definesSecurityScheme-authorization . -_:definesSecurityScheme-authorization "authorization" . -_:definesSecurityScheme-authorization . -_:definesSecurityScheme-context _:definesSecurityScheme-token . -_:definesSecurityScheme-token . -_:definesSecurityScheme-token "token" . -_:definesSecurityScheme-token . -_:definesSecurityScheme-context _:definesSecurityScheme-refresh . -_:definesSecurityScheme-refresh . -_:definesSecurityScheme-refresh "refresh" . -_:definesSecurityScheme-refresh . -_:definesSecurityScheme-context _:definesSecurityScheme-proxy . -_:definesSecurityScheme-proxy . -_:definesSecurityScheme-proxy "proxy" . -_:definesSecurityScheme-proxy . -_:definesSecurityScheme-context _:definesSecurityScheme-scopes . -_:definesSecurityScheme-scopes . -_:definesSecurityScheme-scopes "scopes" . -_:definesSecurityScheme-scopes . -_:definesSecurityScheme-context _:definesSecurityScheme-flow . -_:definesSecurityScheme-flow . -_:definesSecurityScheme-flow "flow" . -_:definesSecurityScheme-flow . -_:definesSecurityScheme-context _:definesSecurityScheme-qop . -_:definesSecurityScheme-qop . -_:definesSecurityScheme-qop "qop" . -_:definesSecurityScheme-qop . -_:definesSecurityScheme-context _:definesSecurityScheme-alg . -_:definesSecurityScheme-alg . -_:definesSecurityScheme-alg "alg" . -_:definesSecurityScheme-alg . -_:definesSecurityScheme-context _:definesSecurityScheme-format . -_:definesSecurityScheme-format . -_:definesSecurityScheme-format "format" . -_:definesSecurityScheme-format . -_:definesSecurityScheme-context _:definesSecurityScheme-identity . -_:definesSecurityScheme-identity . -_:definesSecurityScheme-identity "identity" . -_:definesSecurityScheme-identity . -_:definesSecurityScheme-context _:definesSecurityScheme-allOf . -_:definesSecurityScheme-allOf . -_:definesSecurityScheme-allOf "allOf" . -_:definesSecurityScheme-allOf . -_:definesSecurityScheme-allOf . -_:definesSecurityScheme-context _:definesSecurityScheme-oneOf . -_:definesSecurityScheme-oneOf . -_:definesSecurityScheme-oneOf "oneOf" . -_:definesSecurityScheme-oneOf . -_:definesSecurityScheme-oneOf . -_:definesSecurityScheme-context _:definesSecurityScheme-scheme . -_:definesSecurityScheme-scheme . -_:definesSecurityScheme-scheme "scheme" . -_:definesSecurityScheme-scheme . -_:definesSecurityScheme-context _:definesSecurityScheme-description . -_:definesSecurityScheme-description . -_:definesSecurityScheme-description "description" . -_:definesSecurityScheme-description . -_:definesSecurityScheme-context _:definesSecurityScheme-descriptions . -_:definesSecurityScheme-descriptions . -_:definesSecurityScheme-descriptions "descriptions" . -_:definesSecurityScheme-descriptions . -_:definesSecurityScheme-descriptions . -_:definesSecurityScheme-context _:definesSecurityScheme-nosec . -_:definesSecurityScheme-nosec . -_:definesSecurityScheme-nosec "nosec" . -_:definesSecurityScheme-nosec . -_:definesSecurityScheme-context _:definesSecurityScheme-auto . -_:definesSecurityScheme-auto . -_:definesSecurityScheme-auto "auto" . -_:definesSecurityScheme-auto . -_:definesSecurityScheme-context _:definesSecurityScheme-combo . -_:definesSecurityScheme-combo . -_:definesSecurityScheme-combo "combo" . -_:definesSecurityScheme-combo . -_:definesSecurityScheme-context _:definesSecurityScheme-basic . -_:definesSecurityScheme-basic . -_:definesSecurityScheme-basic "basic" . -_:definesSecurityScheme-basic . -_:definesSecurityScheme-context _:definesSecurityScheme-digest . -_:definesSecurityScheme-digest . -_:definesSecurityScheme-digest "digest" . -_:definesSecurityScheme-digest . -_:definesSecurityScheme-context _:definesSecurityScheme-apikey . -_:definesSecurityScheme-apikey . -_:definesSecurityScheme-apikey "apikey" . -_:definesSecurityScheme-apikey . -_:definesSecurityScheme-context _:definesSecurityScheme-bearer . -_:definesSecurityScheme-bearer . -_:definesSecurityScheme-bearer "bearer" . -_:definesSecurityScheme-bearer . -_:definesSecurityScheme-context _:definesSecurityScheme-cert . -_:definesSecurityScheme-cert . -_:definesSecurityScheme-cert "cert" . -_:definesSecurityScheme-cert . -_:definesSecurityScheme-context _:definesSecurityScheme-psk . -_:definesSecurityScheme-psk . -_:definesSecurityScheme-psk "psk" . -_:definesSecurityScheme-psk . -_:definesSecurityScheme-context _:definesSecurityScheme-public . -_:definesSecurityScheme-public . -_:definesSecurityScheme-public "public" . -_:definesSecurityScheme-public . -_:definesSecurityScheme-context _:definesSecurityScheme-pop . -_:definesSecurityScheme-pop . -_:definesSecurityScheme-pop "pop" . -_:definesSecurityScheme-pop . -_:definesSecurityScheme-context _:definesSecurityScheme-oauth2 . -_:definesSecurityScheme-oauth2 . -_:definesSecurityScheme-oauth2 "oauth2" . -_:definesSecurityScheme-oauth2 . -_:definesSecurityScheme-context _:definesSecurityScheme-uriVariables . -_:definesSecurityScheme-uriVariables . -_:definesSecurityScheme-uriVariables "uriVariables" . -_:definesSecurityScheme-uriVariables . -_:context _:hasInstanceConfiguration . -_:hasInstanceConfiguration . -_:hasInstanceConfiguration "hasInstanceConfiguration" . -_:hasInstanceConfiguration . -_:context _:schemaDefinitions . -_:schemaDefinitions . -_:schemaDefinitions "schemaDefinitions" . -_:schemaDefinitions . -_:schemaDefinitions . -_:context _:Thing . -_:Thing . -_:Thing "Thing" . -_:Thing . -_:context _:EventAffordance . -_:EventAffordance . -_:EventAffordance "EventAffordance" . -_:EventAffordance . -_:context _:name . -_:name . -_:name "name" . -_:name . -_:context _:profile . -_:profile . -_:profile "profile" . -_:profile . -_:context _:created . -_:created . -_:created "created" . -_:created . -_:created . -_:context _:modified . -_:modified . -_:modified "modified" . -_:modified . -_:modified . -_:context _:observable . -_:observable . -_:observable "observable" . -_:observable . -_:context _:VersionInfo . -_:VersionInfo . -_:VersionInfo "VersionInfo" . -_:VersionInfo . -_:context _:PropertyAffordance . -_:PropertyAffordance . -_:PropertyAffordance "PropertyAffordance" . -_:PropertyAffordance . -_:context _:forms . -_:forms . -_:forms "forms" . -_:forms . -_:forms . -_:forms _:hasForm-context . -_:hasForm-context . -_:hasForm-context . -_:hasForm-context _:hasForm-td . -_:hasForm-td . -_:hasForm-td "td" . -_:hasForm-td . -_:hasForm-context _:hasForm-jsonschema . -_:hasForm-jsonschema . -_:hasForm-jsonschema "jsonschema" . -_:hasForm-jsonschema . -_:hasForm-context _:hasForm-wotsec . -_:hasForm-wotsec . -_:hasForm-wotsec "wotsec" . -_:hasForm-wotsec . -_:hasForm-context _:hasForm-hctl . -_:hasForm-hctl . -_:hasForm-hctl "hctl" . -_:hasForm-hctl . -_:hasForm-context _:hasForm-rdf . -_:hasForm-rdf . -_:hasForm-rdf "rdf" . -_:hasForm-rdf . -_:hasForm-context _:hasForm-rdfs . -_:hasForm-rdfs . -_:hasForm-rdfs "rdfs" . -_:hasForm-rdfs . -_:hasForm-context _:hasForm-xsd . -_:hasForm-xsd . -_:hasForm-xsd "xsd" . -_:hasForm-xsd . -_:hasForm-context _:hasForm-Link . -_:hasForm-Link . -_:hasForm-Link "Link" . -_:hasForm-Link . -_:hasForm-context _:hasForm-Form . -_:hasForm-Form . -_:hasForm-Form "Form" . -_:hasForm-Form . -_:hasForm-context _:hasForm-scopes . -_:hasForm-scopes . -_:hasForm-scopes "scopes" . -_:hasForm-scopes . -_:hasForm-context _:hasForm-security . -_:hasForm-security . -_:hasForm-security "security" . -_:hasForm-security . -_:hasForm-context _:hasForm-op . -_:hasForm-op . -_:hasForm-op "op" . -_:hasForm-op . -_:hasForm-context _:hasForm-readproperty . -_:hasForm-readproperty . -_:hasForm-readproperty "readproperty" . -_:hasForm-readproperty . -_:hasForm-context _:hasForm-writeproperty . -_:hasForm-writeproperty . -_:hasForm-writeproperty "writeproperty" . -_:hasForm-writeproperty . -_:hasForm-context _:hasForm-observeproperty . -_:hasForm-observeproperty . -_:hasForm-observeproperty "observeproperty" . -_:hasForm-observeproperty . -_:hasForm-context _:hasForm-observeallproperties . -_:hasForm-observeallproperties . -_:hasForm-observeallproperties "observeallproperties" . -_:hasForm-observeallproperties . -_:hasForm-context _:hasForm-unobserveproperty . -_:hasForm-unobserveproperty . -_:hasForm-unobserveproperty "unobserveproperty" . -_:hasForm-unobserveproperty . -_:hasForm-context _:hasForm-unobserveallproperties . -_:hasForm-unobserveallproperties . -_:hasForm-unobserveallproperties "unobserveallproperties" . -_:hasForm-unobserveallproperties . -_:hasForm-context _:hasForm-invokeaction . -_:hasForm-invokeaction . -_:hasForm-invokeaction "invokeaction" . -_:hasForm-invokeaction . -_:hasForm-context _:hasForm-queryaction . -_:hasForm-queryaction . -_:hasForm-queryaction "queryaction" . -_:hasForm-queryaction . -_:hasForm-context _:hasForm-queryallactions . -_:hasForm-queryallactions . -_:hasForm-queryallactions "queryallactions" . -_:hasForm-queryallactions . -_:hasForm-context _:hasForm-cancelaction . -_:hasForm-cancelaction . -_:hasForm-cancelaction "cancelaction" . -_:hasForm-cancelaction . -_:hasForm-context _:hasForm-subscribeevent . -_:hasForm-subscribeevent . -_:hasForm-subscribeevent "subscribeevent" . -_:hasForm-subscribeevent . -_:hasForm-context _:hasForm-subscribeallevents . -_:hasForm-subscribeallevents . -_:hasForm-subscribeallevents "subscribeallevents" . -_:hasForm-subscribeallevents . -_:hasForm-context _:hasForm-unsubscribeevent . -_:hasForm-unsubscribeevent . -_:hasForm-unsubscribeevent "unsubscribeevent" . -_:hasForm-unsubscribeevent . -_:hasForm-context _:hasForm-unsubscribeallevents . -_:hasForm-unsubscribeallevents . -_:hasForm-unsubscribeallevents "unsubscribeallevents" . -_:hasForm-unsubscribeallevents . -_:hasForm-context _:hasForm-readallproperties . -_:hasForm-readallproperties . -_:hasForm-readallproperties "readallproperties" . -_:hasForm-readallproperties . -_:hasForm-context _:hasForm-writeallproperties . -_:hasForm-writeallproperties . -_:hasForm-writeallproperties "writeallproperties" . -_:hasForm-writeallproperties . -_:hasForm-context _:hasForm-readmultipleproperties . -_:hasForm-readmultipleproperties . -_:hasForm-readmultipleproperties "readmultipleproperties" . -_:hasForm-readmultipleproperties . -_:hasForm-context _:hasForm-writemultipleproperties . -_:hasForm-writemultipleproperties . -_:hasForm-writemultipleproperties "writemultipleproperties" . -_:hasForm-writemultipleproperties . -_:hasForm-context _:hasForm-subprotocol . -_:hasForm-subprotocol . -_:hasForm-subprotocol "subprotocol" . -_:hasForm-subprotocol . -_:hasForm-context _:hasForm-contentType . -_:hasForm-contentType . -_:hasForm-contentType "contentType" . -_:hasForm-contentType . -_:hasForm-context _:hasForm-contentCoding . -_:hasForm-contentCoding . -_:hasForm-contentCoding "contentCoding" . -_:hasForm-contentCoding . -_:hasForm-context _:hasForm-anchor . -_:hasForm-anchor . -_:hasForm-anchor "anchor" . -_:hasForm-anchor . -_:hasForm-context _:hasForm-sizes . -_:hasForm-sizes . -_:hasForm-sizes "sizes" . -_:hasForm-sizes . -_:hasForm-context _:hasForm-hreflang . -_:hasForm-hreflang . -_:hasForm-hreflang "hreflang" . -_:hasForm-hreflang . -_:hasForm-context _:hasForm-href . -_:hasForm-href . -_:hasForm-href "href" . -_:hasForm-href . -_:hasForm-href . -_:hasForm-context _:hasForm-rel . -_:hasForm-rel . -_:hasForm-rel "rel" . -_:hasForm-rel . -_:hasForm-context _:hasForm-type . -_:hasForm-type . -_:hasForm-type "type" . -_:hasForm-type . -_:hasForm-context _:hasForm-response . -_:hasForm-response . -_:hasForm-response "response" . -_:hasForm-response . -_:hasForm-context _:hasForm-additionalResponses . -_:hasForm-additionalResponses . -_:hasForm-additionalResponses "additionalResponses" . -_:hasForm-additionalResponses . -_:hasForm-additionalResponses . -_:hasForm-context _:hasForm-schema . -_:hasForm-schema . -_:hasForm-schema "schema" . -_:hasForm-schema . -_:hasForm-context _:hasForm-success . -_:hasForm-success . -_:hasForm-success "success" . -_:hasForm-success . -_:context _:version . -_:version . -_:version "version" . -_:version . -_:context _:links . -_:links . -_:links "links" . -_:links . -_:links . -_:links _:hasLink-context . -_:hasLink-context . -_:hasLink-context . -_:hasLink-context _:hasLink-td . -_:hasLink-td . -_:hasLink-td "td" . -_:hasLink-td . -_:hasLink-context _:hasLink-jsonschema . -_:hasLink-jsonschema . -_:hasLink-jsonschema "jsonschema" . -_:hasLink-jsonschema . -_:hasLink-context _:hasLink-wotsec . -_:hasLink-wotsec . -_:hasLink-wotsec "wotsec" . -_:hasLink-wotsec . -_:hasLink-context _:hasLink-hctl . -_:hasLink-hctl . -_:hasLink-hctl "hctl" . -_:hasLink-hctl . -_:hasLink-context _:hasLink-rdf . -_:hasLink-rdf . -_:hasLink-rdf "rdf" . -_:hasLink-rdf . -_:hasLink-context _:hasLink-rdfs . -_:hasLink-rdfs . -_:hasLink-rdfs "rdfs" . -_:hasLink-rdfs . -_:hasLink-context _:hasLink-xsd . -_:hasLink-xsd . -_:hasLink-xsd "xsd" . -_:hasLink-xsd . -_:hasLink-context _:hasLink-Link . -_:hasLink-Link . -_:hasLink-Link "Link" . -_:hasLink-Link . -_:hasLink-context _:hasLink-Form . -_:hasLink-Form . -_:hasLink-Form "Form" . -_:hasLink-Form . -_:hasLink-context _:hasLink-scopes . -_:hasLink-scopes . -_:hasLink-scopes "scopes" . -_:hasLink-scopes . -_:hasLink-context _:hasLink-security . -_:hasLink-security . -_:hasLink-security "security" . -_:hasLink-security . -_:hasLink-context _:hasLink-op . -_:hasLink-op . -_:hasLink-op "op" . -_:hasLink-op . -_:hasLink-context _:hasLink-readproperty . -_:hasLink-readproperty . -_:hasLink-readproperty "readproperty" . -_:hasLink-readproperty . -_:hasLink-context _:hasLink-writeproperty . -_:hasLink-writeproperty . -_:hasLink-writeproperty "writeproperty" . -_:hasLink-writeproperty . -_:hasLink-context _:hasLink-observeproperty . -_:hasLink-observeproperty . -_:hasLink-observeproperty "observeproperty" . -_:hasLink-observeproperty . -_:hasLink-context _:hasLink-observeallproperties . -_:hasLink-observeallproperties . -_:hasLink-observeallproperties "observeallproperties" . -_:hasLink-observeallproperties . -_:hasLink-context _:hasLink-unobserveproperty . -_:hasLink-unobserveproperty . -_:hasLink-unobserveproperty "unobserveproperty" . -_:hasLink-unobserveproperty . -_:hasLink-context _:hasLink-unobserveallproperties . -_:hasLink-unobserveallproperties . -_:hasLink-unobserveallproperties "unobserveallproperties" . -_:hasLink-unobserveallproperties . -_:hasLink-context _:hasLink-invokeaction . -_:hasLink-invokeaction . -_:hasLink-invokeaction "invokeaction" . -_:hasLink-invokeaction . -_:hasLink-context _:hasLink-queryaction . -_:hasLink-queryaction . -_:hasLink-queryaction "queryaction" . -_:hasLink-queryaction . -_:hasLink-context _:hasLink-queryallactions . -_:hasLink-queryallactions . -_:hasLink-queryallactions "queryallactions" . -_:hasLink-queryallactions . -_:hasLink-context _:hasLink-cancelaction . -_:hasLink-cancelaction . -_:hasLink-cancelaction "cancelaction" . -_:hasLink-cancelaction . -_:hasLink-context _:hasLink-subscribeevent . -_:hasLink-subscribeevent . -_:hasLink-subscribeevent "subscribeevent" . -_:hasLink-subscribeevent . -_:hasLink-context _:hasLink-subscribeallevents . -_:hasLink-subscribeallevents . -_:hasLink-subscribeallevents "subscribeallevents" . -_:hasLink-subscribeallevents . -_:hasLink-context _:hasLink-unsubscribeevent . -_:hasLink-unsubscribeevent . -_:hasLink-unsubscribeevent "unsubscribeevent" . -_:hasLink-unsubscribeevent . -_:hasLink-context _:hasLink-unsubscribeallevents . -_:hasLink-unsubscribeallevents . -_:hasLink-unsubscribeallevents "unsubscribeallevents" . -_:hasLink-unsubscribeallevents . -_:hasLink-context _:hasLink-readallproperties . -_:hasLink-readallproperties . -_:hasLink-readallproperties "readallproperties" . -_:hasLink-readallproperties . -_:hasLink-context _:hasLink-writeallproperties . -_:hasLink-writeallproperties . -_:hasLink-writeallproperties "writeallproperties" . -_:hasLink-writeallproperties . -_:hasLink-context _:hasLink-readmultipleproperties . -_:hasLink-readmultipleproperties . -_:hasLink-readmultipleproperties "readmultipleproperties" . -_:hasLink-readmultipleproperties . -_:hasLink-context _:hasLink-writemultipleproperties . -_:hasLink-writemultipleproperties . -_:hasLink-writemultipleproperties "writemultipleproperties" . -_:hasLink-writemultipleproperties . -_:hasLink-context _:hasLink-subprotocol . -_:hasLink-subprotocol . -_:hasLink-subprotocol "subprotocol" . -_:hasLink-subprotocol . -_:hasLink-context _:hasLink-contentType . -_:hasLink-contentType . -_:hasLink-contentType "contentType" . -_:hasLink-contentType . -_:hasLink-context _:hasLink-contentCoding . -_:hasLink-contentCoding . -_:hasLink-contentCoding "contentCoding" . -_:hasLink-contentCoding . -_:hasLink-context _:hasLink-anchor . -_:hasLink-anchor . -_:hasLink-anchor "anchor" . -_:hasLink-anchor . -_:hasLink-context _:hasLink-sizes . -_:hasLink-sizes . -_:hasLink-sizes "sizes" . -_:hasLink-sizes . -_:hasLink-context _:hasLink-hreflang . -_:hasLink-hreflang . -_:hasLink-hreflang "hreflang" . -_:hasLink-hreflang . -_:hasLink-context _:hasLink-href . -_:hasLink-href . -_:hasLink-href "href" . -_:hasLink-href . -_:hasLink-href . -_:hasLink-context _:hasLink-rel . -_:hasLink-rel . -_:hasLink-rel "rel" . -_:hasLink-rel . -_:hasLink-context _:hasLink-type . -_:hasLink-type . -_:hasLink-type "type" . -_:hasLink-type . -_:hasLink-context _:hasLink-response . -_:hasLink-response . -_:hasLink-response "response" . -_:hasLink-response . -_:hasLink-context _:hasLink-additionalResponses . -_:hasLink-additionalResponses . -_:hasLink-additionalResponses "additionalResponses" . -_:hasLink-additionalResponses . -_:hasLink-additionalResponses . -_:hasLink-context _:hasLink-schema . -_:hasLink-schema . -_:hasLink-schema "schema" . -_:hasLink-schema . -_:hasLink-context _:hasLink-success . -_:hasLink-success . -_:hasLink-success "success" . -_:hasLink-success . -_:context _:uriVariables . -_:uriVariables . -_:uriVariables "uriVariables" . -_:uriVariables . -_:uriVariables . -_:context _:safe . -_:safe . -_:safe "safe" . -_:safe . -_:context _:idempotent . -_:idempotent . -_:idempotent "idempotent" . -_:idempotent . -_:context _:synchronous . -_:synchronous . -_:synchronous "synchronous" . -_:synchronous . -_:context _:instance . -_:instance . -_:instance "instance" . -_:instance . -_:instance . -_:context _:model . -_:model . -_:model "model" . -_:model . -_:context _:InteractionAffordance . -_:InteractionAffordance . -_:InteractionAffordance "InteractionAffordance" . -_:InteractionAffordance . -_:context _:ActionAffordance . -_:ActionAffordance . -_:ActionAffordance "ActionAffordance" . -_:ActionAffordance . -_:context _:input . -_:input . -_:input "input" . -_:input . -_:input _:hasInputSchema-context . -_:hasInputSchema-context . -_:hasInputSchema-context . -_:hasInputSchema-context _:hasInputSchema-td . -_:hasInputSchema-td . -_:hasInputSchema-td "td" . -_:hasInputSchema-td . -_:hasInputSchema-context _:hasInputSchema-jsonschema . -_:hasInputSchema-jsonschema . -_:hasInputSchema-jsonschema "jsonschema" . -_:hasInputSchema-jsonschema . -_:hasInputSchema-context _:hasInputSchema-wotsec . -_:hasInputSchema-wotsec . -_:hasInputSchema-wotsec "wotsec" . -_:hasInputSchema-wotsec . -_:hasInputSchema-context _:hasInputSchema-hctl . -_:hasInputSchema-hctl . -_:hasInputSchema-hctl "hctl" . -_:hasInputSchema-hctl . -_:hasInputSchema-context _:hasInputSchema-dct . -_:hasInputSchema-dct . -_:hasInputSchema-dct "dct" . -_:hasInputSchema-dct . -_:hasInputSchema-context _:hasInputSchema-schema . -_:hasInputSchema-schema . -_:hasInputSchema-schema "schema" . -_:hasInputSchema-schema . -_:hasInputSchema-context _:hasInputSchema-rdf . -_:hasInputSchema-rdf . -_:hasInputSchema-rdf "rdf" . -_:hasInputSchema-rdf . -_:hasInputSchema-context _:hasInputSchema-DataSchema . -_:hasInputSchema-DataSchema . -_:hasInputSchema-DataSchema "DataSchema" . -_:hasInputSchema-DataSchema . -_:hasInputSchema-context _:hasInputSchema-readOnly . -_:hasInputSchema-readOnly . -_:hasInputSchema-readOnly "readOnly" . -_:hasInputSchema-readOnly . -_:hasInputSchema-context _:hasInputSchema-writeOnly . -_:hasInputSchema-writeOnly . -_:hasInputSchema-writeOnly "writeOnly" . -_:hasInputSchema-writeOnly . -_:hasInputSchema-context _:hasInputSchema-exclusiveMaximum . -_:hasInputSchema-exclusiveMaximum . -_:hasInputSchema-exclusiveMaximum "exclusiveMaximum" . -_:hasInputSchema-exclusiveMaximum . -_:hasInputSchema-context _:hasInputSchema-exclusiveMinimum . -_:hasInputSchema-exclusiveMinimum . -_:hasInputSchema-exclusiveMinimum "exclusiveMinimum" . -_:hasInputSchema-exclusiveMinimum . -_:hasInputSchema-context _:hasInputSchema-maximum . -_:hasInputSchema-maximum . -_:hasInputSchema-maximum "maximum" . -_:hasInputSchema-maximum . -_:hasInputSchema-context _:hasInputSchema-minimum . -_:hasInputSchema-minimum . -_:hasInputSchema-minimum "minimum" . -_:hasInputSchema-minimum . -_:hasInputSchema-context _:hasInputSchema-maxItems . -_:hasInputSchema-maxItems . -_:hasInputSchema-maxItems "maxItems" . -_:hasInputSchema-maxItems . -_:hasInputSchema-context _:hasInputSchema-minItems . -_:hasInputSchema-minItems . -_:hasInputSchema-minItems "minItems" . -_:hasInputSchema-minItems . -_:hasInputSchema-context _:hasInputSchema-contentEncoding . -_:hasInputSchema-contentEncoding . -_:hasInputSchema-contentEncoding "contentEncoding" . -_:hasInputSchema-contentEncoding . -_:hasInputSchema-context _:hasInputSchema-minLength . -_:hasInputSchema-minLength . -_:hasInputSchema-minLength "minLength" . -_:hasInputSchema-minLength . -_:hasInputSchema-context _:hasInputSchema-maxLength . -_:hasInputSchema-maxLength . -_:hasInputSchema-maxLength "maxLength" . -_:hasInputSchema-maxLength . -_:hasInputSchema-context _:hasInputSchema-pattern . -_:hasInputSchema-pattern . -_:hasInputSchema-pattern "pattern" . -_:hasInputSchema-pattern . -_:hasInputSchema-context _:hasInputSchema-contentMediaType . -_:hasInputSchema-contentMediaType . -_:hasInputSchema-contentMediaType "contentMediaType" . -_:hasInputSchema-contentMediaType . -_:hasInputSchema-context _:hasInputSchema-items . -_:hasInputSchema-items . -_:hasInputSchema-items "items" . -_:hasInputSchema-items . -_:hasInputSchema-context _:hasInputSchema-required . -_:hasInputSchema-required . -_:hasInputSchema-required "required" . -_:hasInputSchema-required . -_:hasInputSchema-required . -_:hasInputSchema-context _:hasInputSchema-enum . -_:hasInputSchema-enum . -_:hasInputSchema-enum "enum" . -_:hasInputSchema-enum . -_:hasInputSchema-enum . -_:hasInputSchema-context _:hasInputSchema-const . -_:hasInputSchema-const . -_:hasInputSchema-const "const" . -_:hasInputSchema-const . -_:hasInputSchema-context _:hasInputSchema-default . -_:hasInputSchema-default . -_:hasInputSchema-default "default" . -_:hasInputSchema-default . -_:hasInputSchema-context _:hasInputSchema-multipleOf . -_:hasInputSchema-multipleOf . -_:hasInputSchema-multipleOf "multipleOf" . -_:hasInputSchema-multipleOf . -_:hasInputSchema-context _:hasInputSchema-format . -_:hasInputSchema-format . -_:hasInputSchema-format "format" . -_:hasInputSchema-format . -_:hasInputSchema-context _:hasInputSchema-oneOf . -_:hasInputSchema-oneOf . -_:hasInputSchema-oneOf "oneOf" . -_:hasInputSchema-oneOf . -_:hasInputSchema-oneOf . -_:hasInputSchema-context _:hasInputSchema-allOf . -_:hasInputSchema-allOf . -_:hasInputSchema-allOf "allOf" . -_:hasInputSchema-allOf . -_:hasInputSchema-allOf . -_:hasInputSchema-context _:hasInputSchema-anyOf . -_:hasInputSchema-anyOf . -_:hasInputSchema-anyOf "anyOf" . -_:hasInputSchema-anyOf . -_:hasInputSchema-anyOf . -_:hasInputSchema-context _:hasInputSchema-type . -_:hasInputSchema-type . -_:hasInputSchema-type "type" . -_:hasInputSchema-type . -_:hasInputSchema-context _:hasInputSchema-title . -_:hasInputSchema-title . -_:hasInputSchema-title "title" . -_:hasInputSchema-title . -_:hasInputSchema-context _:hasInputSchema-titles . -_:hasInputSchema-titles . -_:hasInputSchema-titles "titles" . -_:hasInputSchema-titles . -_:hasInputSchema-titles . -_:hasInputSchema-context _:hasInputSchema-description . -_:hasInputSchema-description . -_:hasInputSchema-description "description" . -_:hasInputSchema-description . -_:hasInputSchema-context _:hasInputSchema-descriptions . -_:hasInputSchema-descriptions . -_:hasInputSchema-descriptions "descriptions" . -_:hasInputSchema-descriptions . -_:hasInputSchema-descriptions . -_:hasInputSchema-context _:hasInputSchema-object . -_:hasInputSchema-object . -_:hasInputSchema-object "object" . -_:hasInputSchema-object . -_:hasInputSchema-context _:hasInputSchema-array . -_:hasInputSchema-array . -_:hasInputSchema-array "array" . -_:hasInputSchema-array . -_:hasInputSchema-context _:hasInputSchema-boolean . -_:hasInputSchema-boolean . -_:hasInputSchema-boolean "boolean" . -_:hasInputSchema-boolean . -_:hasInputSchema-context _:hasInputSchema-string . -_:hasInputSchema-string . -_:hasInputSchema-string "string" . -_:hasInputSchema-string . -_:hasInputSchema-context _:hasInputSchema-number . -_:hasInputSchema-number . -_:hasInputSchema-number "number" . -_:hasInputSchema-number . -_:hasInputSchema-context _:hasInputSchema-integer . -_:hasInputSchema-integer . -_:hasInputSchema-integer "integer" . -_:hasInputSchema-integer . -_:hasInputSchema-context _:hasInputSchema-null . -_:hasInputSchema-null . -_:hasInputSchema-null "null" . -_:hasInputSchema-null . -_:hasInputSchema-context _:hasInputSchema-properties . -_:hasInputSchema-properties . -_:hasInputSchema-properties "properties" . -_:hasInputSchema-properties . -_:hasInputSchema-properties . -_:hasInputSchema-context _:hasInputSchema-propertyName . -_:hasInputSchema-propertyName . -_:hasInputSchema-propertyName "propertyName" . -_:hasInputSchema-propertyName . -_:hasInputSchema-context _:hasInputSchema-unit . -_:hasInputSchema-unit . -_:hasInputSchema-unit "unit" . -_:hasInputSchema-unit . -_:context _:output . -_:output . -_:output "output" . -_:output . -_:output _:hasOutputSchema-context . -_:hasOutputSchema-context . -_:hasOutputSchema-context . -_:hasOutputSchema-context _:hasOutputSchema-td . -_:hasOutputSchema-td . -_:hasOutputSchema-td "td" . -_:hasOutputSchema-td . -_:hasOutputSchema-context _:hasOutputSchema-jsonschema . -_:hasOutputSchema-jsonschema . -_:hasOutputSchema-jsonschema "jsonschema" . -_:hasOutputSchema-jsonschema . -_:hasOutputSchema-context _:hasOutputSchema-wotsec . -_:hasOutputSchema-wotsec . -_:hasOutputSchema-wotsec "wotsec" . -_:hasOutputSchema-wotsec . -_:hasOutputSchema-context _:hasOutputSchema-hctl . -_:hasOutputSchema-hctl . -_:hasOutputSchema-hctl "hctl" . -_:hasOutputSchema-hctl . -_:hasOutputSchema-context _:hasOutputSchema-dct . -_:hasOutputSchema-dct . -_:hasOutputSchema-dct "dct" . -_:hasOutputSchema-dct . -_:hasOutputSchema-context _:hasOutputSchema-schema . -_:hasOutputSchema-schema . -_:hasOutputSchema-schema "schema" . -_:hasOutputSchema-schema . -_:hasOutputSchema-context _:hasOutputSchema-rdf . -_:hasOutputSchema-rdf . -_:hasOutputSchema-rdf "rdf" . -_:hasOutputSchema-rdf . -_:hasOutputSchema-context _:hasOutputSchema-DataSchema . -_:hasOutputSchema-DataSchema . -_:hasOutputSchema-DataSchema "DataSchema" . -_:hasOutputSchema-DataSchema . -_:hasOutputSchema-context _:hasOutputSchema-readOnly . -_:hasOutputSchema-readOnly . -_:hasOutputSchema-readOnly "readOnly" . -_:hasOutputSchema-readOnly . -_:hasOutputSchema-context _:hasOutputSchema-writeOnly . -_:hasOutputSchema-writeOnly . -_:hasOutputSchema-writeOnly "writeOnly" . -_:hasOutputSchema-writeOnly . -_:hasOutputSchema-context _:hasOutputSchema-exclusiveMaximum . -_:hasOutputSchema-exclusiveMaximum . -_:hasOutputSchema-exclusiveMaximum "exclusiveMaximum" . -_:hasOutputSchema-exclusiveMaximum . -_:hasOutputSchema-context _:hasOutputSchema-exclusiveMinimum . -_:hasOutputSchema-exclusiveMinimum . -_:hasOutputSchema-exclusiveMinimum "exclusiveMinimum" . -_:hasOutputSchema-exclusiveMinimum . -_:hasOutputSchema-context _:hasOutputSchema-maximum . -_:hasOutputSchema-maximum . -_:hasOutputSchema-maximum "maximum" . -_:hasOutputSchema-maximum . -_:hasOutputSchema-context _:hasOutputSchema-minimum . -_:hasOutputSchema-minimum . -_:hasOutputSchema-minimum "minimum" . -_:hasOutputSchema-minimum . -_:hasOutputSchema-context _:hasOutputSchema-maxItems . -_:hasOutputSchema-maxItems . -_:hasOutputSchema-maxItems "maxItems" . -_:hasOutputSchema-maxItems . -_:hasOutputSchema-context _:hasOutputSchema-minItems . -_:hasOutputSchema-minItems . -_:hasOutputSchema-minItems "minItems" . -_:hasOutputSchema-minItems . -_:hasOutputSchema-context _:hasOutputSchema-contentEncoding . -_:hasOutputSchema-contentEncoding . -_:hasOutputSchema-contentEncoding "contentEncoding" . -_:hasOutputSchema-contentEncoding . -_:hasOutputSchema-context _:hasOutputSchema-minLength . -_:hasOutputSchema-minLength . -_:hasOutputSchema-minLength "minLength" . -_:hasOutputSchema-minLength . -_:hasOutputSchema-context _:hasOutputSchema-maxLength . -_:hasOutputSchema-maxLength . -_:hasOutputSchema-maxLength "maxLength" . -_:hasOutputSchema-maxLength . -_:hasOutputSchema-context _:hasOutputSchema-pattern . -_:hasOutputSchema-pattern . -_:hasOutputSchema-pattern "pattern" . -_:hasOutputSchema-pattern . -_:hasOutputSchema-context _:hasOutputSchema-contentMediaType . -_:hasOutputSchema-contentMediaType . -_:hasOutputSchema-contentMediaType "contentMediaType" . -_:hasOutputSchema-contentMediaType . -_:hasOutputSchema-context _:hasOutputSchema-items . -_:hasOutputSchema-items . -_:hasOutputSchema-items "items" . -_:hasOutputSchema-items . -_:hasOutputSchema-context _:hasOutputSchema-required . -_:hasOutputSchema-required . -_:hasOutputSchema-required "required" . -_:hasOutputSchema-required . -_:hasOutputSchema-required . -_:hasOutputSchema-context _:hasOutputSchema-enum . -_:hasOutputSchema-enum . -_:hasOutputSchema-enum "enum" . -_:hasOutputSchema-enum . -_:hasOutputSchema-enum . -_:hasOutputSchema-context _:hasOutputSchema-const . -_:hasOutputSchema-const . -_:hasOutputSchema-const "const" . -_:hasOutputSchema-const . -_:hasOutputSchema-context _:hasOutputSchema-default . -_:hasOutputSchema-default . -_:hasOutputSchema-default "default" . -_:hasOutputSchema-default . -_:hasOutputSchema-context _:hasOutputSchema-multipleOf . -_:hasOutputSchema-multipleOf . -_:hasOutputSchema-multipleOf "multipleOf" . -_:hasOutputSchema-multipleOf . -_:hasOutputSchema-context _:hasOutputSchema-format . -_:hasOutputSchema-format . -_:hasOutputSchema-format "format" . -_:hasOutputSchema-format . -_:hasOutputSchema-context _:hasOutputSchema-oneOf . -_:hasOutputSchema-oneOf . -_:hasOutputSchema-oneOf "oneOf" . -_:hasOutputSchema-oneOf . -_:hasOutputSchema-oneOf . -_:hasOutputSchema-context _:hasOutputSchema-allOf . -_:hasOutputSchema-allOf . -_:hasOutputSchema-allOf "allOf" . -_:hasOutputSchema-allOf . -_:hasOutputSchema-allOf . -_:hasOutputSchema-context _:hasOutputSchema-anyOf . -_:hasOutputSchema-anyOf . -_:hasOutputSchema-anyOf "anyOf" . -_:hasOutputSchema-anyOf . -_:hasOutputSchema-anyOf . -_:hasOutputSchema-context _:hasOutputSchema-type . -_:hasOutputSchema-type . -_:hasOutputSchema-type "type" . -_:hasOutputSchema-type . -_:hasOutputSchema-context _:hasOutputSchema-title . -_:hasOutputSchema-title . -_:hasOutputSchema-title "title" . -_:hasOutputSchema-title . -_:hasOutputSchema-context _:hasOutputSchema-titles . -_:hasOutputSchema-titles . -_:hasOutputSchema-titles "titles" . -_:hasOutputSchema-titles . -_:hasOutputSchema-titles . -_:hasOutputSchema-context _:hasOutputSchema-description . -_:hasOutputSchema-description . -_:hasOutputSchema-description "description" . -_:hasOutputSchema-description . -_:hasOutputSchema-context _:hasOutputSchema-descriptions . -_:hasOutputSchema-descriptions . -_:hasOutputSchema-descriptions "descriptions" . -_:hasOutputSchema-descriptions . -_:hasOutputSchema-descriptions . -_:hasOutputSchema-context _:hasOutputSchema-object . -_:hasOutputSchema-object . -_:hasOutputSchema-object "object" . -_:hasOutputSchema-object . -_:hasOutputSchema-context _:hasOutputSchema-array . -_:hasOutputSchema-array . -_:hasOutputSchema-array "array" . -_:hasOutputSchema-array . -_:hasOutputSchema-context _:hasOutputSchema-boolean . -_:hasOutputSchema-boolean . -_:hasOutputSchema-boolean "boolean" . -_:hasOutputSchema-boolean . -_:hasOutputSchema-context _:hasOutputSchema-string . -_:hasOutputSchema-string . -_:hasOutputSchema-string "string" . -_:hasOutputSchema-string . -_:hasOutputSchema-context _:hasOutputSchema-number . -_:hasOutputSchema-number . -_:hasOutputSchema-number "number" . -_:hasOutputSchema-number . -_:hasOutputSchema-context _:hasOutputSchema-integer . -_:hasOutputSchema-integer . -_:hasOutputSchema-integer "integer" . -_:hasOutputSchema-integer . -_:hasOutputSchema-context _:hasOutputSchema-null . -_:hasOutputSchema-null . -_:hasOutputSchema-null "null" . -_:hasOutputSchema-null . -_:hasOutputSchema-context _:hasOutputSchema-properties . -_:hasOutputSchema-properties . -_:hasOutputSchema-properties "properties" . -_:hasOutputSchema-properties . -_:hasOutputSchema-properties . -_:hasOutputSchema-context _:hasOutputSchema-propertyName . -_:hasOutputSchema-propertyName . -_:hasOutputSchema-propertyName "propertyName" . -_:hasOutputSchema-propertyName . -_:hasOutputSchema-context _:hasOutputSchema-unit . -_:hasOutputSchema-unit . -_:hasOutputSchema-unit "unit" . -_:hasOutputSchema-unit . -_:context _:subscription . -_:subscription . -_:subscription "subscription" . -_:subscription . -_:subscription _:hasSubscriptionSchema-context . -_:hasSubscriptionSchema-context . -_:hasSubscriptionSchema-context . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-td . -_:hasSubscriptionSchema-td . -_:hasSubscriptionSchema-td "td" . -_:hasSubscriptionSchema-td . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-jsonschema . -_:hasSubscriptionSchema-jsonschema . -_:hasSubscriptionSchema-jsonschema "jsonschema" . -_:hasSubscriptionSchema-jsonschema . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-wotsec . -_:hasSubscriptionSchema-wotsec . -_:hasSubscriptionSchema-wotsec "wotsec" . -_:hasSubscriptionSchema-wotsec . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-hctl . -_:hasSubscriptionSchema-hctl . -_:hasSubscriptionSchema-hctl "hctl" . -_:hasSubscriptionSchema-hctl . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-dct . -_:hasSubscriptionSchema-dct . -_:hasSubscriptionSchema-dct "dct" . -_:hasSubscriptionSchema-dct . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-schema . -_:hasSubscriptionSchema-schema . -_:hasSubscriptionSchema-schema "schema" . -_:hasSubscriptionSchema-schema . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-rdf . -_:hasSubscriptionSchema-rdf . -_:hasSubscriptionSchema-rdf "rdf" . -_:hasSubscriptionSchema-rdf . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-DataSchema . -_:hasSubscriptionSchema-DataSchema . -_:hasSubscriptionSchema-DataSchema "DataSchema" . -_:hasSubscriptionSchema-DataSchema . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-readOnly . -_:hasSubscriptionSchema-readOnly . -_:hasSubscriptionSchema-readOnly "readOnly" . -_:hasSubscriptionSchema-readOnly . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-writeOnly . -_:hasSubscriptionSchema-writeOnly . -_:hasSubscriptionSchema-writeOnly "writeOnly" . -_:hasSubscriptionSchema-writeOnly . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-exclusiveMaximum . -_:hasSubscriptionSchema-exclusiveMaximum . -_:hasSubscriptionSchema-exclusiveMaximum "exclusiveMaximum" . -_:hasSubscriptionSchema-exclusiveMaximum . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-exclusiveMinimum . -_:hasSubscriptionSchema-exclusiveMinimum . -_:hasSubscriptionSchema-exclusiveMinimum "exclusiveMinimum" . -_:hasSubscriptionSchema-exclusiveMinimum . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-maximum . -_:hasSubscriptionSchema-maximum . -_:hasSubscriptionSchema-maximum "maximum" . -_:hasSubscriptionSchema-maximum . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-minimum . -_:hasSubscriptionSchema-minimum . -_:hasSubscriptionSchema-minimum "minimum" . -_:hasSubscriptionSchema-minimum . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-maxItems . -_:hasSubscriptionSchema-maxItems . -_:hasSubscriptionSchema-maxItems "maxItems" . -_:hasSubscriptionSchema-maxItems . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-minItems . -_:hasSubscriptionSchema-minItems . -_:hasSubscriptionSchema-minItems "minItems" . -_:hasSubscriptionSchema-minItems . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-contentEncoding . -_:hasSubscriptionSchema-contentEncoding . -_:hasSubscriptionSchema-contentEncoding "contentEncoding" . -_:hasSubscriptionSchema-contentEncoding . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-minLength . -_:hasSubscriptionSchema-minLength . -_:hasSubscriptionSchema-minLength "minLength" . -_:hasSubscriptionSchema-minLength . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-maxLength . -_:hasSubscriptionSchema-maxLength . -_:hasSubscriptionSchema-maxLength "maxLength" . -_:hasSubscriptionSchema-maxLength . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-pattern . -_:hasSubscriptionSchema-pattern . -_:hasSubscriptionSchema-pattern "pattern" . -_:hasSubscriptionSchema-pattern . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-contentMediaType . -_:hasSubscriptionSchema-contentMediaType . -_:hasSubscriptionSchema-contentMediaType "contentMediaType" . -_:hasSubscriptionSchema-contentMediaType . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-items . -_:hasSubscriptionSchema-items . -_:hasSubscriptionSchema-items "items" . -_:hasSubscriptionSchema-items . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-required . -_:hasSubscriptionSchema-required . -_:hasSubscriptionSchema-required "required" . -_:hasSubscriptionSchema-required . -_:hasSubscriptionSchema-required . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-enum . -_:hasSubscriptionSchema-enum . -_:hasSubscriptionSchema-enum "enum" . -_:hasSubscriptionSchema-enum . -_:hasSubscriptionSchema-enum . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-const . -_:hasSubscriptionSchema-const . -_:hasSubscriptionSchema-const "const" . -_:hasSubscriptionSchema-const . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-default . -_:hasSubscriptionSchema-default . -_:hasSubscriptionSchema-default "default" . -_:hasSubscriptionSchema-default . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-multipleOf . -_:hasSubscriptionSchema-multipleOf . -_:hasSubscriptionSchema-multipleOf "multipleOf" . -_:hasSubscriptionSchema-multipleOf . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-format . -_:hasSubscriptionSchema-format . -_:hasSubscriptionSchema-format "format" . -_:hasSubscriptionSchema-format . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-oneOf . -_:hasSubscriptionSchema-oneOf . -_:hasSubscriptionSchema-oneOf "oneOf" . -_:hasSubscriptionSchema-oneOf . -_:hasSubscriptionSchema-oneOf . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-allOf . -_:hasSubscriptionSchema-allOf . -_:hasSubscriptionSchema-allOf "allOf" . -_:hasSubscriptionSchema-allOf . -_:hasSubscriptionSchema-allOf . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-anyOf . -_:hasSubscriptionSchema-anyOf . -_:hasSubscriptionSchema-anyOf "anyOf" . -_:hasSubscriptionSchema-anyOf . -_:hasSubscriptionSchema-anyOf . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-type . -_:hasSubscriptionSchema-type . -_:hasSubscriptionSchema-type "type" . -_:hasSubscriptionSchema-type . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-title . -_:hasSubscriptionSchema-title . -_:hasSubscriptionSchema-title "title" . -_:hasSubscriptionSchema-title . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-titles . -_:hasSubscriptionSchema-titles . -_:hasSubscriptionSchema-titles "titles" . -_:hasSubscriptionSchema-titles . -_:hasSubscriptionSchema-titles . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-description . -_:hasSubscriptionSchema-description . -_:hasSubscriptionSchema-description "description" . -_:hasSubscriptionSchema-description . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-descriptions . -_:hasSubscriptionSchema-descriptions . -_:hasSubscriptionSchema-descriptions "descriptions" . -_:hasSubscriptionSchema-descriptions . -_:hasSubscriptionSchema-descriptions . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-object . -_:hasSubscriptionSchema-object . -_:hasSubscriptionSchema-object "object" . -_:hasSubscriptionSchema-object . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-array . -_:hasSubscriptionSchema-array . -_:hasSubscriptionSchema-array "array" . -_:hasSubscriptionSchema-array . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-boolean . -_:hasSubscriptionSchema-boolean . -_:hasSubscriptionSchema-boolean "boolean" . -_:hasSubscriptionSchema-boolean . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-string . -_:hasSubscriptionSchema-string . -_:hasSubscriptionSchema-string "string" . -_:hasSubscriptionSchema-string . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-number . -_:hasSubscriptionSchema-number . -_:hasSubscriptionSchema-number "number" . -_:hasSubscriptionSchema-number . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-integer . -_:hasSubscriptionSchema-integer . -_:hasSubscriptionSchema-integer "integer" . -_:hasSubscriptionSchema-integer . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-null . -_:hasSubscriptionSchema-null . -_:hasSubscriptionSchema-null "null" . -_:hasSubscriptionSchema-null . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-properties . -_:hasSubscriptionSchema-properties . -_:hasSubscriptionSchema-properties "properties" . -_:hasSubscriptionSchema-properties . -_:hasSubscriptionSchema-properties . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-propertyName . -_:hasSubscriptionSchema-propertyName . -_:hasSubscriptionSchema-propertyName "propertyName" . -_:hasSubscriptionSchema-propertyName . -_:hasSubscriptionSchema-context _:hasSubscriptionSchema-unit . -_:hasSubscriptionSchema-unit . -_:hasSubscriptionSchema-unit "unit" . -_:hasSubscriptionSchema-unit . -_:context _:data . -_:data . -_:data "data" . -_:data . -_:data _:hasNotificationSchema-context . -_:hasNotificationSchema-context . -_:hasNotificationSchema-context . -_:hasNotificationSchema-context _:hasNotificationSchema-td . -_:hasNotificationSchema-td . -_:hasNotificationSchema-td "td" . -_:hasNotificationSchema-td . -_:hasNotificationSchema-context _:hasNotificationSchema-jsonschema . -_:hasNotificationSchema-jsonschema . -_:hasNotificationSchema-jsonschema "jsonschema" . -_:hasNotificationSchema-jsonschema . -_:hasNotificationSchema-context _:hasNotificationSchema-wotsec . -_:hasNotificationSchema-wotsec . -_:hasNotificationSchema-wotsec "wotsec" . -_:hasNotificationSchema-wotsec . -_:hasNotificationSchema-context _:hasNotificationSchema-hctl . -_:hasNotificationSchema-hctl . -_:hasNotificationSchema-hctl "hctl" . -_:hasNotificationSchema-hctl . -_:hasNotificationSchema-context _:hasNotificationSchema-dct . -_:hasNotificationSchema-dct . -_:hasNotificationSchema-dct "dct" . -_:hasNotificationSchema-dct . -_:hasNotificationSchema-context _:hasNotificationSchema-schema . -_:hasNotificationSchema-schema . -_:hasNotificationSchema-schema "schema" . -_:hasNotificationSchema-schema . -_:hasNotificationSchema-context _:hasNotificationSchema-rdf . -_:hasNotificationSchema-rdf . -_:hasNotificationSchema-rdf "rdf" . -_:hasNotificationSchema-rdf . -_:hasNotificationSchema-context _:hasNotificationSchema-DataSchema . -_:hasNotificationSchema-DataSchema . -_:hasNotificationSchema-DataSchema "DataSchema" . -_:hasNotificationSchema-DataSchema . -_:hasNotificationSchema-context _:hasNotificationSchema-readOnly . -_:hasNotificationSchema-readOnly . -_:hasNotificationSchema-readOnly "readOnly" . -_:hasNotificationSchema-readOnly . -_:hasNotificationSchema-context _:hasNotificationSchema-writeOnly . -_:hasNotificationSchema-writeOnly . -_:hasNotificationSchema-writeOnly "writeOnly" . -_:hasNotificationSchema-writeOnly . -_:hasNotificationSchema-context _:hasNotificationSchema-exclusiveMaximum . -_:hasNotificationSchema-exclusiveMaximum . -_:hasNotificationSchema-exclusiveMaximum "exclusiveMaximum" . -_:hasNotificationSchema-exclusiveMaximum . -_:hasNotificationSchema-context _:hasNotificationSchema-exclusiveMinimum . -_:hasNotificationSchema-exclusiveMinimum . -_:hasNotificationSchema-exclusiveMinimum "exclusiveMinimum" . -_:hasNotificationSchema-exclusiveMinimum . -_:hasNotificationSchema-context _:hasNotificationSchema-maximum . -_:hasNotificationSchema-maximum . -_:hasNotificationSchema-maximum "maximum" . -_:hasNotificationSchema-maximum . -_:hasNotificationSchema-context _:hasNotificationSchema-minimum . -_:hasNotificationSchema-minimum . -_:hasNotificationSchema-minimum "minimum" . -_:hasNotificationSchema-minimum . -_:hasNotificationSchema-context _:hasNotificationSchema-maxItems . -_:hasNotificationSchema-maxItems . -_:hasNotificationSchema-maxItems "maxItems" . -_:hasNotificationSchema-maxItems . -_:hasNotificationSchema-context _:hasNotificationSchema-minItems . -_:hasNotificationSchema-minItems . -_:hasNotificationSchema-minItems "minItems" . -_:hasNotificationSchema-minItems . -_:hasNotificationSchema-context _:hasNotificationSchema-contentEncoding . -_:hasNotificationSchema-contentEncoding . -_:hasNotificationSchema-contentEncoding "contentEncoding" . -_:hasNotificationSchema-contentEncoding . -_:hasNotificationSchema-context _:hasNotificationSchema-minLength . -_:hasNotificationSchema-minLength . -_:hasNotificationSchema-minLength "minLength" . -_:hasNotificationSchema-minLength . -_:hasNotificationSchema-context _:hasNotificationSchema-maxLength . -_:hasNotificationSchema-maxLength . -_:hasNotificationSchema-maxLength "maxLength" . -_:hasNotificationSchema-maxLength . -_:hasNotificationSchema-context _:hasNotificationSchema-pattern . -_:hasNotificationSchema-pattern . -_:hasNotificationSchema-pattern "pattern" . -_:hasNotificationSchema-pattern . -_:hasNotificationSchema-context _:hasNotificationSchema-contentMediaType . -_:hasNotificationSchema-contentMediaType . -_:hasNotificationSchema-contentMediaType "contentMediaType" . -_:hasNotificationSchema-contentMediaType . -_:hasNotificationSchema-context _:hasNotificationSchema-items . -_:hasNotificationSchema-items . -_:hasNotificationSchema-items "items" . -_:hasNotificationSchema-items . -_:hasNotificationSchema-context _:hasNotificationSchema-required . -_:hasNotificationSchema-required . -_:hasNotificationSchema-required "required" . -_:hasNotificationSchema-required . -_:hasNotificationSchema-required . -_:hasNotificationSchema-context _:hasNotificationSchema-enum . -_:hasNotificationSchema-enum . -_:hasNotificationSchema-enum "enum" . -_:hasNotificationSchema-enum . -_:hasNotificationSchema-enum . -_:hasNotificationSchema-context _:hasNotificationSchema-const . -_:hasNotificationSchema-const . -_:hasNotificationSchema-const "const" . -_:hasNotificationSchema-const . -_:hasNotificationSchema-context _:hasNotificationSchema-default . -_:hasNotificationSchema-default . -_:hasNotificationSchema-default "default" . -_:hasNotificationSchema-default . -_:hasNotificationSchema-context _:hasNotificationSchema-multipleOf . -_:hasNotificationSchema-multipleOf . -_:hasNotificationSchema-multipleOf "multipleOf" . -_:hasNotificationSchema-multipleOf . -_:hasNotificationSchema-context _:hasNotificationSchema-format . -_:hasNotificationSchema-format . -_:hasNotificationSchema-format "format" . -_:hasNotificationSchema-format . -_:hasNotificationSchema-context _:hasNotificationSchema-oneOf . -_:hasNotificationSchema-oneOf . -_:hasNotificationSchema-oneOf "oneOf" . -_:hasNotificationSchema-oneOf . -_:hasNotificationSchema-oneOf . -_:hasNotificationSchema-context _:hasNotificationSchema-allOf . -_:hasNotificationSchema-allOf . -_:hasNotificationSchema-allOf "allOf" . -_:hasNotificationSchema-allOf . -_:hasNotificationSchema-allOf . -_:hasNotificationSchema-context _:hasNotificationSchema-anyOf . -_:hasNotificationSchema-anyOf . -_:hasNotificationSchema-anyOf "anyOf" . -_:hasNotificationSchema-anyOf . -_:hasNotificationSchema-anyOf . -_:hasNotificationSchema-context _:hasNotificationSchema-type . -_:hasNotificationSchema-type . -_:hasNotificationSchema-type "type" . -_:hasNotificationSchema-type . -_:hasNotificationSchema-context _:hasNotificationSchema-title . -_:hasNotificationSchema-title . -_:hasNotificationSchema-title "title" . -_:hasNotificationSchema-title . -_:hasNotificationSchema-context _:hasNotificationSchema-titles . -_:hasNotificationSchema-titles . -_:hasNotificationSchema-titles "titles" . -_:hasNotificationSchema-titles . -_:hasNotificationSchema-titles . -_:hasNotificationSchema-context _:hasNotificationSchema-description . -_:hasNotificationSchema-description . -_:hasNotificationSchema-description "description" . -_:hasNotificationSchema-description . -_:hasNotificationSchema-context _:hasNotificationSchema-descriptions . -_:hasNotificationSchema-descriptions . -_:hasNotificationSchema-descriptions "descriptions" . -_:hasNotificationSchema-descriptions . -_:hasNotificationSchema-descriptions . -_:hasNotificationSchema-context _:hasNotificationSchema-object . -_:hasNotificationSchema-object . -_:hasNotificationSchema-object "object" . -_:hasNotificationSchema-object . -_:hasNotificationSchema-context _:hasNotificationSchema-array . -_:hasNotificationSchema-array . -_:hasNotificationSchema-array "array" . -_:hasNotificationSchema-array . -_:hasNotificationSchema-context _:hasNotificationSchema-boolean . -_:hasNotificationSchema-boolean . -_:hasNotificationSchema-boolean "boolean" . -_:hasNotificationSchema-boolean . -_:hasNotificationSchema-context _:hasNotificationSchema-string . -_:hasNotificationSchema-string . -_:hasNotificationSchema-string "string" . -_:hasNotificationSchema-string . -_:hasNotificationSchema-context _:hasNotificationSchema-number . -_:hasNotificationSchema-number . -_:hasNotificationSchema-number "number" . -_:hasNotificationSchema-number . -_:hasNotificationSchema-context _:hasNotificationSchema-integer . -_:hasNotificationSchema-integer . -_:hasNotificationSchema-integer "integer" . -_:hasNotificationSchema-integer . -_:hasNotificationSchema-context _:hasNotificationSchema-null . -_:hasNotificationSchema-null . -_:hasNotificationSchema-null "null" . -_:hasNotificationSchema-null . -_:hasNotificationSchema-context _:hasNotificationSchema-properties . -_:hasNotificationSchema-properties . -_:hasNotificationSchema-properties "properties" . -_:hasNotificationSchema-properties . -_:hasNotificationSchema-properties . -_:hasNotificationSchema-context _:hasNotificationSchema-propertyName . -_:hasNotificationSchema-propertyName . -_:hasNotificationSchema-propertyName "propertyName" . -_:hasNotificationSchema-propertyName . -_:hasNotificationSchema-context _:hasNotificationSchema-unit . -_:hasNotificationSchema-unit . -_:hasNotificationSchema-unit "unit" . -_:hasNotificationSchema-unit . -_:context _:dataResponse . -_:dataResponse . -_:dataResponse "dataResponse" . -_:dataResponse . -_:dataResponse _:hasNotificationResponseSchema-context . -_:hasNotificationResponseSchema-context . -_:hasNotificationResponseSchema-context . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-td . -_:hasNotificationResponseSchema-td . -_:hasNotificationResponseSchema-td "td" . -_:hasNotificationResponseSchema-td . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-jsonschema . -_:hasNotificationResponseSchema-jsonschema . -_:hasNotificationResponseSchema-jsonschema "jsonschema" . -_:hasNotificationResponseSchema-jsonschema . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-wotsec . -_:hasNotificationResponseSchema-wotsec . -_:hasNotificationResponseSchema-wotsec "wotsec" . -_:hasNotificationResponseSchema-wotsec . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-hctl . -_:hasNotificationResponseSchema-hctl . -_:hasNotificationResponseSchema-hctl "hctl" . -_:hasNotificationResponseSchema-hctl . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-dct . -_:hasNotificationResponseSchema-dct . -_:hasNotificationResponseSchema-dct "dct" . -_:hasNotificationResponseSchema-dct . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-schema . -_:hasNotificationResponseSchema-schema . -_:hasNotificationResponseSchema-schema "schema" . -_:hasNotificationResponseSchema-schema . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-rdf . -_:hasNotificationResponseSchema-rdf . -_:hasNotificationResponseSchema-rdf "rdf" . -_:hasNotificationResponseSchema-rdf . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-DataSchema . -_:hasNotificationResponseSchema-DataSchema . -_:hasNotificationResponseSchema-DataSchema "DataSchema" . -_:hasNotificationResponseSchema-DataSchema . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-readOnly . -_:hasNotificationResponseSchema-readOnly . -_:hasNotificationResponseSchema-readOnly "readOnly" . -_:hasNotificationResponseSchema-readOnly . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-writeOnly . -_:hasNotificationResponseSchema-writeOnly . -_:hasNotificationResponseSchema-writeOnly "writeOnly" . -_:hasNotificationResponseSchema-writeOnly . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-exclusiveMaximum . -_:hasNotificationResponseSchema-exclusiveMaximum . -_:hasNotificationResponseSchema-exclusiveMaximum "exclusiveMaximum" . -_:hasNotificationResponseSchema-exclusiveMaximum . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-exclusiveMinimum . -_:hasNotificationResponseSchema-exclusiveMinimum . -_:hasNotificationResponseSchema-exclusiveMinimum "exclusiveMinimum" . -_:hasNotificationResponseSchema-exclusiveMinimum . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-maximum . -_:hasNotificationResponseSchema-maximum . -_:hasNotificationResponseSchema-maximum "maximum" . -_:hasNotificationResponseSchema-maximum . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-minimum . -_:hasNotificationResponseSchema-minimum . -_:hasNotificationResponseSchema-minimum "minimum" . -_:hasNotificationResponseSchema-minimum . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-maxItems . -_:hasNotificationResponseSchema-maxItems . -_:hasNotificationResponseSchema-maxItems "maxItems" . -_:hasNotificationResponseSchema-maxItems . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-minItems . -_:hasNotificationResponseSchema-minItems . -_:hasNotificationResponseSchema-minItems "minItems" . -_:hasNotificationResponseSchema-minItems . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-contentEncoding . -_:hasNotificationResponseSchema-contentEncoding . -_:hasNotificationResponseSchema-contentEncoding "contentEncoding" . -_:hasNotificationResponseSchema-contentEncoding . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-minLength . -_:hasNotificationResponseSchema-minLength . -_:hasNotificationResponseSchema-minLength "minLength" . -_:hasNotificationResponseSchema-minLength . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-maxLength . -_:hasNotificationResponseSchema-maxLength . -_:hasNotificationResponseSchema-maxLength "maxLength" . -_:hasNotificationResponseSchema-maxLength . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-pattern . -_:hasNotificationResponseSchema-pattern . -_:hasNotificationResponseSchema-pattern "pattern" . -_:hasNotificationResponseSchema-pattern . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-contentMediaType . -_:hasNotificationResponseSchema-contentMediaType . -_:hasNotificationResponseSchema-contentMediaType "contentMediaType" . -_:hasNotificationResponseSchema-contentMediaType . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-items . -_:hasNotificationResponseSchema-items . -_:hasNotificationResponseSchema-items "items" . -_:hasNotificationResponseSchema-items . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-required . -_:hasNotificationResponseSchema-required . -_:hasNotificationResponseSchema-required "required" . -_:hasNotificationResponseSchema-required . -_:hasNotificationResponseSchema-required . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-enum . -_:hasNotificationResponseSchema-enum . -_:hasNotificationResponseSchema-enum "enum" . -_:hasNotificationResponseSchema-enum . -_:hasNotificationResponseSchema-enum . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-const . -_:hasNotificationResponseSchema-const . -_:hasNotificationResponseSchema-const "const" . -_:hasNotificationResponseSchema-const . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-default . -_:hasNotificationResponseSchema-default . -_:hasNotificationResponseSchema-default "default" . -_:hasNotificationResponseSchema-default . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-multipleOf . -_:hasNotificationResponseSchema-multipleOf . -_:hasNotificationResponseSchema-multipleOf "multipleOf" . -_:hasNotificationResponseSchema-multipleOf . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-format . -_:hasNotificationResponseSchema-format . -_:hasNotificationResponseSchema-format "format" . -_:hasNotificationResponseSchema-format . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-oneOf . -_:hasNotificationResponseSchema-oneOf . -_:hasNotificationResponseSchema-oneOf "oneOf" . -_:hasNotificationResponseSchema-oneOf . -_:hasNotificationResponseSchema-oneOf . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-allOf . -_:hasNotificationResponseSchema-allOf . -_:hasNotificationResponseSchema-allOf "allOf" . -_:hasNotificationResponseSchema-allOf . -_:hasNotificationResponseSchema-allOf . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-anyOf . -_:hasNotificationResponseSchema-anyOf . -_:hasNotificationResponseSchema-anyOf "anyOf" . -_:hasNotificationResponseSchema-anyOf . -_:hasNotificationResponseSchema-anyOf . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-type . -_:hasNotificationResponseSchema-type . -_:hasNotificationResponseSchema-type "type" . -_:hasNotificationResponseSchema-type . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-title . -_:hasNotificationResponseSchema-title . -_:hasNotificationResponseSchema-title "title" . -_:hasNotificationResponseSchema-title . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-titles . -_:hasNotificationResponseSchema-titles . -_:hasNotificationResponseSchema-titles "titles" . -_:hasNotificationResponseSchema-titles . -_:hasNotificationResponseSchema-titles . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-description . -_:hasNotificationResponseSchema-description . -_:hasNotificationResponseSchema-description "description" . -_:hasNotificationResponseSchema-description . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-descriptions . -_:hasNotificationResponseSchema-descriptions . -_:hasNotificationResponseSchema-descriptions "descriptions" . -_:hasNotificationResponseSchema-descriptions . -_:hasNotificationResponseSchema-descriptions . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-object . -_:hasNotificationResponseSchema-object . -_:hasNotificationResponseSchema-object "object" . -_:hasNotificationResponseSchema-object . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-array . -_:hasNotificationResponseSchema-array . -_:hasNotificationResponseSchema-array "array" . -_:hasNotificationResponseSchema-array . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-boolean . -_:hasNotificationResponseSchema-boolean . -_:hasNotificationResponseSchema-boolean "boolean" . -_:hasNotificationResponseSchema-boolean . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-string . -_:hasNotificationResponseSchema-string . -_:hasNotificationResponseSchema-string "string" . -_:hasNotificationResponseSchema-string . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-number . -_:hasNotificationResponseSchema-number . -_:hasNotificationResponseSchema-number "number" . -_:hasNotificationResponseSchema-number . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-integer . -_:hasNotificationResponseSchema-integer . -_:hasNotificationResponseSchema-integer "integer" . -_:hasNotificationResponseSchema-integer . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-null . -_:hasNotificationResponseSchema-null . -_:hasNotificationResponseSchema-null "null" . -_:hasNotificationResponseSchema-null . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-properties . -_:hasNotificationResponseSchema-properties . -_:hasNotificationResponseSchema-properties "properties" . -_:hasNotificationResponseSchema-properties . -_:hasNotificationResponseSchema-properties . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-propertyName . -_:hasNotificationResponseSchema-propertyName . -_:hasNotificationResponseSchema-propertyName "propertyName" . -_:hasNotificationResponseSchema-propertyName . -_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-unit . -_:hasNotificationResponseSchema-unit . -_:hasNotificationResponseSchema-unit "unit" . -_:hasNotificationResponseSchema-unit . -_:context _:cancellation . -_:cancellation . -_:cancellation "cancellation" . -_:cancellation . -_:cancellation _:hasCancellationSchema-context . -_:hasCancellationSchema-context . -_:hasCancellationSchema-context . -_:hasCancellationSchema-context _:hasCancellationSchema-td . -_:hasCancellationSchema-td . -_:hasCancellationSchema-td "td" . -_:hasCancellationSchema-td . -_:hasCancellationSchema-context _:hasCancellationSchema-jsonschema . -_:hasCancellationSchema-jsonschema . -_:hasCancellationSchema-jsonschema "jsonschema" . -_:hasCancellationSchema-jsonschema . -_:hasCancellationSchema-context _:hasCancellationSchema-wotsec . -_:hasCancellationSchema-wotsec . -_:hasCancellationSchema-wotsec "wotsec" . -_:hasCancellationSchema-wotsec . -_:hasCancellationSchema-context _:hasCancellationSchema-hctl . -_:hasCancellationSchema-hctl . -_:hasCancellationSchema-hctl "hctl" . -_:hasCancellationSchema-hctl . -_:hasCancellationSchema-context _:hasCancellationSchema-dct . -_:hasCancellationSchema-dct . -_:hasCancellationSchema-dct "dct" . -_:hasCancellationSchema-dct . -_:hasCancellationSchema-context _:hasCancellationSchema-schema . -_:hasCancellationSchema-schema . -_:hasCancellationSchema-schema "schema" . -_:hasCancellationSchema-schema . -_:hasCancellationSchema-context _:hasCancellationSchema-rdf . -_:hasCancellationSchema-rdf . -_:hasCancellationSchema-rdf "rdf" . -_:hasCancellationSchema-rdf . -_:hasCancellationSchema-context _:hasCancellationSchema-DataSchema . -_:hasCancellationSchema-DataSchema . -_:hasCancellationSchema-DataSchema "DataSchema" . -_:hasCancellationSchema-DataSchema . -_:hasCancellationSchema-context _:hasCancellationSchema-readOnly . -_:hasCancellationSchema-readOnly . -_:hasCancellationSchema-readOnly "readOnly" . -_:hasCancellationSchema-readOnly . -_:hasCancellationSchema-context _:hasCancellationSchema-writeOnly . -_:hasCancellationSchema-writeOnly . -_:hasCancellationSchema-writeOnly "writeOnly" . -_:hasCancellationSchema-writeOnly . -_:hasCancellationSchema-context _:hasCancellationSchema-exclusiveMaximum . -_:hasCancellationSchema-exclusiveMaximum . -_:hasCancellationSchema-exclusiveMaximum "exclusiveMaximum" . -_:hasCancellationSchema-exclusiveMaximum . -_:hasCancellationSchema-context _:hasCancellationSchema-exclusiveMinimum . -_:hasCancellationSchema-exclusiveMinimum . -_:hasCancellationSchema-exclusiveMinimum "exclusiveMinimum" . -_:hasCancellationSchema-exclusiveMinimum . -_:hasCancellationSchema-context _:hasCancellationSchema-maximum . -_:hasCancellationSchema-maximum . -_:hasCancellationSchema-maximum "maximum" . -_:hasCancellationSchema-maximum . -_:hasCancellationSchema-context _:hasCancellationSchema-minimum . -_:hasCancellationSchema-minimum . -_:hasCancellationSchema-minimum "minimum" . -_:hasCancellationSchema-minimum . -_:hasCancellationSchema-context _:hasCancellationSchema-maxItems . -_:hasCancellationSchema-maxItems . -_:hasCancellationSchema-maxItems "maxItems" . -_:hasCancellationSchema-maxItems . -_:hasCancellationSchema-context _:hasCancellationSchema-minItems . -_:hasCancellationSchema-minItems . -_:hasCancellationSchema-minItems "minItems" . -_:hasCancellationSchema-minItems . -_:hasCancellationSchema-context _:hasCancellationSchema-contentEncoding . -_:hasCancellationSchema-contentEncoding . -_:hasCancellationSchema-contentEncoding "contentEncoding" . -_:hasCancellationSchema-contentEncoding . -_:hasCancellationSchema-context _:hasCancellationSchema-minLength . -_:hasCancellationSchema-minLength . -_:hasCancellationSchema-minLength "minLength" . -_:hasCancellationSchema-minLength . -_:hasCancellationSchema-context _:hasCancellationSchema-maxLength . -_:hasCancellationSchema-maxLength . -_:hasCancellationSchema-maxLength "maxLength" . -_:hasCancellationSchema-maxLength . -_:hasCancellationSchema-context _:hasCancellationSchema-pattern . -_:hasCancellationSchema-pattern . -_:hasCancellationSchema-pattern "pattern" . -_:hasCancellationSchema-pattern . -_:hasCancellationSchema-context _:hasCancellationSchema-contentMediaType . -_:hasCancellationSchema-contentMediaType . -_:hasCancellationSchema-contentMediaType "contentMediaType" . -_:hasCancellationSchema-contentMediaType . -_:hasCancellationSchema-context _:hasCancellationSchema-items . -_:hasCancellationSchema-items . -_:hasCancellationSchema-items "items" . -_:hasCancellationSchema-items . -_:hasCancellationSchema-context _:hasCancellationSchema-required . -_:hasCancellationSchema-required . -_:hasCancellationSchema-required "required" . -_:hasCancellationSchema-required . -_:hasCancellationSchema-required . -_:hasCancellationSchema-context _:hasCancellationSchema-enum . -_:hasCancellationSchema-enum . -_:hasCancellationSchema-enum "enum" . -_:hasCancellationSchema-enum . -_:hasCancellationSchema-enum . -_:hasCancellationSchema-context _:hasCancellationSchema-const . -_:hasCancellationSchema-const . -_:hasCancellationSchema-const "const" . -_:hasCancellationSchema-const . -_:hasCancellationSchema-context _:hasCancellationSchema-default . -_:hasCancellationSchema-default . -_:hasCancellationSchema-default "default" . -_:hasCancellationSchema-default . -_:hasCancellationSchema-context _:hasCancellationSchema-multipleOf . -_:hasCancellationSchema-multipleOf . -_:hasCancellationSchema-multipleOf "multipleOf" . -_:hasCancellationSchema-multipleOf . -_:hasCancellationSchema-context _:hasCancellationSchema-format . -_:hasCancellationSchema-format . -_:hasCancellationSchema-format "format" . -_:hasCancellationSchema-format . -_:hasCancellationSchema-context _:hasCancellationSchema-oneOf . -_:hasCancellationSchema-oneOf . -_:hasCancellationSchema-oneOf "oneOf" . -_:hasCancellationSchema-oneOf . -_:hasCancellationSchema-oneOf . -_:hasCancellationSchema-context _:hasCancellationSchema-allOf . -_:hasCancellationSchema-allOf . -_:hasCancellationSchema-allOf "allOf" . -_:hasCancellationSchema-allOf . -_:hasCancellationSchema-allOf . -_:hasCancellationSchema-context _:hasCancellationSchema-anyOf . -_:hasCancellationSchema-anyOf . -_:hasCancellationSchema-anyOf "anyOf" . -_:hasCancellationSchema-anyOf . -_:hasCancellationSchema-anyOf . -_:hasCancellationSchema-context _:hasCancellationSchema-type . -_:hasCancellationSchema-type . -_:hasCancellationSchema-type "type" . -_:hasCancellationSchema-type . -_:hasCancellationSchema-context _:hasCancellationSchema-title . -_:hasCancellationSchema-title . -_:hasCancellationSchema-title "title" . -_:hasCancellationSchema-title . -_:hasCancellationSchema-context _:hasCancellationSchema-titles . -_:hasCancellationSchema-titles . -_:hasCancellationSchema-titles "titles" . -_:hasCancellationSchema-titles . -_:hasCancellationSchema-titles . -_:hasCancellationSchema-context _:hasCancellationSchema-description . -_:hasCancellationSchema-description . -_:hasCancellationSchema-description "description" . -_:hasCancellationSchema-description . -_:hasCancellationSchema-context _:hasCancellationSchema-descriptions . -_:hasCancellationSchema-descriptions . -_:hasCancellationSchema-descriptions "descriptions" . -_:hasCancellationSchema-descriptions . -_:hasCancellationSchema-descriptions . -_:hasCancellationSchema-context _:hasCancellationSchema-object . -_:hasCancellationSchema-object . -_:hasCancellationSchema-object "object" . -_:hasCancellationSchema-object . -_:hasCancellationSchema-context _:hasCancellationSchema-array . -_:hasCancellationSchema-array . -_:hasCancellationSchema-array "array" . -_:hasCancellationSchema-array . -_:hasCancellationSchema-context _:hasCancellationSchema-boolean . -_:hasCancellationSchema-boolean . -_:hasCancellationSchema-boolean "boolean" . -_:hasCancellationSchema-boolean . -_:hasCancellationSchema-context _:hasCancellationSchema-string . -_:hasCancellationSchema-string . -_:hasCancellationSchema-string "string" . -_:hasCancellationSchema-string . -_:hasCancellationSchema-context _:hasCancellationSchema-number . -_:hasCancellationSchema-number . -_:hasCancellationSchema-number "number" . -_:hasCancellationSchema-number . -_:hasCancellationSchema-context _:hasCancellationSchema-integer . -_:hasCancellationSchema-integer . -_:hasCancellationSchema-integer "integer" . -_:hasCancellationSchema-integer . -_:hasCancellationSchema-context _:hasCancellationSchema-null . -_:hasCancellationSchema-null . -_:hasCancellationSchema-null "null" . -_:hasCancellationSchema-null . -_:hasCancellationSchema-context _:hasCancellationSchema-properties . -_:hasCancellationSchema-properties . -_:hasCancellationSchema-properties "properties" . -_:hasCancellationSchema-properties . -_:hasCancellationSchema-properties . -_:hasCancellationSchema-context _:hasCancellationSchema-propertyName . -_:hasCancellationSchema-propertyName . -_:hasCancellationSchema-propertyName "propertyName" . -_:hasCancellationSchema-propertyName . -_:hasCancellationSchema-context _:hasCancellationSchema-unit . -_:hasCancellationSchema-unit . -_:hasCancellationSchema-unit "unit" . -_:hasCancellationSchema-unit . -_:context _:description . -_:description . -_:description "description" . -_:description . -_:context _:descriptions . -_:descriptions . -_:descriptions "descriptions" . -_:descriptions . -_:descriptions . -_:context _:title . -_:title . -_:title "title" . -_:title . -_:context _:titles . -_:titles . -_:titles "titles" . -_:titles . -_:titles . -_:context _:support . -_:support . -_:support "support" . -_:support . -_:support . -_:context _:base . -_:base . -_:base "base" . -_:base . +_:context . +_:context . +_:context _:td . +_:td . +_:td "td" . +_:td . +_:context _:jsonschema . +_:jsonschema . +_:jsonschema "jsonschema" . +_:jsonschema . +_:context _:wotsec . +_:wotsec . +_:wotsec "wotsec" . +_:wotsec . +_:context _:hctl . +_:hctl . +_:hctl "hctl" . +_:hctl . +_:context _:rdfs . +_:rdfs . +_:rdfs "rdfs" . +_:rdfs . +_:context _:xsd . +_:xsd . +_:xsd "xsd" . +_:xsd . +_:context _:dct . +_:dct . +_:dct "dct" . +_:dct . +_:context _:htv . +_:htv . +_:htv "htv" . +_:htv . +_:context _:tm . +_:tm . +_:tm "tm" . +_:tm . +_:context _:license . +_:license . +_:license "license" . +_:license . +_:context _:id . +_:id . +_:id "id" . +_:context _:properties . +_:properties . +_:properties "properties" . +_:properties . +_:properties . +_:properties _:hasPropertyAffordance-context . +_:hasPropertyAffordance-context . +_:hasPropertyAffordance-context . +_:hasPropertyAffordance-context _:hasPropertyAffordance-td . +_:hasPropertyAffordance-td . +_:hasPropertyAffordance-td "td" . +_:hasPropertyAffordance-td . +_:hasPropertyAffordance-context _:hasPropertyAffordance-jsonschema . +_:hasPropertyAffordance-jsonschema . +_:hasPropertyAffordance-jsonschema "jsonschema" . +_:hasPropertyAffordance-jsonschema . +_:hasPropertyAffordance-context _:hasPropertyAffordance-wotsec . +_:hasPropertyAffordance-wotsec . +_:hasPropertyAffordance-wotsec "wotsec" . +_:hasPropertyAffordance-wotsec . +_:hasPropertyAffordance-context _:hasPropertyAffordance-hctl . +_:hasPropertyAffordance-hctl . +_:hasPropertyAffordance-hctl "hctl" . +_:hasPropertyAffordance-hctl . +_:hasPropertyAffordance-context _:hasPropertyAffordance-dct . +_:hasPropertyAffordance-dct . +_:hasPropertyAffordance-dct "dct" . +_:hasPropertyAffordance-dct . +_:hasPropertyAffordance-context _:hasPropertyAffordance-schema . +_:hasPropertyAffordance-schema . +_:hasPropertyAffordance-schema "schema" . +_:hasPropertyAffordance-schema . +_:hasPropertyAffordance-context _:hasPropertyAffordance-rdf . +_:hasPropertyAffordance-rdf . +_:hasPropertyAffordance-rdf "rdf" . +_:hasPropertyAffordance-rdf . +_:hasPropertyAffordance-context _:hasPropertyAffordance-DataSchema . +_:hasPropertyAffordance-DataSchema . +_:hasPropertyAffordance-DataSchema "DataSchema" . +_:hasPropertyAffordance-DataSchema . +_:hasPropertyAffordance-context _:hasPropertyAffordance-readOnly . +_:hasPropertyAffordance-readOnly . +_:hasPropertyAffordance-readOnly "readOnly" . +_:hasPropertyAffordance-readOnly . +_:hasPropertyAffordance-context _:hasPropertyAffordance-writeOnly . +_:hasPropertyAffordance-writeOnly . +_:hasPropertyAffordance-writeOnly "writeOnly" . +_:hasPropertyAffordance-writeOnly . +_:hasPropertyAffordance-context _:hasPropertyAffordance-exclusiveMaximum . +_:hasPropertyAffordance-exclusiveMaximum . +_:hasPropertyAffordance-exclusiveMaximum "exclusiveMaximum" . +_:hasPropertyAffordance-exclusiveMaximum . +_:hasPropertyAffordance-context _:hasPropertyAffordance-exclusiveMinimum . +_:hasPropertyAffordance-exclusiveMinimum . +_:hasPropertyAffordance-exclusiveMinimum "exclusiveMinimum" . +_:hasPropertyAffordance-exclusiveMinimum . +_:hasPropertyAffordance-context _:hasPropertyAffordance-maximum . +_:hasPropertyAffordance-maximum . +_:hasPropertyAffordance-maximum "maximum" . +_:hasPropertyAffordance-maximum . +_:hasPropertyAffordance-context _:hasPropertyAffordance-minimum . +_:hasPropertyAffordance-minimum . +_:hasPropertyAffordance-minimum "minimum" . +_:hasPropertyAffordance-minimum . +_:hasPropertyAffordance-context _:hasPropertyAffordance-maxItems . +_:hasPropertyAffordance-maxItems . +_:hasPropertyAffordance-maxItems "maxItems" . +_:hasPropertyAffordance-maxItems . +_:hasPropertyAffordance-context _:hasPropertyAffordance-minItems . +_:hasPropertyAffordance-minItems . +_:hasPropertyAffordance-minItems "minItems" . +_:hasPropertyAffordance-minItems . +_:hasPropertyAffordance-context _:hasPropertyAffordance-contentEncoding . +_:hasPropertyAffordance-contentEncoding . +_:hasPropertyAffordance-contentEncoding "contentEncoding" . +_:hasPropertyAffordance-contentEncoding . +_:hasPropertyAffordance-context _:hasPropertyAffordance-minLength . +_:hasPropertyAffordance-minLength . +_:hasPropertyAffordance-minLength "minLength" . +_:hasPropertyAffordance-minLength . +_:hasPropertyAffordance-context _:hasPropertyAffordance-maxLength . +_:hasPropertyAffordance-maxLength . +_:hasPropertyAffordance-maxLength "maxLength" . +_:hasPropertyAffordance-maxLength . +_:hasPropertyAffordance-context _:hasPropertyAffordance-pattern . +_:hasPropertyAffordance-pattern . +_:hasPropertyAffordance-pattern "pattern" . +_:hasPropertyAffordance-pattern . +_:hasPropertyAffordance-context _:hasPropertyAffordance-contentMediaType . +_:hasPropertyAffordance-contentMediaType . +_:hasPropertyAffordance-contentMediaType "contentMediaType" . +_:hasPropertyAffordance-contentMediaType . +_:hasPropertyAffordance-context _:hasPropertyAffordance-items . +_:hasPropertyAffordance-items . +_:hasPropertyAffordance-items "items" . +_:hasPropertyAffordance-items . +_:hasPropertyAffordance-context _:hasPropertyAffordance-required . +_:hasPropertyAffordance-required . +_:hasPropertyAffordance-required "required" . +_:hasPropertyAffordance-required . +_:hasPropertyAffordance-required . +_:hasPropertyAffordance-context _:hasPropertyAffordance-enum . +_:hasPropertyAffordance-enum . +_:hasPropertyAffordance-enum "enum" . +_:hasPropertyAffordance-enum . +_:hasPropertyAffordance-enum . +_:hasPropertyAffordance-context _:hasPropertyAffordance-const . +_:hasPropertyAffordance-const . +_:hasPropertyAffordance-const "const" . +_:hasPropertyAffordance-const . +_:hasPropertyAffordance-context _:hasPropertyAffordance-default . +_:hasPropertyAffordance-default . +_:hasPropertyAffordance-default "default" . +_:hasPropertyAffordance-default . +_:hasPropertyAffordance-context _:hasPropertyAffordance-multipleOf . +_:hasPropertyAffordance-multipleOf . +_:hasPropertyAffordance-multipleOf "multipleOf" . +_:hasPropertyAffordance-multipleOf . +_:hasPropertyAffordance-context _:hasPropertyAffordance-format . +_:hasPropertyAffordance-format . +_:hasPropertyAffordance-format "format" . +_:hasPropertyAffordance-format . +_:hasPropertyAffordance-context _:hasPropertyAffordance-oneOf . +_:hasPropertyAffordance-oneOf . +_:hasPropertyAffordance-oneOf "oneOf" . +_:hasPropertyAffordance-oneOf . +_:hasPropertyAffordance-oneOf . +_:hasPropertyAffordance-context _:hasPropertyAffordance-allOf . +_:hasPropertyAffordance-allOf . +_:hasPropertyAffordance-allOf "allOf" . +_:hasPropertyAffordance-allOf . +_:hasPropertyAffordance-allOf . +_:hasPropertyAffordance-context _:hasPropertyAffordance-anyOf . +_:hasPropertyAffordance-anyOf . +_:hasPropertyAffordance-anyOf "anyOf" . +_:hasPropertyAffordance-anyOf . +_:hasPropertyAffordance-anyOf . +_:hasPropertyAffordance-context _:hasPropertyAffordance-type . +_:hasPropertyAffordance-type . +_:hasPropertyAffordance-type "type" . +_:hasPropertyAffordance-type . +_:hasPropertyAffordance-context _:hasPropertyAffordance-title . +_:hasPropertyAffordance-title . +_:hasPropertyAffordance-title "title" . +_:hasPropertyAffordance-title . +_:hasPropertyAffordance-context _:hasPropertyAffordance-titles . +_:hasPropertyAffordance-titles . +_:hasPropertyAffordance-titles "titles" . +_:hasPropertyAffordance-titles . +_:hasPropertyAffordance-titles . +_:hasPropertyAffordance-context _:hasPropertyAffordance-description . +_:hasPropertyAffordance-description . +_:hasPropertyAffordance-description "description" . +_:hasPropertyAffordance-description . +_:hasPropertyAffordance-context _:hasPropertyAffordance-descriptions . +_:hasPropertyAffordance-descriptions . +_:hasPropertyAffordance-descriptions "descriptions" . +_:hasPropertyAffordance-descriptions . +_:hasPropertyAffordance-descriptions . +_:hasPropertyAffordance-context _:hasPropertyAffordance-object . +_:hasPropertyAffordance-object . +_:hasPropertyAffordance-object "object" . +_:hasPropertyAffordance-object . +_:hasPropertyAffordance-context _:hasPropertyAffordance-array . +_:hasPropertyAffordance-array . +_:hasPropertyAffordance-array "array" . +_:hasPropertyAffordance-array . +_:hasPropertyAffordance-context _:hasPropertyAffordance-boolean . +_:hasPropertyAffordance-boolean . +_:hasPropertyAffordance-boolean "boolean" . +_:hasPropertyAffordance-boolean . +_:hasPropertyAffordance-context _:hasPropertyAffordance-string . +_:hasPropertyAffordance-string . +_:hasPropertyAffordance-string "string" . +_:hasPropertyAffordance-string . +_:hasPropertyAffordance-context _:hasPropertyAffordance-number . +_:hasPropertyAffordance-number . +_:hasPropertyAffordance-number "number" . +_:hasPropertyAffordance-number . +_:hasPropertyAffordance-context _:hasPropertyAffordance-integer . +_:hasPropertyAffordance-integer . +_:hasPropertyAffordance-integer "integer" . +_:hasPropertyAffordance-integer . +_:hasPropertyAffordance-context _:hasPropertyAffordance-null . +_:hasPropertyAffordance-null . +_:hasPropertyAffordance-null "null" . +_:hasPropertyAffordance-null . +_:hasPropertyAffordance-context _:hasPropertyAffordance-properties . +_:hasPropertyAffordance-properties . +_:hasPropertyAffordance-properties "properties" . +_:hasPropertyAffordance-properties . +_:hasPropertyAffordance-properties . +_:hasPropertyAffordance-properties _:properties-context . +_:properties-context . +_:properties-context _:properties-properties . +_:properties-properties . +_:properties-properties "properties" . +_:properties-properties . +_:properties-properties . +_:hasPropertyAffordance-context _:hasPropertyAffordance-propertyName . +_:hasPropertyAffordance-propertyName . +_:hasPropertyAffordance-propertyName "propertyName" . +_:hasPropertyAffordance-propertyName . +_:hasPropertyAffordance-context _:hasPropertyAffordance-unit . +_:hasPropertyAffordance-unit . +_:hasPropertyAffordance-unit "unit" . +_:hasPropertyAffordance-unit . +_:context _:actions . +_:actions . +_:actions "actions" . +_:actions . +_:actions . +_:context _:events . +_:events . +_:events "events" . +_:events . +_:events . +_:context _:security . +_:security . +_:security "security" . +_:security . +_:security . +_:security _:hasSecurityConfiguration-context . +_:hasSecurityConfiguration-context . +_:hasSecurityConfiguration-context . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-td . +_:hasSecurityConfiguration-td . +_:hasSecurityConfiguration-td "td" . +_:hasSecurityConfiguration-td . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-jsonschema . +_:hasSecurityConfiguration-jsonschema . +_:hasSecurityConfiguration-jsonschema "jsonschema" . +_:hasSecurityConfiguration-jsonschema . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-wotsec . +_:hasSecurityConfiguration-wotsec . +_:hasSecurityConfiguration-wotsec "wotsec" . +_:hasSecurityConfiguration-wotsec . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-hctl . +_:hasSecurityConfiguration-hctl . +_:hasSecurityConfiguration-hctl "hctl" . +_:hasSecurityConfiguration-hctl . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-dct . +_:hasSecurityConfiguration-dct . +_:hasSecurityConfiguration-dct "dct" . +_:hasSecurityConfiguration-dct . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-rdf . +_:hasSecurityConfiguration-rdf . +_:hasSecurityConfiguration-rdf "rdf" . +_:hasSecurityConfiguration-rdf . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-in . +_:hasSecurityConfiguration-in . +_:hasSecurityConfiguration-in "in" . +_:hasSecurityConfiguration-in . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-name . +_:hasSecurityConfiguration-name . +_:hasSecurityConfiguration-name "name" . +_:hasSecurityConfiguration-name . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-authorization . +_:hasSecurityConfiguration-authorization . +_:hasSecurityConfiguration-authorization "authorization" . +_:hasSecurityConfiguration-authorization . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-token . +_:hasSecurityConfiguration-token . +_:hasSecurityConfiguration-token "token" . +_:hasSecurityConfiguration-token . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-refresh . +_:hasSecurityConfiguration-refresh . +_:hasSecurityConfiguration-refresh "refresh" . +_:hasSecurityConfiguration-refresh . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-proxy . +_:hasSecurityConfiguration-proxy . +_:hasSecurityConfiguration-proxy "proxy" . +_:hasSecurityConfiguration-proxy . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-scopes . +_:hasSecurityConfiguration-scopes . +_:hasSecurityConfiguration-scopes "scopes" . +_:hasSecurityConfiguration-scopes . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-flow . +_:hasSecurityConfiguration-flow . +_:hasSecurityConfiguration-flow "flow" . +_:hasSecurityConfiguration-flow . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-qop . +_:hasSecurityConfiguration-qop . +_:hasSecurityConfiguration-qop "qop" . +_:hasSecurityConfiguration-qop . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-alg . +_:hasSecurityConfiguration-alg . +_:hasSecurityConfiguration-alg "alg" . +_:hasSecurityConfiguration-alg . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-format . +_:hasSecurityConfiguration-format . +_:hasSecurityConfiguration-format "format" . +_:hasSecurityConfiguration-format . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-identity . +_:hasSecurityConfiguration-identity . +_:hasSecurityConfiguration-identity "identity" . +_:hasSecurityConfiguration-identity . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-allOf . +_:hasSecurityConfiguration-allOf . +_:hasSecurityConfiguration-allOf "allOf" . +_:hasSecurityConfiguration-allOf . +_:hasSecurityConfiguration-allOf . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-oneOf . +_:hasSecurityConfiguration-oneOf . +_:hasSecurityConfiguration-oneOf "oneOf" . +_:hasSecurityConfiguration-oneOf . +_:hasSecurityConfiguration-oneOf . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-scheme . +_:hasSecurityConfiguration-scheme . +_:hasSecurityConfiguration-scheme "scheme" . +_:hasSecurityConfiguration-scheme . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-description . +_:hasSecurityConfiguration-description . +_:hasSecurityConfiguration-description "description" . +_:hasSecurityConfiguration-description . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-descriptions . +_:hasSecurityConfiguration-descriptions . +_:hasSecurityConfiguration-descriptions "descriptions" . +_:hasSecurityConfiguration-descriptions . +_:hasSecurityConfiguration-descriptions . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-nosec . +_:hasSecurityConfiguration-nosec . +_:hasSecurityConfiguration-nosec "nosec" . +_:hasSecurityConfiguration-nosec . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-auto . +_:hasSecurityConfiguration-auto . +_:hasSecurityConfiguration-auto "auto" . +_:hasSecurityConfiguration-auto . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-combo . +_:hasSecurityConfiguration-combo . +_:hasSecurityConfiguration-combo "combo" . +_:hasSecurityConfiguration-combo . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-basic . +_:hasSecurityConfiguration-basic . +_:hasSecurityConfiguration-basic "basic" . +_:hasSecurityConfiguration-basic . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-digest . +_:hasSecurityConfiguration-digest . +_:hasSecurityConfiguration-digest "digest" . +_:hasSecurityConfiguration-digest . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-apikey . +_:hasSecurityConfiguration-apikey . +_:hasSecurityConfiguration-apikey "apikey" . +_:hasSecurityConfiguration-apikey . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-bearer . +_:hasSecurityConfiguration-bearer . +_:hasSecurityConfiguration-bearer "bearer" . +_:hasSecurityConfiguration-bearer . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-cert . +_:hasSecurityConfiguration-cert . +_:hasSecurityConfiguration-cert "cert" . +_:hasSecurityConfiguration-cert . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-psk . +_:hasSecurityConfiguration-psk . +_:hasSecurityConfiguration-psk "psk" . +_:hasSecurityConfiguration-psk . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-public . +_:hasSecurityConfiguration-public . +_:hasSecurityConfiguration-public "public" . +_:hasSecurityConfiguration-public . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-pop . +_:hasSecurityConfiguration-pop . +_:hasSecurityConfiguration-pop "pop" . +_:hasSecurityConfiguration-pop . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-oauth2 . +_:hasSecurityConfiguration-oauth2 . +_:hasSecurityConfiguration-oauth2 "oauth2" . +_:hasSecurityConfiguration-oauth2 . +_:hasSecurityConfiguration-context _:hasSecurityConfiguration-uriVariables . +_:hasSecurityConfiguration-uriVariables . +_:hasSecurityConfiguration-uriVariables "uriVariables" . +_:hasSecurityConfiguration-uriVariables . +_:context _:schema . +_:schema . +_:schema "schema" . +_:schema . +_:context _:securityDefinitions . +_:securityDefinitions . +_:securityDefinitions "securityDefinitions" . +_:securityDefinitions . +_:securityDefinitions . +_:securityDefinitions _:definesSecurityScheme-context . +_:definesSecurityScheme-context . +_:definesSecurityScheme-context . +_:definesSecurityScheme-context _:definesSecurityScheme-td . +_:definesSecurityScheme-td . +_:definesSecurityScheme-td "td" . +_:definesSecurityScheme-td . +_:definesSecurityScheme-context _:definesSecurityScheme-jsonschema . +_:definesSecurityScheme-jsonschema . +_:definesSecurityScheme-jsonschema "jsonschema" . +_:definesSecurityScheme-jsonschema . +_:definesSecurityScheme-context _:definesSecurityScheme-wotsec . +_:definesSecurityScheme-wotsec . +_:definesSecurityScheme-wotsec "wotsec" . +_:definesSecurityScheme-wotsec . +_:definesSecurityScheme-context _:definesSecurityScheme-hctl . +_:definesSecurityScheme-hctl . +_:definesSecurityScheme-hctl "hctl" . +_:definesSecurityScheme-hctl . +_:definesSecurityScheme-context _:definesSecurityScheme-dct . +_:definesSecurityScheme-dct . +_:definesSecurityScheme-dct "dct" . +_:definesSecurityScheme-dct . +_:definesSecurityScheme-context _:definesSecurityScheme-rdf . +_:definesSecurityScheme-rdf . +_:definesSecurityScheme-rdf "rdf" . +_:definesSecurityScheme-rdf . +_:definesSecurityScheme-context _:definesSecurityScheme-in . +_:definesSecurityScheme-in . +_:definesSecurityScheme-in "in" . +_:definesSecurityScheme-in . +_:definesSecurityScheme-context _:definesSecurityScheme-name . +_:definesSecurityScheme-name . +_:definesSecurityScheme-name "name" . +_:definesSecurityScheme-name . +_:definesSecurityScheme-context _:definesSecurityScheme-authorization . +_:definesSecurityScheme-authorization . +_:definesSecurityScheme-authorization "authorization" . +_:definesSecurityScheme-authorization . +_:definesSecurityScheme-context _:definesSecurityScheme-token . +_:definesSecurityScheme-token . +_:definesSecurityScheme-token "token" . +_:definesSecurityScheme-token . +_:definesSecurityScheme-context _:definesSecurityScheme-refresh . +_:definesSecurityScheme-refresh . +_:definesSecurityScheme-refresh "refresh" . +_:definesSecurityScheme-refresh . +_:definesSecurityScheme-context _:definesSecurityScheme-proxy . +_:definesSecurityScheme-proxy . +_:definesSecurityScheme-proxy "proxy" . +_:definesSecurityScheme-proxy . +_:definesSecurityScheme-context _:definesSecurityScheme-scopes . +_:definesSecurityScheme-scopes . +_:definesSecurityScheme-scopes "scopes" . +_:definesSecurityScheme-scopes . +_:definesSecurityScheme-context _:definesSecurityScheme-flow . +_:definesSecurityScheme-flow . +_:definesSecurityScheme-flow "flow" . +_:definesSecurityScheme-flow . +_:definesSecurityScheme-context _:definesSecurityScheme-qop . +_:definesSecurityScheme-qop . +_:definesSecurityScheme-qop "qop" . +_:definesSecurityScheme-qop . +_:definesSecurityScheme-context _:definesSecurityScheme-alg . +_:definesSecurityScheme-alg . +_:definesSecurityScheme-alg "alg" . +_:definesSecurityScheme-alg . +_:definesSecurityScheme-context _:definesSecurityScheme-format . +_:definesSecurityScheme-format . +_:definesSecurityScheme-format "format" . +_:definesSecurityScheme-format . +_:definesSecurityScheme-context _:definesSecurityScheme-identity . +_:definesSecurityScheme-identity . +_:definesSecurityScheme-identity "identity" . +_:definesSecurityScheme-identity . +_:definesSecurityScheme-context _:definesSecurityScheme-allOf . +_:definesSecurityScheme-allOf . +_:definesSecurityScheme-allOf "allOf" . +_:definesSecurityScheme-allOf . +_:definesSecurityScheme-allOf . +_:definesSecurityScheme-context _:definesSecurityScheme-oneOf . +_:definesSecurityScheme-oneOf . +_:definesSecurityScheme-oneOf "oneOf" . +_:definesSecurityScheme-oneOf . +_:definesSecurityScheme-oneOf . +_:definesSecurityScheme-context _:definesSecurityScheme-scheme . +_:definesSecurityScheme-scheme . +_:definesSecurityScheme-scheme "scheme" . +_:definesSecurityScheme-scheme . +_:definesSecurityScheme-context _:definesSecurityScheme-description . +_:definesSecurityScheme-description . +_:definesSecurityScheme-description "description" . +_:definesSecurityScheme-description . +_:definesSecurityScheme-context _:definesSecurityScheme-descriptions . +_:definesSecurityScheme-descriptions . +_:definesSecurityScheme-descriptions "descriptions" . +_:definesSecurityScheme-descriptions . +_:definesSecurityScheme-descriptions . +_:definesSecurityScheme-context _:definesSecurityScheme-nosec . +_:definesSecurityScheme-nosec . +_:definesSecurityScheme-nosec "nosec" . +_:definesSecurityScheme-nosec . +_:definesSecurityScheme-context _:definesSecurityScheme-auto . +_:definesSecurityScheme-auto . +_:definesSecurityScheme-auto "auto" . +_:definesSecurityScheme-auto . +_:definesSecurityScheme-context _:definesSecurityScheme-combo . +_:definesSecurityScheme-combo . +_:definesSecurityScheme-combo "combo" . +_:definesSecurityScheme-combo . +_:definesSecurityScheme-context _:definesSecurityScheme-basic . +_:definesSecurityScheme-basic . +_:definesSecurityScheme-basic "basic" . +_:definesSecurityScheme-basic . +_:definesSecurityScheme-context _:definesSecurityScheme-digest . +_:definesSecurityScheme-digest . +_:definesSecurityScheme-digest "digest" . +_:definesSecurityScheme-digest . +_:definesSecurityScheme-context _:definesSecurityScheme-apikey . +_:definesSecurityScheme-apikey . +_:definesSecurityScheme-apikey "apikey" . +_:definesSecurityScheme-apikey . +_:definesSecurityScheme-context _:definesSecurityScheme-bearer . +_:definesSecurityScheme-bearer . +_:definesSecurityScheme-bearer "bearer" . +_:definesSecurityScheme-bearer . +_:definesSecurityScheme-context _:definesSecurityScheme-cert . +_:definesSecurityScheme-cert . +_:definesSecurityScheme-cert "cert" . +_:definesSecurityScheme-cert . +_:definesSecurityScheme-context _:definesSecurityScheme-psk . +_:definesSecurityScheme-psk . +_:definesSecurityScheme-psk "psk" . +_:definesSecurityScheme-psk . +_:definesSecurityScheme-context _:definesSecurityScheme-public . +_:definesSecurityScheme-public . +_:definesSecurityScheme-public "public" . +_:definesSecurityScheme-public . +_:definesSecurityScheme-context _:definesSecurityScheme-pop . +_:definesSecurityScheme-pop . +_:definesSecurityScheme-pop "pop" . +_:definesSecurityScheme-pop . +_:definesSecurityScheme-context _:definesSecurityScheme-oauth2 . +_:definesSecurityScheme-oauth2 . +_:definesSecurityScheme-oauth2 "oauth2" . +_:definesSecurityScheme-oauth2 . +_:definesSecurityScheme-context _:definesSecurityScheme-uriVariables . +_:definesSecurityScheme-uriVariables . +_:definesSecurityScheme-uriVariables "uriVariables" . +_:definesSecurityScheme-uriVariables . +_:context _:hasInstanceConfiguration . +_:hasInstanceConfiguration . +_:hasInstanceConfiguration "hasInstanceConfiguration" . +_:hasInstanceConfiguration . +_:context _:schemaDefinitions . +_:schemaDefinitions . +_:schemaDefinitions "schemaDefinitions" . +_:schemaDefinitions . +_:schemaDefinitions . +_:context _:Thing . +_:Thing . +_:Thing "Thing" . +_:Thing . +_:context _:EventAffordance . +_:EventAffordance . +_:EventAffordance "EventAffordance" . +_:EventAffordance . +_:context _:name . +_:name . +_:name "name" . +_:name . +_:context _:profile . +_:profile . +_:profile "profile" . +_:profile . +_:context _:created . +_:created . +_:created "created" . +_:created . +_:created . +_:context _:modified . +_:modified . +_:modified "modified" . +_:modified . +_:modified . +_:context _:observable . +_:observable . +_:observable "observable" . +_:observable . +_:context _:VersionInfo . +_:VersionInfo . +_:VersionInfo "VersionInfo" . +_:VersionInfo . +_:context _:PropertyAffordance . +_:PropertyAffordance . +_:PropertyAffordance "PropertyAffordance" . +_:PropertyAffordance . +_:context _:forms . +_:forms . +_:forms "forms" . +_:forms . +_:forms . +_:forms _:hasForm-context . +_:hasForm-context . +_:hasForm-context . +_:hasForm-context _:hasForm-td . +_:hasForm-td . +_:hasForm-td "td" . +_:hasForm-td . +_:hasForm-context _:hasForm-jsonschema . +_:hasForm-jsonschema . +_:hasForm-jsonschema "jsonschema" . +_:hasForm-jsonschema . +_:hasForm-context _:hasForm-wotsec . +_:hasForm-wotsec . +_:hasForm-wotsec "wotsec" . +_:hasForm-wotsec . +_:hasForm-context _:hasForm-hctl . +_:hasForm-hctl . +_:hasForm-hctl "hctl" . +_:hasForm-hctl . +_:hasForm-context _:hasForm-rdf . +_:hasForm-rdf . +_:hasForm-rdf "rdf" . +_:hasForm-rdf . +_:hasForm-context _:hasForm-rdfs . +_:hasForm-rdfs . +_:hasForm-rdfs "rdfs" . +_:hasForm-rdfs . +_:hasForm-context _:hasForm-xsd . +_:hasForm-xsd . +_:hasForm-xsd "xsd" . +_:hasForm-xsd . +_:hasForm-context _:hasForm-Link . +_:hasForm-Link . +_:hasForm-Link "Link" . +_:hasForm-Link . +_:hasForm-context _:hasForm-Form . +_:hasForm-Form . +_:hasForm-Form "Form" . +_:hasForm-Form . +_:hasForm-context _:hasForm-scopes . +_:hasForm-scopes . +_:hasForm-scopes "scopes" . +_:hasForm-scopes . +_:hasForm-context _:hasForm-security . +_:hasForm-security . +_:hasForm-security "security" . +_:hasForm-security . +_:hasForm-context _:hasForm-op . +_:hasForm-op . +_:hasForm-op "op" . +_:hasForm-op . +_:hasForm-context _:hasForm-readproperty . +_:hasForm-readproperty . +_:hasForm-readproperty "readproperty" . +_:hasForm-readproperty . +_:hasForm-context _:hasForm-writeproperty . +_:hasForm-writeproperty . +_:hasForm-writeproperty "writeproperty" . +_:hasForm-writeproperty . +_:hasForm-context _:hasForm-observeproperty . +_:hasForm-observeproperty . +_:hasForm-observeproperty "observeproperty" . +_:hasForm-observeproperty . +_:hasForm-context _:hasForm-observeallproperties . +_:hasForm-observeallproperties . +_:hasForm-observeallproperties "observeallproperties" . +_:hasForm-observeallproperties . +_:hasForm-context _:hasForm-unobserveproperty . +_:hasForm-unobserveproperty . +_:hasForm-unobserveproperty "unobserveproperty" . +_:hasForm-unobserveproperty . +_:hasForm-context _:hasForm-unobserveallproperties . +_:hasForm-unobserveallproperties . +_:hasForm-unobserveallproperties "unobserveallproperties" . +_:hasForm-unobserveallproperties . +_:hasForm-context _:hasForm-invokeaction . +_:hasForm-invokeaction . +_:hasForm-invokeaction "invokeaction" . +_:hasForm-invokeaction . +_:hasForm-context _:hasForm-queryaction . +_:hasForm-queryaction . +_:hasForm-queryaction "queryaction" . +_:hasForm-queryaction . +_:hasForm-context _:hasForm-queryallactions . +_:hasForm-queryallactions . +_:hasForm-queryallactions "queryallactions" . +_:hasForm-queryallactions . +_:hasForm-context _:hasForm-cancelaction . +_:hasForm-cancelaction . +_:hasForm-cancelaction "cancelaction" . +_:hasForm-cancelaction . +_:hasForm-context _:hasForm-subscribeevent . +_:hasForm-subscribeevent . +_:hasForm-subscribeevent "subscribeevent" . +_:hasForm-subscribeevent . +_:hasForm-context _:hasForm-subscribeallevents . +_:hasForm-subscribeallevents . +_:hasForm-subscribeallevents "subscribeallevents" . +_:hasForm-subscribeallevents . +_:hasForm-context _:hasForm-unsubscribeevent . +_:hasForm-unsubscribeevent . +_:hasForm-unsubscribeevent "unsubscribeevent" . +_:hasForm-unsubscribeevent . +_:hasForm-context _:hasForm-unsubscribeallevents . +_:hasForm-unsubscribeallevents . +_:hasForm-unsubscribeallevents "unsubscribeallevents" . +_:hasForm-unsubscribeallevents . +_:hasForm-context _:hasForm-readallproperties . +_:hasForm-readallproperties . +_:hasForm-readallproperties "readallproperties" . +_:hasForm-readallproperties . +_:hasForm-context _:hasForm-writeallproperties . +_:hasForm-writeallproperties . +_:hasForm-writeallproperties "writeallproperties" . +_:hasForm-writeallproperties . +_:hasForm-context _:hasForm-readmultipleproperties . +_:hasForm-readmultipleproperties . +_:hasForm-readmultipleproperties "readmultipleproperties" . +_:hasForm-readmultipleproperties . +_:hasForm-context _:hasForm-writemultipleproperties . +_:hasForm-writemultipleproperties . +_:hasForm-writemultipleproperties "writemultipleproperties" . +_:hasForm-writemultipleproperties . +_:hasForm-context _:hasForm-subprotocol . +_:hasForm-subprotocol . +_:hasForm-subprotocol "subprotocol" . +_:hasForm-subprotocol . +_:hasForm-context _:hasForm-contentType . +_:hasForm-contentType . +_:hasForm-contentType "contentType" . +_:hasForm-contentType . +_:hasForm-context _:hasForm-contentCoding . +_:hasForm-contentCoding . +_:hasForm-contentCoding "contentCoding" . +_:hasForm-contentCoding . +_:hasForm-context _:hasForm-anchor . +_:hasForm-anchor . +_:hasForm-anchor "anchor" . +_:hasForm-anchor . +_:hasForm-context _:hasForm-sizes . +_:hasForm-sizes . +_:hasForm-sizes "sizes" . +_:hasForm-sizes . +_:hasForm-context _:hasForm-hreflang . +_:hasForm-hreflang . +_:hasForm-hreflang "hreflang" . +_:hasForm-hreflang . +_:hasForm-context _:hasForm-href . +_:hasForm-href . +_:hasForm-href "href" . +_:hasForm-href . +_:hasForm-href . +_:hasForm-context _:hasForm-rel . +_:hasForm-rel . +_:hasForm-rel "rel" . +_:hasForm-rel . +_:hasForm-context _:hasForm-type . +_:hasForm-type . +_:hasForm-type "type" . +_:hasForm-type . +_:hasForm-context _:hasForm-response . +_:hasForm-response . +_:hasForm-response "response" . +_:hasForm-response . +_:hasForm-context _:hasForm-additionalResponses . +_:hasForm-additionalResponses . +_:hasForm-additionalResponses "additionalResponses" . +_:hasForm-additionalResponses . +_:hasForm-additionalResponses . +_:hasForm-context _:hasForm-schema . +_:hasForm-schema . +_:hasForm-schema "schema" . +_:hasForm-schema . +_:hasForm-context _:hasForm-success . +_:hasForm-success . +_:hasForm-success "success" . +_:hasForm-success . +_:context _:version . +_:version . +_:version "version" . +_:version . +_:context _:links . +_:links . +_:links "links" . +_:links . +_:links . +_:links _:hasLink-context . +_:hasLink-context . +_:hasLink-context . +_:hasLink-context _:hasLink-td . +_:hasLink-td . +_:hasLink-td "td" . +_:hasLink-td . +_:hasLink-context _:hasLink-jsonschema . +_:hasLink-jsonschema . +_:hasLink-jsonschema "jsonschema" . +_:hasLink-jsonschema . +_:hasLink-context _:hasLink-wotsec . +_:hasLink-wotsec . +_:hasLink-wotsec "wotsec" . +_:hasLink-wotsec . +_:hasLink-context _:hasLink-hctl . +_:hasLink-hctl . +_:hasLink-hctl "hctl" . +_:hasLink-hctl . +_:hasLink-context _:hasLink-rdf . +_:hasLink-rdf . +_:hasLink-rdf "rdf" . +_:hasLink-rdf . +_:hasLink-context _:hasLink-rdfs . +_:hasLink-rdfs . +_:hasLink-rdfs "rdfs" . +_:hasLink-rdfs . +_:hasLink-context _:hasLink-xsd . +_:hasLink-xsd . +_:hasLink-xsd "xsd" . +_:hasLink-xsd . +_:hasLink-context _:hasLink-Link . +_:hasLink-Link . +_:hasLink-Link "Link" . +_:hasLink-Link . +_:hasLink-context _:hasLink-Form . +_:hasLink-Form . +_:hasLink-Form "Form" . +_:hasLink-Form . +_:hasLink-context _:hasLink-scopes . +_:hasLink-scopes . +_:hasLink-scopes "scopes" . +_:hasLink-scopes . +_:hasLink-context _:hasLink-security . +_:hasLink-security . +_:hasLink-security "security" . +_:hasLink-security . +_:hasLink-context _:hasLink-op . +_:hasLink-op . +_:hasLink-op "op" . +_:hasLink-op . +_:hasLink-context _:hasLink-readproperty . +_:hasLink-readproperty . +_:hasLink-readproperty "readproperty" . +_:hasLink-readproperty . +_:hasLink-context _:hasLink-writeproperty . +_:hasLink-writeproperty . +_:hasLink-writeproperty "writeproperty" . +_:hasLink-writeproperty . +_:hasLink-context _:hasLink-observeproperty . +_:hasLink-observeproperty . +_:hasLink-observeproperty "observeproperty" . +_:hasLink-observeproperty . +_:hasLink-context _:hasLink-observeallproperties . +_:hasLink-observeallproperties . +_:hasLink-observeallproperties "observeallproperties" . +_:hasLink-observeallproperties . +_:hasLink-context _:hasLink-unobserveproperty . +_:hasLink-unobserveproperty . +_:hasLink-unobserveproperty "unobserveproperty" . +_:hasLink-unobserveproperty . +_:hasLink-context _:hasLink-unobserveallproperties . +_:hasLink-unobserveallproperties . +_:hasLink-unobserveallproperties "unobserveallproperties" . +_:hasLink-unobserveallproperties . +_:hasLink-context _:hasLink-invokeaction . +_:hasLink-invokeaction . +_:hasLink-invokeaction "invokeaction" . +_:hasLink-invokeaction . +_:hasLink-context _:hasLink-queryaction . +_:hasLink-queryaction . +_:hasLink-queryaction "queryaction" . +_:hasLink-queryaction . +_:hasLink-context _:hasLink-queryallactions . +_:hasLink-queryallactions . +_:hasLink-queryallactions "queryallactions" . +_:hasLink-queryallactions . +_:hasLink-context _:hasLink-cancelaction . +_:hasLink-cancelaction . +_:hasLink-cancelaction "cancelaction" . +_:hasLink-cancelaction . +_:hasLink-context _:hasLink-subscribeevent . +_:hasLink-subscribeevent . +_:hasLink-subscribeevent "subscribeevent" . +_:hasLink-subscribeevent . +_:hasLink-context _:hasLink-subscribeallevents . +_:hasLink-subscribeallevents . +_:hasLink-subscribeallevents "subscribeallevents" . +_:hasLink-subscribeallevents . +_:hasLink-context _:hasLink-unsubscribeevent . +_:hasLink-unsubscribeevent . +_:hasLink-unsubscribeevent "unsubscribeevent" . +_:hasLink-unsubscribeevent . +_:hasLink-context _:hasLink-unsubscribeallevents . +_:hasLink-unsubscribeallevents . +_:hasLink-unsubscribeallevents "unsubscribeallevents" . +_:hasLink-unsubscribeallevents . +_:hasLink-context _:hasLink-readallproperties . +_:hasLink-readallproperties . +_:hasLink-readallproperties "readallproperties" . +_:hasLink-readallproperties . +_:hasLink-context _:hasLink-writeallproperties . +_:hasLink-writeallproperties . +_:hasLink-writeallproperties "writeallproperties" . +_:hasLink-writeallproperties . +_:hasLink-context _:hasLink-readmultipleproperties . +_:hasLink-readmultipleproperties . +_:hasLink-readmultipleproperties "readmultipleproperties" . +_:hasLink-readmultipleproperties . +_:hasLink-context _:hasLink-writemultipleproperties . +_:hasLink-writemultipleproperties . +_:hasLink-writemultipleproperties "writemultipleproperties" . +_:hasLink-writemultipleproperties . +_:hasLink-context _:hasLink-subprotocol . +_:hasLink-subprotocol . +_:hasLink-subprotocol "subprotocol" . +_:hasLink-subprotocol . +_:hasLink-context _:hasLink-contentType . +_:hasLink-contentType . +_:hasLink-contentType "contentType" . +_:hasLink-contentType . +_:hasLink-context _:hasLink-contentCoding . +_:hasLink-contentCoding . +_:hasLink-contentCoding "contentCoding" . +_:hasLink-contentCoding . +_:hasLink-context _:hasLink-anchor . +_:hasLink-anchor . +_:hasLink-anchor "anchor" . +_:hasLink-anchor . +_:hasLink-context _:hasLink-sizes . +_:hasLink-sizes . +_:hasLink-sizes "sizes" . +_:hasLink-sizes . +_:hasLink-context _:hasLink-hreflang . +_:hasLink-hreflang . +_:hasLink-hreflang "hreflang" . +_:hasLink-hreflang . +_:hasLink-context _:hasLink-href . +_:hasLink-href . +_:hasLink-href "href" . +_:hasLink-href . +_:hasLink-href . +_:hasLink-context _:hasLink-rel . +_:hasLink-rel . +_:hasLink-rel "rel" . +_:hasLink-rel . +_:hasLink-context _:hasLink-type . +_:hasLink-type . +_:hasLink-type "type" . +_:hasLink-type . +_:hasLink-context _:hasLink-response . +_:hasLink-response . +_:hasLink-response "response" . +_:hasLink-response . +_:hasLink-context _:hasLink-additionalResponses . +_:hasLink-additionalResponses . +_:hasLink-additionalResponses "additionalResponses" . +_:hasLink-additionalResponses . +_:hasLink-additionalResponses . +_:hasLink-context _:hasLink-schema . +_:hasLink-schema . +_:hasLink-schema "schema" . +_:hasLink-schema . +_:hasLink-context _:hasLink-success . +_:hasLink-success . +_:hasLink-success "success" . +_:hasLink-success . +_:context _:uriVariables . +_:uriVariables . +_:uriVariables "uriVariables" . +_:uriVariables . +_:uriVariables . +_:context _:safe . +_:safe . +_:safe "safe" . +_:safe . +_:context _:idempotent . +_:idempotent . +_:idempotent "idempotent" . +_:idempotent . +_:context _:synchronous . +_:synchronous . +_:synchronous "synchronous" . +_:synchronous . +_:context _:instance . +_:instance . +_:instance "instance" . +_:instance . +_:instance . +_:context _:model . +_:model . +_:model "model" . +_:model . +_:context _:InteractionAffordance . +_:InteractionAffordance . +_:InteractionAffordance "InteractionAffordance" . +_:InteractionAffordance . +_:context _:ActionAffordance . +_:ActionAffordance . +_:ActionAffordance "ActionAffordance" . +_:ActionAffordance . +_:context _:input . +_:input . +_:input "input" . +_:input . +_:input _:hasInputSchema-context . +_:hasInputSchema-context . +_:hasInputSchema-context . +_:hasInputSchema-context _:hasInputSchema-td . +_:hasInputSchema-td . +_:hasInputSchema-td "td" . +_:hasInputSchema-td . +_:hasInputSchema-context _:hasInputSchema-jsonschema . +_:hasInputSchema-jsonschema . +_:hasInputSchema-jsonschema "jsonschema" . +_:hasInputSchema-jsonschema . +_:hasInputSchema-context _:hasInputSchema-wotsec . +_:hasInputSchema-wotsec . +_:hasInputSchema-wotsec "wotsec" . +_:hasInputSchema-wotsec . +_:hasInputSchema-context _:hasInputSchema-hctl . +_:hasInputSchema-hctl . +_:hasInputSchema-hctl "hctl" . +_:hasInputSchema-hctl . +_:hasInputSchema-context _:hasInputSchema-dct . +_:hasInputSchema-dct . +_:hasInputSchema-dct "dct" . +_:hasInputSchema-dct . +_:hasInputSchema-context _:hasInputSchema-schema . +_:hasInputSchema-schema . +_:hasInputSchema-schema "schema" . +_:hasInputSchema-schema . +_:hasInputSchema-context _:hasInputSchema-rdf . +_:hasInputSchema-rdf . +_:hasInputSchema-rdf "rdf" . +_:hasInputSchema-rdf . +_:hasInputSchema-context _:hasInputSchema-DataSchema . +_:hasInputSchema-DataSchema . +_:hasInputSchema-DataSchema "DataSchema" . +_:hasInputSchema-DataSchema . +_:hasInputSchema-context _:hasInputSchema-readOnly . +_:hasInputSchema-readOnly . +_:hasInputSchema-readOnly "readOnly" . +_:hasInputSchema-readOnly . +_:hasInputSchema-context _:hasInputSchema-writeOnly . +_:hasInputSchema-writeOnly . +_:hasInputSchema-writeOnly "writeOnly" . +_:hasInputSchema-writeOnly . +_:hasInputSchema-context _:hasInputSchema-exclusiveMaximum . +_:hasInputSchema-exclusiveMaximum . +_:hasInputSchema-exclusiveMaximum "exclusiveMaximum" . +_:hasInputSchema-exclusiveMaximum . +_:hasInputSchema-context _:hasInputSchema-exclusiveMinimum . +_:hasInputSchema-exclusiveMinimum . +_:hasInputSchema-exclusiveMinimum "exclusiveMinimum" . +_:hasInputSchema-exclusiveMinimum . +_:hasInputSchema-context _:hasInputSchema-maximum . +_:hasInputSchema-maximum . +_:hasInputSchema-maximum "maximum" . +_:hasInputSchema-maximum . +_:hasInputSchema-context _:hasInputSchema-minimum . +_:hasInputSchema-minimum . +_:hasInputSchema-minimum "minimum" . +_:hasInputSchema-minimum . +_:hasInputSchema-context _:hasInputSchema-maxItems . +_:hasInputSchema-maxItems . +_:hasInputSchema-maxItems "maxItems" . +_:hasInputSchema-maxItems . +_:hasInputSchema-context _:hasInputSchema-minItems . +_:hasInputSchema-minItems . +_:hasInputSchema-minItems "minItems" . +_:hasInputSchema-minItems . +_:hasInputSchema-context _:hasInputSchema-contentEncoding . +_:hasInputSchema-contentEncoding . +_:hasInputSchema-contentEncoding "contentEncoding" . +_:hasInputSchema-contentEncoding . +_:hasInputSchema-context _:hasInputSchema-minLength . +_:hasInputSchema-minLength . +_:hasInputSchema-minLength "minLength" . +_:hasInputSchema-minLength . +_:hasInputSchema-context _:hasInputSchema-maxLength . +_:hasInputSchema-maxLength . +_:hasInputSchema-maxLength "maxLength" . +_:hasInputSchema-maxLength . +_:hasInputSchema-context _:hasInputSchema-pattern . +_:hasInputSchema-pattern . +_:hasInputSchema-pattern "pattern" . +_:hasInputSchema-pattern . +_:hasInputSchema-context _:hasInputSchema-contentMediaType . +_:hasInputSchema-contentMediaType . +_:hasInputSchema-contentMediaType "contentMediaType" . +_:hasInputSchema-contentMediaType . +_:hasInputSchema-context _:hasInputSchema-items . +_:hasInputSchema-items . +_:hasInputSchema-items "items" . +_:hasInputSchema-items . +_:hasInputSchema-context _:hasInputSchema-required . +_:hasInputSchema-required . +_:hasInputSchema-required "required" . +_:hasInputSchema-required . +_:hasInputSchema-required . +_:hasInputSchema-context _:hasInputSchema-enum . +_:hasInputSchema-enum . +_:hasInputSchema-enum "enum" . +_:hasInputSchema-enum . +_:hasInputSchema-enum . +_:hasInputSchema-context _:hasInputSchema-const . +_:hasInputSchema-const . +_:hasInputSchema-const "const" . +_:hasInputSchema-const . +_:hasInputSchema-context _:hasInputSchema-default . +_:hasInputSchema-default . +_:hasInputSchema-default "default" . +_:hasInputSchema-default . +_:hasInputSchema-context _:hasInputSchema-multipleOf . +_:hasInputSchema-multipleOf . +_:hasInputSchema-multipleOf "multipleOf" . +_:hasInputSchema-multipleOf . +_:hasInputSchema-context _:hasInputSchema-format . +_:hasInputSchema-format . +_:hasInputSchema-format "format" . +_:hasInputSchema-format . +_:hasInputSchema-context _:hasInputSchema-oneOf . +_:hasInputSchema-oneOf . +_:hasInputSchema-oneOf "oneOf" . +_:hasInputSchema-oneOf . +_:hasInputSchema-oneOf . +_:hasInputSchema-context _:hasInputSchema-allOf . +_:hasInputSchema-allOf . +_:hasInputSchema-allOf "allOf" . +_:hasInputSchema-allOf . +_:hasInputSchema-allOf . +_:hasInputSchema-context _:hasInputSchema-anyOf . +_:hasInputSchema-anyOf . +_:hasInputSchema-anyOf "anyOf" . +_:hasInputSchema-anyOf . +_:hasInputSchema-anyOf . +_:hasInputSchema-context _:hasInputSchema-type . +_:hasInputSchema-type . +_:hasInputSchema-type "type" . +_:hasInputSchema-type . +_:hasInputSchema-context _:hasInputSchema-title . +_:hasInputSchema-title . +_:hasInputSchema-title "title" . +_:hasInputSchema-title . +_:hasInputSchema-context _:hasInputSchema-titles . +_:hasInputSchema-titles . +_:hasInputSchema-titles "titles" . +_:hasInputSchema-titles . +_:hasInputSchema-titles . +_:hasInputSchema-context _:hasInputSchema-description . +_:hasInputSchema-description . +_:hasInputSchema-description "description" . +_:hasInputSchema-description . +_:hasInputSchema-context _:hasInputSchema-descriptions . +_:hasInputSchema-descriptions . +_:hasInputSchema-descriptions "descriptions" . +_:hasInputSchema-descriptions . +_:hasInputSchema-descriptions . +_:hasInputSchema-context _:hasInputSchema-object . +_:hasInputSchema-object . +_:hasInputSchema-object "object" . +_:hasInputSchema-object . +_:hasInputSchema-context _:hasInputSchema-array . +_:hasInputSchema-array . +_:hasInputSchema-array "array" . +_:hasInputSchema-array . +_:hasInputSchema-context _:hasInputSchema-boolean . +_:hasInputSchema-boolean . +_:hasInputSchema-boolean "boolean" . +_:hasInputSchema-boolean . +_:hasInputSchema-context _:hasInputSchema-string . +_:hasInputSchema-string . +_:hasInputSchema-string "string" . +_:hasInputSchema-string . +_:hasInputSchema-context _:hasInputSchema-number . +_:hasInputSchema-number . +_:hasInputSchema-number "number" . +_:hasInputSchema-number . +_:hasInputSchema-context _:hasInputSchema-integer . +_:hasInputSchema-integer . +_:hasInputSchema-integer "integer" . +_:hasInputSchema-integer . +_:hasInputSchema-context _:hasInputSchema-null . +_:hasInputSchema-null . +_:hasInputSchema-null "null" . +_:hasInputSchema-null . +_:hasInputSchema-context _:hasInputSchema-properties . +_:hasInputSchema-properties . +_:hasInputSchema-properties "properties" . +_:hasInputSchema-properties . +_:hasInputSchema-properties . +_:hasInputSchema-context _:hasInputSchema-propertyName . +_:hasInputSchema-propertyName . +_:hasInputSchema-propertyName "propertyName" . +_:hasInputSchema-propertyName . +_:hasInputSchema-context _:hasInputSchema-unit . +_:hasInputSchema-unit . +_:hasInputSchema-unit "unit" . +_:hasInputSchema-unit . +_:context _:output . +_:output . +_:output "output" . +_:output . +_:output _:hasOutputSchema-context . +_:hasOutputSchema-context . +_:hasOutputSchema-context . +_:hasOutputSchema-context _:hasOutputSchema-td . +_:hasOutputSchema-td . +_:hasOutputSchema-td "td" . +_:hasOutputSchema-td . +_:hasOutputSchema-context _:hasOutputSchema-jsonschema . +_:hasOutputSchema-jsonschema . +_:hasOutputSchema-jsonschema "jsonschema" . +_:hasOutputSchema-jsonschema . +_:hasOutputSchema-context _:hasOutputSchema-wotsec . +_:hasOutputSchema-wotsec . +_:hasOutputSchema-wotsec "wotsec" . +_:hasOutputSchema-wotsec . +_:hasOutputSchema-context _:hasOutputSchema-hctl . +_:hasOutputSchema-hctl . +_:hasOutputSchema-hctl "hctl" . +_:hasOutputSchema-hctl . +_:hasOutputSchema-context _:hasOutputSchema-dct . +_:hasOutputSchema-dct . +_:hasOutputSchema-dct "dct" . +_:hasOutputSchema-dct . +_:hasOutputSchema-context _:hasOutputSchema-schema . +_:hasOutputSchema-schema . +_:hasOutputSchema-schema "schema" . +_:hasOutputSchema-schema . +_:hasOutputSchema-context _:hasOutputSchema-rdf . +_:hasOutputSchema-rdf . +_:hasOutputSchema-rdf "rdf" . +_:hasOutputSchema-rdf . +_:hasOutputSchema-context _:hasOutputSchema-DataSchema . +_:hasOutputSchema-DataSchema . +_:hasOutputSchema-DataSchema "DataSchema" . +_:hasOutputSchema-DataSchema . +_:hasOutputSchema-context _:hasOutputSchema-readOnly . +_:hasOutputSchema-readOnly . +_:hasOutputSchema-readOnly "readOnly" . +_:hasOutputSchema-readOnly . +_:hasOutputSchema-context _:hasOutputSchema-writeOnly . +_:hasOutputSchema-writeOnly . +_:hasOutputSchema-writeOnly "writeOnly" . +_:hasOutputSchema-writeOnly . +_:hasOutputSchema-context _:hasOutputSchema-exclusiveMaximum . +_:hasOutputSchema-exclusiveMaximum . +_:hasOutputSchema-exclusiveMaximum "exclusiveMaximum" . +_:hasOutputSchema-exclusiveMaximum . +_:hasOutputSchema-context _:hasOutputSchema-exclusiveMinimum . +_:hasOutputSchema-exclusiveMinimum . +_:hasOutputSchema-exclusiveMinimum "exclusiveMinimum" . +_:hasOutputSchema-exclusiveMinimum . +_:hasOutputSchema-context _:hasOutputSchema-maximum . +_:hasOutputSchema-maximum . +_:hasOutputSchema-maximum "maximum" . +_:hasOutputSchema-maximum . +_:hasOutputSchema-context _:hasOutputSchema-minimum . +_:hasOutputSchema-minimum . +_:hasOutputSchema-minimum "minimum" . +_:hasOutputSchema-minimum . +_:hasOutputSchema-context _:hasOutputSchema-maxItems . +_:hasOutputSchema-maxItems . +_:hasOutputSchema-maxItems "maxItems" . +_:hasOutputSchema-maxItems . +_:hasOutputSchema-context _:hasOutputSchema-minItems . +_:hasOutputSchema-minItems . +_:hasOutputSchema-minItems "minItems" . +_:hasOutputSchema-minItems . +_:hasOutputSchema-context _:hasOutputSchema-contentEncoding . +_:hasOutputSchema-contentEncoding . +_:hasOutputSchema-contentEncoding "contentEncoding" . +_:hasOutputSchema-contentEncoding . +_:hasOutputSchema-context _:hasOutputSchema-minLength . +_:hasOutputSchema-minLength . +_:hasOutputSchema-minLength "minLength" . +_:hasOutputSchema-minLength . +_:hasOutputSchema-context _:hasOutputSchema-maxLength . +_:hasOutputSchema-maxLength . +_:hasOutputSchema-maxLength "maxLength" . +_:hasOutputSchema-maxLength . +_:hasOutputSchema-context _:hasOutputSchema-pattern . +_:hasOutputSchema-pattern . +_:hasOutputSchema-pattern "pattern" . +_:hasOutputSchema-pattern . +_:hasOutputSchema-context _:hasOutputSchema-contentMediaType . +_:hasOutputSchema-contentMediaType . +_:hasOutputSchema-contentMediaType "contentMediaType" . +_:hasOutputSchema-contentMediaType . +_:hasOutputSchema-context _:hasOutputSchema-items . +_:hasOutputSchema-items . +_:hasOutputSchema-items "items" . +_:hasOutputSchema-items . +_:hasOutputSchema-context _:hasOutputSchema-required . +_:hasOutputSchema-required . +_:hasOutputSchema-required "required" . +_:hasOutputSchema-required . +_:hasOutputSchema-required . +_:hasOutputSchema-context _:hasOutputSchema-enum . +_:hasOutputSchema-enum . +_:hasOutputSchema-enum "enum" . +_:hasOutputSchema-enum . +_:hasOutputSchema-enum . +_:hasOutputSchema-context _:hasOutputSchema-const . +_:hasOutputSchema-const . +_:hasOutputSchema-const "const" . +_:hasOutputSchema-const . +_:hasOutputSchema-context _:hasOutputSchema-default . +_:hasOutputSchema-default . +_:hasOutputSchema-default "default" . +_:hasOutputSchema-default . +_:hasOutputSchema-context _:hasOutputSchema-multipleOf . +_:hasOutputSchema-multipleOf . +_:hasOutputSchema-multipleOf "multipleOf" . +_:hasOutputSchema-multipleOf . +_:hasOutputSchema-context _:hasOutputSchema-format . +_:hasOutputSchema-format . +_:hasOutputSchema-format "format" . +_:hasOutputSchema-format . +_:hasOutputSchema-context _:hasOutputSchema-oneOf . +_:hasOutputSchema-oneOf . +_:hasOutputSchema-oneOf "oneOf" . +_:hasOutputSchema-oneOf . +_:hasOutputSchema-oneOf . +_:hasOutputSchema-context _:hasOutputSchema-allOf . +_:hasOutputSchema-allOf . +_:hasOutputSchema-allOf "allOf" . +_:hasOutputSchema-allOf . +_:hasOutputSchema-allOf . +_:hasOutputSchema-context _:hasOutputSchema-anyOf . +_:hasOutputSchema-anyOf . +_:hasOutputSchema-anyOf "anyOf" . +_:hasOutputSchema-anyOf . +_:hasOutputSchema-anyOf . +_:hasOutputSchema-context _:hasOutputSchema-type . +_:hasOutputSchema-type . +_:hasOutputSchema-type "type" . +_:hasOutputSchema-type . +_:hasOutputSchema-context _:hasOutputSchema-title . +_:hasOutputSchema-title . +_:hasOutputSchema-title "title" . +_:hasOutputSchema-title . +_:hasOutputSchema-context _:hasOutputSchema-titles . +_:hasOutputSchema-titles . +_:hasOutputSchema-titles "titles" . +_:hasOutputSchema-titles . +_:hasOutputSchema-titles . +_:hasOutputSchema-context _:hasOutputSchema-description . +_:hasOutputSchema-description . +_:hasOutputSchema-description "description" . +_:hasOutputSchema-description . +_:hasOutputSchema-context _:hasOutputSchema-descriptions . +_:hasOutputSchema-descriptions . +_:hasOutputSchema-descriptions "descriptions" . +_:hasOutputSchema-descriptions . +_:hasOutputSchema-descriptions . +_:hasOutputSchema-context _:hasOutputSchema-object . +_:hasOutputSchema-object . +_:hasOutputSchema-object "object" . +_:hasOutputSchema-object . +_:hasOutputSchema-context _:hasOutputSchema-array . +_:hasOutputSchema-array . +_:hasOutputSchema-array "array" . +_:hasOutputSchema-array . +_:hasOutputSchema-context _:hasOutputSchema-boolean . +_:hasOutputSchema-boolean . +_:hasOutputSchema-boolean "boolean" . +_:hasOutputSchema-boolean . +_:hasOutputSchema-context _:hasOutputSchema-string . +_:hasOutputSchema-string . +_:hasOutputSchema-string "string" . +_:hasOutputSchema-string . +_:hasOutputSchema-context _:hasOutputSchema-number . +_:hasOutputSchema-number . +_:hasOutputSchema-number "number" . +_:hasOutputSchema-number . +_:hasOutputSchema-context _:hasOutputSchema-integer . +_:hasOutputSchema-integer . +_:hasOutputSchema-integer "integer" . +_:hasOutputSchema-integer . +_:hasOutputSchema-context _:hasOutputSchema-null . +_:hasOutputSchema-null . +_:hasOutputSchema-null "null" . +_:hasOutputSchema-null . +_:hasOutputSchema-context _:hasOutputSchema-properties . +_:hasOutputSchema-properties . +_:hasOutputSchema-properties "properties" . +_:hasOutputSchema-properties . +_:hasOutputSchema-properties . +_:hasOutputSchema-context _:hasOutputSchema-propertyName . +_:hasOutputSchema-propertyName . +_:hasOutputSchema-propertyName "propertyName" . +_:hasOutputSchema-propertyName . +_:hasOutputSchema-context _:hasOutputSchema-unit . +_:hasOutputSchema-unit . +_:hasOutputSchema-unit "unit" . +_:hasOutputSchema-unit . +_:context _:subscription . +_:subscription . +_:subscription "subscription" . +_:subscription . +_:subscription _:hasSubscriptionSchema-context . +_:hasSubscriptionSchema-context . +_:hasSubscriptionSchema-context . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-td . +_:hasSubscriptionSchema-td . +_:hasSubscriptionSchema-td "td" . +_:hasSubscriptionSchema-td . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-jsonschema . +_:hasSubscriptionSchema-jsonschema . +_:hasSubscriptionSchema-jsonschema "jsonschema" . +_:hasSubscriptionSchema-jsonschema . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-wotsec . +_:hasSubscriptionSchema-wotsec . +_:hasSubscriptionSchema-wotsec "wotsec" . +_:hasSubscriptionSchema-wotsec . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-hctl . +_:hasSubscriptionSchema-hctl . +_:hasSubscriptionSchema-hctl "hctl" . +_:hasSubscriptionSchema-hctl . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-dct . +_:hasSubscriptionSchema-dct . +_:hasSubscriptionSchema-dct "dct" . +_:hasSubscriptionSchema-dct . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-schema . +_:hasSubscriptionSchema-schema . +_:hasSubscriptionSchema-schema "schema" . +_:hasSubscriptionSchema-schema . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-rdf . +_:hasSubscriptionSchema-rdf . +_:hasSubscriptionSchema-rdf "rdf" . +_:hasSubscriptionSchema-rdf . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-DataSchema . +_:hasSubscriptionSchema-DataSchema . +_:hasSubscriptionSchema-DataSchema "DataSchema" . +_:hasSubscriptionSchema-DataSchema . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-readOnly . +_:hasSubscriptionSchema-readOnly . +_:hasSubscriptionSchema-readOnly "readOnly" . +_:hasSubscriptionSchema-readOnly . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-writeOnly . +_:hasSubscriptionSchema-writeOnly . +_:hasSubscriptionSchema-writeOnly "writeOnly" . +_:hasSubscriptionSchema-writeOnly . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-exclusiveMaximum . +_:hasSubscriptionSchema-exclusiveMaximum . +_:hasSubscriptionSchema-exclusiveMaximum "exclusiveMaximum" . +_:hasSubscriptionSchema-exclusiveMaximum . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-exclusiveMinimum . +_:hasSubscriptionSchema-exclusiveMinimum . +_:hasSubscriptionSchema-exclusiveMinimum "exclusiveMinimum" . +_:hasSubscriptionSchema-exclusiveMinimum . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-maximum . +_:hasSubscriptionSchema-maximum . +_:hasSubscriptionSchema-maximum "maximum" . +_:hasSubscriptionSchema-maximum . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-minimum . +_:hasSubscriptionSchema-minimum . +_:hasSubscriptionSchema-minimum "minimum" . +_:hasSubscriptionSchema-minimum . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-maxItems . +_:hasSubscriptionSchema-maxItems . +_:hasSubscriptionSchema-maxItems "maxItems" . +_:hasSubscriptionSchema-maxItems . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-minItems . +_:hasSubscriptionSchema-minItems . +_:hasSubscriptionSchema-minItems "minItems" . +_:hasSubscriptionSchema-minItems . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-contentEncoding . +_:hasSubscriptionSchema-contentEncoding . +_:hasSubscriptionSchema-contentEncoding "contentEncoding" . +_:hasSubscriptionSchema-contentEncoding . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-minLength . +_:hasSubscriptionSchema-minLength . +_:hasSubscriptionSchema-minLength "minLength" . +_:hasSubscriptionSchema-minLength . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-maxLength . +_:hasSubscriptionSchema-maxLength . +_:hasSubscriptionSchema-maxLength "maxLength" . +_:hasSubscriptionSchema-maxLength . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-pattern . +_:hasSubscriptionSchema-pattern . +_:hasSubscriptionSchema-pattern "pattern" . +_:hasSubscriptionSchema-pattern . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-contentMediaType . +_:hasSubscriptionSchema-contentMediaType . +_:hasSubscriptionSchema-contentMediaType "contentMediaType" . +_:hasSubscriptionSchema-contentMediaType . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-items . +_:hasSubscriptionSchema-items . +_:hasSubscriptionSchema-items "items" . +_:hasSubscriptionSchema-items . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-required . +_:hasSubscriptionSchema-required . +_:hasSubscriptionSchema-required "required" . +_:hasSubscriptionSchema-required . +_:hasSubscriptionSchema-required . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-enum . +_:hasSubscriptionSchema-enum . +_:hasSubscriptionSchema-enum "enum" . +_:hasSubscriptionSchema-enum . +_:hasSubscriptionSchema-enum . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-const . +_:hasSubscriptionSchema-const . +_:hasSubscriptionSchema-const "const" . +_:hasSubscriptionSchema-const . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-default . +_:hasSubscriptionSchema-default . +_:hasSubscriptionSchema-default "default" . +_:hasSubscriptionSchema-default . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-multipleOf . +_:hasSubscriptionSchema-multipleOf . +_:hasSubscriptionSchema-multipleOf "multipleOf" . +_:hasSubscriptionSchema-multipleOf . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-format . +_:hasSubscriptionSchema-format . +_:hasSubscriptionSchema-format "format" . +_:hasSubscriptionSchema-format . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-oneOf . +_:hasSubscriptionSchema-oneOf . +_:hasSubscriptionSchema-oneOf "oneOf" . +_:hasSubscriptionSchema-oneOf . +_:hasSubscriptionSchema-oneOf . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-allOf . +_:hasSubscriptionSchema-allOf . +_:hasSubscriptionSchema-allOf "allOf" . +_:hasSubscriptionSchema-allOf . +_:hasSubscriptionSchema-allOf . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-anyOf . +_:hasSubscriptionSchema-anyOf . +_:hasSubscriptionSchema-anyOf "anyOf" . +_:hasSubscriptionSchema-anyOf . +_:hasSubscriptionSchema-anyOf . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-type . +_:hasSubscriptionSchema-type . +_:hasSubscriptionSchema-type "type" . +_:hasSubscriptionSchema-type . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-title . +_:hasSubscriptionSchema-title . +_:hasSubscriptionSchema-title "title" . +_:hasSubscriptionSchema-title . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-titles . +_:hasSubscriptionSchema-titles . +_:hasSubscriptionSchema-titles "titles" . +_:hasSubscriptionSchema-titles . +_:hasSubscriptionSchema-titles . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-description . +_:hasSubscriptionSchema-description . +_:hasSubscriptionSchema-description "description" . +_:hasSubscriptionSchema-description . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-descriptions . +_:hasSubscriptionSchema-descriptions . +_:hasSubscriptionSchema-descriptions "descriptions" . +_:hasSubscriptionSchema-descriptions . +_:hasSubscriptionSchema-descriptions . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-object . +_:hasSubscriptionSchema-object . +_:hasSubscriptionSchema-object "object" . +_:hasSubscriptionSchema-object . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-array . +_:hasSubscriptionSchema-array . +_:hasSubscriptionSchema-array "array" . +_:hasSubscriptionSchema-array . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-boolean . +_:hasSubscriptionSchema-boolean . +_:hasSubscriptionSchema-boolean "boolean" . +_:hasSubscriptionSchema-boolean . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-string . +_:hasSubscriptionSchema-string . +_:hasSubscriptionSchema-string "string" . +_:hasSubscriptionSchema-string . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-number . +_:hasSubscriptionSchema-number . +_:hasSubscriptionSchema-number "number" . +_:hasSubscriptionSchema-number . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-integer . +_:hasSubscriptionSchema-integer . +_:hasSubscriptionSchema-integer "integer" . +_:hasSubscriptionSchema-integer . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-null . +_:hasSubscriptionSchema-null . +_:hasSubscriptionSchema-null "null" . +_:hasSubscriptionSchema-null . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-properties . +_:hasSubscriptionSchema-properties . +_:hasSubscriptionSchema-properties "properties" . +_:hasSubscriptionSchema-properties . +_:hasSubscriptionSchema-properties . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-propertyName . +_:hasSubscriptionSchema-propertyName . +_:hasSubscriptionSchema-propertyName "propertyName" . +_:hasSubscriptionSchema-propertyName . +_:hasSubscriptionSchema-context _:hasSubscriptionSchema-unit . +_:hasSubscriptionSchema-unit . +_:hasSubscriptionSchema-unit "unit" . +_:hasSubscriptionSchema-unit . +_:context _:data . +_:data . +_:data "data" . +_:data . +_:data _:hasNotificationSchema-context . +_:hasNotificationSchema-context . +_:hasNotificationSchema-context . +_:hasNotificationSchema-context _:hasNotificationSchema-td . +_:hasNotificationSchema-td . +_:hasNotificationSchema-td "td" . +_:hasNotificationSchema-td . +_:hasNotificationSchema-context _:hasNotificationSchema-jsonschema . +_:hasNotificationSchema-jsonschema . +_:hasNotificationSchema-jsonschema "jsonschema" . +_:hasNotificationSchema-jsonschema . +_:hasNotificationSchema-context _:hasNotificationSchema-wotsec . +_:hasNotificationSchema-wotsec . +_:hasNotificationSchema-wotsec "wotsec" . +_:hasNotificationSchema-wotsec . +_:hasNotificationSchema-context _:hasNotificationSchema-hctl . +_:hasNotificationSchema-hctl . +_:hasNotificationSchema-hctl "hctl" . +_:hasNotificationSchema-hctl . +_:hasNotificationSchema-context _:hasNotificationSchema-dct . +_:hasNotificationSchema-dct . +_:hasNotificationSchema-dct "dct" . +_:hasNotificationSchema-dct . +_:hasNotificationSchema-context _:hasNotificationSchema-schema . +_:hasNotificationSchema-schema . +_:hasNotificationSchema-schema "schema" . +_:hasNotificationSchema-schema . +_:hasNotificationSchema-context _:hasNotificationSchema-rdf . +_:hasNotificationSchema-rdf . +_:hasNotificationSchema-rdf "rdf" . +_:hasNotificationSchema-rdf . +_:hasNotificationSchema-context _:hasNotificationSchema-DataSchema . +_:hasNotificationSchema-DataSchema . +_:hasNotificationSchema-DataSchema "DataSchema" . +_:hasNotificationSchema-DataSchema . +_:hasNotificationSchema-context _:hasNotificationSchema-readOnly . +_:hasNotificationSchema-readOnly . +_:hasNotificationSchema-readOnly "readOnly" . +_:hasNotificationSchema-readOnly . +_:hasNotificationSchema-context _:hasNotificationSchema-writeOnly . +_:hasNotificationSchema-writeOnly . +_:hasNotificationSchema-writeOnly "writeOnly" . +_:hasNotificationSchema-writeOnly . +_:hasNotificationSchema-context _:hasNotificationSchema-exclusiveMaximum . +_:hasNotificationSchema-exclusiveMaximum . +_:hasNotificationSchema-exclusiveMaximum "exclusiveMaximum" . +_:hasNotificationSchema-exclusiveMaximum . +_:hasNotificationSchema-context _:hasNotificationSchema-exclusiveMinimum . +_:hasNotificationSchema-exclusiveMinimum . +_:hasNotificationSchema-exclusiveMinimum "exclusiveMinimum" . +_:hasNotificationSchema-exclusiveMinimum . +_:hasNotificationSchema-context _:hasNotificationSchema-maximum . +_:hasNotificationSchema-maximum . +_:hasNotificationSchema-maximum "maximum" . +_:hasNotificationSchema-maximum . +_:hasNotificationSchema-context _:hasNotificationSchema-minimum . +_:hasNotificationSchema-minimum . +_:hasNotificationSchema-minimum "minimum" . +_:hasNotificationSchema-minimum . +_:hasNotificationSchema-context _:hasNotificationSchema-maxItems . +_:hasNotificationSchema-maxItems . +_:hasNotificationSchema-maxItems "maxItems" . +_:hasNotificationSchema-maxItems . +_:hasNotificationSchema-context _:hasNotificationSchema-minItems . +_:hasNotificationSchema-minItems . +_:hasNotificationSchema-minItems "minItems" . +_:hasNotificationSchema-minItems . +_:hasNotificationSchema-context _:hasNotificationSchema-contentEncoding . +_:hasNotificationSchema-contentEncoding . +_:hasNotificationSchema-contentEncoding "contentEncoding" . +_:hasNotificationSchema-contentEncoding . +_:hasNotificationSchema-context _:hasNotificationSchema-minLength . +_:hasNotificationSchema-minLength . +_:hasNotificationSchema-minLength "minLength" . +_:hasNotificationSchema-minLength . +_:hasNotificationSchema-context _:hasNotificationSchema-maxLength . +_:hasNotificationSchema-maxLength . +_:hasNotificationSchema-maxLength "maxLength" . +_:hasNotificationSchema-maxLength . +_:hasNotificationSchema-context _:hasNotificationSchema-pattern . +_:hasNotificationSchema-pattern . +_:hasNotificationSchema-pattern "pattern" . +_:hasNotificationSchema-pattern . +_:hasNotificationSchema-context _:hasNotificationSchema-contentMediaType . +_:hasNotificationSchema-contentMediaType . +_:hasNotificationSchema-contentMediaType "contentMediaType" . +_:hasNotificationSchema-contentMediaType . +_:hasNotificationSchema-context _:hasNotificationSchema-items . +_:hasNotificationSchema-items . +_:hasNotificationSchema-items "items" . +_:hasNotificationSchema-items . +_:hasNotificationSchema-context _:hasNotificationSchema-required . +_:hasNotificationSchema-required . +_:hasNotificationSchema-required "required" . +_:hasNotificationSchema-required . +_:hasNotificationSchema-required . +_:hasNotificationSchema-context _:hasNotificationSchema-enum . +_:hasNotificationSchema-enum . +_:hasNotificationSchema-enum "enum" . +_:hasNotificationSchema-enum . +_:hasNotificationSchema-enum . +_:hasNotificationSchema-context _:hasNotificationSchema-const . +_:hasNotificationSchema-const . +_:hasNotificationSchema-const "const" . +_:hasNotificationSchema-const . +_:hasNotificationSchema-context _:hasNotificationSchema-default . +_:hasNotificationSchema-default . +_:hasNotificationSchema-default "default" . +_:hasNotificationSchema-default . +_:hasNotificationSchema-context _:hasNotificationSchema-multipleOf . +_:hasNotificationSchema-multipleOf . +_:hasNotificationSchema-multipleOf "multipleOf" . +_:hasNotificationSchema-multipleOf . +_:hasNotificationSchema-context _:hasNotificationSchema-format . +_:hasNotificationSchema-format . +_:hasNotificationSchema-format "format" . +_:hasNotificationSchema-format . +_:hasNotificationSchema-context _:hasNotificationSchema-oneOf . +_:hasNotificationSchema-oneOf . +_:hasNotificationSchema-oneOf "oneOf" . +_:hasNotificationSchema-oneOf . +_:hasNotificationSchema-oneOf . +_:hasNotificationSchema-context _:hasNotificationSchema-allOf . +_:hasNotificationSchema-allOf . +_:hasNotificationSchema-allOf "allOf" . +_:hasNotificationSchema-allOf . +_:hasNotificationSchema-allOf . +_:hasNotificationSchema-context _:hasNotificationSchema-anyOf . +_:hasNotificationSchema-anyOf . +_:hasNotificationSchema-anyOf "anyOf" . +_:hasNotificationSchema-anyOf . +_:hasNotificationSchema-anyOf . +_:hasNotificationSchema-context _:hasNotificationSchema-type . +_:hasNotificationSchema-type . +_:hasNotificationSchema-type "type" . +_:hasNotificationSchema-type . +_:hasNotificationSchema-context _:hasNotificationSchema-title . +_:hasNotificationSchema-title . +_:hasNotificationSchema-title "title" . +_:hasNotificationSchema-title . +_:hasNotificationSchema-context _:hasNotificationSchema-titles . +_:hasNotificationSchema-titles . +_:hasNotificationSchema-titles "titles" . +_:hasNotificationSchema-titles . +_:hasNotificationSchema-titles . +_:hasNotificationSchema-context _:hasNotificationSchema-description . +_:hasNotificationSchema-description . +_:hasNotificationSchema-description "description" . +_:hasNotificationSchema-description . +_:hasNotificationSchema-context _:hasNotificationSchema-descriptions . +_:hasNotificationSchema-descriptions . +_:hasNotificationSchema-descriptions "descriptions" . +_:hasNotificationSchema-descriptions . +_:hasNotificationSchema-descriptions . +_:hasNotificationSchema-context _:hasNotificationSchema-object . +_:hasNotificationSchema-object . +_:hasNotificationSchema-object "object" . +_:hasNotificationSchema-object . +_:hasNotificationSchema-context _:hasNotificationSchema-array . +_:hasNotificationSchema-array . +_:hasNotificationSchema-array "array" . +_:hasNotificationSchema-array . +_:hasNotificationSchema-context _:hasNotificationSchema-boolean . +_:hasNotificationSchema-boolean . +_:hasNotificationSchema-boolean "boolean" . +_:hasNotificationSchema-boolean . +_:hasNotificationSchema-context _:hasNotificationSchema-string . +_:hasNotificationSchema-string . +_:hasNotificationSchema-string "string" . +_:hasNotificationSchema-string . +_:hasNotificationSchema-context _:hasNotificationSchema-number . +_:hasNotificationSchema-number . +_:hasNotificationSchema-number "number" . +_:hasNotificationSchema-number . +_:hasNotificationSchema-context _:hasNotificationSchema-integer . +_:hasNotificationSchema-integer . +_:hasNotificationSchema-integer "integer" . +_:hasNotificationSchema-integer . +_:hasNotificationSchema-context _:hasNotificationSchema-null . +_:hasNotificationSchema-null . +_:hasNotificationSchema-null "null" . +_:hasNotificationSchema-null . +_:hasNotificationSchema-context _:hasNotificationSchema-properties . +_:hasNotificationSchema-properties . +_:hasNotificationSchema-properties "properties" . +_:hasNotificationSchema-properties . +_:hasNotificationSchema-properties . +_:hasNotificationSchema-context _:hasNotificationSchema-propertyName . +_:hasNotificationSchema-propertyName . +_:hasNotificationSchema-propertyName "propertyName" . +_:hasNotificationSchema-propertyName . +_:hasNotificationSchema-context _:hasNotificationSchema-unit . +_:hasNotificationSchema-unit . +_:hasNotificationSchema-unit "unit" . +_:hasNotificationSchema-unit . +_:context _:dataResponse . +_:dataResponse . +_:dataResponse "dataResponse" . +_:dataResponse . +_:dataResponse _:hasNotificationResponseSchema-context . +_:hasNotificationResponseSchema-context . +_:hasNotificationResponseSchema-context . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-td . +_:hasNotificationResponseSchema-td . +_:hasNotificationResponseSchema-td "td" . +_:hasNotificationResponseSchema-td . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-jsonschema . +_:hasNotificationResponseSchema-jsonschema . +_:hasNotificationResponseSchema-jsonschema "jsonschema" . +_:hasNotificationResponseSchema-jsonschema . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-wotsec . +_:hasNotificationResponseSchema-wotsec . +_:hasNotificationResponseSchema-wotsec "wotsec" . +_:hasNotificationResponseSchema-wotsec . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-hctl . +_:hasNotificationResponseSchema-hctl . +_:hasNotificationResponseSchema-hctl "hctl" . +_:hasNotificationResponseSchema-hctl . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-dct . +_:hasNotificationResponseSchema-dct . +_:hasNotificationResponseSchema-dct "dct" . +_:hasNotificationResponseSchema-dct . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-schema . +_:hasNotificationResponseSchema-schema . +_:hasNotificationResponseSchema-schema "schema" . +_:hasNotificationResponseSchema-schema . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-rdf . +_:hasNotificationResponseSchema-rdf . +_:hasNotificationResponseSchema-rdf "rdf" . +_:hasNotificationResponseSchema-rdf . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-DataSchema . +_:hasNotificationResponseSchema-DataSchema . +_:hasNotificationResponseSchema-DataSchema "DataSchema" . +_:hasNotificationResponseSchema-DataSchema . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-readOnly . +_:hasNotificationResponseSchema-readOnly . +_:hasNotificationResponseSchema-readOnly "readOnly" . +_:hasNotificationResponseSchema-readOnly . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-writeOnly . +_:hasNotificationResponseSchema-writeOnly . +_:hasNotificationResponseSchema-writeOnly "writeOnly" . +_:hasNotificationResponseSchema-writeOnly . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-exclusiveMaximum . +_:hasNotificationResponseSchema-exclusiveMaximum . +_:hasNotificationResponseSchema-exclusiveMaximum "exclusiveMaximum" . +_:hasNotificationResponseSchema-exclusiveMaximum . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-exclusiveMinimum . +_:hasNotificationResponseSchema-exclusiveMinimum . +_:hasNotificationResponseSchema-exclusiveMinimum "exclusiveMinimum" . +_:hasNotificationResponseSchema-exclusiveMinimum . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-maximum . +_:hasNotificationResponseSchema-maximum . +_:hasNotificationResponseSchema-maximum "maximum" . +_:hasNotificationResponseSchema-maximum . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-minimum . +_:hasNotificationResponseSchema-minimum . +_:hasNotificationResponseSchema-minimum "minimum" . +_:hasNotificationResponseSchema-minimum . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-maxItems . +_:hasNotificationResponseSchema-maxItems . +_:hasNotificationResponseSchema-maxItems "maxItems" . +_:hasNotificationResponseSchema-maxItems . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-minItems . +_:hasNotificationResponseSchema-minItems . +_:hasNotificationResponseSchema-minItems "minItems" . +_:hasNotificationResponseSchema-minItems . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-contentEncoding . +_:hasNotificationResponseSchema-contentEncoding . +_:hasNotificationResponseSchema-contentEncoding "contentEncoding" . +_:hasNotificationResponseSchema-contentEncoding . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-minLength . +_:hasNotificationResponseSchema-minLength . +_:hasNotificationResponseSchema-minLength "minLength" . +_:hasNotificationResponseSchema-minLength . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-maxLength . +_:hasNotificationResponseSchema-maxLength . +_:hasNotificationResponseSchema-maxLength "maxLength" . +_:hasNotificationResponseSchema-maxLength . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-pattern . +_:hasNotificationResponseSchema-pattern . +_:hasNotificationResponseSchema-pattern "pattern" . +_:hasNotificationResponseSchema-pattern . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-contentMediaType . +_:hasNotificationResponseSchema-contentMediaType . +_:hasNotificationResponseSchema-contentMediaType "contentMediaType" . +_:hasNotificationResponseSchema-contentMediaType . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-items . +_:hasNotificationResponseSchema-items . +_:hasNotificationResponseSchema-items "items" . +_:hasNotificationResponseSchema-items . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-required . +_:hasNotificationResponseSchema-required . +_:hasNotificationResponseSchema-required "required" . +_:hasNotificationResponseSchema-required . +_:hasNotificationResponseSchema-required . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-enum . +_:hasNotificationResponseSchema-enum . +_:hasNotificationResponseSchema-enum "enum" . +_:hasNotificationResponseSchema-enum . +_:hasNotificationResponseSchema-enum . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-const . +_:hasNotificationResponseSchema-const . +_:hasNotificationResponseSchema-const "const" . +_:hasNotificationResponseSchema-const . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-default . +_:hasNotificationResponseSchema-default . +_:hasNotificationResponseSchema-default "default" . +_:hasNotificationResponseSchema-default . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-multipleOf . +_:hasNotificationResponseSchema-multipleOf . +_:hasNotificationResponseSchema-multipleOf "multipleOf" . +_:hasNotificationResponseSchema-multipleOf . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-format . +_:hasNotificationResponseSchema-format . +_:hasNotificationResponseSchema-format "format" . +_:hasNotificationResponseSchema-format . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-oneOf . +_:hasNotificationResponseSchema-oneOf . +_:hasNotificationResponseSchema-oneOf "oneOf" . +_:hasNotificationResponseSchema-oneOf . +_:hasNotificationResponseSchema-oneOf . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-allOf . +_:hasNotificationResponseSchema-allOf . +_:hasNotificationResponseSchema-allOf "allOf" . +_:hasNotificationResponseSchema-allOf . +_:hasNotificationResponseSchema-allOf . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-anyOf . +_:hasNotificationResponseSchema-anyOf . +_:hasNotificationResponseSchema-anyOf "anyOf" . +_:hasNotificationResponseSchema-anyOf . +_:hasNotificationResponseSchema-anyOf . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-type . +_:hasNotificationResponseSchema-type . +_:hasNotificationResponseSchema-type "type" . +_:hasNotificationResponseSchema-type . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-title . +_:hasNotificationResponseSchema-title . +_:hasNotificationResponseSchema-title "title" . +_:hasNotificationResponseSchema-title . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-titles . +_:hasNotificationResponseSchema-titles . +_:hasNotificationResponseSchema-titles "titles" . +_:hasNotificationResponseSchema-titles . +_:hasNotificationResponseSchema-titles . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-description . +_:hasNotificationResponseSchema-description . +_:hasNotificationResponseSchema-description "description" . +_:hasNotificationResponseSchema-description . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-descriptions . +_:hasNotificationResponseSchema-descriptions . +_:hasNotificationResponseSchema-descriptions "descriptions" . +_:hasNotificationResponseSchema-descriptions . +_:hasNotificationResponseSchema-descriptions . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-object . +_:hasNotificationResponseSchema-object . +_:hasNotificationResponseSchema-object "object" . +_:hasNotificationResponseSchema-object . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-array . +_:hasNotificationResponseSchema-array . +_:hasNotificationResponseSchema-array "array" . +_:hasNotificationResponseSchema-array . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-boolean . +_:hasNotificationResponseSchema-boolean . +_:hasNotificationResponseSchema-boolean "boolean" . +_:hasNotificationResponseSchema-boolean . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-string . +_:hasNotificationResponseSchema-string . +_:hasNotificationResponseSchema-string "string" . +_:hasNotificationResponseSchema-string . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-number . +_:hasNotificationResponseSchema-number . +_:hasNotificationResponseSchema-number "number" . +_:hasNotificationResponseSchema-number . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-integer . +_:hasNotificationResponseSchema-integer . +_:hasNotificationResponseSchema-integer "integer" . +_:hasNotificationResponseSchema-integer . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-null . +_:hasNotificationResponseSchema-null . +_:hasNotificationResponseSchema-null "null" . +_:hasNotificationResponseSchema-null . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-properties . +_:hasNotificationResponseSchema-properties . +_:hasNotificationResponseSchema-properties "properties" . +_:hasNotificationResponseSchema-properties . +_:hasNotificationResponseSchema-properties . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-propertyName . +_:hasNotificationResponseSchema-propertyName . +_:hasNotificationResponseSchema-propertyName "propertyName" . +_:hasNotificationResponseSchema-propertyName . +_:hasNotificationResponseSchema-context _:hasNotificationResponseSchema-unit . +_:hasNotificationResponseSchema-unit . +_:hasNotificationResponseSchema-unit "unit" . +_:hasNotificationResponseSchema-unit . +_:context _:cancellation . +_:cancellation . +_:cancellation "cancellation" . +_:cancellation . +_:cancellation _:hasCancellationSchema-context . +_:hasCancellationSchema-context . +_:hasCancellationSchema-context . +_:hasCancellationSchema-context _:hasCancellationSchema-td . +_:hasCancellationSchema-td . +_:hasCancellationSchema-td "td" . +_:hasCancellationSchema-td . +_:hasCancellationSchema-context _:hasCancellationSchema-jsonschema . +_:hasCancellationSchema-jsonschema . +_:hasCancellationSchema-jsonschema "jsonschema" . +_:hasCancellationSchema-jsonschema . +_:hasCancellationSchema-context _:hasCancellationSchema-wotsec . +_:hasCancellationSchema-wotsec . +_:hasCancellationSchema-wotsec "wotsec" . +_:hasCancellationSchema-wotsec . +_:hasCancellationSchema-context _:hasCancellationSchema-hctl . +_:hasCancellationSchema-hctl . +_:hasCancellationSchema-hctl "hctl" . +_:hasCancellationSchema-hctl . +_:hasCancellationSchema-context _:hasCancellationSchema-dct . +_:hasCancellationSchema-dct . +_:hasCancellationSchema-dct "dct" . +_:hasCancellationSchema-dct . +_:hasCancellationSchema-context _:hasCancellationSchema-schema . +_:hasCancellationSchema-schema . +_:hasCancellationSchema-schema "schema" . +_:hasCancellationSchema-schema . +_:hasCancellationSchema-context _:hasCancellationSchema-rdf . +_:hasCancellationSchema-rdf . +_:hasCancellationSchema-rdf "rdf" . +_:hasCancellationSchema-rdf . +_:hasCancellationSchema-context _:hasCancellationSchema-DataSchema . +_:hasCancellationSchema-DataSchema . +_:hasCancellationSchema-DataSchema "DataSchema" . +_:hasCancellationSchema-DataSchema . +_:hasCancellationSchema-context _:hasCancellationSchema-readOnly . +_:hasCancellationSchema-readOnly . +_:hasCancellationSchema-readOnly "readOnly" . +_:hasCancellationSchema-readOnly . +_:hasCancellationSchema-context _:hasCancellationSchema-writeOnly . +_:hasCancellationSchema-writeOnly . +_:hasCancellationSchema-writeOnly "writeOnly" . +_:hasCancellationSchema-writeOnly . +_:hasCancellationSchema-context _:hasCancellationSchema-exclusiveMaximum . +_:hasCancellationSchema-exclusiveMaximum . +_:hasCancellationSchema-exclusiveMaximum "exclusiveMaximum" . +_:hasCancellationSchema-exclusiveMaximum . +_:hasCancellationSchema-context _:hasCancellationSchema-exclusiveMinimum . +_:hasCancellationSchema-exclusiveMinimum . +_:hasCancellationSchema-exclusiveMinimum "exclusiveMinimum" . +_:hasCancellationSchema-exclusiveMinimum . +_:hasCancellationSchema-context _:hasCancellationSchema-maximum . +_:hasCancellationSchema-maximum . +_:hasCancellationSchema-maximum "maximum" . +_:hasCancellationSchema-maximum . +_:hasCancellationSchema-context _:hasCancellationSchema-minimum . +_:hasCancellationSchema-minimum . +_:hasCancellationSchema-minimum "minimum" . +_:hasCancellationSchema-minimum . +_:hasCancellationSchema-context _:hasCancellationSchema-maxItems . +_:hasCancellationSchema-maxItems . +_:hasCancellationSchema-maxItems "maxItems" . +_:hasCancellationSchema-maxItems . +_:hasCancellationSchema-context _:hasCancellationSchema-minItems . +_:hasCancellationSchema-minItems . +_:hasCancellationSchema-minItems "minItems" . +_:hasCancellationSchema-minItems . +_:hasCancellationSchema-context _:hasCancellationSchema-contentEncoding . +_:hasCancellationSchema-contentEncoding . +_:hasCancellationSchema-contentEncoding "contentEncoding" . +_:hasCancellationSchema-contentEncoding . +_:hasCancellationSchema-context _:hasCancellationSchema-minLength . +_:hasCancellationSchema-minLength . +_:hasCancellationSchema-minLength "minLength" . +_:hasCancellationSchema-minLength . +_:hasCancellationSchema-context _:hasCancellationSchema-maxLength . +_:hasCancellationSchema-maxLength . +_:hasCancellationSchema-maxLength "maxLength" . +_:hasCancellationSchema-maxLength . +_:hasCancellationSchema-context _:hasCancellationSchema-pattern . +_:hasCancellationSchema-pattern . +_:hasCancellationSchema-pattern "pattern" . +_:hasCancellationSchema-pattern . +_:hasCancellationSchema-context _:hasCancellationSchema-contentMediaType . +_:hasCancellationSchema-contentMediaType . +_:hasCancellationSchema-contentMediaType "contentMediaType" . +_:hasCancellationSchema-contentMediaType . +_:hasCancellationSchema-context _:hasCancellationSchema-items . +_:hasCancellationSchema-items . +_:hasCancellationSchema-items "items" . +_:hasCancellationSchema-items . +_:hasCancellationSchema-context _:hasCancellationSchema-required . +_:hasCancellationSchema-required . +_:hasCancellationSchema-required "required" . +_:hasCancellationSchema-required . +_:hasCancellationSchema-required . +_:hasCancellationSchema-context _:hasCancellationSchema-enum . +_:hasCancellationSchema-enum . +_:hasCancellationSchema-enum "enum" . +_:hasCancellationSchema-enum . +_:hasCancellationSchema-enum . +_:hasCancellationSchema-context _:hasCancellationSchema-const . +_:hasCancellationSchema-const . +_:hasCancellationSchema-const "const" . +_:hasCancellationSchema-const . +_:hasCancellationSchema-context _:hasCancellationSchema-default . +_:hasCancellationSchema-default . +_:hasCancellationSchema-default "default" . +_:hasCancellationSchema-default . +_:hasCancellationSchema-context _:hasCancellationSchema-multipleOf . +_:hasCancellationSchema-multipleOf . +_:hasCancellationSchema-multipleOf "multipleOf" . +_:hasCancellationSchema-multipleOf . +_:hasCancellationSchema-context _:hasCancellationSchema-format . +_:hasCancellationSchema-format . +_:hasCancellationSchema-format "format" . +_:hasCancellationSchema-format . +_:hasCancellationSchema-context _:hasCancellationSchema-oneOf . +_:hasCancellationSchema-oneOf . +_:hasCancellationSchema-oneOf "oneOf" . +_:hasCancellationSchema-oneOf . +_:hasCancellationSchema-oneOf . +_:hasCancellationSchema-context _:hasCancellationSchema-allOf . +_:hasCancellationSchema-allOf . +_:hasCancellationSchema-allOf "allOf" . +_:hasCancellationSchema-allOf . +_:hasCancellationSchema-allOf . +_:hasCancellationSchema-context _:hasCancellationSchema-anyOf . +_:hasCancellationSchema-anyOf . +_:hasCancellationSchema-anyOf "anyOf" . +_:hasCancellationSchema-anyOf . +_:hasCancellationSchema-anyOf . +_:hasCancellationSchema-context _:hasCancellationSchema-type . +_:hasCancellationSchema-type . +_:hasCancellationSchema-type "type" . +_:hasCancellationSchema-type . +_:hasCancellationSchema-context _:hasCancellationSchema-title . +_:hasCancellationSchema-title . +_:hasCancellationSchema-title "title" . +_:hasCancellationSchema-title . +_:hasCancellationSchema-context _:hasCancellationSchema-titles . +_:hasCancellationSchema-titles . +_:hasCancellationSchema-titles "titles" . +_:hasCancellationSchema-titles . +_:hasCancellationSchema-titles . +_:hasCancellationSchema-context _:hasCancellationSchema-description . +_:hasCancellationSchema-description . +_:hasCancellationSchema-description "description" . +_:hasCancellationSchema-description . +_:hasCancellationSchema-context _:hasCancellationSchema-descriptions . +_:hasCancellationSchema-descriptions . +_:hasCancellationSchema-descriptions "descriptions" . +_:hasCancellationSchema-descriptions . +_:hasCancellationSchema-descriptions . +_:hasCancellationSchema-context _:hasCancellationSchema-object . +_:hasCancellationSchema-object . +_:hasCancellationSchema-object "object" . +_:hasCancellationSchema-object . +_:hasCancellationSchema-context _:hasCancellationSchema-array . +_:hasCancellationSchema-array . +_:hasCancellationSchema-array "array" . +_:hasCancellationSchema-array . +_:hasCancellationSchema-context _:hasCancellationSchema-boolean . +_:hasCancellationSchema-boolean . +_:hasCancellationSchema-boolean "boolean" . +_:hasCancellationSchema-boolean . +_:hasCancellationSchema-context _:hasCancellationSchema-string . +_:hasCancellationSchema-string . +_:hasCancellationSchema-string "string" . +_:hasCancellationSchema-string . +_:hasCancellationSchema-context _:hasCancellationSchema-number . +_:hasCancellationSchema-number . +_:hasCancellationSchema-number "number" . +_:hasCancellationSchema-number . +_:hasCancellationSchema-context _:hasCancellationSchema-integer . +_:hasCancellationSchema-integer . +_:hasCancellationSchema-integer "integer" . +_:hasCancellationSchema-integer . +_:hasCancellationSchema-context _:hasCancellationSchema-null . +_:hasCancellationSchema-null . +_:hasCancellationSchema-null "null" . +_:hasCancellationSchema-null . +_:hasCancellationSchema-context _:hasCancellationSchema-properties . +_:hasCancellationSchema-properties . +_:hasCancellationSchema-properties "properties" . +_:hasCancellationSchema-properties . +_:hasCancellationSchema-properties . +_:hasCancellationSchema-context _:hasCancellationSchema-propertyName . +_:hasCancellationSchema-propertyName . +_:hasCancellationSchema-propertyName "propertyName" . +_:hasCancellationSchema-propertyName . +_:hasCancellationSchema-context _:hasCancellationSchema-unit . +_:hasCancellationSchema-unit . +_:hasCancellationSchema-unit "unit" . +_:hasCancellationSchema-unit . +_:context _:description . +_:description . +_:description "description" . +_:description . +_:context _:descriptions . +_:descriptions . +_:descriptions "descriptions" . +_:descriptions . +_:descriptions . +_:context _:title . +_:title . +_:title "title" . +_:title . +_:context _:titles . +_:titles . +_:titles "titles" . +_:titles . +_:titles . +_:context _:support . +_:support . +_:support "support" . +_:support . +_:support . +_:context _:base . +_:base . +_:base "base" . +_:base . From 746a8aa66a27e1ec64b8c042137d817e1127944f Mon Sep 17 00:00:00 2001 From: Ege Korkan Date: Wed, 3 Apr 2024 18:24:15 +0200 Subject: [PATCH 7/7] improve requirements and english issues --- toolchain/README.md | 56 +++++++++++++++++++++++++------------- toolchain/tool-analysis.md | 46 +++++++++++++++---------------- 2 files changed, 60 insertions(+), 42 deletions(-) diff --git a/toolchain/README.md b/toolchain/README.md index ea4bf1c36..59d325b99 100644 --- a/toolchain/README.md +++ b/toolchain/README.md @@ -10,7 +10,8 @@ The template style inputs are written mostly once in the beginning and are gener ## Detailed Current Process -The current W3C WoT specification generation process toolchain is depicted as a Business Process Modeling Notation (BPMN) diagram in the figure below. This is a result of years of work that have resulted in different tools that require high manual effort to keep everything synced. The future goal is to switch to an easier-to-maintain toolchain that is usable by people without a deep understanding of the technologies involved. +The current W3C WoT specification generation process toolchain is depicted as a Business Process Modeling Notation (BPMN) diagram in the figure below. This is a result of years of work that have resulted in different tools that require high manual effort to keep everything synced. +The future goal is to switch to an easier-to-maintain toolchain that is usable by people without a deep understanding of the technologies involved. ![Toolchain BPMN](./wot-toolchain-bpmn.png) @@ -21,36 +22,53 @@ There are 4 actors involved: 3. **_SPARQL Template Transformation Language Engine_** 4. **_Parser Creation_** -The Semantic Web Expert has the main responsibility to iteratively define the schema of different TD model specifications such as TD core, TM, WoTsec, HCTL or any extensions required. Also, the JSON Schema definition is defined for syntactical validation of JSON-LD data and Shapes Constraint Language (SHACL) shapes for validating RDF graphs. These different tasks are performed in an adhoc manner until agreement is achieved among the experts. In addition, the experts define a set of transformations for the specification generation according to the SPARQL Template Transformation Language (STTL). The templates expressed in STTL describe different rules for transforming a source RDF graph into a result text. - -The WoT Toolchain is a shell script (render.sh), which manages the interaction between different Node.js scripts developed to achieve different objectives. It receives the different JSON-LD context files for each vocabulary in the TD model and aggregates them into one. The resulting JSON-LD context is then converted into RDF Turtle representation format. The artifacts provided by the Semantic Web Experts and the RDF graphs are provided as input to the STTL Engine. - -The STTL engine takes different RDF graphs: TD model ontologies, SHACL shapes (validation/td-validation.ttl), merged context (context/td-context.ttl), a transformation (a set of templates), and a specific starting node that determines the starting HTML node pointing to the WoT Things Descriptions as a set of command-line arguments. The TD model ontologies and SHACL shapes are loaded and stored in an RDF store for semantic processing and querying. Then, the STTL templates are parsed according to the parser developed by the Parser Creation actor. This is followed by matching the input HTML node with one of the transformation names specified in the template. A template in a transformation may apply other templates or include different utility functions or SPARQL functions. Therefore, the Apply Template sub-process identifies these different cases and applies the rules which includes the following activities: evaluate patterns, variables and expressions in a template, construct the query to execute using a JSON format, and executing the query on the RDF graph. The output is generated HTML textual output format corresponding to the index.html file of the TD specification and the different ontology specifications. - -The TD specification include diagrams that are also generated from the same SHACL and merged context sources. The STTL Engine is run once more to generated diagrams in textual form (DOT text files) and then turned into graphics using Graphviz tool. The output is the SVG figures of the TD specification, which is then manually converted into PNG using a desired tool of choice. These PNG files are used to feed the HTML specification. - -The Parser Creation process is mainly performed by a developer using a 2-step process. The grammar is developed manually using to context-free grammar according to the semantics of STTL language. Then, Jison tool takes the grammar as input and outputs a JavaScript file capable of parsing the language described by that grammar. The generated script is then used to parse visualization template inputs in the STTL Engine. +The Semantic Web Expert has the main responsibility to iteratively define the schema of different TD model specifications such as TD core, TM, WoTsec, HCTL, or any extensions required. +Also, the JSON Schema definition is defined for syntactical validation of JSON-LD data and Shapes Constraint Language (SHACL) shapes for validating RDF graphs. +These different tasks are performed in an ad-hoc manner until agreement is achieved among the experts. +In addition, the experts define a set of transformations for the specification generation according to the SPARQL Template Transformation Language (STTL). +The templates expressed in STTL describe different rules for transforming a source RDF graph into a result text. + +The WoT Toolchain is a shell script (render.sh), which manages the interaction between different Node.js scripts developed to achieve different objectives. +It receives the different JSON-LD context files for each vocabulary in the TD model and aggregates them into one. +The resulting JSON-LD context is then converted into RDF Turtle representation format. +The artifacts provided by the Semantic Web Experts and the RDF graphs are provided as input to the STTL Engine. + +The STTL engine takes different RDF graphs: TD model ontologies, SHACL shapes (validation/td-validation.ttl), merged context (context/td-context.ttl), a transformation (a set of templates), and a specific starting node that determines the starting HTML node pointing to the WoT Things Descriptions as a set of command-line arguments. +The TD model ontologies and SHACL shapes are loaded and stored in an RDF store for semantic processing and querying. Then, the STTL templates are parsed according to the parser developed by the Parser Creation actor. +This is followed by matching the input HTML node with one of the transformation names specified in the template. +A template in a transformation may apply other templates or include different utility functions or SPARQL functions. Therefore, the Apply Template sub-process identifies these different cases and applies the rules which include the following activities: evaluate patterns, variables, and expressions in a template, construct the query to execute using a JSON format, and execute the query on the RDF graph. +The output is generated in HTML textual output format corresponding to the index.html file of the TD specification and the different ontology specifications. + +The TD specification includes diagrams that are also generated from the same SHACL and merged context sources. +The STTL Engine is run once more to generate diagrams in textual form (DOT text files) and then turned into graphics using Graphviz tool. +The output is the SVG figures of the TD specification, which is then manually converted into PNG using a desired tool of choice. +These PNG files are then fed into the HTML specification. + +The Parser Creation process is mainly performed by a developer using a 2-step process. +The grammar is developed manually using context-free grammar according to the semantics of STTL language. +Then, Jison tool takes the grammar as input and outputs a JavaScript file capable of parsing the language described by that grammar. +The generated script is then used to parse visualization template inputs in the STTL Engine. ## Requirements for Toolchain -Before working on the restructuring of the toolchain to make it simpler, we can write the requirements of the toolchain +Before working on the restructuring of the toolchain to make it simpler, we can write the requirements of the toolchain by listing what kind of inputs we want to work on and what kind of outputs we want to provide to the users (reader, implementer, spec writers). **Overall Goal:** Change a small number of files (source of truth) but generate as many resources as needed by users. **Compromise:** Reduce the amount of cross-checking between files by a human expert. In this case, everything is not automatically generated. -## General Requirements for Toolchain +### General Requirements for Toolchain -1. Someone without expertise in our tooling should be able to make contributions. This is especially relevant for binding contributions from experts of the protocol who are not experts of the semantic web or the type of tooling we have. Thus, the learning curve should not be steep at all. - 1. Relying on well-known tools would make it easier. Templating engines like [Handlebars](https://handlebarsjs.com/) are well-known. STTL is not well-known and doesn't support all the features we need. - 2. More documentation about the entire repository configuration and tooling (Actions, hooks, npm scripts to run at some point etc.) +1. Someone without expertise in our tooling should be able to make contributions. This is especially relevant for binding contributions from experts of the protocol who are not experts on the semantic web or the type of tooling we have. Thus, the learning curve should not be steep at all. + 1. Relying on well-known tools would make it easier. Templating engines like [Handlebars](https://handlebarsjs.com/) are well-known. STTL is not well-known and doesn't support all the features we need. + 2. More documentation about the entire repository configuration and tooling (Actions, hooks, npm scripts to run at some point etc.) 2. It should be easy to debug/observe the process. 3. If multiple tools are "chained together", we should ensure that the inputs and outputs match. An example would be if the generated JSON Schema is badly structured, it would result in cryptic TS definitions. 4. Not mixing up multiple languages in one resource file (currently, we have HTML snippets in SHACL shapes). 5. (Optional) The tooling should be easy to install and understand the inner workings. -## Output Resources +### Output Resources Output resources are given to the users of the specification for various usages. @@ -63,7 +81,7 @@ The following resources are updated each time the "source of truth" in the input - JSON-LD Context - JSON Schemas: For TD and TM - SHACL Shapes -- Abstraction or Interfaces for Programming Languages: +- Abstraction or Interfaces for Programming Languages: - TypeScript definitions: Currently done via Scripting API TF - We need to clarify it for other languages - Test cases: Each feature has its test case(s). Currently in Eclipse Thingweb but will be moved here @@ -75,9 +93,9 @@ The following resources are updated less frequently, generally in publication ph - UML Class Diagrams: Beautified versions of the "always synced" diagrams - Users: Adopters of the standard (to give an overview) -## Input Resources +### Input Resources -Input resources, referred to as source of truth, are what the TD Task Force writes and maintains to generate the output resources for the users. +Input resources, referred to as the source of truth, are what the TD Task Force writes and maintains to generate the output resources for the users. The following resources are updated for each change: diff --git a/toolchain/tool-analysis.md b/toolchain/tool-analysis.md index be2191627..85a8bc896 100644 --- a/toolchain/tool-analysis.md +++ b/toolchain/tool-analysis.md @@ -5,23 +5,23 @@ The current W3C WoT specification generation tool relies on various WoT artifact Therefore, the aim is to identify a set of potential tools that can simplify the generation of the WoT artifacts. An analysis of existing tools has been conducted based on different requirements, which are determined by the modeling features crucial for the TD information model. The table below provides a summary of the analyzed tools according to the defined requirements. -| Requirement \| Tool | LinkML | TreeLDR | ESMF | A.ML | Schema Salad | SOML | WIDOCO | -|-------------------------|----------|----------|----------|----------|--------------|----------|----------| -| Language | Python | Rust | Java | Scala | Python | NG | Java | -| Object/Dict Support | | | | | | | | -| Condition Check | | | | | | | | -| Array Support | O | O | O | O | O | O | X | -| One of | O | O | X | O | O | X | X | -| Type/Type[] | X | X | X | X | X | X | X | -| Inheritance | O | O | O | O | O | O | X | -| Unknown object keys | O | X | X | O | X | X | X | -| Pattern Matching | O | O | O | O | X | O | X | -| JSON Schema Generation | O | O | O | X | X | X | X | -| SHACL Shapes Generation | O | X | X | X | X | X | X | -| Term Documentation | O | X | X | X | O | X | O | -| Diagram Generation | O | X | O | X | O | X | O | -| Prog. Lang. Gen. | | | | | | | | -| Extensibility | | | | | | | | +| Requirement \| Tool | LinkML | TreeLDR | ESMF | A.ML | Schema Salad | SOML | WIDOCO | +| ----------------------- | ------ | ------- | ---- | ----- | ------------ | ---- | ------ | +| Language | Python | Rust | Java | Scala | Python | NG | Java | +| Object/Dict Support | O | | | | | | | +| Condition Check | | | | | | | | +| Array Support | O | O | O | O | O | O | X | +| One of | O | O | X | O | O | X | X | +| Type/Type[] | X | X | X | X | X | X | X | +| Inheritance | O | O | O | O | O | O | X | +| Unknown object keys | O | X | X | O | X | X | X | +| Pattern Matching | O | O | O | O | X | O | X | +| JSON Schema Generation | O | O | O | X | X | X | X | +| SHACL Shapes Generation | O | X | X | X | X | X | X | +| Term Documentation | O | X | X | X | O | X | O | +| Diagram Generation | O | X | O | X | O | X | O | +| Prog. Lang. Gen. | O | | | | | | | +| Extensibility | O | | | | | | | Explanations: @@ -33,9 +33,9 @@ Explanations: - Inheritance: A class inheriting another one and thus copying all its properties. E.g. property affordance inheriting data schema - Unknown object keys: An object whose property keys are not defined by the model. E.g. all affordance names, securityDefinition keys. - Pattern Matching: A string value with a regex pattern. E.g. `tm:optional` being restricted to affordance names only. -- JSON Schema Generation: -- SHACL Shapes Generation: -- Term Documentation: -- Diagram Generation: -- Prog. Lang. Gen.: -- Extensibility: +- JSON Schema Generation: Generation of JSON Schemas to validate TD and TM instances. +- SHACL Shapes Generation: SHACL Shapes to validate TDs which are serialized into RDF Graphs. +- Term Documentation: Human-readable text to help understanding of terms +- Diagram Generation: UML Class diagrams to help illustrate the information model +- Prog. Lang. Gen.: Generation of assets for various programming languages such as types in TypeScript. +- Extensibility: Extending the tool to offer other output formats in the future.