WoT Architecture

14 January 2021


Cristiano_Aguzzi, Daniel_Peintner, Kaz_Ashimura, Michael_Koster, Michael_Lagally Michael_McCool, Ryuichi_Matsukura, Sebastian_Kaebisch, Tomoaki_Mizushima

Meeting minutes


Lagally: (goes through the agenda)

Prev minutes


Lagally: (goes through the minutes)
… was a clean-up call
… any concerns?




Lagally: we started discussion during the main call yesterday, Jan 14

Issue 453

Lagally: would be great if somebody could generate a MR for this

McCool: we have to think about if partial TD should include mathematical definition
… whether regular TD is also a partial TD or not

Cristiano: wondering about the relationship with "TD fragment"

Lagally: let's start with "Partial TD" first and then talk about "TD fragment" later

Daniel: wondering about "Thing Model" as well
… what is what
… and what is subset of what

Lagally: (shows the terminology section of the Architecture ED)

3. Terminology

Lagally: there is a definition for "Thing Model"

<mlagally> https://w3c.github.io/wot-architecture/#terminology


Thing Model

A Thing Model is a description for a class of Things that have the same capabilities. It describes the Properties, Actions, and Events and common metadata that are shared for an entire group of Things. Compared to a Thing Description, a Thing Model does not contain enough information to identify or interact with a Thing instance.


McCool: how to relax the restriction?

Lagally: here we made some definition for "Thing Model"
… Compared to a Thing Description, a Thing Model does not contain enough information to identify or interact with a Thing instance.
… Thing Model is some kind of data model we define by the Thing Description spec

McCool: partial TD is just relaxing the requirements for TD
… compared to a full TD

(some more discussion)

McCool: we need to look into use cases

Lagally: partial TD is used for the Scripting API

Daniel: I did mention that, but Cristiano may have a bit different view

Kaz: I also think we should continue the discussion based on some concrete use cases with some concrete TD (or partial TD or TD fragment or TD model)

Lagally: that's correct

Lagally: and would like to see the difference with each other

Cristiano: TD fragment is a piece of TD

Lagally: (adds Cristiano's point to the issue comment)
… TD fragment is...

McCool: to me, TD fragment is a piece of insight

Lagally: (adds comments)
… TD fragment is a substructure of the data model of a TD
… in JSON representation it could be just an inner structure omitting outer elements, curly braces, etc.

McCool: it's still a valid as JSON

Lagally: valid JSON, however could be just an inner structure omitting outer elements

<Zakim> dape, you wanted to illustrate scripting example

Daniel: wanted to show some example


Lagally: it's not a TD fragment but partial TD. right?

Daniel: yes


count: {

  type: "integer",

  description: "current counter value",

  descriptions: {


      "en": "current counter value",

      "de": "Derzeitiger Zähler Stand",

      "it": "valore attuale del contatore"


    "iot:Custom": "example annotation",

    observable: true,

    readOnly: true




Lagally: it's a valid object structure can be validated

McCool: yes
… and valid JSON syntactically

Lagally: we need some additional constraints for this definition

McCool: we have big discussion for Discovery about this
… TD fragment is useful for Discovery results
… do we have any additional constraints?

Lagally: anyway it's validatable

McCool: possibly missing parts there

Lagally: (adds some clarification)
… (and also shows the TD Editor's Draft)

ED of TD spec

Lagally: constraints with the TD Information Model?

Cristiano: we could say constraints with the JSON Schema

Lagally: TD fragment is useful for Discovery results

McCool: results returned by a JSON Path query

Lagally: (adds that point to the Issue comment)

McCool: maybe we could make that part of the note a use case

Lagally: fine with that use caes?

Kaz: yes
… and nicer to have an actual TD fragment example as well

McCool: we could borrow that from Farshid's description

Lagally: (shows the Discovery ED) Syntactic search: JSONPath

McCool: ah, we need to expand that section to include the example

Lagally: (also shows the terminology section)

3. Terminology from the WoT Discovery ED


Partial TD

A data model partially conformant to the Thing Description schema by including only a subset of the attributes.


sk: don't like the term of "attributes" there
… would be better to say "information model", etc.

McCool: partially conformant is a bit ambiguous
… conformant to the entire information model
… or subset of the information model

Lagally: ok
… let's remove "partially" from the definition here
… (adds some more clarification to the definition of "Partial TD")
… subset of a TD information model which doesn't require all mandatory eleents of the TD.
… It is including only a subset of the terms of the TD information model
… A data model conformant to the TD schema can be validated by alidating th subet of elements that are present.
… (adds a note)
… when seralized a partial TD includes all outer elements of a TD but may omit internal elements.

Lagally: a partial TD is used for the Scripting API
… need examples from the Scripting API and the Discovery specs

<McCool> (have to drop, sorry...)

updated comments including the draft definitions

Kaz: I'm OK with the above draft definitions
… but maybe we could think about "what can be omitted from the entire TD information model for "Partial TD" and "TD Fragment"
… for example, the SSML 1.1 spec had a definition for "Fragments" by mentioning namespace definitions (other than xml:lang and xml: base) can be omitted

SSML 1.1 - 2.2.1 Conforming Speech Synthesis Markup Language Fragments

Kaz: anyway, we need to continue the discussion about the definitions based on actual use cases and examples


Minutes manually created (not a transcript), formatted by scribe.perl version 127 (Wed Dec 30 17:39:58 2020 UTC).