No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
context rename mediaType to type in Link class and mediaType to contenttype i… Oct 20, 2018
ontology update wording description for input and output in action Oct 20, 2018
proposals/simplified-td Fixes May 23, 2018
publication/wd3 21 Oct. 2018 as the pubdate Oct 21, 2018
td-core-model update TD model Oct 15, 2018
test-bed add comparison for Prague PlugFest Apr 13, 2018
testing regen index.html and testing/plan.html Sep 6, 2018
validation update schema to type and contenttype Oct 20, 2018
.gitignore chore: initial .gitignore Feb 3, 2018 Code of Conduct Sep 26, 2018 Adding baseline Feb 14, 2017 Adding baseline Feb 14, 2017
Overview.html 21 Oct. 2018 as the pubdate Oct 21, 2018 initial framework Jul 20, 2018
assertions.js add title Jul 26, 2018
class.template Merge branch 'master' into td4lyon Oct 21, 2018
diff.html 21 Oct. 2018 as the pubdate Oct 21, 2018
discovery_repository.png add missing figures after copying the content from current practices … May 16, 2017
index.html refresh index.html Oct 21, 2018
index.html.template.html rename mediaType to type in Link class and mediaType to contenttype i… Oct 20, 2018
package-lock.json fix merge issue Jul 27, 2018
package.json Merge branch 'master' of Sep 7, 2018
render.js "anyType" in the type column of DataSchema section should not have a Oct 8, 2018
vocabulary.template Recovered informal references. Oct 8, 2018
w3c.json Config Oct 18, 2018

Specification 'Web of Things (WoT) Thing Description'

Each commit here will sync it to the master, which will expose the content to

To make contributions, please provide pull-requests to the html file, see github help.


Part of the document is automatically rendered using the Dust.js HTML template engine and Node.js. To render it, run:

npm install
npm run render

Normative Assertions

To extract a list of normative assertions, e.g. for organizing testing, issue the following command:

npm run assertions

A table of assertions will be generated and output to testing/assertions.html which will use relative links back up to index.html. The input to this process is index.html (not index.html.template) so make sure to execute npm run render first.

For this to work, the assertions need to be marked up as in the following examples and follow RFC2119 conventions:

<span class="rfc2119-assertion" id="additional-vocabularies">
  JSON TD MAY contain additional optional vocabularies that are 
  not in the Thing Description core model.
<span class="rfc2119-assertion" id="additional-vocabularies-prefix">
  Terms from additional optional vocabularies used in a JSON-TD MUST 
  carry a prefix for identification within the key name
  (e.g., <tt>"http:header"</tt>).

The assertions must be marked up as follows:

  • Enclose each assertion in a span.
  • Mark the span with unique id. It is recommended that the section id be followed by a short name for the specific assertion.
  • Mark the span with a 'class' attribute set to rfc2119-assertion.
  • Include one (and only one) instance of the RFC2119 keywords (MUST, MAY, etc.) in capitals. This markup does not change the rendering; it just clearly indicates and uniquely names the assertion.

It is strongly recommended to make assertions independent of context. In particular, avoid using pronouns or relational expressions referring to previous statements not included in the assertion. Such references can always be replaced with their antecendent ("dereferenced") without changing the meaning, and this is less ambigious anyway. For example, instead of using "this serialization", use "a JSON-TD serialization".