Skip to content

Commit

Permalink
introduce observeAllProperties and unobserveAllProperties
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastiankb committed Dec 23, 2020
1 parent 0f73bee commit 5ac3b21
Show file tree
Hide file tree
Showing 10 changed files with 590 additions and 561 deletions.
17 changes: 11 additions & 6 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1230,8 +1230,9 @@ <h2>Core Vocabulary Definitions</h2>
"MUST">MUST</em> be one of the following <em>operation
types</em>: <code>readallproperties</code>,
<code>writeallproperties</code>,
<code>readmultipleproperties</code>, or
<code>writemultipleproperties</code>.</span> (See
<code>readmultipleproperties</code>,
<code>writemultipleproperties</code>, <code>observeallproperties</code>, or
<code>unobserveallproperties</code>.</span> (See
<a href="#td-forms-readall-example">an example</a> for an
usage of <code>form</code> in a Thing instance.)</p>
<p>The data schema for each of these meta-interactions is
Expand Down Expand Up @@ -1435,10 +1436,10 @@ <h2>Data Schema Vocabulary Definitions</h2>
information based on a default language.</td><td>optional</td><td><a href="http://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/#string"><code>string</code></a></td></tr>
<tr class="rfc2119-table-assertion" id="td-vocab-descriptions--DataSchema"><td><code>descriptions</code></td><td>Can be used to support (human-readable)
information in different languages. Also see <cite><a href='#multilanguage'>MultiLanguage</a></cite>.</td><td>optional</td><td><a>Map</a> of <a href="http://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/#string"><code>string</code></a></td></tr>
<tr class="rfc2119-table-assertion" id="td-vocab-const--DataSchema"><td><code>const</code></td><td>Provides a constant value.</td><td>optional</td><td>any type</td></tr>
<tr class="rfc2119-table-assertion" id="td-vocab-unit--DataSchema"><td><code>unit</code></td><td>Provides unit information that is used, e.g.,
in international science, engineering, and
business.</td><td>optional</td><td><a href="http://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/#string"><code>string</code></a> or <a>Array</a> of <a href="http://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/#string"><code>string</code></a></td></tr>
<tr class="rfc2119-table-assertion" id="td-vocab-const--DataSchema"><td><code>const</code></td><td>Provides a constant value.</td><td>optional</td><td>any type</td></tr>
<tr class="rfc2119-table-assertion" id="td-vocab-oneOf--DataSchema"><td><code>oneOf</code></td><td>Used to ensure that the data is valid against
one of the specified schemas in the array.</td><td>optional</td><td><a>Array</a> of <a href="#dataschema"><code>DataSchema</code></a></td></tr>
<tr class="rfc2119-table-assertion" id="td-vocab-enum--DataSchema"><td><code>enum</code></td><td>Restricted set of values provided as an
Expand Down Expand Up @@ -1772,7 +1773,7 @@ <h2>Hypermedia Controls Vocabulary Definitions</h2>
the correct form for the operation required. op can
be assigned one or more interaction verb(s) each
representing a semantic intention of an
operation.</td><td>optional</td><td>any type (one of <code>readproperty</code>, <code>writeproperty</code>, <code>observeproperty</code>, <code>unobserveproperty</code>, <code>invokeaction</code>, <code>subscribeevent</code>, <code>unsubscribeevent</code>, <code>readallproperties</code>, <code>writeallproperties</code>, <code>readmultipleproperties</code>, or <code>writemultipleproperties</code>)</td></tr></tbody></table><p>Possible values for the <code>contentCoding</code>
operation.</td><td>optional</td><td>any type (one of <code>readproperty</code>, <code>writeproperty</code>, <code>observeproperty</code>, <code>unobserveproperty</code>, <code>invokeaction</code>, <code>subscribeevent</code>, <code>unsubscribeevent</code>, <code>readallproperties</code>, <code>writeallproperties</code>, <code>readmultipleproperties</code>, <code>writemultipleproperties</code>, <code>observeAllProperties</code>, or <code>unobserveAllProperties</code>)</td></tr></tbody></table><p>Possible values for the <code>contentCoding</code>
property can be found, e.g., in the <a href=
"https://www.iana.org/assignments/http-parameters/http-parameters.xhtml#content-coding">
IANA HTTP content coding registry</a>.</p>
Expand Down Expand Up @@ -5451,7 +5452,9 @@ <h1>JSON Schema for TD Instance Validation</h1>
"readallproperties",
"writeallproperties",
"readmultipleproperties",
"writemultipleproperties"
"writemultipleproperties",
"observeallproperties",
"unobserveallproperties"
]
},
{
Expand All @@ -5462,7 +5465,9 @@ <h1>JSON Schema for TD Instance Validation</h1>
"readallproperties",
"writeallproperties",
"readmultipleproperties",
"writemultipleproperties"
"writemultipleproperties",
"observeallproperties",
"unobserveallproperties"
]
}
}
Expand Down
14 changes: 8 additions & 6 deletions ontology/td.html
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ <h2>Terminology</h2>
<section><h2>Axiomatization</h2><section><h3>Classes</h3><section><h4>ActionAffordance</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#ActionAffordance</code></p><span>An Interaction Affordance that allows to invoke a function of the Thing, which manipulates state (e.g., toggling a lamp on or off) or triggers a process on the Thing (e.g., dim a lamp over time).</span><table class="def"><tbody><tr><td>Sub-class of</td><td><code><a href="#interactionaffordance">td:InteractionAffordance</a></code></td></tr><tr><td>In the domain of</td><td><code><a href="#hasinputschema">td:hasInputSchema</a></code><br><code><a href="#hasoutputschema">td:hasOutputSchema</a></code><br><code><a href="#isidempotent">td:isIdempotent</a></code><br><code><a href="#issafe">td:isSafe</a></code></td></tr><tr><td>In the range of</td><td><code><a href="#hasactionaffordance">td:hasActionAffordance</a></code></td></tr></tbody></table></section>
<section><h4>EventAffordance</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#EventAffordance</code></p><span>An Interaction Affordance that describes an event source, which asynchronously pushes event data to Consumers (e.g., overheating alerts).</span><table class="def"><tbody><tr><td>Sub-class of</td><td><code><a href="#interactionaffordance">td:InteractionAffordance</a></code></td></tr><tr><td>In the domain of</td><td><code><a href="#hascancellationschema">td:hasCancellationSchema</a></code><br><code><a href="#hasnotificationschema">td:hasNotificationSchema</a></code><br><code><a href="#hassubscriptionschema">td:hasSubscriptionSchema</a></code></td></tr><tr><td>In the range of</td><td><code><a href="#haseventaffordance">td:hasEventAffordance</a></code></td></tr></tbody></table></section>
<section><h4>InteractionAffordance</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#InteractionAffordance</code></p><span>Metadata of a Thing that shows the possible choices to Consumers, thereby suggesting how Consumers may interact with the Thing. There are many types of potential affordances, but W3C WoT defines three types of Interaction Affordances: Properties, Actions, and Events.</span><table class="def"><tbody><tr><td>Super-class of</td><td><code><a href="#actionaffordance">td:ActionAffordance</a></code><br><code><a href="#eventaffordance">td:EventAffordance</a></code><br><code><a href="#propertyaffordance">td:PropertyAffordance</a></code></td></tr><tr><td>In the domain of</td><td><code><a href="#hasform">td:hasForm</a></code><br><code><a href="#hasuritemplateschema">td:hasUriTemplateSchema</a></code><br><code><a href="#name">td:name</a></code></td></tr><tr><td>In the range of</td><td><code><a href="#hasinteractionaffordance">td:hasInteractionAffordance</a></code></td></tr></tbody></table></section>
<section><h4>OperationType</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#OperationType</code></p><span>Enumeration of well-known operation types necessary to implement the WoT interaction model</span><table class="def"><tbody><tr><td>Enumeration members</td><td><code><a href="#invokeaction">td:invokeAction</a></code><br><code><a href="#observeproperty">td:observeProperty</a></code><br><code><a href="#readallproperties">td:readAllProperties</a></code><br><code><a href="#readmultipleproperties">td:readMultipleProperties</a></code><br><code><a href="#readproperty">td:readProperty</a></code><br><code><a href="#subscribeevent">td:subscribeEvent</a></code><br><code><a href="#unobserveproperty">td:unobserveProperty</a></code><br><code><a href="#unsubscribeevent">td:unsubscribeEvent</a></code><br><code><a href="#writeallproperties">td:writeAllProperties</a></code><br><code><a href="#writemultipleproperties">td:writeMultipleProperties</a></code><br><code><a href="#writeproperty">td:writeProperty</a></code></td></tr></tbody></table></section>
<section><h4>OperationType</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#OperationType</code></p><span>Enumeration of well-known operation types necessary to implement the WoT interaction model</span><table class="def"><tbody><tr><td>Enumeration members</td><td><code><a href="#invokeaction">td:invokeAction</a></code><br><code><a href="#observeallbserveproperties">td:observeAllbserveProperties</a></code><br><code><a href="#observeproperty">td:observeProperty</a></code><br><code><a href="#readallproperties">td:readAllProperties</a></code><br><code><a href="#readmultipleproperties">td:readMultipleProperties</a></code><br><code><a href="#readproperty">td:readProperty</a></code><br><code><a href="#subscribeevent">td:subscribeEvent</a></code><br><code><a href="#unobserveallproperties">td:unobserveAllProperties</a></code><br><code><a href="#unobserveproperty">td:unobserveProperty</a></code><br><code><a href="#unsubscribeevent">td:unsubscribeEvent</a></code><br><code><a href="#writeallproperties">td:writeAllProperties</a></code><br><code><a href="#writemultipleproperties">td:writeMultipleProperties</a></code><br><code><a href="#writeproperty">td:writeProperty</a></code></td></tr></tbody></table></section>
<section><h4>PropertyAffordance</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#PropertyAffordance</code></p><span>An Interaction Affordance that exposes state of the Thing. This state can then be retrieved (read) and optionally updated (write). Things can also choose to make Properties observable by pushing the new state after a change.</span><table class="def"><tbody><tr><td>Sub-class of</td><td><code><a href="#interactionaffordance">td:InteractionAffordance</a></code></td></tr><tr><td>In the domain of</td><td><code><a href="#isobservable">td:isObservable</a></code></td></tr><tr><td>In the range of</td><td><code><a href="#haspropertyaffordance">td:hasPropertyAffordance</a></code></td></tr></tbody></table></section>
<section><h4>Thing</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#Thing</code></p><span>An abstraction of a physical or a virtual entity whose metadata and interfaces are described by a WoT Thing Description, whereas a virtual entity is the composition of one or more Things.</span><table class="def"><tbody><tr><td>In the domain of</td><td><code><a href="#hasform">td:hasForm</a></code><br><code><a href="#hasinteractionaffordance">td:hasInteractionAffordance</a></code><br><code><a href="#hassecurityconfiguration">td:hasSecurityConfiguration</a></code></td></tr></tbody></table></section></section><section><h3>Object Properties</h3><section><h4>hasActionAffordance</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#hasActionAffordance</code></p><span>All Action-based interaction affordance of the Thing.</span><table class="def"><tbody><tr><td>Range includes</td><td><code><a href="#actionaffordance">td:ActionAffordance</a></code></td></tr></tbody></table></section>
<section><h4>hasCancellationSchema</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#hasCancellationSchema</code></p><span>Defines any data that needs to be passed to cancel a subscription, e.g., a specific message to remove a Webhook</span><table class="def"><tbody><tr><td>Domain includes</td><td><code><a href="#eventaffordance">td:EventAffordance</a></code></td></tr></tbody></table></section>
Expand All @@ -118,16 +118,18 @@ <h2>Terminology</h2>
<section><h4>isObservable</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#isObservable</code></p><span>A hint that indicates whether Servients hosting the Thing and Intermediaries should provide a Protocol Binding that supports the <code>observeproperty</code> and <code>unobserveproperty</code> operations for this Property.</span><table class="def"><tbody><tr><td>Domain includes</td><td><code><a href="#propertyaffordance">td:PropertyAffordance</a></code></td></tr><tr><td>Range includes</td><td><code><a href="http://schema.org/Boolean">schema:Boolean</a></code></td></tr></tbody></table></section>
<section><h4>isSafe</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#isSafe</code></p><span>Signals if the action is safe (=true) or not. Used to signal if there is no internal state (cf. resource state) is changed when invoking an Action. In that case responses can be cached as example.</span><table class="def"><tbody><tr><td>Domain includes</td><td><code><a href="#actionaffordance">td:ActionAffordance</a></code></td></tr><tr><td>Range includes</td><td><code><a href="http://schema.org/Boolean">schema:Boolean</a></code></td></tr></tbody></table></section>
<section><h4>name</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#name</code></p><span>Indexing property to store entity names when serializing them in a JSON-LD @index container.</span><table class="def"><tbody><tr><td>Domain includes</td><td><code><a href="#interactionaffordance">td:InteractionAffordance</a></code></td></tr><tr><td>Range includes</td><td><code><a href="http://schema.org/Text">schema:Text</a></code></td></tr></tbody></table></section></section><section><h3>Named Individuals</h3><section><h4>invokeAction</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#invokeAction</code></p><span>Operation type of forms used to read a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>observeProperty</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#observeProperty</code></p><span>Operation type of forms used to read a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>readAllProperties</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#readAllProperties</code></p><span>Operation type of forms used to read a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>observeAllbserveProperties</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#observeAllbserveProperties</code></p><span>Operation type of forms used to observe all property values</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>observeProperty</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#observeProperty</code></p><span>Operation type of forms used to observe a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>readAllProperties</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#readAllProperties</code></p><span>Operation type of forms used to read all property values</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>readMultipleProperties</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#readMultipleProperties</code></p><span>Operation type of forms used to read a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>readProperty</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#readProperty</code></p><span>Operation type of forms used to read a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>subscribeEvent</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#subscribeEvent</code></p><span>Operation type of forms used to read a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>unobserveProperty</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#unobserveProperty</code></p><span>Operation type of forms used to read a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>unobserveAllProperties</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#unobserveAllProperties</code></p><span>Operation type of forms used to unobserve all property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>unobserveProperty</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#unobserveProperty</code></p><span>Operation type of forms used to unobserve a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>unsubscribeEvent</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#unsubscribeEvent</code></p><span>Operation type of forms used to read a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>writeAllProperties</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#writeAllProperties</code></p><span>Operation type of forms used to read a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>writeMultipleProperties</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#writeMultipleProperties</code></p><span>Operation type of forms used to read a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>writeProperty</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#writeProperty</code></p><span>Operation type of forms used to read a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section></section></section>
<section><h4>writeMultipleProperties</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#writeMultipleProperties</code></p><span>Operation type of forms used to write a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section>
<section><h4>writeProperty</h4><p>IRI: <code>https://www.w3.org/2019/wot/td#writeProperty</code></p><span>Operation type of forms used to write a property value</span><table class="def"><tbody><tr><td>Instance of</td><td><code><a href="#operationtype">td:OperationType</a></code></td></tr></tbody></table></section></section></section>

<section>
<h2>Alignments</h2>
Expand Down
Loading

0 comments on commit 5ac3b21

Please sign in to comment.