diff --git a/publication/ver11/6-pr/diff.html b/publication/ver11/6-pr/diff.html index 2d25213d..8459fb7a 100644 --- a/publication/ver11/6-pr/diff.html +++ b/publication/ver11/6-pr/diff.html @@ -1,10 +1,14 @@ - -
- - - - - - + + - + + -
-
-
+
+
+
+
+
-
+
W3C
-
-
+
Copyright
-
+
©
2017-2023
-
+
World
Wide
Web
Consortium
-.
-
+.
W3C
-
-
+
®
-
-
+
liability
-,
-
+,
trademark
-
+
and
-
+
permissive
document
license
-
+
rules
apply.
-
-Web
+
+Web
of
Things
(WoT)
Thing
Description
1.1
-
-Candidate
-
-Proposed
-
+Proposed
Recommendation
-Snapshot
-
-
-19
-January
-
-
+
More
details
about
this
document
-
-
-
-https://www.w3.org/TR/2023/CR-wot-thing-description11-20230119/
-
-
-https://www.w3.org/TR/2023/PR-wot-thing-description11-20230607/
-
-
-
-
+
+
This
document
describes
@@ -888,14 +840,14 @@
and
interfaces
of
-
+
Things
-,
+,
where
a
-
+
Thing
-
+
is
an
abstraction
@@ -969,9 +921,9 @@
represent
knowledge
about
-
+
Things
-
+
in
a
machine-understandable
@@ -985,18 +937,18 @@
hosted
by
the
-
+
Thing
-
+
itself
or
hosted
externally
when
a
-
+
Thing
-
+
has
resource
restrictions
@@ -1068,8 +1020,7 @@
specific
communication
metadata.
-
+
This
specification
describes
@@ -1084,14 +1035,9 @@
Description
1.0
[
-
-
+WOT-THING-DESCRIPTION10
+
].
Unless
otherwise
@@ -1110,17 +1056,12 @@ WOT-THING-DESCRIPTION
-
-
-WOT-THING-DESCRIPTION10
-
-
-
+
Thing
Description
1.1.
-
-
+
This
section
describes
@@ -1139,9 +1080,9 @@
-
list
of
current
-
+
W3C
-
+
publications
and
the
@@ -1156,226 +1097,27 @@
found
in
the
-
-
+
W3C
-
+
technical
reports
index
-
+
at
https://www.w3.org/TR/.
-
-At
-the
-time
-of
-CR
-transition,
-due
+
The
Web
of
@@ -1391,9 +1133,9 @@
consideration
as
a
-
+
W3C
-
+
Proposed
Recommendation
after
@@ -1451,102 +1193,50 @@
statements,
as
appropriate.
-
+
This
document
was
published
by
the
-
+
Web
of
Things
Working
Group
-
+
as
a
-Candidate
-
-Proposed
-
+Proposed
Recommendation
-Snapshot
-
using
the
-
+
Recommendation
track
-.
-
+.
Publication
as
a
-Candidate
-
-Proposed
-
+Proposed
Recommendation
does
not
imply
endorsement
by
-
+
W3C
-
+
and
its
Members.
-A
-Candidate
-Recommendation
-Snapshot
-has
-received
-wide
-review
-,
-is
-intended
-to
-gather
-implementation
-experience
-,
-and
-has
-commitments
-from
-Working
-Group
-members
-to
-royalty-free
-licensing
-for
-implementations.
-
-
+
This
-Candidate
-Recommendation
-
is
-not
-expected
-to
-advance
-to
-Proposed
-Recommendation
-
-a
+a
draft
document
and
@@ -1560,11 +1250,8 @@
other
documents
at
-
any
-earlier
-
-time.
+time.
It
is
inappropriate
@@ -1574,19 +1261,15 @@
document
as
other
-
than
-16
-February
-
-work
+work
in
progress.
-
+
The
-
+
W3C
-
+
Membership
and
other
@@ -1602,17 +1285,16 @@
send
comments
through
-07
-June
-
+10
+July
2023.
-Advisory
+Advisory
Committee
Representatives
should
consult
their
-
+
WBS
questionnaires
.
@@ -1631,12 +1313,10 @@
period
that
ended
-13
-June
-2019.
-
-
+16 +February +2023. +
This
document
was
@@ -1647,26 +1327,24 @@
operating
under
the
-
-
+
W3C
-
+
Patent
Policy
-.
-
+.
W3C
-
+
maintains
a
-
+
public
list
of
any
patent
disclosures
-
+
made
in
connection
@@ -1699,10 +1377,10 @@
individual
believes
contains
-
+
Essential
Claim(s)
-
+
must
disclose
the
@@ -1710,1392 +1388,725 @@
in
accordance
with
-
+
section
6
of
the
-
+
W3C
-
+
Patent
Policy
-.
-
+.
This document is governed by the - + 2 November 2021 - + W3C - + Process Document -. -
-- +
This section is non-normative. - -
-+
The
WoT
Thing
@@ -3277,9 +2209,9 @@
block
in
the
-
+
W3C
-
+
Web
of
Things
@@ -3294,15 +2226,15 @@
point
of
a
-
+
Thing
-
+
(much
like
the
-
+
index.html
-
+
of
a
Web
@@ -3318,45 +2250,45 @@
metadata
about
the
-
+
Thing
-
+
itself,
a
set
of
-
+
Interaction
Affordances
-
+
that
indicate
how
the
-
+
Thing
-
+
can
be
used,
-
+
schemas
-
+
for
the
data
exchanged
with
the
-
+
Thing
-
+
for
machine-understandability,
-
+
Security
Definitions
-
+
to
provide
metadata
@@ -3372,10 +2304,10 @@
interactions,
and,
finally,
-
+
Web
links
-
+
to
express
any
@@ -3385,41 +2317,38 @@
relation
to
other
-
+
Things
-
+
or
documents
on
the
Web.
-
+
The
-
+
Interaction
Model
-
+
of
-
+
W3C
-
+
WoT
defines
three
types
of
-
+
Interaction
Affordances
-:
+:
Properties
(
-
-
+
PropertyAffordance
-
-
+
class)
can
be
@@ -3442,11 +2371,9 @@
state.
Actions
(
-
-
+
ActionAffordance
-
-
+
class)
model
invocation
@@ -3470,11 +2397,9 @@
platforms.
Events
(
-
-
+
EventAffordance
-
-
+
class)
are
used
@@ -3500,16 +2425,13 @@
receiver.
See
[
-
-
+
wot-architecture11
-
-
+
]
for
details.
-
+
In
general,
the
@@ -3518,35 +2440,30 @@
metadata
for
different
-
+
Protocol
Bindings
-
+
identified
by
URI
schemes
[
-
-
+
RFC3986
-
-
+
]
(e.g.,
-
+
http
-
,
-
+
,
coap
-
,
+,
etc.
[
-
-
+
IANA-URI-SCHEMES
-
-
+
]),
content
types
@@ -3555,32 +2472,25 @@
media
types
[
-
-
+
RFC2046
-
-
+
]
(e.g.,
-
+
application/json
-
,
-
+
,
application/xml
-
,
-
+
,
application/cbor
-
,
-
+
,
application/exi
-
,
+,
etc.
[
-
-
+
IANA-MEDIA-TYPES
-
-
+
]),
and
security
@@ -3599,11 +2509,9 @@
on
JSON
[
-
-
+
RFC8259
-
-
+
],
where
JSON
@@ -3635,11 +2543,9 @@
JSON-LD
1.1
[
-
-
+
JSON-LD11
-
-
+
]
to
enable
@@ -3648,12 +2554,10 @@
rich
semantic
processing.
-
- +
Example
1
-
+
shows
a
TD
@@ -3661,10 +2565,10 @@
and
illustrates
the
-
+
Interaction
Model
-
+
with
Properties,
Actions,
@@ -3674,63 +2578,60 @@
describing
a
lamp
-
+
Thing
-
+
with
the
title
-
+
MyLampThing
-.
-
+
From
this
TD
@@ -3740,16 +2641,16 @@
there
exists
one
-
+
Property
affordance
-
+
with
the
title
-
+
status
-.
+.
In
addition,
information
@@ -3777,21 +2678,21 @@
at
the
URI
-
+
https://mylamp.example.com/status
-
+
(announced
within
the
-
+
forms
-
+
structure
by
the
-
+
href
-
+
member),
and
will
@@ -3821,17 +2722,16 @@
by
this
document.
-
+
In
a
similar
manner,
an
-
+
Action
affordance
-
+
is
specified
to
@@ -3845,9 +2745,9 @@
method
on
the
-
+
https://mylamp.example.com/toggle
-
+
resource,
where
POST
@@ -3859,13 +2759,12 @@
for
invoking
Actions.
-
+
The
-
+
Event
affordance
-
+
enables
a
mechanism
@@ -3877,9 +2776,9 @@
sent
by
a
-
+
Thing
-.
+.
Here,
a
subscription
@@ -3906,19 +2805,17 @@
polling
subprotocol
on
-
+
https://mylamp.example.com/oh
-
.
-
+.
This
example
also
specifies
the
-
+
basic
-
+
security
scheme,
requiring
@@ -3939,9 +2836,9 @@
a
name
in
-
+
securityDefinitions
-
+
and
then
activated
@@ -3951,9 +2848,9 @@
name
in
a
-
+
security
-
+
section.
In
combination
@@ -4015,9 +2912,9 @@
given
at
the
-
+
Thing
-
+
level,
allowing
for
@@ -4035,9 +2932,9 @@
use
a
special
-
+
nosec
-
+
security
scheme
to
@@ -4055,8 +2952,7 @@
be
provided
later.
-
+
The
Thing
Description
@@ -4125,14 +3021,14 @@
declared
in
the
-
+
forms
-
+
field.
-
+
Example
2
-
+
extends
the
TD
@@ -4147,32 +3043,30 @@
definition
in
the
-
+
@context
-
+
to
declare
the
prefix
-
+
saref
-
+
as
referring
to
-
+
SAREF
-,
+,
the
-Smart Appliance
+Smart Appliance
Reference
Ontology
[
-
-
+
SMARTM2M
-
-
+
].
This
IoT
@@ -4191,72 +3085,64 @@
values
of
the
-
+
@type
-
+
field,
giving
the
semantics
of
-
+
Things
-
+
and
their
-
+
Interaction
Affordances
-.
+.
In
the
example
below,
the
-
+
Thing
-
+
is
labelled
with
-
+
saref:LightSwitch
-
,
+,
the
-
+
status
-
-
+
Property
-
+
is
labelled
with
-
+
saref:OnOffState
-
+
and
the
-
+
toggle
-
-
+
Action
-
+
with
-
+
saref:ToggleCommand
-
.
-
{
- "@context": [
- "https://www.w3.org/2022/wot/td/v1.1",
- { "saref": "https://w3id.org/saref#" }
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ { "saref": "https://w3id.org/saref#" }
],
- "id": "urn:uuid:300f4c4b-ca6b-484a-88cf-fd5224a9a61d",
- "title": "MyLampThing",
- "@type": "saref:LightSwitch",
- "securityDefinitions": {
- "basic_sc": {"scheme": "basic", "in": "header"}
+ "id":
+"hljs-string">"urn:uuid:300f4c4b-ca6b-484a-88cf-fd5224a9a61d",
+ "title":
+"hljs-string">"MyLampThing",
+ "@type":
+"hljs-string">"saref:LightSwitch",
+ "securityDefinitions": { "basic_sc": {
+"hljs-attr">"scheme": "basic", "in": "header"}
},
- "security": "basic_sc",
- "properties": {
- "status": {
- "@type": "saref:OnOffState",
- "type": "string",
- "forms": [{
- "href": "https://mylamp.example.com/status"
+ "security":
+"hljs-string">"basic_sc",
+ "properties": { "status": { "@type":
+"hljs-string">"saref:OnOffState",
+ "type":
+"hljs-string">"string",
+ "forms": [{ "href":
+"hljs-string">"https://mylamp.example.com/status"
}]
}
},
- "actions": {
- "toggle": {
- "@type": "saref:ToggleCommand",
- "forms": [{
- "href": "https://mylamp.example.com/toggle"
+ "actions": { "toggle": { "@type":
+"hljs-string">"saref:ToggleCommand",
+ "forms": [{ "href":
+"hljs-string">"https://mylamp.example.com/toggle"
}]
}
},
- "events": {
- "overheating": {
- "data": {"type": "string"},
- "forms": [{
- "href": "https://mylamp.example.com/oh"
+ "events": { "overheating": { "data": {
+"hljs-attr">"type": "string"},
+ "forms": [{ "href":
+"hljs-string">"https://mylamp.example.com/oh"
}]
}
}
}
-
-
-+
The
declaration
mechanism
inside
some
-
+
@context
-
+
is
specified
by
@@ -4333,11 +3219,9 @@
that
specification
[
-
-
+
json-ld11
-
-
+
].
Hence,
a
@@ -4360,17 +3244,13 @@
refer
to
Appendix
-
-
-
+D.
+
JSON-LD
Context
Usage
-
+
and
the
documentation
@@ -4379,25 +3259,16 @@ C.
-
-D.
-
-
+
namespace
IRIs,
e.g.,
-
+
https://www.w3.org/2019/wot/td
-
+
).
-
+
One
of
the
@@ -4405,17 +3276,17 @@
intentions
of
a
-
+
Thing
Description
-
+
is
to
provide
a
-
+
Consumer
-
+
with
all
the
@@ -4426,9 +3297,9 @@
interact
with
a
-
+
Thing
-.
+.
In
some
IoT
@@ -4437,10 +3308,10 @@
a
fully
detailed
-
+
Thing
Description
-,
+,
e.g.,
with
communication
@@ -4504,8 +3375,7 @@
of
new
devices).
-
+
In
order
to
@@ -4516,10 +3386,10 @@
or
others,
the
-
+
Thing
Model
-
+
can
be
used
@@ -4531,20 +3401,19 @@
model
definitions
within
-
+
Things
-
+
'
-
+
Properties
-,
-
+,
Actions
-,
+,
and/or
-
+
Events
-
+
and
can
be
@@ -4554,20 +3423,20 @@
template
for
creating
-
+
Thing
Description
-
+
instances.
In
the
following
a
sample
-
+
Thing
Model
-
+
is
presented
that
@@ -4579,73 +3448,66 @@
model
for
the
-
+
Thing
Description
-
+
instance
in
-
+
Example
-
+
1
-
-.
-
{
- "@context": ["https://www.w3.org/2022/wot/td/v1.1"],
- "@type": "tm:ThingModel",
- "title": "Lamp Thing Model",
- "properties": {
- "status": {
- "description": "current status of the lamp (on|off)",
- "type": "string",
- "readOnly": true
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Lamp Thing Model",
+ "properties": { "status": {
+"hljs-attr">"description": "current status of the lamp (on|off)",
+ "type":
+"hljs-string">"string",
+ "readOnly":
+"hljs-literal">true
}
},
- "actions": {
- "toggle": {
- "description": "Turn the lamp on or off"
+ "actions": { "toggle": {
+"hljs-attr">"description": "Turn the lamp on or off"
}
},
- "events": {
- "overheating": {
- "description": "Lamp reaches a critical temperature (overheating)",
- "data": {"type": "string"}
+ "events": { "overheating": {
+"hljs-attr">"description": "Lamp reaches a critical temperature (overheating)",
+ "data": {
+"hljs-attr">"type": "string"}
}
}
}
-
-
-- +
Thing
Model
-
+
definitions
are
identified
by
the
-
+
"@type":
"tm:ThingModel"
-
.
+.
As
the
example
@@ -4658,9 +3520,9 @@
about
a
single
-
+
Thing
-
+
instance
due
to
@@ -4679,17 +3541,17 @@
for
deriving
valid
-
+
Thing
Description
-
+
instances
from
such
-
+
Thing
Model
-
+
definitions.
In
addition,
@@ -4706,26 +3568,16 @@
and
reuse
existing
-
+
Thing
Model
-
+
definitions.
-
+
As
well
as
@@ -4752,32 +3604,27 @@
specification
is
normative.
-
+
The
key
words
-
+
MAY
-,
-
+,
MUST
-,
-
+,
MUST
NOT
-,
-
+,
RECOMMENDED
-,
-
+,
SHOULD
-,
+,
and
-
+
SHOULD
NOT
-
+
in
this
document
@@ -4788,23 +3635,19 @@
as
described
in
-
+
BCP
14
-
+
[
-
-
+
RFC2119
-
-
+
]
[
-
-
+
RFC8174
-
-
+
]
when,
and
@@ -4818,8 +3661,7 @@
as
shown
here.
-
+
A
Thing
Description
@@ -4835,38 +3677,33 @@
normative
statements
in
-
-
+
5.
-
+
TD
Information
Model
-
+
and
-
-
+
6.
-
+
TD
Representation
Format
-
+
regarding
Thing
Description
serialization.
-
+
A
JSON
Schema
[
-
-
+
JSON-SCHEMA
-
-
+
]
to
validate
@@ -4877,140 +3714,109 @@
provided
in
Appendix
-
-
+
B.
-
+
JSON
Schema
for
TD
Instance
Validation
-.
-
- +
This section is non-normative. - -
-+
The fundamental WoT terminology such as - + Thing -, - +, Consumer -, - -Producer -, - +, +Producer +, Thing Description - + ( - + TD - + ), - + Partial TD -, - +, Thing Model - + ( - + TM - + ), - + Interaction Model -, - +, Interaction Affordance -, - +, Property -, - +, Action -, - +, Event -, - +, Protocol Binding -, - +, Servient -, - +, Vocabulary -, - +, Term -, - +, Vocabulary Term -, - +, WoT Interface -, +, and - + WoT Runtime - + are defined in - + Section 3 - + of the WoT Architecture specification [ - - + wot-architecture11 - - + ]. -
-+
In
addition,
this
@@ -5019,20 +3825,13 @@
the
following
definitions:
-
+
@type
-
+
members,
and
through
@@ -5096,41 +3895,36 @@ :
-
+:
).
-
+
Thing
-
+
class.
For
that
purpose,
a
-
-TD Processor
-
+
+TD Processor
+
can
compute
fill
@@ -5310,35 +4094,35 @@ +
These definitions are further developed in - - + 5.2 - + Preliminaries -. -
-+
The
version
of
the
-
+
TD
Information
Model
-
+
defined
in
-
-
+
5.
-
+
TD
Information
Model
-
+
of
this
specification
@@ -5594,21 +4358,15 @@
the
following
IRI:
-
-
+
https://www.w3.org/2022/wot/td/v1.1
-
-
+
This
IRI
[
-
-
+
RFC3987
-
-
+
],
which
is
@@ -5616,11 +4374,9 @@
a
URI
[
-
-
+
RFC3986
-
-
+
],
can
be
@@ -5628,37 +4384,35 @@
to
obtain
a
-
+
JSON-LD
context
file
-
+
[
-
-
+
json-ld11
-
-
+
],
allowing
the
compact
strings
in
-
+
TD
Documents
-
+
to
be
expanded
to
full
IRI-based
-
+
Vocabulary
Terms
-.
+.
However,
this
processing
@@ -5668,30 +4422,29 @@
when
transforming
JSON-based
-
+
TD
Documents
-
+
to
RDF,
an
optional
feature
of
-
-TD Processor
-
+
+TD Processor
+
implementations.
-
+
In
the
present
specification,
-
+
Vocabulary
Terms
-
+
are
always
presented
@@ -5711,9 +4464,9 @@
IRI
of
the
-
+
Vocabulary
-
+
they
belong
to.
@@ -5723,24 +4476,23 @@
the
structure
of
-
-
+
5.3
-
+
Class
Definitions
-.
+.
Each
-
+
Vocabulary
-
+
used
in
the
-
-TD Information
+
+TD Information
Model
-
+
has
its
own
@@ -5748,76 +4500,39 @@
IRI,
as
follows:
-
All
vocabularies
that
@@ -5825,59 +4540,40 @@
additionally
used
for
-
+
Thing
Model
-
+
definitions
have
the
following
namespace
IRI:
-
+
Vocabulary
- |
-
+ |
Namespace
IRI
- |
- |
---|---|---|---|
+ | |||
Thing Model - | -
-
+ |
https://www.w3.org/2022/wot/tm#
-
- |
-
+
The
-
+
Vocabularies
-
+
are
independent
from
@@ -5891,9 +4587,9 @@
extended
in
other
-
+
W3C
-
+
specifications.
Every
breaking
@@ -5903,9 +4599,9 @@
design
of
a
-
+
Vocabulary
-
+
will
require
the
@@ -5925,11 +4621,11 @@
coherence
of
the
-
+
TD
Information
Model
-,
+,
the
associated
JSON-LD
@@ -5946,15 +4642,13 @@
own
URI
(
-
+
v1
-
,
-
+
,
v1.1
-
,
-
+
,
v2
-
,
+,
...)
to
also
@@ -5967,16 +4661,14 @@
addition
of
new
-
+
Terms
-.
-
+.
Because
a
-
+
Vocabulary
-
+
under
some
namespace
@@ -6036,45 +4728,35 @@
networks
(see
also
-
-
+
11.
-
+
Privacy
Considerations
-
+
).
-
+
This
section
introduces
the
-
+
TD
Information
Model
-.
+.
The
-
+
TD
Information
Model
-
+
serves
as
the
@@ -6094,93 +4776,74 @@
described
separately
in
-
-
+
6.
-
+
TD
Representation
Format
-.
-
+
The - + TD Information Model - + is built upon the following, independent - + Vocabularies -: -
-+
Each
of
these
-
+
Vocabularies
-
+
is
essentially
a
set
of
-
+
Terms
-
+
that
can
be
@@ -6283,21 +4938,21 @@
the
context
of
-
+
W3C
-
+
WoT,
they
denote
-
+
Things
-
+
and
their
-
+
Interaction
Affordances
-.
+.
A
formal
definition
@@ -6306,33 +4961,31 @@
is
given
in
-
-
+
5.2
-
+
Preliminaries
-.
+.
The
main
elements
of
the
-
+
TD
Information
Model
-
+
are
then
presented
in
-
-
+
5.3
-
+
Class
Definitions
-.
+.
Certain
object
properties
@@ -6343,10 +4996,10 @@
a
TD
when
-
+
Default
Values
-
+
exist.
A
list
@@ -6355,16 +5008,13 @@
is
given
in
-
-
+
5.4
-
+
Default
Value
Definitions
-.
-
+.
The
UML
diagram
@@ -6375,11 +5025,11 @@
overview
of
the
-
+
TD
Information
Model
-.
+.
It
represents
all
@@ -6397,11 +5047,9 @@
from
the
class
-
-
+
Thing
-
-,
+,
as
directed
arrows.
@@ -6424,90 +5072,45 @@
the
four
base
-
+
Vocabularies
-.
-
+
To
provide
a
@@ -6547,14 +5150,13 @@
to
construct
the
-
+
TD
Information
Model
-
+
accordingly.
-
+
All
definitions
in
@@ -6562,9 +5164,9 @@
section
refer
to
-
+
sets
-,
+,
which
intuitively
are
@@ -6591,9 +5193,9 @@
In
particular,
an
-
+
Object
-
+
is
a
data
@@ -6602,13 +5204,11 @@
defined
as
follows:
-
+.
Though
this
definition
does
not
prevent
-
+
Objects
-
+
to
include
multiple
@@ -6684,9 +5279,9 @@
this
specification.
An
-
+
Object
-
+
whose
elements
only
@@ -6697,21 +5292,21 @@
is
called
an
-
+
Array
-.
+.
Similarly,
an
-
+
Object
-
+
whose
elements
only
have
-
+
Term
-
+
s
(that
do
@@ -6719,18 +5314,18 @@
belong
to
any
-
+
Vocabulary
-
+
)
as
names
is
called
a
-
+
Map
-.
+.
All
names
appearing
@@ -6740,52 +5335,50 @@
pair
in
a
-
+
Map
-
+
are
assumed
to
be
-
+
unique
-
+
within
the
scope
of
the
-
+
Map
-.
-
+.
Moreover,
-
+
Object
-
+
s
can
be
instances
of
some
-
+
Class
-.
+.
A
-
+
Class
-,
+,
which
is
denoted
by
a
-
+
Vocabulary
Term
-,
+,
is
first
defined
@@ -6793,43 +5386,41 @@
a
set
of
-
+
Vocabulary
Terms
-
+
called
a
-
+
Signature
-.
+.
A
-
+
Class
-
+
whose
-
+
Signature
-
+
is
empty
is
called
a
-
+
Simple
Type
-.
-
+.
The
-
+
Signature
-
+
of
a
-
+
Class
-
+
allows
to
construct
@@ -6838,74 +5429,74 @@
that
further
define
-
+
Classes
-:
+:
an
-
+
Assignment
Function
-
+
and
a
-
+
Type
Function
-.
+.
The
-
+
Assignment
Function
-
+
of
a
-
+
Class
-
+
takes
a
-
+
Vocabulary
Term
-
+
of
the
-
+
Class
-
+
's
-
+
Signature
-
+
as
input
and
returns
either
-
+
true
-
+
or
-
+
false
-
+
as
output.
Intuitively,
the
-
+
Assignment
Function
-
+
indicates
whether
an
element
of
the
-
+
Signature
-
+
is
mandatory
or
@@ -6913,69 +5504,68 @@
when
instantiating
the
-
+
Class
-.
+.
The
-
+
Type
Function
-
+
of
a
-
+
Class
-
+
also
takes
a
-
+
Vocabulary
Term
-
+
of
the
-
+
Class
-
+
's
-
+
Signature
-
+
as
input
and
returns
another
-
+
Class
-
+
as
output.
These
functions
are
-
+
partial
-:
+:
their
domain
is
limited
to
the
-
+
Signature
-
+
of
the
-
+
Class
-
+
being
defined.
-
+
On
the
basis
@@ -6984,10 +5574,10 @@
two
functions,
an
-
+
Instance
Relation
-
+
can
be
defined
@@ -6997,14 +5587,14 @@
composed
of
an
-
+
Object
-
+
and
a
-
+
Class
-.
+.
This
relation
is
@@ -7017,87 +5607,84 @@
That
is,
an
-
+
Object
-
+
is
an
instance
of
a
-
+
Class
-
+
if
the
two
following
constraints
are
-
+
both
-
+
satisfied:
-
+
true
-
,
+,
the
-
+
Object
-
+
includes
a
name-value
pair
with
the
-
+
Vocabulary
Term
-
+
as
name.
-+.
According
to
the
definition
above,
an
-
+
Object
-
+
would
be
an
instance
of
every
-
+
Simple
Type
-,
+,
regardless
of
its
@@ -7173,137 +5757,133 @@
definition
for
the
-
+
Instance
Relation
-
+
is
introduced
for
-
+
Simple
Types
-:
+:
an
-
+
Object
-
+
is
an
instance
of
a
-
+
Simple
Type
-
+
if
it
is
a
-
+
Term
-
+
with
a
given
lexical
form
(e.g.,
-
+
true
-
,
-
+
,
false
-
+
for
the
-
+
boolean
-
+
type,
-
+
1
-
,
-
+
,
2
-
,
-
+
,
3
-
,
+,
...
for
the
-
+
unsignedInt
-
+
type,
etc.).
-
+
Moreover,
additional
-
+
Classes
-,
+,
called
-
+
Parameterized
Classes
-,
+,
can
be
derived
from
the
generic
-
+
Map
-
+
and
-
+
Array
-
+
structures.
An
-
+
Object
-
+
is
a
-
+
Map
-
+
of
some
-
+
Class
-,
+,
that
is,
an
instance
of
the
-
+
Map
-
+
type
-
+
parameterized
-
+
with
some
-
+
Class
-,
+,
if
it
is
a
-
+
Map
-
+
such
that
the
@@ -7320,34 +5900,32 @@
instance
of
this
-
+
Class
-.
+.
The
same
applies
to
-
+
Arrays
-.
-
+.
Finally,
a
-
+
Class
-
+
is
a
-
+
Subclass
-
+
of
some
other
-
+
Class
-
+
if
every
instance
@@ -7361,18 +5939,17 @@
of
the
latter.
-
+
Given
all
definitions
above,
the
-
+
TD
Information
Model
-
+
is
to
be
@@ -7381,63 +5958,62 @@
a
set
of
-
+
Class
-
+
definitions,
which
include
a
-
+
Class
-
+
name
(a
-
+
Vocabulary
Term
-
+
),
a
-
+
Signature
-
+
(a
set
of
-
+
Vocabulary
Terms
-
+
),
an
-
+
Assignment
Function
-,
+,
and
a
-
+
Type
Function
-.
+.
These
-
+
Class
-
+
definitions
are
provided
as
tables
in
-
-
+
5.3
-
+
Class
Definitions
-.
+.
For
each
table,
@@ -7453,34 +6029,32 @@
indicates
that
the
-
+
Assignment
Function
-
+
returns
-
+
true
-
+
(respectively,
-
+
false
-
+
)
for
the
corresponding
-
+
Vocabulary
Term
-.
-
+.
By
convention,
-
+
Simple
Types
-
+
are
denoted
by
@@ -7489,49 +6063,42 @@
with
lowercase.
The
-
-TD Information
+
+TD Information
Model
-
+
references
the
following
-
-Simple Types
-
+
+Simple Types
+
defined
in
XML
Schema
[
-
-
+
XMLSCHEMA11-2-20120405
-
-
+
]:
-
+
string
-
,
-
+
,
anyURI
-
,
-
+
,
dateTime
-
,
-
+
,
integer
-
,
-
+
,
unsignedInt
-
,
-
+
,
double
-
,
+,
and
-
+
boolean
-
.
+.
Their
definition
(i.e.,
@@ -7548,21 +6115,19 @@
scope
of
the
-
+
TD
Information
Model
-.
-
+.
In
addition,
the
-
+
TD
Information
Model
-
+
defines
a
global
@@ -7570,70 +6135,70 @@
on
pairs
of
-
+
Vocabulary
Terms
-.
+.
The
function
takes
a
-
+
Class
-
+
name
and
another
-
+
Vocabulary
Term
-
+
as
input
and
returns
an
-
+
Object
-.
+.
If
the
returned
-
+
Object
-
+
is
different
from
-
+
null
-
,
+,
it
represents
the
-
+
Default
Value
-
+
for
some
assignment
on
the
input
-
+
Vocabulary
Term
-
+
in
an
instance
of
the
input
-
+
Class
-.
+.
This
function
allows
@@ -7645,71 +6210,69 @@
above
on
the
-
+
Assignment
Function
-:
+:
an
-
+
Object
-
+
is
an
instance
of
a
-
+
Class
-
+
if
it
includes
all
mandatory
assignments
-
+
or
-
+
if
-
+
Default
Value
-
+
exist
for
the
missing
assignments.
All
-
+
Default
Values
-
+
are
given
in
the
table
of
-
-
+
5.4
-
+
Default
Value
Definitions
-.
+.
In
each
table
of
-
-
+
5.3
-
+
Class
Definitions
-,
+,
the
assignment
column
@@ -7720,10 +6283,10 @@
default"
if
a
-
+
Default
Value
-
+
is
available
for
@@ -7731,23 +6294,21 @@
corresponding
combination
of
-
+
Class
-
+
and
-
+
Vocabulary
Term
-
+
in
the
-
+
TD
Information
Model
-.
-
+.
The
formalization
introduced
@@ -7759,9 +6320,9 @@
possible
relation
between
-
+
Objects
-
+
as
abstract
data
@@ -7772,9 +6333,9 @@
objects
such
as
-
+
Things
-.
+.
However,
care
was
@@ -7785,18 +6346,18 @@
of
re-interpreting
all
-
+
Vocabulary
Terms
-
+
involved
in
the
-
+
TD
Information
Model
-
+
as
RDF
resources,
@@ -7823,17 +6384,13 @@
please
refer
to
-
-
-
+D.
+
JSON-LD
Context
Usage
-
+
and
the
documentation
@@ -7842,85 +6399,64 @@ C.
-
-D.
-
-
+
namespace
IRIs,
e.g.,
-
+
https://www.w3.org/2019/wot/td
-.
-
- +
A - + TD Processor - - + MUST - + satisfy the - + Class - + instantiation constraints on all - + Classes - + defined in - - + 5.3.1 - + Core Vocabulary Definitions -, - - +, 5.3.2 - + Data Schema Vocabulary Definitions -, - - +, 5.3.3 - + Security Vocabulary Definitions -, +, and - - + 5.3.4 - + Hypermedia Controls Vocabulary Definitions -. - -
-+.
In
particular,
note
@@ -7945,43 +6481,25 @@
information
model
(Section
-
-
+
6.
-
+
TD
Representation
Format
-
+
).
-
An
abstraction
of
@@ -8014,47 +6532,28 @@
or
more
Things.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
@context
-
- |
-+ |
JSON-LD
keyword
to
@@ -8070,29 +6569,17 @@ a TD document. - |
-+ | mandatory - | -
-
-
+ |
anyURI
-
-
+
or
-
+
Array
-
- |
-||
-
+ | ||||||||
@type
-
- |
-+ |
JSON-LD
keyword
to
@@ -8100,41 +6587,27 @@ the object with - +semantic tags - + (or types). - |
-+ | optional - | -
-
-
+ |
string
-
-
+
or
-
+
Array
-
+
of
-
-
+
string
-
-
- |
-||
-
+ | ||||||||
id
-
- |
-+ |
Identifier
of
the
@@ -8145,11 +6618,9 @@ a URI [ - - +RFC3986 - - + ] (e.g., stable @@ -8165,25 +6636,13 @@address, URN, etc.). - |
-+ | optional - | -
-
-
+ |
anyURI
-
-
- |
-||
-
+ | ||||||||
title
-
- |
-+ |
Provides
a
human-readable
@@ -8200,25 +6659,13 @@ a default language. - |
-+ | mandatory - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
titles
-
- |
-+ |
Provides
multi-language
human-readable
@@ -8235,34 +6682,19 @@ languages). Also see - - +MultiLanguage - -. - |
-+. | optional - | -- + |
Map
-
+
of
-
-
+
MultiLanguage
-
-
- |
-||
-
+ | ||||||||
description
-
- |
-+ |
Provides
additional
(human-readable)
@@ -8272,25 +6704,13 @@ a default language. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
descriptions
-
- |
-+ |
Can
be
used
@@ -8303,56 +6723,29 @@ languages. Also see - - +MultiLanguage - -. - |
-+. | optional - | -- + |
Map
-
+
of
-
-
+
MultiLanguage
-
-
- |
-||
-
+ | ||||||||
version
-
- |
-+ | Provides version information. - | -+ | optional - | -
-
-
+ |
VersionInfo
-
-
- |
-||
-
+ | ||||||||
created
-
- |
-+ |
Provides
information
when
@@ -8361,25 +6754,13 @@ instance was created. - |
-+ | optional - | -
-
-
+ |
dateTime
-
-
- |
-||
-
+ | ||||||||
modified
-
- |
-+ |
Provides
information
when
@@ -8389,25 +6770,13 @@ was last modified. - |
-+ | optional - | -
-
-
+ |
dateTime
-
-
- |
-||
-
+ | ||||||||
support
-
- |
-+ |
Provides
information
about
@@ -8418,55 +6787,37 @@
URI
scheme
(e.g.,
- |
-+ | optional - | -
-
-
+ |
anyURI
-
-
- |
-||
-
+ | ||||||||
base
-
- |
-+ |
Define
the
base
@@ -8502,17 +6853,13 @@ defined in [ - - +RFC3986 - - + ]. -- -
+
base
-
+
does
not
affect
@@ -8520,9 +6867,9 @@
URIs
used
in
- |
-+ | optional - | -
-
-
+ |
anyURI
-
-
- |
-||
-
+ | ||||||||
properties
-
- |
-+ | All Property-based - + Interaction Affordances - + of the Thing. - | -+ | optional - | -- + |
Map
-
+
of
-
-
+
PropertyAffordance
-
-
- |
-||
-
+ | ||||||||
actions
-
- |
-+ | All Action-based - + Interaction Affordances - + of the Thing. - | -+ | optional - | -- + |
Map
-
+
of
-
-
+
ActionAffordance
-
-
- |
-||
-
+ | ||||||||
events
-
- |
-+ | All Event-based - + Interaction Affordances - + of the Thing. - | -+ | optional - | -- + |
Map
-
+
of
-
-
+
EventAffordance
-
-
- |
-||
-
+ | ||||||||
links
-
- |
-+ |
Provides
Web
links
@@ -8677,29 +6974,17 @@ specified Thing Description. - |
-+ | optional - | -- + |
Array
-
+
of
-
-
+
Link
-
-
- |
-||
-
+ | ||||||||
forms
-
- |
-+ |
Set
of
form
@@ -8719,12 +7004,10 @@
of
Protocol
Bindings.
-
forms
are
used
@@ -8737,29 +7020,17 @@ |
-+ | optional - | -- + |
Array
-
+
of
-
-
+
Form
-
-
- |
-||
-
+ | ||||||||
security
-
- |
-+ |
Set
of
security
@@ -8770,9 +7041,9 @@
those
defined
in
- |
-+ | mandatory - | -
-
-
+ |
string
-
-
+
or
-
+
Array
-
+
of
-
-
+
string
-
-
- |
-||
-
+ | ||||||||
securityDefinitions
-
- |
-+ |
Set
of
named
@@ -8827,34 +7084,22 @@
used
in
a
- |
-+ | mandatory - | -- + |
Map
-
+
of
-
-
+
SecurityScheme
-
-
- |
-||
-
+ | ||||||||
profile
-
- |
-+ |
Indicates
the
WoT
@@ -8870,35 +7115,21 @@ corresponding Thing implementation. - |
-+ | optional - | -
-
-
+ |
anyURI
-
-
+
or
-
+
Array
-
+
of
-
-
+
anyURI
-
-
- |
-||
-
+ | ||||||||
schemaDefinitions
-
- |
-+ |
Set
of
named
@@ -8909,40 +7140,28 @@
used
in
a
- |
-+ | optional - | -- + |
Map
-
+
of
-
-
+
DataSchema
-
-
- |
-||
-
+ | ||||||||
uriVariables
-
- |
-+ |
Define
URI
template
@@ -8950,11 +7169,9 @@ according to [ - - +RFC6570 - - + ] as collection @@ -8963,26 +7180,22 @@DataSchema declarations. The - +Thing level - -
+
can
be
used
in
-
+
forms
-
+
or
in
Interaction
@@ -9010,9 +7223,9 @@
string
inside
the
- |
-+ | optional - | -- + |
Map
-
+
of
-
-
+
DataSchema
-
-
- |
-
+
For
-
+
@context
-
+
the
following
rules
are
defined
for
-
+
Thing
Description
-
+
instances:
-
+
@context
-
+
name-value
pair
-
+
MUST
-
+
contain
the
anyURI
-
+
https://www.w3.org/2022/wot/td/v1.1
-
+
in
order
to
@@ -9114,19 +7311,16 @@
+
https://www.w3.org/2019/wot/td/v1
-
-
+
MUST
-
+
be
the
first
entry
and
the
-
+
https://www.w3.org/2022/wot/td/v1.1
-
-
+
MUST
-
+
be
the
second
entry.
-
-
+
@context
-
+
is
an
-
+
Array
-,
+,
the
anyURI
-
+
https://www.w3.org/2022/wot/td/v1.1
-
-
-
+
MAY
-
-
+
be
followed
by
elements
of
type
-
+
anyURI
-
+
or
type
-
+
Map
-
+
in
any
order,
while
it
is
-
+
RECOMMENDED
-
+
to
include
only
one
-
+
Map
-
+
with
all
the
@@ -9250,31 +7428,23 @@
+
@context
-
-
+
Array
-.
-
-
+
@context
-
-
+
Array
-
-
+
MAY
-
+
contain
name-value
pairs,
@@ -9287,41 +7457,36 @@
+
anyURI
-
+
and
the
name
a
-
+
Term
-
+
or
prefix
denoting
that
namespace.
-
-
+
@context
-
-
+
Array
-
-
+
SHOULD
-
+
contain
a
name-value
@@ -9340,12 +7505,11 @@
+
@language
-
+
and
the
value
@@ -9358,36 +7522,26 @@
+
en
-
,
-
+
,
de-AT
-
,
-
+
,
gsw-CH
-
,
-
+
,
zh-Hans
-
,
-
+
,
zh-Hant-HK
-
,
-
+
,
sl-nedis
-
+
).
-
-+
To
determine
the
@@ -9398,15 +7552,15 @@
human-readable
text
in
-
+
Thing
Description
-
+
and
-
+
Thing
Model
-
+
instances
this
specification
@@ -9415,19 +7569,17 @@
follow
the
[
-
-
+
STRING-META
-
-
+
]
guideline
about
-
+
string-specific
directional
information
-
+
when
no
built-in
@@ -9439,12 +7591,10 @@
metadata
is
available.
-
- +
TD
Processors
-
+
should
be
aware
@@ -9456,14 +7606,12 @@
processing
bidirectional
text.
-
-
+
TD
Processors
-
-
+
SHOULD
-
+
take
care
to
@@ -9486,7 +7634,7 @@
Web
user
interface)
-
.
+.
Mixed
direction
text
@@ -9502,16 +7650,13 @@
is
properly
identified.
-
- +
TD
-
+
producers
-
-
+
SHOULD
-
+
attempt
to
provide
@@ -9531,7 +7676,7 @@
naive
user
agent.
-
+
For
example,
if
@@ -9579,9 +7724,7 @@
in
proper
display.
-
- +
Strings
on
the
@@ -9590,13 +7733,11 @@
and
Direction
Metadata
-
+
[
-
-
+
string-meta
-
-
+
]
provides
some
@@ -9611,37 +7752,34 @@
using
bidirectional
text.
-
+
In
addition
to
the
explicitly
provided
-
+
Interaction
Affordances
-
+
in
the
-
+
properties
-
,
-
+
,
actions
-
,
+,
and
-
+
events
-
-
+
Maps
-,
+,
a
-
+
Thing
-
+
can
also
provide
@@ -9650,47 +7788,44 @@
are
indicated
by
-
+
Form
-
+
instances
in
its
optional
-
+
forms
-
-
+
Array
-.
-
+.
When
the
-
+
forms
-
-
+
Array
-
+
of
a
-
+
Thing
-
+
instance
contains
-
+
Form
-
+
instances,
it
-
+
MUST
-
+
contain
-
+
op
-
+
member
with
the
@@ -9700,76 +7835,65 @@
to
the
name
-
+
op
-
,
+,
either
directly
or
within
an
-
+
Array
-,
-
+,
MUST
-
+
be
one
of
the
following
-
+
operation
types
-:
-
+:
,
or
-
readallproperties
-
,
-
+
,
writeallproperties
-
,
-
+
,
readmultipleproperties
-
,
-
+
,
writemultipleproperties
-
,
-
+
,
observeallproperties
-
,
-
+
,
unobserveallproperties
-
,
-
+
,
queryallactions
-
,
-
+
,
subscribeallevents
-
,
+
+
unsubscribeallevents
-
.
-
+.
(See
-
+
an
example
-
+
for
an
usage
of
-
+
form
-
+
in
a
Thing
instance.)
-
+
The
data
schema
@@ -9788,30 +7912,29 @@
schemas
of
each
-
+
PropertyAffordance
-
+
instance
in
a
single
-
+
ObjectSchema
-
+
instance,
where
the
-
+
properties
-
-
+
Map
-
+
of
the
-
+
ObjectSchema
-
+
instance
contains
each
@@ -9819,9 +7942,9 @@
schema
of
the
-
+
PropertyAffordances
-
+
identified
by
the
@@ -9829,12 +7952,11 @@
of
the
corresponding
-
+
PropertyAffordances
-
+
instance.
-
+
If
not
specified
@@ -9842,33 +7964,33 @@
(e.g.,
through
a
-
+
TD
Context
Extension
-
+
),
the
request
data
of
the
-
+
readmultipleproperties
-
+
operation
is
an
-
+
Array
-
+
that
contains
the
intended
-
+
PropertyAffordances
-
+
instance
names,
which
@@ -9881,26 +8003,15 @@
specified
by
the
-
+
Form
-
+
instance.
-
+
InteractionAffordance
-
-
+
Metadata
of
a
@@ -9911,15 +8022,15 @@
possible
choices
to
-
+
Consumers
-,
+,
thereby
suggesting
how
-
+
Consumers
-
+
may
interact
with
@@ -9933,9 +8044,9 @@
potential
affordances,
but
-
+
W3C
-
+
WoT
defines
three
@@ -9947,47 +8058,28 @@
Actions,
and
Events.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
@type
-
- |
-+ |
JSON-LD
keyword
to
@@ -9995,41 +8087,27 @@ the object with - +semantic tags - + (or types). - |
-+ | optional - | -
-
-
+ |
string
-
-
+
or
-
+
Array
-
+
of
-
-
+
string
-
-
- |
-||
-
+ | ||||||||
title
-
- |
-+ |
Provides
a
human-readable
@@ -10046,25 +8124,13 @@ a default language. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
titles
-
- |
-+ |
Provides
multi-language
human-readable
@@ -10081,34 +8147,19 @@ languages). Also see - - +MultiLanguage - -. - |
-+. | optional - | -- + |
Map
-
+
of
-
-
+
MultiLanguage
-
-
- |
-||
-
+ | ||||||||
description
-
- |
-+ |
Provides
additional
(human-readable)
@@ -10118,25 +8169,13 @@ a default language. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
descriptions
-
- |
-+ |
Can
be
used
@@ -10149,34 +8188,19 @@ languages. Also see - - +MultiLanguage - -. - |
-+. | optional - | -- + |
Map
-
+
of
-
-
+
MultiLanguage
-
-
- |
-||
-
+ | ||||||||
forms
-
- |
-+ |
Set
of
form
@@ -10201,29 +8225,17 @@ cannot be empty. - |
-+ | mandatory - | -- + |
Array
-
+
of
-
-
+
Form
-
-
- |
-||
-
+ | ||||||||
uriVariables
-
- |
-+ |
Define
URI
template
@@ -10231,11 +8243,9 @@ according to [ - - +RFC6570 - - + ] as collection @@ -10266,9 +8276,9 @@
string
inside
the
- |
-+ | optional - | -- + |
Map
-
+
of
-
-
+
DataSchema
-
-
- |
-
+
The
class
-
+
InteractionAffordance
-
+
has
the
following
subclasses:
-
+
PropertyAffordance
-
-
+
An
Interaction
Affordance
@@ -10406,47 +8375,28 @@
after
a
change.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
observable
-
- |
-+ |
A
hint
that
@@ -10466,41 +8416,25 @@
that
supports
the
- |
-- + | with default - - | -
-
-
+ |
boolean
-
-
- |
-
+
Property
instances
are
@@ -10509,58 +8443,50 @@
of
the
class
-
+
DataSchema
-.
+.
Therefore,
it
can
contain
the
-
+
type
-
,
-
+
,
unit
-
,
-
+
,
readOnly
-
+
and
-
+
writeOnly
-
+
members,
among
others.
-
-
+
PropertyAffordance
-
+
is
a
-
+
Subclass
-
+
of
the
-
+
InteractionAffordance
-
-
+
Class
-
+
and
the
-
+
DataSchema
-
-
+
Class
-.
-
+.
When
a
Form
@@ -10568,55 +8494,45 @@
is
within
a
-
+
PropertyAffordance
-
+
instance,
the
value
assigned
to
-
+
op
-
-
+
MUST
-
+
be
one
of
-
+
readproperty
-
,
-
+
,
writeproperty
-
,
-
+
,
observeproperty
-
,
-
+
,
unobserveproperty
-
+
or
an
-
+
Array
-
+
containing
a
combination
of
these
terms.
-
-
+
It
is
considered
@@ -10626,15 +8542,15 @@
practice
that
each
-
+
observeproperty
-
+
has
a
corresponding
-
+
unobserveproperty
-
+
unless
the
protocol
@@ -10648,15 +8564,9 @@
detect
connection
loss).
-
+
The
observation
mechanism
@@ -10677,9 +8587,9 @@
that
the
current
-
+
Property
-
+
value
will
be
@@ -10698,9 +8608,9 @@
read
the
current
-
+
Property
-
+
value
before/after
the
@@ -10710,23 +8620,11 @@
a
first
value.
-
+
ActionAffordance
-
-
An
Interaction
Affordance
@@ -10762,47 +8660,28 @@
lamp
over
time).
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
input
-
- |
-+ |
Used
to
define
@@ -10813,25 +8692,13 @@ of the Action. - |
-+ | optional - | -
-
-
+ |
DataSchema
-
-
- |
-||
-
+ | ||||||||
output
-
- |
-+ |
Used
to
define
@@ -10842,25 +8709,13 @@ of the Action. - |
-+ | optional - | -
-
-
+ |
DataSchema
-
-
- |
-||
-
+ | ||||||||
safe
-
- |
-+ |
Signals
if
the
@@ -10897,28 +8752,14 @@ cached as example. - |
-- + | with default - - | -
-
-
+ |
boolean
-
-
- |
-||
-
+ | ||||||||
idempotent
-
- |
-+ |
Indicates
whether
the
@@ -10947,28 +8788,14 @@ the same input. - |
-- + | with default - - | -
-
-
+ |
boolean
-
-
- |
-||
-
+ | ||||||||
synchronous
-
- |
-+ |
Indicates
whether
the
@@ -11026,38 +8853,25 @@ can be made. - |
-+ | optional - | -
-
-
+ |
boolean
-
-
- |
-
-
+
ActionAffordance
-
+
is
a
-
+
Subclass
-
+
of
the
-
+
InteractionAffordance
-
-
+
Class
-.
-
+.
When
a
Form
@@ -11065,57 +8879,43 @@
is
within
an
-
+
ActionAffordance
-
+
instance,
the
value
assigned
to
op
-
+
MUST
-
+
either
be
-
+
invokeaction
-
,
-
+
,
queryaction
-
,
-
+
,
cancelaction
-
+
or
an
-
+
Array
-
+
containing
a
combination
of
these
terms.
-
-
+
EventAffordance
-
-
+
An
Interaction
Affordance
@@ -11130,53 +8930,34 @@
event
data
to
-
+
Consumers
-
+
(e.g.,
overheating
alerts).
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
subscription
-
- |
-+ |
Defines
data
that
@@ -11195,25 +8976,13 @@ setting up Webhooks. - |
-+ | optional - | -
-
-
+ |
DataSchema
-
-
- |
-||
-
+ | ||||||||
data
-
- |
-+ |
Defines
the
data
@@ -11227,25 +8996,13 @@ by the Thing. - |
-+ | optional - | -
-
-
+ |
DataSchema
-
-
- |
-||
-
+ | ||||||||
dataResponse
-
- |
-+ |
Defines
the
data
@@ -11266,25 +9023,13 @@ a data message. - |
-+ | optional - | -
-
-
+ |
DataSchema
-
-
- |
-||
-
+ | ||||||||
cancellation
-
- |
-+ |
Defines
any
data
@@ -11305,38 +9050,25 @@ remove a Webhook. - |
-+ | optional - | -
-
-
+ |
DataSchema
-
-
- |
-
-
+
EventAffordance
-
+
is
a
-
+
Subclass
-
+
of
the
-
+
InteractionAffordance
-
-
+
Class
-.
-
+.
When
a
Form
@@ -11344,45 +9076,36 @@
is
within
an
-
+
EventAffordance
-
+
instance,
the
value
assigned
to
-
+
op
-
-
+
MUST
-
+
be
either
-
+
subscribeevent
-
,
-
+
,
unsubscribeevent
-
,
+,
or
both
terms
within
an
-
+
Array
-.
-
-
+
It
is
considered
@@ -11392,15 +9115,15 @@
practice
that
each
-
+
subscribeevent
-
+
has
a
corresponding
-
+
unsubscribeevent
-
+
unless
the
protocol
@@ -11414,23 +9137,11 @@
detect
connection
loss).
-
+
VersionInfo
-
-
Metadata
of
a
@@ -11466,53 +9177,34 @@
extended
via
the
-
+
TD
Context
Extension
-
+
mechanism.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
instance
-
- |
-+ |
Provides
a
version
@@ -11520,25 +9212,13 @@ of this TD. - |
-+ | mandatory - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
model
-
- |
-+ |
Provides
a
version
@@ -11547,21 +9227,11 @@ the underlying TM. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-
+
It
is
recommended
@@ -11569,21 +9239,20 @@
the
values
within
-
+
instances
-
+
and
-
+
model
-
+
of
the
-
+
VersionInfo
-
-
+
Class
-
+
follow
the
semantic
@@ -11611,34 +9280,21 @@
respectively.
See
[
-
-
+
SEMVER
-
-
+
]
for
details.
-
+
MultiLanguage
-
-
+
A
-
+
Map
-
+
providing
a
set
@@ -11655,20 +9311,17 @@
described
in
[
-
-
+
BCP47
-
-
+
].
See
-
-
+
6.3.2
-
+
Human-Readable
Metadata
-
+
for
example
usages
@@ -11680,22 +9333,18 @@
Thing
Description
instance.
-
- +
Each
name
of
the
-
+
MultiLanguage
-
-
+
Map
-
-
+
MUST
-
+
be
a
language
@@ -11704,52 +9353,35 @@
defined
in
[
-
-
+
BCP47
-
-
+
].
-
-
+
Each
value
of
the
-
+
MultiLanguage
-
-
+
Map
-
-
+
MUST
-
+
be
of
type
-
+
string
-
.
-
-
+
A
data
schema
@@ -11763,8 +9395,7 @@
in
data
formats.
-
+
The
data
schema
@@ -11783,11 +9414,9 @@
JSON
Schema
[
-
-
+
JSON-SCHEMA
-
-
+
].
It
is
@@ -11818,11 +9447,11 @@
Schema
using
a
-
+
TD
Context
Extension
-
+
for
the
additional
@@ -11830,14 +9459,13 @@
as
described
in
-
-
+
7.
-
+
TD
Context
Extensions
-,
+,
otherwise
these
terms
@@ -11845,10 +9473,10 @@
semantically
ignored
by
-
+
TD
Processors
-
+
(for
details
about
@@ -11857,17 +9485,13 @@
please
refer
to
-
-
-
+D.
+
JSON-LD
Context
Usage
-
+
and
the
documentation
@@ -11876,12 +9500,11 @@ C.
-
-D.
-
-
+
namespace
IRIs,
e.g.,
-
+
https://www.w3.org/2019/wot/td
-
+
).
-
+
In
a
TD,
@@ -11893,14 +9516,11 @@
in
Forms
(see
-
-
+
5.3.4.2
-
-
+
+
)
using
content
@@ -11919,9 +9539,9 @@
Form
-
-
the
Form
is
-
+
application/json
-
,
+,
the
data
schema
@@ -11941,11 +9561,9 @@
Binding
Templates
[
-
-
+
WOT-BINDING-TEMPLATES
-
-
+
]
defines
data
@@ -11960,11 +9578,9 @@
as
XML
[
-
-
+
xml
-
-
+
].
If
the
@@ -11978,9 +9594,9 @@
Form
is
not
-
+
application/json
-
+
and
if
no
@@ -12003,9 +9619,7 @@
the
content
type.
-
- +
The
following
table
@@ -12013,9 +9627,9 @@
content
types
which
-
+
MAY
-
+
use
data
schema
@@ -12026,15 +9640,11 @@
of
their
payloads.
-
-
+
Format
- |
-
+ |
Content
Type
- |
- |
---|---|---|---|
+ | |||
JSON/CBOR - | -
-
+ |
application/json
-
--
+
application/ld+json
-
--
+
application/senml+json
-
--
+
application/cbor
-
--
+
application/senml+cbor
-
-- |
-|
+ | |||
XML/EXI - | -
-
+ |
application/xml
-
--
+
application/senml+xml
-
--
+
application/exi
-
--
+
application/senml-exi
-
-- |
-
+
DataSchema
-
-
Metadata
that
describes
@@ -12135,47 +9698,28 @@
used
for
validation.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
@type
-
- |
-+ |
JSON-LD
keyword
to
@@ -12183,41 +9727,27 @@ the object with - +semantic tags - + (or types) - |
-+ | optional - | -
-
-
+ |
string
-
-
+
or
-
+
Array
-
+
of
-
-
+
string
-
-
- |
-||
-
+ | ||||||||
title
-
- |
-+ |
Provides
a
human-readable
@@ -12234,25 +9764,13 @@ a default language. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
titles
-
- |
-+ |
Provides
multi-language
human-readable
@@ -12269,34 +9787,19 @@ languages). Also see - - +MultiLanguage - -. - |
-+. | optional - | -- + |
Map
-
+
of
-
-
+
MultiLanguage
-
-
- |
-||
-
+ | ||||||||
description
-
- |
-+ |
Provides
additional
(human-readable)
@@ -12306,25 +9809,13 @@ a default language. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
descriptions
-
- |
-+ |
Can
be
used
@@ -12337,63 +9828,40 @@ languages. Also see - - +MultiLanguage - -. - |
-+. | optional - | -- + |
Map
-
+
of
-
-
+
MultiLanguage
-
-
- |
-||
-
+ | ||||||||
const
-
- |
-+ | Provides a constant value. - | -+ | optional - | -+ | any type - | -||
-
+ | ||||||||
default
-
- |
-+ |
Supply
a
default
value.
The
value
-
+
SHOULD
-
+
validate
against
the
@@ -12403,22 +9871,14 @@ which it resides. - |
-+ | optional - | -+ | any type - | -||
-
+ | ||||||||
unit
-
- |
-+ |
Provides
unit
information
@@ -12452,30 +9912,18 @@ (also see Section - +Semantic Annotations - + ). - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
oneOf
-
- |
-+ |
Used
to
ensure
@@ -12493,7 +9941,7 @@
in
the
array.
-This
+This
can
be
used
@@ -12504,30 +9952,17 @@ |
-+ | optional - | -- + |
Array
-
+
of
-
-
+
DataSchema
-
-
- |
-||
-
+ | ||||||||
enum
-
- |
-+ |
Restricted
set
of
@@ -12536,26 +9971,17 @@ as an array. - |
-+ | optional - | -- + | Array - + of any type - | -||
-
+ | ||||||||
readOnly
-
- |
-+ |
Boolean
value
that
@@ -12577,28 +10003,14 @@ or not (=false). - |
-- + | with default - - | -
-
-
+ |
boolean
-
-
- |
-||
-
+ | ||||||||
writeOnly
-
- |
-+ |
Boolean
value
that
@@ -12620,28 +10032,14 @@ or not (=false). - |
-- + | with default - - | -
-
-
+ |
boolean
-
-
- |
-||
-
+ | ||||||||
format
-
- |
-+ |
Allows
validation
based
@@ -12658,25 +10056,13 @@ (Also see below.) - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
type
-
- |
-+ |
Assignment
of
JSON-based
@@ -12696,112 +10082,60 @@ array, or null). - |
-+ | optional - | -
-
-
+ |
string
-
-
+
(one
of
-
+
object
- ,
-
+ ,
array
- ,
-
+ ,
string
- ,
-
+ ,
number
- ,
-
+ ,
integer
- ,
-
+ ,
boolean
- ,
+,
or
-
+
null
-
+
)
- |
-
+
The
class
-
+
DataSchema
-
+
has
the
following
subclasses:
-
+
ArraySchema
-
-
-
--
-
-
+
BooleanSchema
-
-
-
--
-
-
+
NumberSchema
-
-
-
--
-
-
+
IntegerSchema
-
-
-
--
-
-
+
ObjectSchema
-
-
-
--
-
-
+
StringSchema
-
-
-
--
-
-
+
NullSchema
-
-
-
-
-
+
The
-
+
format
-
+
string
values
are
@@ -12820,11 +10154,9 @@
defined
in
[
-
-
+
JSON-SCHEMA
-
-
+
]
(Section
7.3
@@ -12832,24 +10164,23 @@
Formats
in
particular).
-
+
Servients
-
+
MAY
-
+
use
the
-
+
format
-
+
value
to
perform
additional
validation
accordingly.
-
-
+
When
a
value
@@ -12866,35 +10197,32 @@
is
assigned
to
-
+
format
-
,
+,
such
a
validation
-
+
SHOULD
-
+
succeed.
-
-
+
any
-
-
+
type
-
+
(e.g.,
-
+
const
-
,
-
+
,
default
-
+
)
follow
data
@@ -12911,17 +10239,13 @@ +
The
-
+
format
-
+
term
is
not
@@ -12935,9 +10259,9 @@
addition,
the
term
-
+
format
-
+
is
being
discussed
@@ -12962,94 +10286,63 @@
JSON
Schema
version.
-
+
ArraySchema
-
-
Metadata describing data of type - + Array -. +
. This - + Subclass - + is indicated by the value -
+
array
-
+
assigned
to
-
+
type
-
+
in
-
+
DataSchema
-
+
instances.
-
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
items
-
- |
-+ |
Used
to
define
@@ -13058,35 +10351,21 @@ of an array. - |
-+ | optional - | -
-
-
+ |
DataSchema
-
-
+
or
-
+
Array
-
+
of
-
-
+
DataSchema
-
-
- |
-||
-
+ | ||||||||
minItems
-
- |
-+ |
Defines
the
minimum
@@ -13100,25 +10379,13 @@ in the array. - |
-+ | optional - | -
-
-
+ |
unsignedInt
-
-
- |
-||
-
+ | ||||||||
maxItems
-
- |
-+ |
Defines
the
maximum
@@ -13132,152 +10399,102 @@ in the array. - |
-+ | optional - | -
-
-
+ |
unsignedInt
-
-
- |
-
+
BooleanSchema
-
-
Metadata
describing
data
of
type
-
+
boolean
-
.
+.
This
-
+
Subclass
-
+
is
indicated
by
the
value
-
+
boolean
-
+
assigned
to
-
+
type
-
+
in
-
+
DataSchema
-
+
instances.
-
+
NumberSchema
-
-
+
Metadata
describing
data
of
type
-
+
number
-
.
+.
This
-
+
Subclass
-
+
is
indicated
by
the
value
-
+
number
-
+
assigned
to
-
+
type
-
+
in
-
+
DataSchema
-
+
instances.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
minimum
-
- |
-+ |
Specifies
a
minimum
@@ -13296,25 +10513,13 @@ or integer types. - |
-+ | optional - | -
-
-
+ |
double
-
-
- |
-||
-
+ | ||||||||
exclusiveMinimum
-
- |
-+ |
Specifies
a
minimum
@@ -13333,25 +10538,13 @@ or integer types. - |
-+ | optional - | -
-
-
+ |
double
-
-
- |
-||
-
+ | ||||||||
maximum
-
- |
-+ |
Specifies
a
maximum
@@ -13370,25 +10563,13 @@ or integer types. - |
-+ | optional - | -
-
-
+ |
double
-
-
- |
-||
-
+ | ||||||||
exclusiveMaximum
-
- |
-+ |
Specifies
a
maximum
@@ -13407,25 +10588,13 @@ or integer types. - |
-+ | optional - | -
-
-
+ |
double
-
-
- |
-||
-
+ | ||||||||
multipleOf
-
- |
-+ |
Specifies
the
multipleOf
@@ -13446,106 +10615,67 @@ or integer types. - |
-+ | optional - | -
-
-
+ |
double
-
-
- |
-
+
IntegerSchema
-
-
Metadata
describing
data
of
type
-
+
integer
-
.
+.
This
-
+
Subclass
-
+
is
indicated
by
the
value
-
+
integer
-
+
assigned
to
-
+
type
-
+
in
-
+
DataSchema
-
+
instances.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
minimum
-
- |
-+ |
Specifies
a
minimum
@@ -13564,25 +10694,13 @@ or integer types. - |
-+ | optional - | -
-
-
+ |
integer
-
-
- |
-||
-
+ | ||||||||
exclusiveMinimum
-
- |
-+ |
Specifies
a
minimum
@@ -13601,25 +10719,13 @@ or integer types. - |
-+ | optional - | -
-
-
+ |
integer
-
-
- |
-||
-
+ | ||||||||
maximum
-
- |
-+ |
Specifies
a
maximum
@@ -13638,25 +10744,13 @@ or integer types. - |
-+ | optional - | -
-
-
+ |
integer
-
-
- |
-||
-
+ | ||||||||
exclusiveMaximum
-
- |
-+ |
Specifies
a
maximum
@@ -13675,25 +10769,13 @@ or integer types. - |
-+ | optional - | -
-
-
+ |
integer
-
-
- |
-||
-
+ | ||||||||
multipleOf
-
- |
-+ |
Specifies
the
multipleOf
@@ -13714,133 +10796,82 @@ or integer types. - |
-+ | optional - | -
-
-
+ |
integer
-
-
- |
-
+
ObjectSchema
-
-
Metadata
describing
data
of
type
-
+
Object
-.
+.
This
-
+
Subclass
-
+
is
indicated
by
the
value
-
+
object
-
+
assigned
to
-
+
type
-
+
in
-
+
DataSchema
-
+
instances.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
properties
-
- |
-+ | Data schema nested definitions. - | -+ | optional - | -- + |
Map
-
+
of
-
-
+
DataSchema
-
-
- |
-||
-
+ | ||||||||
required
-
- |
-+ |
Defines
which
members
@@ -13866,12 +10897,11 @@
(e.g.
input
of
- |
-+ | optional - | -- + |
Array
-
+
of
-
-
+
string
-
-
- |
-
+
StringSchema
-
-
Metadata
describing
data
of
type
-
+
string
-
.
+.
This
-
+
Subclass
-
+
is
indicated
by
the
value
-
+
string
-
+
assigned
to
-
+
type
-
+
in
-
+
DataSchema
-
+
instances.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
minLength
-
- |
-+ |
Specifies
the
minimum
@@ -14014,25 +11004,13 @@ associated string types. - |
-+ | optional - | -
-
-
+ |
unsignedInt
-
-
- |
-||
-
+ | ||||||||
maxLength
-
- |
-+ |
Specifies
the
maximum
@@ -14046,25 +11024,13 @@ associated string types. - |
-+ | optional - | -
-
-
+ |
unsignedInt
-
-
- |
-||
-
+ | ||||||||
pattern
-
- |
-+ |
Provides
a
regular
@@ -14083,32 +11049,18 @@ follow the [ - - +ECMA-262 - - + ] dialect. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
contentEncoding
-
- |
-+ |
Specifies
the
encoding
@@ -14121,65 +11073,45 @@ specified in [ - - +RFC2045 - - + ] (Section 6.1) and [ - - + RFC4648 - - + ]. - |
-+ | optional - | -
-
-
+ |
string
-
-
+
(e.g.,
-
+
7bit
- ,
-
+ ,
8bit
- ,
-
+ ,
binary
- ,
-
+ ,
quoted-printable
- ,
-
+ ,
base16
- ,
-
+ ,
base32
- ,
+,
or
-
+
base64
-
+
)
- |
-||
-
+ | ||||||||
contentMediaType
-
- |
-+ |
Specifies
the
MIME
@@ -14195,55 +11127,40 @@ described in [ - - +RFC2046 - - + ]. - |
-+ | optional - | -
-
-
+ |
string
-
-
+
(e.g.,
-
+
image/png
- ,
+,
or
-
+
audio/mpeg
-
+
)
- |
-
+
The
length
of
a
string
(i.e.,
-
+
minLength
-
+
and
-
+
maxLength
-
+
)
is
defined
@@ -14258,19 +11175,17 @@
defined
by
[
-
-
+
RFC8259
-
-
+
].
Note
that
some
-
+
user-perceived
characters
-
+
are
composed
of
@@ -14294,9 +11209,9 @@
truncation
according
to
-
+
maxLength
-
+
might
alter
the
@@ -14306,31 +11221,19 @@
of
the
string.
-
+
NullSchema
-
-
Metadata
describing
data
of
type
-
+
null
-
.
+.
This
subclass
is
@@ -14338,18 +11241,18 @@
by
the
value
-
+
null
-
+
assigned
to
-
+
type
-
+
in
-
+
DataSchema
-
+
instances.
This
Subclass
@@ -14359,18 +11262,18 @@
acceptable
value,
namely
-
+
null
-
.
+.
It
is
important
to
note
that
-
+
null
-
+
does
not
mean
@@ -14383,25 +11286,25 @@
is
analogous
to
-
+
null
-
+
in
JavaScript,
-
+
None
-
+
in
Python,
-
+
null
-
+
in
Java
and
-
+
nil
-
+
in
Ruby
programming
@@ -14414,9 +11317,9 @@
part
of
a
-
+
oneOf
-
+
declaration,
where
it
@@ -14430,26 +11333,15 @@
can
also
be
-
+
null
-
.
-
+
This
specification
provides
@@ -14467,14 +11359,14 @@
protocols
eligible
as
-
+
Protocol
Bindings
-
+
for
-
+
W3C
-
+
WoT
or
are
@@ -14495,18 +11387,16 @@
partly
based
on
-
+
OpenAPI
3.0.1
-
+
(see
also
[
-
-
+
OPENAPI
-
-
+
]).
However
while
@@ -14514,9 +11404,9 @@
HTTP
security
schemes,
-
+
Vocabulary
-,
+,
and
syntax
given
@@ -14532,8 +11422,7 @@
are
not
compatible.
-
+
Generally,
security
schemes
@@ -14562,13 +11451,12 @@
given
in
Section
-
-
+
10.
-
+
Security
Considerations
-
+
in
this
document
@@ -14580,27 +11468,15 @@
section
of
[
-
-
+
wot-architecture11
-
-
+
].
-
+
SecurityScheme
-
-
+
Metadata
describing
the
@@ -14609,63 +11485,58 @@
a
security
mechanism.
-
+
The
value
assigned
to
the
name
-
+
scheme
-
-
+
MUST
-
+
be
defined
within
a
-
+
Vocabulary
-
+
included
in
the
-
+
Thing
Description
-,
+,
either
in
the
standard
-
+
Vocabulary
-
+
defined
in
-
-§
-
+
+§
+
5.
-
+
TD
Information
Model
-
+
or
in
a
-
+
TD
Context
Extension
-.
-
-
- +.
For
all
security
@@ -14680,10 +11551,10 @@
directly
providing
access
-
+
MUST
NOT
-
+
be
stored
in
@@ -14700,7 +11571,7 @@
via
other
mechanisms.
-
+
The
purpose
of
@@ -14733,8 +11604,7 @@
grant
that
authorization.
-
+
Each
security
scheme
@@ -14762,9 +11632,9 @@
security
scheme
is
-
+
satisfied
-
+
when
all
its
@@ -14789,8 +11659,7 @@
can
be
granted.
-
+
Security
schemes
generally
@@ -14819,9 +11688,9 @@
with
the
name
-
+
in
-
,
+,
often
in
combination
@@ -14830,16 +11699,16 @@
value
associated
with
-
+
name
-
.
+.
The
value
associated
with
-
+
in
-
+
can
take
one
@@ -14847,14 +11716,9 @@
the
following
values:
-
+
header
-
:
-
--
+
:
+
name
-
.
-
+
.
query
-
:
-
+
name
-
.
-
+
.
body
-
:
-
+
name
-
.
-
+.
When
used
in
@@ -14950,21 +11803,20 @@
+
body
-
+
security
information
location,
the
value
of
-
+
name
-
-
+
MUST
-
+
be
in
the
@@ -14974,11 +11826,9 @@
+
DataSchema
-
+
for
each
interaction
@@ -14997,7 +11847,7 @@
+
#
-
+
;
it
is
@@ -15076,10 +11926,7 @@
+
body
-
+
locator
does
not
@@ -15143,9 +11989,9 @@
+
body
-
+
locator
-
+
MAY
-
+
use
the
"
-
+
-
-
+
"
character
to
@@ -15205,8 +12050,7 @@
+
body
-
+
security
information
location
-
+
MUST
-
+
be
required
and
of
type
"
-
+
string
-
+
".
-
+
If
-
+
name
-
+
is
not
given,
@@ -15255,13 +12099,9 @@
+
cookie
-
:
-
--
+
:
+
name
-
.
-
+
.
uri
-
:
-
+
name
-
.
+.
This
is
more
general
than
the
-
+
query
-
+
mechanism
but
more
complex.
-
+
The
value
-
+
uri
-
-
+
SHOULD
-
+
be
specified
for
the
name
-
+
in
-
+
in
a
security
scheme
only
if
-
+
query
-
+
is
not
applicable.
-
-
+
The
URIs
provided
@@ -15366,19 +12199,18 @@
+
uri
-
+
as
the
value
for
-
+
in
-
-
+
MUST
-
+
be
a
URI
@@ -15387,14 +12219,9 @@
+
auto
-
:
-
--
+
:
+
auto
-
+
is
set
for
the
-
+
in
-
+
field
of
a
-
+
SecurityScheme
-
,
+,
then
the
-
+
name
-
+
field
-
+
SHOULD
NOT
-
+
be
set.
-
+
In
this
case,
@@ -15447,9 +12274,9 @@
+
SecurityScheme
-
+
is
subject
to
@@ -15462,23 +12289,19 @@
+
BasicSecurityScheme
-
+
with
HTTP).
-+
If
multiple
parameters
@@ -15501,15 +12324,15 @@
them
using
a
-
+
combo
-
+
security
scheme
and
-
+
allOf
-
.
+.
In
some
cases
@@ -15592,9 +12415,7 @@
in
the
TD.
-
- +
The
names
of
@@ -15603,12 +12424,11 @@
declared
in
a
-
+
SecurityScheme
-
-
+
MUST
-
+
be
distinct
from
@@ -15620,48 +12440,28 @@
in
the
TD.
-
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
@type
-
- |
-+ |
JSON-LD
keyword
to
@@ -15669,41 +12469,27 @@ the object with - +semantic tags - + (or types). - |
-+ | optional - | -
-
-
+ |
string
-
-
+
or
-
+
Array
-
+
of
-
-
+
string
-
-
- |
-||
-
+ | ||||||||
description
-
- |
-+ |
Provides
additional
(human-readable)
@@ -15713,25 +12499,13 @@ a default language. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
descriptions
-
- |
-+ |
Can
be
used
@@ -15744,34 +12518,19 @@ languages. Also see - - +MultiLanguage - -. - |
-+. | optional - | -- + |
Map
-
+
of
-
-
+
MultiLanguage
-
-
- |
-||
-
+ | ||||||||
proxy
-
- |
-+ |
URI
of
the
@@ -15794,25 +12553,13 @@ for the endpoint. - |
-+ | optional - | -
-
-
+ |
anyURI
-
-
- |
-||
-
+ | ||||||||
scheme
-
- |
-+ |
Identification
of
the
@@ -15820,141 +12567,67 @@ mechanism being configured. - |
-+ | mandatory - | -
-
-
+ |
string
-
-
+
(e.g.,
-
+
nosec
- ,
-
+ ,
combo
- ,
-
+ ,
basic
- ,
-
+ ,
digest
- ,
-
+ ,
bearer
- ,
-
+ ,
psk
- ,
-
+ ,
oauth2
- ,
-
+ ,
apikey
- ,
+,
or
-
+
auto
-
+
)
- |
-
+
The
class
-
+
SecurityScheme
-
+
has
the
following
subclasses:
-
+
NoSecurityScheme
-
-
-
--
-
-
+
AutoSecurityScheme
-
-
-
--
-
-
+
ComboSecurityScheme
-
-
-
--
-
-
+
BasicSecurityScheme
-
-
-
--
-
-
+
DigestSecurityScheme
-
-
-
--
-
-
+
APIKeySecurityScheme
-
-
-
--
-
-
+
BearerSecurityScheme
-
-
-
--
-
-
+
PSKSecurityScheme
-
-
-
--
-
-
+
OAuth2SecurityScheme
-
-
-
-
-
+
NoSecurityScheme
-
-
+
A
security
configuration
@@ -15963,18 +12636,17 @@
identified
by
the
-
+
Vocabulary
Term
-
-
+
(i.e.,
-
nosec
-
+
+
"scheme":
"nosec"
-
+
),
indicating
there
@@ -15989,22 +12661,11 @@
access
the
resource.
-
+
AutoSecurityScheme
-
-
+
An
automatic
authentication
@@ -16014,14 +12675,14 @@
by
the
term
-
+
auto
-
+
(i.e.,
-
+
"scheme":
"auto"
-
+
).
This
scheme
@@ -16051,11 +12712,9 @@
protocol
(e.g.
[
-
-
+
RFC8288
-
-
+
]
for
Basic
@@ -16063,31 +12722,17 @@
when
using
HTTP).
-
+
ComboSecurityScheme
-
-
- +
This section is at risk. - -
-+
A
combination
of
@@ -16097,18 +12742,17 @@
identified
by
the
-
+
Vocabulary
Term
-
-
+
(i.e.,
-
combo
-
+
+
"scheme":
"combo"
-
+
).
Elements
of
@@ -16124,16 +12768,14 @@
schemes
defined
in
-
+
securityDefinitions
-
,
+,
including
other
-
-
+
ComboSecurityScheme
-
-
+
definitions,
are
to
@@ -16145,28 +12787,26 @@
new
scheme
definition.
-
+
Exactly
one
of
either
-
+
oneOf
-
+
or
-
+
allOf
-
-
-vocabulary
+
+vocabulary
terms
-
-
+
MUST
-
+
be
included.
-
+
Only
security
scheme
@@ -16180,9 +12820,9 @@
be
combined
with
-
+
allOf
-
.
+.
For
example,
it
@@ -16199,9 +12839,9 @@
flows
together
using
-
+
allOf
-
+
unless
one
applies
@@ -16225,9 +12865,9 @@
listed
in
a
-
+
security
-
+
field
the
same
@@ -16236,9 +12876,9 @@
as
in
an
-
+
allOf
-
+
combination
(and
the
@@ -16248,9 +12888,9 @@
allowable
combinations).
The
-
+
oneOf
-
+
combination
is
equivalent
@@ -16269,9 +12909,9 @@
this
sense
a
-
+
oneOf
-
+
scheme
is
not
@@ -16286,47 +12926,28 @@
in
such
cases.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
oneOf
-
- |
-+ |
Array
of
two
@@ -16355,29 +12976,17 @@ chosen for use. - |
-+ | mandatory - | -- + |
Array
-
+
of
-
-
+
string
-
-
- |
-||
-
+ | ||||||||
allOf
-
- |
-+ |
Array
of
two
@@ -16398,65 +13007,42 @@ satisfied for access. - |
-+ | mandatory - | -- + |
Array
-
+
of
-
-
+
string
-
-
- |
-
+
BasicSecurityScheme
-
-
Basic
Authentication
[
-
-
+
RFC7617
-
-
+
]
security
configuration
identified
by
the
-
+
Vocabulary
Term
-
-
+
(i.e.,
-
basic
-
+
+
"scheme":
"basic"
-
+
),
using
an
@@ -16464,47 +13050,28 @@
username
and
password.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
name
-
- |
-+ |
Name
for
query,
@@ -16513,25 +13080,13 @@ or uri parameters. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
-in
-
- |
-+ | |||||||
+in
+ |
Specifies
the
location
@@ -16539,84 +13094,57 @@ security authentication information. - |
-- + | with default - - | -
-
-
+ |
string
-
-
+
(one
of
-
+
header
- ,
-
+ ,
query
- ,
-
+ ,
body
- ,
-
+ ,
cookie
- ,
+,
or
-
+
auto
-
+
)
- |
-
+
DigestSecurityScheme
-
-
Digest
Access
Authentication
[
-
-
+
RFC7616
-
-
+
]
security
configuration
identified
by
the
-
+
Vocabulary
Term
-
-
+
(i.e.,
-
digest
-
+
+
"scheme":
"digest"
-
+
).
This
scheme
@@ -16633,47 +13161,28 @@
avoid
man-in-the-middle
attacks.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
name
-
- |
-+ |
Name
for
query,
@@ -16682,25 +13191,13 @@ or uri parameters. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
-in
-
- |
-+ | |||||||
+in
+ |
Specifies
the
location
@@ -16708,92 +13205,55 @@ security authentication information. - |
-- + | with default - - | -
-
-
+ |
string
-
-
+
(one
of
-
+
header
- ,
-
+ ,
query
- ,
-
+ ,
body
- ,
-
+ ,
cookie
- ,
+,
or
-
+
auto
-
+
)
- |
-|||
-
+ | ||||||||
qop
-
- |
-+ | Quality of protection. - | -- + | with default - - | -
-
-
+ |
string
-
-
+
(one
of
-
+
auth
- ,
+,
or
-
+
auth-int
-
+
)
- |
-
+
APIKeySecurityScheme
-
-
API
key
authentication
@@ -16802,18 +13262,17 @@
identified
by
the
-
+
Vocabulary
Term
-
-
+
(i.e.,
-
apikey
-
+
+
"scheme":
"apikey"
-
+
).
This
scheme
@@ -16884,51 +13343,32 @@
indicated
by
the
-
+
"in"
-
+
field.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
name
-
- |
-+ |
Name
for
query,
@@ -16937,25 +13377,13 @@ or uri parameters. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
-in
-
- |
-+ | |||||||
+in
+ |
Specifies
the
location
@@ -16963,86 +13391,58 @@ security authentication information. - |
-- + | with default - - | -
-
-
+ |
string
-
-
+
(one
of
-
+
header
- ,
-
+ ,
query
- ,
-
+ ,
body
- ,
-
+ ,
cookie
- ,
-
+ ,
uri
- ,
+,
or
-
+
auto
-
+
)
- |
-
+
BearerSecurityScheme
-
-
Bearer
Token
[
-
-
+
RFC6750
-
-
+
]
security
configuration
identified
by
the
-
+
Vocabulary
Term
-
-
+
(i.e.,
-
bearer
-
+
+
"scheme":
"bearer"
-
+
)
for
situations
@@ -17056,9 +13456,9 @@
OAuth2.
If
the
-
+
oauth2
-
+
scheme
is
specified
@@ -17078,76 +13478,68 @@
is
implied.
For
-
+
format
-
,
+,
the
value
-
+
jwt
-
+
indicates
conformance
with
[
-
-
+
RFC7519
-
-
+
],
-
+
jws
-
+
indicates
conformance
with
[
-
-
+
RFC7797
-
-
+
],
-
+
cwt
-
+
indicates
conformance
with
[
-
-
+
RFC8392
-
-
+
],
and
-
+
jwe
-
+
indicates
conformance
with
[
-
-
+
RFC7516
-
-
+
],
with
values
for
-
+
alg
-
+
interpreted
consistently
with
those
standards.
-
+
Other
formats
and
@@ -17155,80 +13547,48 @@
for
bearer
tokens
-
+
MAY
-
+
be
specified
in
vocabulary
extensions
-.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
authorization
-
- |
-+ | URI of the authorization server. - | -+ | optional - | -
-
-
+ |
anyURI
-
-
- |
-||
-
+ | ||||||||
name
-
- |
-+ |
Name
for
query,
@@ -17237,104 +13597,64 @@ or uri parameters. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
alg
-
- |
-+ | Encoding, encryption, or digest algorithm. - | -- + | with default - - | -
-
-
+ |
string
-
-
+
(e.g.,
-
+
ES256
- ,
+,
or
-
+
ES512-256
-
+
)
- |
-||
-
+ | ||||||||
format
-
- |
-+ | Specifies format of security authentication information. - | -- + | with default - - | -
-
-
+ |
string
-
-
+
(e.g.,
-
+
jwt
- ,
-
+ ,
cwt
- ,
-
+ ,
jwe
- ,
+,
or
-
+
jws
-
+
)
- |
-||
-
-in
-
- |
-+ | |||||||
+in
+ |
Specifies
the
location
@@ -17342,57 +13662,33 @@ security authentication information. - |
-- + | with default - - | -
-
-
+ |
string
-
-
+
(one
of
-
+
header
- ,
-
+ ,
query
- ,
-
+ ,
body
- ,
-
+ ,
cookie
- ,
+,
or
-
+
auto
-
+
)
- |
-
+
PSKSecurityScheme
-
-
Pre-shared
key
authentication
@@ -17401,18 +13697,17 @@
identified
by
the
-
+
Vocabulary
Term
-
-
+
(i.e.,
-
psk
-
+
+
"scheme":
"psk"
-
+
).
This
is
@@ -17431,11 +13726,9 @@
as
TLS-PSK
[
-
-
+
RFC4279
-
-
+
],
and
that
@@ -17450,47 +13743,28 @@
during
protocol
negotiation.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
identity
-
- |
-+ |
Identifier
providing
information
@@ -17502,35 +13776,15 @@ selection or confirmation. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-
+
OAuth2SecurityScheme
-
-
OAuth
2.0
authentication
@@ -17541,185 +13795,89 @@
conformant
with
[
-
-
+
RFC6749
-
-
-],
-[
-RFC8252
-
+
]
and
-(for
-the
-device
-flow)
-
[
-
-RFC8628
-
-
-RFC8252
-
-
-
+
+RFC8252
+
],
identified
by
the
-
+
Vocabulary
Term
-
-
+
(i.e.,
-
oauth2
-
+
+
"scheme":
"oauth2"
-
+
).
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
authorization
-
- |
-+ |
URI
of
the
authorization
server.
- |
-+ | optional - | -
-
-
+ |
anyURI
-
-
- |
-||
-
+ | ||||||||
token
-
- |
-+ | URI of the token server. - | -+ | optional - | -
-
-
+ |
anyURI
-
-
- |
-||
-
+ | ||||||||
refresh
-
- |
-+ | URI of the refresh server. - | -+ | optional - | -
-
-
+ |
anyURI
-
-
- |
-||
-
+ | ||||||||
scopes
-
- |
-+ |
Set
of
authorization
@@ -17761,11 +13919,9 @@
with
a
form
-
+SHOULD
+
be
chosen
from
@@ -17773,175 +13929,102 @@ |
-+ | optional - | -
-
-
+ |
string
-
-
+
or
-
+
Array
-
+
of
-
-
+
string
-
-
- |
-||
-
+ | ||||||||
flow
-
- |
-+ | Authorization flow. - | -+ | mandatory - | -
-
-
+ |
string
-
-
+
(e.g.,
-
+
code
- ,
-
-
+
+client
+
)
- |
-
- +
For
the
-
+
code
-
+
flow
both
-
+
authorization
-
+
and
-
+
token
-
-
-vocabulary
+
+vocabulary
terms
-
-
+
MUST
-
+
be
included.
-
-
+
For
the
-
+
client
-
+
flow
-
+
token
-
-
-vocabulary
+
+vocabulary
term
-
-
+
MUST
-
+
be
included.
-
-
+
For
the
-
+
client
-
+
flow
-
+
authorization
-
-
-vocabulary
+
+vocabulary
term
-
-
+
MUST
NOT
-
+
be
included.
-
-For
-the
-device
-flow
-both
-authorization
-and
-token
-MUST
-be
-included.
-In
-the
-case
-of
-the
-device
-flow
-the
-value
-provided
-for
-authorization
-refers
-to
-the
-device
-authorization
-endpoint
-defined
-in
-[
-RFC8628
-].
-
+
The
mandatory
elements
@@ -17954,95 +14037,38 @@
the
following
table:
-
+
- - + |
---|
The
present
model
@@ -18059,13 +14085,13 @@
exposed
by
a
-
+
Thing
-.
+.
The
-
+
Link
-
+
class
definition
reflects
@@ -18081,11 +14107,9 @@
Web
Linking
[
-
-
+
RFC8288
-
-
+
].
The
defined
@@ -18100,28 +14124,28 @@
relation
to
another
-
+
Thing
-
+
such
as
a
-
+
Lamp
Thing
-
+
is
controlled
by
a
-
+
Switch
Thing
-.
+.
The
-
+
Form
-
+
class
corresponds
to
@@ -18137,28 +14161,18 @@
the
state
of
-
+
Things
-
+
(and
other
Web
resources).
-
+
Link
-
-
+
A
link
can
@@ -18171,84 +14185,57 @@
the
form
"
-
-
+
link
context
-
-
+
has
a
-
-
+
relation
type
-
-
+
resource
at
-
-
+
link
target
-
-
+
",
where
the
optional
-
-
+
target
attributes
-
-
+
may
further
describe
the
resource.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
href
-
- |
-+ |
Target
IRI
of
@@ -18260,25 +14247,13 @@ of a form. - |
-+ | mandatory - | -
-
-
+ |
anyURI
-
-
- |
-||
-
+ | ||||||||
type
-
- |
-+ |
Target
attribute
providing
@@ -18290,11 +14265,9 @@ media type [ - - +RFC2046 - - + ] of the @@ -18305,25 +14278,13 @@link should be. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
rel
-
- |
-+ |
A
link
relation
@@ -18334,25 +14295,13 @@ of a link. - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
anchor
-
- |
-+ |
Overrides
the
link
@@ -18365,9 +14314,9 @@
identified
by
its
- |
-+ | optional - | -
-
-
+ |
anyURI
-
-
- |
-||
-
+ | ||||||||
sizes
-
- |
-+ |
Target
attribute
that
@@ -18421,25 +14358,13 @@ "16x16", "16x16 32x32"). - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
hreflang
-
- |
-+ |
The
hreflang
attribute
@@ -18461,68 +14386,45 @@ language tag [ - - +BCP47 - - + ]. - |
-+ | optional - | -
-
-
+ |
string
-
-
+
or
-
+
Array
-
+
of
-
-
+
string
-
-
- |
-
+
The
-
+
hreflang
-
+
attribute
is
allowed
to
be
a
-
+
string
-
+
or
-
+
array
-
+
in
this
version
@@ -18535,29 +14437,25 @@
result
of
[
-
-
+
LINKSET-MEDIA-TYPES
-
-
+
]
the
values
of
-
+
hrefLang
-
+
can
be
restricted
to
-
+
array
-
+
only.
-
+
Link
relations
can
@@ -18617,15 +14515,13 @@
existing
and
established
-
+
Link
Relation
definitions
from
IANA.
-
-
+
In
the
following
@@ -18644,92 +14540,64 @@
use
within
WoT
-
+
Thing
Description
-
+
or
-
+
Thing
Model
-
+
instances.
-
+
Value
- |
-
+ |
Occurrence
- |
-
+ |
Explanation
- |
-
+ |
Source
of
value
origin
- |
- |
---|---|---|---|---|---|---|---|
-
+ | |||||||
icon
-
- |
-+ | 0..* - | -+ | Imports an icon associated to the - + Thing - + (e.g., for UI purposes). - | -- + | IANA Link Relation - - | -|
-
+ | |||||||
service-doc
-
- |
-+ | 0..* - | -+ |
Relation
to
a
@@ -18740,65 +14608,45 @@ documentation or descriptions. - |
-- + | IANA Link Relation - - | -|
-
+ | |||||||
alternate
-
- |
-+ | 0..* - | -+ | Point to alternative representation of the - + Thing - + (i.e. RDF-Turtle, human-readable HTML document, ...). - | -- + | IANA Link Relation - - | -|
-
+ | |||||||
type
-
- |
-+ | 0..1 - | -+ |
Indicate
that
the
-
+
Thing
-
+
is
an
instance
@@ -18810,29 +14658,18 @@ as to a - +Thing Model -. - |
-- +. | IANA Link Relation - - | -|
-
+ | |||||||
tm:extends
-
- |
-+ | 0..1 - | -+ |
Extends
an
existing
@@ -18844,72 +14681,54 @@ such as a - +Thing Model -. +. Only applicable for Thing Model definitions. - |
-- + | W3C - + WoT Thing Model - | -|
-
+ | |||||||
tm:submodel
-
- |
-+ | 0..* - | -+ | Used to compose one or multiple - + Thing Models -. +. Only applicable for Thing Model definitions. - | -- + | W3C - + WoT Thing Model - | -|
-
+ | |||||||
manifest
-
- |
-+ | 0..* - | -+ |
Point
to
the
@@ -18938,31 +14757,19 @@ (also see [ - - +APPMANIFEST - - + ]). - |
-- + | IANA Link Relation - - | -|
-
+ | |||||||
proxy-to
-
- |
-+ | 0..* - | -+ |
Target
resource
provide
@@ -18971,7 +14778,7 @@
of
a
proxy.
-Additional
+Additional
security
metadata
can
@@ -18985,166 +14792,108 @@ |
-- +. | W3C - + WoT Security and WoT Binding Template - | -|
-
+ | |||||||
collection
-
- |
-+ | 0..1 - | -+ | Points to a collections of - + Things -. - | -- +. | IANA Link Relation - - | -|
-
+ | |||||||
item
-
- |
-+ | 0..* - | -+ | Points to a - + Thing - + that is member of the current - + Thing - + collections. - | -- + | IANA Link Relation - - | -|
-
+ | |||||||
predecessor-version
-
- |
-+ | 0..1 - | -+ | Points to a previous - + Thing Description - + or - + Thing Model - + version. - | -- + | IANA Link Relation - - | -|
-
+ | |||||||
controlledBy
-
- |
-+ | 0..* - | -+ | Refers to a - + Thing - + that controls the context - + Thing -. - | -- +. | W3C - + Thing Description - | -
+
Form
-
-
A
form
can
@@ -19157,46 +14906,36 @@
"To
perform
an
-
-
+
operation
type
-
-
+
operation
on
-
-
+
form
context
-
-,
+,
make
a
-
-
+
request
method
-
-
+
request
to
-
-
+
submission
target
-
-
+
"
where
the
optional
-
-
+
form
fields
-
-
+
may
further
describe
@@ -19207,12 +14946,10 @@
Thing
Descriptions,
the
-
-
+
form
context
-
-
+
is
the
surrounding
@@ -19229,47 +14966,28 @@
itself
for
meta-interactions.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
href
-
- |
-+ |
Target
IRI
of
@@ -19281,25 +14999,13 @@ of a form. - |
-+ | mandatory - | -
-
-
+ |
anyURI
-
-
- |
-||
-
+ | ||||||||
contentType
-
- |
-+ |
Assign
a
content
@@ -19310,51 +15016,35 @@
media
type
(e.g.,
- |
-- + | with default - - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
contentCoding
-
- |
-+ |
Content
coding
values
@@ -19411,25 +15101,13 @@ "deflate", etc. . - |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
security
-
- |
-+ |
Set
of
security
@@ -19440,9 +15118,9 @@
those
defined
in
- |
-+ | optional - | -
-
-
+ |
string
-
-
+
or
-
+
Array
-
+
of
-
-
+
string
-
-
- |
-||
-
+ | ||||||||
scopes
-
- |
-+ |
Set
of
authorization
@@ -19522,11 +15186,9 @@
with
a
form
-
+SHOULD
+
be
chosen
from
@@ -19534,42 +15196,28 @@ |
-+ | optional - | -
-
-
+ |
string
-
-
+
or
-
+
Array
-
+
of
-
-
+
string
-
-
- |
-||
-
+ | ||||||||
response
-
- |
-+ |
This
optional
term
@@ -19608,25 +15256,13 @@ primary response messages. - |
-+ | optional - | -
-
-
+ |
ExpectedResponse
-
-
- |
-||
-
+ | ||||||||
additionalResponses
-
- |
-+ |
This
optional
term
@@ -19671,29 +15307,17 @@ own data schema. - |
-+ | optional - | -- + |
Array
-
+
of
-
-
+
AdditionalExpectedResponse
-
-
- |
-||
-
+ | ||||||||
subprotocol
-
- |
-+ |
Indicates
the
exact
@@ -19738,36 +15362,32 @@
long
polling
(
- |
-+ | optional - | -
-
-
+ |
string
-
-
+
(e.g.,
-
+
longpoll
- ,
-
+ ,
websub
- ,
+,
or
-
+
sse
-
+
)
- |
-||
-
+ | ||||||||
op
-
- |
-+ |
Indicates
the
semantic
@@ -19906,99 +15514,70 @@ of an operation. - |
-- + | with default - - | -
-
-
+ |
string
-
-
+
or
-
+
Array
-
+
of
-
-
+
string
-
-
+
(one
of
-
+
readproperty
- ,
-
+ ,
writeproperty
- ,
-
+ ,
observeproperty
- ,
-
+ ,
unobserveproperty
- ,
-
+ ,
invokeaction
- ,
-
+ ,
queryaction
- ,
-
+ ,
cancelaction
- ,
-
+ ,
subscribeevent
- ,
-
+ ,
unsubscribeevent
- ,
-
+ ,
readallproperties
- ,
-
+ ,
writeallproperties
- ,
-
+ ,
readmultipleproperties
- ,
-
+ ,
writemultipleproperties
- ,
-
+ ,
observeallproperties
- ,
-
+ ,
unobserveallproperties
- ,
-
+ ,
subscribeallevents
- ,
-
+ ,
unsubscribeallevents
- ,
+,
or
-
+
queryallactions
-
+
)
- |
-
+
Possible
values
for
the
-
+
contentCoding
-
+
property
can
be
@@ -20006,15 +15585,13 @@
e.g.,
in
the
-
+
IANA
HTTP
content
coding
registry
-.
-
+.
The
list
of
@@ -20049,11 +15626,9 @@
described
in
[
-
-
+
wot-architecture11
-
-
+
].
Future
versions
@@ -20065,13 +15640,13 @@
this
list
but
-
+
operations
types
-
+
SHOULD
NOT
-
+
be
arbitrarily
set
@@ -20087,37 +15662,22 @@
the
table
below.
-
-
+
Operation
Type
- |
-
+ |
Description
- |
- |
---|---|---|---|
+ | |||
readproperty - | -+ |
Identifies
the
read
@@ -20130,13 +15690,9 @@ the corresponding data. - |
-|
+ | |||
writeproperty - | -+ |
Identifies
the
write
@@ -20149,13 +15705,9 @@ the corresponding data. - |
-|
+ | |||
observeproperty - | -+ |
Identifies
the
observe
@@ -20175,13 +15727,9 @@ Property is updated. - |
-|
+ | |||
unobserveproperty - | -+ |
Identifies
the
unobserve
@@ -20194,13 +15742,9 @@ the corresponding notifications. - |
-|
+ | |||
invokeaction - | -+ |
Identifies
the
invoke
@@ -20213,13 +15757,9 @@ the corresponding action. - |
-|
+ | |||
queryaction - | -+ |
Identifies
the
querying
@@ -20235,13 +15775,9 @@ the corresponding action. - |
-|
+ | |||
cancelaction - | -+ |
Identifies
the
cancel
@@ -20255,13 +15791,9 @@ ongoing corresponding action. - |
-|
+ | |||
subscribeevent - | -+ |
Identifies
the
subscribe
@@ -20279,13 +15811,9 @@ the event occurs. - |
-|
+ | |||
unsubscribeevent - | -+ |
Identifies
the
unsubscribe
@@ -20298,13 +15826,9 @@ the corresponding notifications. - |
-|
+ | |||
readallproperties - | -+ |
Identifies
the
readallproperties
@@ -20323,13 +15847,9 @@ a single interaction. - |
-|
+ | |||
writeallproperties - | -+ |
Identifies
the
writeallproperties
@@ -20349,13 +15869,9 @@ a single interaction. - |
-|
+ | |||
readmultipleproperties - | -+ |
Identifies
the
readmultipleproperties
@@ -20374,13 +15890,9 @@ a single interaction. - |
-|
+ | |||
writemultipleproperties - | -+ |
Identifies
the
writemultipleproperties
@@ -20400,13 +15912,9 @@ a single interaction. - |
-|
+ | |||
observeallproperties - | -+ |
Identifies
the
observeallproperties
@@ -20424,13 +15932,9 @@ Property is updated. - |
-|
+ | |||
unobserveallproperties - | -+ |
Identifies
the
unobserveallproperties
@@ -20447,13 +15951,9 @@ a single interaction. - |
-|
+ | |||
queryallactions - | -+ |
Identifies
the
queryallactions
@@ -20472,13 +15972,9 @@ a single interaction. - |
-|
+ | |||
subscribeallevents - | -+ |
Identifies
the
subscribeallevents
@@ -20496,13 +15992,9 @@ a single interaction. - |
-|
+ | |||
unsubscribeallevents - | -+ |
Identifies
the
unsubscribeallevents
@@ -20520,23 +16012,18 @@ a single interaction. - |
-
+
A
-
+
Thing
Description
-
+
of
a
WoT
-
+
producer
-
+
may
have
multiple
@@ -20552,9 +16039,9 @@
declarations
that
a
-
+
Consumer
-
+
could
possibly
support.
@@ -20590,9 +16077,9 @@
expected
that
the
-
+
Consumer
-
+
will
continue
to
@@ -20609,37 +16096,23 @@
with
the
WoT
-
producer.
-
-
-producer
-.
-
- +
This section is non-normative. - -
-+
Protocols
that
can
@@ -20662,15 +16135,15 @@
correlates
with
the
-
+
op
-
+
keywords
used
in
-
+
forms
-
.
+.
The
table
below
@@ -20684,13 +16157,11 @@
terms
with
the
-
+
op
-
+
keywords.
-
+
Operation
Type
- |
-
+ |
Consumer
to
Thing
DataSchema
Correlation
- |
-
+ |
Thing
to
Consumer
DataSchema
Correlation
- |
- |
---|---|---|---|---|---|
+ | |||||
readproperty - | -+ | No correlation. - | -+ |
All
fields
in
@@ -20835,16 +16288,11 @@
Property
Affordance
without
- |
-|
+. | |||||
writeproperty - | -+ |
All
fields
in
@@ -20852,16 +16300,14 @@
Property
Affordance
without
- |
-+. |
No
correlation.
-
+
additionalResponses
-
+
can
be
used
@@ -20869,17 +16315,12 @@ the form level. - |
-|
+ | |||||
observeproperty - | -+ | No correlation. - | -+ |
All
fields
in
@@ -20887,61 +16328,45 @@
Property
Affordance
without
- |
-|
+. | |||||
unobserveproperty - | -+ | No correlation. - | -+ | No correlation. - | -|
+ | |||||
invokeaction - | -+ |
Value
of
the
-
+
input
-
+
key.
- |
-+ |
Value
of
the
-
+
output
-
+
key.
- |
-|
+ | |||||
queryaction - | -+ | No correlation. - | -+ |
No
correlation.
-
+
additionalResponses
-
+
can
be
used
@@ -20949,22 +16374,17 @@ the form level. - |
-|
+ | |||||
cancelaction - | -+ | No correlation. - | -+ |
No
correlation.
-
+
additionalResponses
-
+
can
be
used
@@ -20972,97 +16392,74 @@ the form level. - |
-|
+ | |||||
subscribeevent - | -+ |
Value
of
the
-
+
subscription
-
+
key
with
all
fields
without
-
+
"readOnly":true
-
- |
-+ |
Value
of
the
-
+
subscription
-
+
key
with
all
fields
without
-
+
"writeOnly":true
-
- |
-|
+ | |||||
unsubscribeevent - | -+ |
Value
of
the
-
+
subscription
-
+
key
with
all
fields
without
-
+
"readOnly":true
-
- |
-+ |
Value
of
the
-
+
subscription
-
+
key
with
all
fields
without
-
+
"writeOnly":true
-
- |
-
+
Writing
to
a
@@ -21091,27 +16488,15 @@
protocol
and
implementation.
-
-The
-
-Further
+mappings
+
+Further
specification
of
how
@@ -21119,30 +16504,20 @@
map
operations
to
-
data
-schemas
-for
-
-schemas,
+schemas,
as
well
as
mapping
-
meta
operations
such
as
-
+
+can
be
found
in
@@ -21153,33 +16528,22 @@
readallproperties
-
-is
-currently
-under
-discussion.
-
-can
+
of
the
[
-
+
WOT-BINDING-TEMPLATES
-
+
].
-
-
The
optional
-
+
response
-
+
name-value
pair
can
@@ -21210,20 +16574,20 @@
could
be
applied.
-
+
If
no
-
+
response
-
+
name-value
pair
is
provided,
it
-
+
MUST
-
+
be
assumed
that
@@ -21244,28 +16608,27 @@
the
Form
instance.
-
+
Note
that
-
+
contentType
-
+
within
an
-
+
ExpectedResponse
-
-
+
Class
-
+
does
not
have
a
-
+
Default
Value
-.
+.
For
instance,
if
@@ -21279,9 +16642,9 @@
the
form
is
-
+
application/xml
-
+
the
assumed
value
@@ -21295,11 +16658,9 @@
will
be
also
-
+
application/xml
-
.
-
+.
In
some
cases
@@ -21328,14 +16689,11 @@
responses.
In
this
-
case
-
-case,
-
+case,
the
-
+
response
-
+
name-value
pair
is
@@ -21346,9 +16704,9 @@
primary
response
but
-
+
additionalResponses
-
+
may
also
be
@@ -21359,9 +16717,9 @@
an
array
of
-
+
AdditionalExpectedResponse
-
+
objects.
Each
additional
@@ -21378,9 +16736,9 @@
response,
either
by
-
+
contentType
-
+
or
by
protocol-specific
@@ -21412,8 +16770,7 @@
for
the
interaction.
-
+
In
some
use
@@ -21446,9 +16803,9 @@
case,
the
optional
-
+
response
-
+
name-value
pair
can
@@ -21460,7 +16817,7 @@
the
expected
response.
-
+
If
the
content
@@ -21478,15 +16835,13 @@
the
form,
the
-
+
Form
-
+
instance
-
-
+
MUST
-
-
+
include
a
name-value
@@ -21494,22 +16849,21 @@
with
the
name
-
+
response
-
.
-
+.
For
instance,
an
-
+
ActionAffordance
-
+
could
only
accept
-
+
application/json
-
+
for
its
input
@@ -21520,9 +16874,9 @@
respond
with
an
-
+
image/jpeg
-
+
content
type
for
@@ -21538,9 +16892,9 @@
differ
and
the
-
+
response
-
+
name-value
pair
has
@@ -21553,18 +16907,16 @@
content
type
(
-
+
image/jpeg
-
+
)
information
to
the
-
+
Consumer
-.
-
+.
Similar
considerations
apply
@@ -21576,9 +16928,9 @@
this
case
the
-
+
contentType
-
+
is
optional
if
@@ -21593,7 +16945,7 @@
Type
(e.g.
JSON).
-
+
If
the
content
@@ -21612,15 +16964,13 @@
the
form,
the
-
+
Form
-
+
instance
-
-
+
MUST
-
-
+
include
an
entry
@@ -21631,9 +16981,9 @@
with
the
name
-
+
additionalResponses
-
+
that
includes
a
@@ -21641,11 +16991,9 @@
for
the
name
-
+
contentType
-
.
-
-
+.
If
the
data
@@ -21665,15 +17013,13 @@
the
interaction,
the
-
+
Form
-
+
instance
-
-
+
MUST
-
-
+
include
an
entry
@@ -21684,9 +17030,9 @@
with
the
name
-
+
additionalResponses
-
+
that
includes
a
@@ -21694,13 +17040,10 @@
for
the
name
-
+
schema
-
.
-
-
-The +.
+The
different
cases
on
@@ -21716,7 +17059,7 @@
The
tables
at
-
+
C.
contentType
@@ -21732,23 +17075,11 @@
a
concise
manner.
-
+
ExpectedResponse
-
-
+
Communication
metadata
describing
@@ -21760,47 +17091,28 @@
the
primary
response.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
contentType
-
- |
-+ |
Assign
a
content
@@ -21811,58 +17123,36 @@
media
type
(e.g.,
- |
-+ | mandatory - | -
-
-
+ |
string
-
-
- |
-
+
AdditionalExpectedResponse
-
-
Communication
metadata
describing
@@ -21873,47 +17163,28 @@
for
additional
responses.
-
-
+
Vocabulary
term
-
- |
-
+ |
Description
- |
-
+ |
Assignment
- |
-
+ |
Type
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
success
-
- |
-+ |
Signals
if
an
@@ -21925,28 +17196,14 @@ considered an error. - |
-- + | with default - - | -
-
-
+ |
boolean
-
-
- |
-||
-
+ | ||||||||
contentType
-
- |
-+ |
Assign
a
content
@@ -21957,51 +17214,35 @@
media
type
(e.g.,
- |
-- + | with default - - | -
-
-
+ |
string
-
-
- |
-||
-
+ | ||||||||
schema
-
- |
-+ |
Used
to
define
@@ -22025,9 +17266,9 @@
Rather
than
a
- |
-+ | optional - | -
-
-
+ |
string
-
-
- |
-
-
+
When
assignments
in
@@ -22085,58 +17305,50 @@
+.
are
missing,
a
-
+
TD
Processor
-
-
+
MUST
-
+
follow
the
-
+
Default
Value
-
+
assignments
expressed
in
the
table
of
-
+
Default
Value
Definitions
-.
-
-
The following table gives all - + Default Values - + defined in the - + TD Information Model -. -
-
-
+
Class
-
- |
-
-
+ |
Vocabulary
Term
-
- |
-
-
+ |
Default
Value
-
- |
-
+ |
Comment
- |
-
- |
+ |
---|---|---|---|---|---|---|---|---|
PropertyAffordance
-
- |
-
-
+ |
readOnly
-
- |
-
-
+ |
false
-
- |
-+ |
The
default
value
@@ -22208,9 +17394,9 @@
only
to
the
- |
-||
-
+ | ||||||||
PropertyAffordance
-
- |
-
-
+ |
writeOnly
-
- |
-
-
+ |
false
-
- |
-+ |
The
default
value
@@ -22257,9 +17431,9 @@
only
to
the
- |
-||
-
+ | ||||||||
PropertyAffordance
-
- |
-
-
+ |
observable
-
- |
-
-
+ |
false
-
- |
-- | -|||
-
+ | ||||||||
ActionAffordance
-
- |
-
-
+ |
safe
-
- |
-
-
+ |
false
-
- |
-- | -|||
-
+ | ||||||||
ActionAffordance
-
- |
-
-
+ |
idempotent
-
- |
-
-
+ |
false
-
- |
-- | -|||
-
+ | ||||||||
AdditionalExpectedResponse
-
- |
-
-
+ |
success
-
- |
-
-
+ |
false
-
- |
-- | -|||
-
+ | ||||||||
AdditionalExpectedResponse
-
- |
-
-
+ |
contentType
-
- |
-+ |
value
of
the
-
+
contentType
-
+
of
the
-
+
Form
-
+
element
it
belongs
to.
- |
-- | -|||
-
+ | ||||||||
Form
-
- |
-
-
+ |
contentType
-
- |
-
-
+ |
application/json
-
- |
-- | -|||
-
+ | ||||||||
Form
-
- |
-
-
+ |
op
-
- |
-- + |
Array
-
+
of
-
+
string
-
+
with
the
elements
-
+
readproperty
-
+
and
-
+
writeproperty
-
+
when
-
+
readOnly
-
+
and
-
+
writeOnly
-
+
are
set
to
-
+
false
-
+
or
-
+
Array
-
+
of
-
+
string
-
+
with
the
element
-
+
readproperty
-
+
when
-
+
readOnly
-
+
is
set
to
-
+
true
-
+
or
-
+
Array
-
+
of
-
+
string
-
+
with
the
element
-
+
writeproperty
-
+
when
-
+
writeOnly
-
+
is
set
to
-
+
true
- .
-- |
-
+. |
If
defined
within
an
instance
of
-
+
PropertyAffordance
-
- |
-||
-
+ | ||||||||
Form
-
- |
-
-
+ |
op
-
- |
-
-
+ |
invokeaction
-
- |
-+ |
If
defined
within
an
instance
of
-
+
ActionAffordance
-
- |
-||
-
+ | ||||||||
Form
-
- |
-
-
+ |
op
-
- |
-- + |
Array
-
+
of
-
+
string
-
+
with
the
elements
-
+
subscribeevent
-
+
and
-
+
unsubscribeevent
-
- |
-+ |
If
defined
within
an
instance
of
-
+
EventAffordance
-
- |
-||
-
+ | ||||||||
BasicSecurityScheme
-
- |
-
-
-in
-
- |
-
-
+ |
+in
+ |
header
-
- |
-- | -|||
-
+ | ||||||||
DigestSecurityScheme
-
- |
-
-
-in
-
- |
-
-
+ |
+in
+ |
header
-
- |
-- | -|||
-
+ | ||||||||
DigestSecurityScheme
-
- |
-
-
+ |
qop
-
- |
-
-
+ |
auth
-
- |
-- | -|||
-
+ | ||||||||
APIKeySecurityScheme
-
- |
-
-
-in
-
- |
-
-
+ |
+in
+ |
query
-
- |
-- | -|||
-
+ | ||||||||
BearerSecurityScheme
-
- |
-
-
-in
-
- |
-
-
+ |
+in
+ |
header
-
- |
-- | -|||
-
+ | ||||||||
BearerSecurityScheme
-
- |
-
-
+ |
alg
-
- |
-
-
+ |
ES256
-
- |
-- | -|||
-
+ | ||||||||
BearerSecurityScheme
-
- |
-
-
+ |
format
-
- |
-
-
+ |
jwt
-
- |
-- | -
WoT
Thing
Descriptions
@@ -22742,14 +17696,13 @@
structured
based
on
-
-
+
5.
-
+
TD
Information
Model
-.
+.
This
section
defines
@@ -22758,65 +17711,58 @@
representation
format
for
-
+
Things
-,
+,
a
serialization
of
instances
of
the
-
+
Class
-
-
+
defined
by
the
-
+
TD
Information
Model
-.
-
Thing
-
+
- +.
A
-
+
TD
Processor
-
-
+
MUST
-
+
be
able
to
serialize
-
+
Thing
Descriptions
-
+
into
the
JSON
format
[
-
-
+
RFC8259
-
-
+
]
and/or
deserialize
-
+
Thing
Descriptions
-
+
from
that
format,
@@ -22826,37 +17772,32 @@
rules
noted
in
-
-
+
6.1
-
+
Mapping
to
JSON
Types
-
+
and
-
-
+
6.3
-
+
Information
Model
Serialization
-.
-
-
+.
The
JSON
serialization
of
the
-
+
TD
Information
Model
-
+
is
aligned
with
@@ -22866,11 +17807,9 @@
JSON-LD
1.1
[
-
-
+
json-ld11
-
-
+
]
in
order
@@ -22904,17 +17843,13 @@
please
refer
to
-
-
-
+D.
+
JSON-LD
Context
Usage
-
+
and
the
documentation
@@ -22923,23 +17858,22 @@ C.
-
-D.
-
-
+
namespace
IRIs,
e.g.,
-
+
https://www.w3.org/2019/wot/td
-
+
).
-
+
In
order
to
support
interoperable
internationalization,
-
+
TDs
-
+
MUST
-
+
be
serialized
according
@@ -22953,50 +17887,40 @@
of
RFC8259
[
-
-
+
RFC8259
-
-
+
]
for
open
ecosystems.
-
+
In
summary,
this
requires
the
following:
-
+
The
-
+
TD
Information
Model
-
+
is
constructed,
so
@@ -23071,16 +17980,16 @@
mapping
between
model
-
+
Objects
-
+
and
JSON
types.
Every
-
+
Class
-
+
instances
maps
to
@@ -23093,9 +18002,9 @@
pair
of
the
-
+
Class
-
+
instance
is
a
@@ -23104,45 +18013,38 @@
the
JSON
object.
-
+
Every
-
+
Simple
Type
-
+
mentioned
in
-
-
+
5.3
-
+
Class
Definitions
-
+
(i.e.,
-
+
string
-
,
-
+
,
anyURI
-
,
-
+
,
dateTime
-
,
-
+
,
integer
-
,
-
+
,
unsignedInt
-
,
-
+
,
double
-
,
+,
and
-
+
boolean
-
+
)
maps
to
@@ -23167,45 +18069,37 @@
in
name-value
pairs:
-
+
2019-05-24T13:12:45Z
-
+
and
-
+
2015-07-11T09:32:26+08:00
-
.
-
+.
Values
that
are
of
type
-
+
dateTime
-
-
+
SHOULD
-
+
use
the
literal
-
+
Z
-
+
representing
the
UTC
@@ -23262,25 +18152,21 @@
+
integer
-
+
or
-
+
unsignedInt
-
-
+
MUST
-
+
be
serialized
as
@@ -23292,71 +18178,59 @@
+
double
-
-
+
MUST
-
+
be
serialized
as
JSON
number.
-
-
+
boolean
-
-
+
MUST
-
+
be
serialized
as
JSON
boolean.
-
-+
Every
complex
type
of
the
-
+
TD
Information
Model
-
+
(i.e.,
-
+
Arrays
-,
-
+,
Maps
-,
+,
and
-
+
Class
-
+
instances)
maps
to
@@ -23373,20 +18247,16 @@
rules
listed
below:
-
+
A
Thing
Description
serialization
may
omit
-
+
Vocabulary
Term
-
+
for
which
-
+
Default
Values
-
+
are
defined,
as
@@ -23521,16 +18369,13 @@
table
given
in
-
-
+
5.4
-
+
Default
Value
Definitions
-.
-
+.
The
following
example
@@ -23539,10 +18384,10 @@
TD
instance
from
-
+
Example
1
-
+
with
a
checkbox
@@ -23552,10 +18397,10 @@
the
members
with
-
+
Default
Values
-
+
(=checkbox
checked).
These
@@ -23573,10 +18418,10 @@
Note
that
a
-
+
TD
Processor
-
+
interprets
these
omitted
@@ -23591,23 +18436,15 @@
with
a
given
-
+
Default
Value
-.
-
{
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- ,
-
- "id": "urn:uuid:014139c9-b267-4db5-9c61-cc2d2bfc217d",
- "title": "MyLampThing",
- "securityDefinitions": {
- "basic_sc": {
- "scheme": "basic"
+
{ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "id":
+"hljs-string">"urn:uuid:014139c9-b267-4db5-9c61-cc2d2bfc217d",
+ "title":
+"hljs-string">"MyLampThing",
+ "securityDefinitions": { "basic_sc": { "scheme":
+"hljs-string">"basic"
}
},
- "security": "basic_sc",
- "properties": {
- "status": {
- "type": "string",
- "forms": [{
- "href": "https://mylamp.example.com/status"
+ "security":
+"hljs-string">"basic_sc",
+ "properties": { "status": { "type":
+"hljs-string">"string",
+ "forms": [{ "href":
+"hljs-string">"https://mylamp.example.com/status"
}]
}
},
- "actions": {
- "toggle": {
- "forms": [{
- "href": "https://mylamp.example.com/toggle"
+ "actions": { "toggle": { "forms": [{ "href":
+"hljs-string">"https://mylamp.example.com/toggle"
}]
}
},
- "events": {
- "overheating": {
- "data": {
- "type": "string"
+ "events": { "overheating": { "data": { "type":
+"hljs-string">"string"
},
- "forms": [{
- "href": "https://mylamp.example.com/oh",
- "subprotocol": "longpoll"
+ "forms": [{ "href":
+"hljs-string">"https://mylamp.example.com/oh",
+
+"hljs-attr">"subprotocol": "longpoll"
}]
}
}
}
-
-
- {
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "id": "urn:uuid:014139c9-b267-4db5-9c61-cc2d2bfc217d",
- "title": "MyLampThing",
- "securityDefinitions": {
- "basic_sc": {
- "scheme": "basic",
- "in": "header"
+
{ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "id":
+"hljs-string">"urn:uuid:014139c9-b267-4db5-9c61-cc2d2bfc217d",
+ "title":
+"hljs-string">"MyLampThing",
+ "securityDefinitions": { "basic_sc": { "scheme":
+"hljs-string">"basic",
+ "in":
+"hljs-string">"header"
}
},
- "security": "basic_sc",
- "properties": {
- "status": {
- "type": "string",
- "readOnly": false,
- "writeOnly": false,
- "observable": false,
- "forms": [{
- "op": [
- "readproperty",
- "writeproperty"
+ "security":
+"hljs-string">"basic_sc",
+ "properties": { "status": { "type":
+"hljs-string">"string",
+ "readOnly":
+"hljs-literal">false,
+
+"hljs-attr">"writeOnly": false,
+
+"hljs-attr">"observable": false,
+ "forms": [{ "op": [
+"hljs-string">"readproperty",
+
+"hljs-string">"writeproperty"
],
- "href": "https://mylamp.example.com/status",
- "contentType": "application/json"
+ "href":
+"hljs-string">"https://mylamp.example.com/status",
+
+"hljs-attr">"contentType": "application/json"
}]
}
},
- "actions": {
- "toggle": {
- "safe": false,
- "idempotent": false,
- "forms": [{
- "op": "invokeaction",
- "href": "https://mylamp.example.com/toggle",
- "contentType": "application/json"
+ "actions": { "toggle": { "safe":
+"hljs-literal">false,
+
+"hljs-attr">"idempotent": false,
+ "forms": [{ "op":
+"hljs-string">"invokeaction",
+ "href":
+"hljs-string">"https://mylamp.example.com/toggle",
+
+"hljs-attr">"contentType": "application/json"
}]
}
},
- "events": {
- "overheating": {
- "data": {
- "type": "string",
- "readOnly": false,
- "writeOnly": false
+ "events": { "overheating": { "data": { "type":
+"hljs-string">"string",
+
+"hljs-attr">"readOnly": false,
+
+"hljs-attr">"writeOnly": false
},
- "forms": [{
- "op": "subscribeevent",
- "href": "https://mylamp.example.com/oh",
- "contentType": "application/json",
- "subprotocol": "longpoll"
+ "forms": [{ "op":
+"hljs-string">"subscribeevent",
+ "href":
+"hljs-string">"https://mylamp.example.com/oh",
+
+"hljs-attr">"contentType": "application/json",
+
+"hljs-attr">"subprotocol": "longpoll"
}]
}
}
}
-
-
-+
Please
note
that,
depending
on
the
-
+
Protocol
Binding
-
+
used,
additional
protocol-specific
-
+
Vocabulary
Terms
-
+
may
apply.
They
@@ -23749,10 +18591,10 @@
also
have
associated
-
+
Default
Values
-,
+,
and
hence
can
@@ -23770,42 +18612,24 @@
be
found
in
-
-
+
8.3
-
+
Protocol
Bindings
-.
-
A
Thing
Description
@@ -23816,16 +18640,14 @@
rooted
at
an
-
+
Object
-
+
of
type
-
-
+
Thing
-
-.
+.
In
turn,
a
@@ -23850,26 +18672,22 @@
constructed
from
the
-
+
TD
Information
Model
-.
-
- +.
The
root
element
of
a
-
-TD Serialization
-
-
+
+TD Serialization
+
MUST
-
- be
+
+ be
a
JSON
object
@@ -23880,9 +18698,9 @@
with
the
name
-
+
@context
-
+
and
a
value
@@ -23896,12 +18714,9 @@
or
respectively
contains
-
+
https://www.w3.org/2022/wot/td/v1.1
-
.
-
-
+.
In
general,
this
@@ -23923,11 +18738,9 @@
JSON-LD
processing
[
-
-
+
json-ld11
-
-
+
],
this
URI
@@ -23938,48 +18751,37 @@
context
file.
An
-
+
@context
-
+
of
type
array
indicates
-
+
TD
Context
Extensions
-
+
(see
-
-
+
7.
-
+
TD
Context
Extensions
-
+
for
details).
-
All
name-value
pairs
@@ -23987,30 +18789,29 @@
an
instance
of
-
+
Thing
-
,
+,
where
the
name
is
a
-
+
Vocabulary
Term
-
+
in
the
-
+
Signature
-
+
of
-
+
Thing
-
,
-
+,
MUST
-
+
be
serialized
as
@@ -24020,9 +18821,7 @@
the
root
object.
-
-
+
A
TD
snippet
@@ -24040,125 +18839,117 @@
is
given
below:
-
{
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "@type": "Thing",
- "id": "urn:uuid:1b37933b-3212-4dad-9c2c-74c6042c3e2b",
- "title": "MyThing",
- "titles": {/*...*/},
- "description": "Human readable information.",
- "descriptions": {/*...*/},
- "support": "mailto:support@example.com",
- "version": {/*...*/},
- "created": "2018-11-14T19:10:23.824Z",
- "modified": "2019-06-01T09:12:43.124Z",
- "securityDefinitions": {/*...*/},
- "security": /*...*/,
- "base": "https://servient.example.com/",
- "properties": {/*...*/},
- "actions": {/*...*/},
- "events": {/*...*/},
- "links": [...],
- "forms": [...]
+
{ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "@type":
+"hljs-string">"Thing",
+ "id":
+"hljs-string">"urn:uuid:1b37933b-3212-4dad-9c2c-74c6042c3e2b",
+ "title":
+"hljs-string">"MyThing",
+ "titles": {
+"hljs-comment">/*...*/},
+ "description":
+"hljs-string">"Human readable information.",
+ "descriptions": {
+"hljs-comment">/*...*/},
+ "support":
+"hljs-string">"mailto:support@example.com",
+ "version": {
+"hljs-comment">/*...*/},
+ "created":
+"hljs-string">"2018-11-14T19:10:23.824Z",
+ "modified":
+"hljs-string">"2019-06-01T09:12:43.124Z",
+
+"hljs-attr">"securityDefinitions": {/*...*/},
+ "security":
+"hljs-comment">/*...*/,
+ "base":
+"hljs-string">"https://servient.example.com/",
+ "properties": {
+"hljs-comment">/*...*/},
+ "actions": {
+"hljs-comment">/*...*/},
+ "events": {
+"hljs-comment">/*...*/},
+ "links": [...], "forms": [...]
}
-
-
-- +
All
values
assigned
to
-
+
version
-
,
-
+
,
securityDefinitions
-
,
-
+
,
descriptions
-
,
-
+
,
schemaDefinitions
-
,
-
+
,
uriVariables
-
,
-
+
,
properties
-
,
-
+
,
actions
-
,
+,
and
-
+
events
-
+
in
an
instance
of
the
-
+
Class
-
-
+
MUST
-
+
be
serialized
as
JSON
objects.
-
-
Thing
-
-
+
- +
All
values
assigned
to
-
+
links
-
,
+,
and
-
+
forms
-
+
in
an
instance
of
the
-
+
Class
-
-
+
MUST
-
+
be
serialized
as
@@ -24170,51 +18961,39 @@
Thing
-
-
+
as
defined
in
-
-
+
6.3.8
-
-
+
+
and
-
-
+
6.3.9
-
-
links
-
-
+
, respectively.
-
-
forms
-
-
- +, respectively.
The
value
assigned
to
-
+
security
-
+
in
an
instance
of
-
+
Class
-
-
+
MUST
-
- be
+
+ be
serialized
as
-JSON string
+JSON string
or
as
JSON
@@ -24224,32 +19003,22 @@
Thing
-
-
+
are
JSON
strings.
-
-
+
JSON
members
named
-
+
title
-
+
and
-
+
description
-
+
are
used
within
@@ -24279,19 +19048,15 @@
for
user
interface.
-
+
As
defined
in
-
-
+
5.3.1.1
-
-
+
,
+,
the
base
text
@@ -24330,14 +19095,14 @@
Thing
-
-
value
assigned
to
-
+
@language
-
+
in
the
-
+
@context
-
,
+,
and
this,
along
@@ -24356,7 +19121,7 @@
base
text
direction.
-
+
However,
when
interpreting
@@ -24366,21 +19131,21 @@
human-readable
string
value
-
+
MUST
-
+
be
processed
independently.
-
+
In
other
words,
a
-
+
TD
Processor
-
+
cannot
carry
forward
@@ -24405,19 +19170,18 @@
in
the
TD.
-
+
A
TD
snippet
using
-
+
title
-
+
and
-
+
description
-
+
is
shown
below.
@@ -24427,17 +19191,17 @@
is
set
to
-
+
en
-
+
through
the
definition
of
the
-
+
@language
-
+
member
within
a
@@ -24445,57 +19209,47 @@
object
in
the
-
+
@context
-
+
array.
-
Strings
on
the
Web
[
-
-
+
STRING-META
-
-
+
]
recommends
the
@@ -24505,14 +19259,14 @@
to
determine
the
-
+
base
direction
-
+
of
string
values.
-
+
Given
that
the
@@ -24525,41 +19279,37 @@
JSON-LD
1.1
[
-
-
+
json-ld11
-
-
+
],
-
+
@direction
-
+
with
the
string
values
-
+
"ltr"
-
,
-
+
,
"rtl"
-
+
and
null
value
-
+
null
-
-
+
MAY
-
+
be
used
inside
the
-
+
@context
-
+
to
indicate
the
@@ -24576,50 +19326,48 @@
entire
TD
document.
-
-
+
When
metadata
such
as
-
+
@direction
-
+
is
not
present,
TD
Consumers
-
+
SHOULD
-
+
use
-
+
first-strong
detection
-
+
as
a
fallback.
-
-
+
For
the
MultiLanguage
-
+
Map
-,
+,
TD
Consumers
-
+
MAY
-
+
infer
the
-
+
base
direction
-
+
from
the
language
@@ -24628,7 +19376,7 @@
the
individual
strings.
-
+
The
example
below
@@ -24637,81 +19385,70 @@
use
of
the
-
+
@direction
-
+
term.
See
[
-
-
+
json-ld11
-
-
+
]
and
[
-
-
+
string-meta
-
-
+
]
for
more
detailed
information.
-
The
JSON
members
named
-
+
titles
-
+
and
-
+
descriptions
-
+
are
used
within
@@ -24730,22 +19467,20 @@
single
TD
document.
-
+
All
name-value
pairs
of
a
-
+
MultiLanguage
-
-
+
Map
-
-
+
MUST
-
- be
+
+ be
serialized
as
members
@@ -24765,21 +19500,18 @@
defined
by
[
-
-
+
BCP47
-
-
+
]
(also
see
-
-
+
W3C
-
+
I18N
Glossary
-
+
)
and
the
@@ -24795,31 +19527,28 @@
by
the
tag.
-
+
See
-
-
+
5.3.1.7
-
-
+
+
for
details.
-
+
All
-
MultiLanguage
-
-
+
MultiLanguage
-
+
object
within
a
TD
document
-
+
SHOULD
-
+
contain
the
same
@@ -24827,83 +19556,90 @@
of
language
members.
-
-
+
A
TD
snippet
using
-
+
titles
-
+
and
-
+
descriptions
-
+
at
different
levels
is
given
below:
-
TD
instances
may
@@ -24912,38 +19648,37 @@
the
use
of
-
+
title
-
+
and
-
+
description
-
+
with
-
+
titles
-
+
and
-
+
descriptions
-
.
-
+.
When
-
+
title
-
+
and
-
+
titles
-
+
or
-
+
description
-
+
and
-
+
descriptions
-
+
are
present
within
@@ -24954,40 +19689,38 @@
the
values
of
-
+
title
-
+
and
-
+
description
-
-
+
MAY
-
+
be
seen
as
the
default
text.
-
-
+
When
-
+
title
-
+
and
-
+
titles
-
+
or
-
+
description
-
+
and
-
+
descriptions
-
+
are
present
in
@@ -24995,30 +19728,30 @@
TD
document,
each
-
+
title
-
+
and
-
+
description
-
+
member
-
+
SHOULD
-
+
have
a
corresponding
-
+
titles
-
+
and
-
+
descriptions
-
+
member,
respectively.
-
+
The
language
of
@@ -25043,69 +19776,81 @@
Thing
Description
instance.
-
Another
possibility
to
@@ -25122,14 +19867,14 @@
such
as
the
-
+
Accept-Language
-
+
header
field
of
HTTP.
-
+
In
cases
where
@@ -25140,13 +19885,13 @@
been
negotiated,
an
-
+
@language
-
+
member
-
+
MUST
-
+
be
present
to
@@ -25165,8 +19910,7 @@
the
returned
content.
-
-
+
When
the
default
@@ -25177,9 +19921,9 @@
successfully,
TD
documents
-
+
SHOULD
-
+
include
the
appropriate
@@ -25188,38 +19932,37 @@
for
the
members
-
+
title
-
+
and
-
+
description
-
+
in
preference
to
-
+
MultiLanguage
-
+
objects
in
-
+
titles
-
+
and
-
+
descriptions
-
+
members.
-
-
+
Note
however
that
Things
-
+
MAY
-
+
choose
to
not
@@ -25237,9 +19980,7 @@
of
resource
constraints).
-
-
+
There
is
no
@@ -25266,13 +20007,12 @@
risk
described
in
-
-
+
10.5
-
+
Script
Injection
-,
+,
HTML
tags
embedded
@@ -25316,23 +20056,11 @@
text
rendering
direction.
-
+
version
-
-
- +
All
name-value
pairs
@@ -25340,31 +20068,30 @@
an
instance
of
-
+
VersionInfo
-
,
+,
where
the
name
is
a
-
+
Vocabulary
Term
-
+
included
in
the
-
+
Signature
-
+
of
-
+
VersionInfo
-
,
-
+,
MUST
-
+
be
serialized
as
@@ -25372,15 +20099,13 @@
members
with
the
-
+
Vocabulary
Term
-
+
as
name.
-
-
+
A
TD
snippet
@@ -25392,29 +20117,20 @@
is
given
below:
-
The
-
+
version
-
+
member
is
intended
@@ -25429,83 +20145,70 @@
information
based
on
-
+
TD
Context
Extensions
-.
+.
See
-
-
+
7.1
-
+
Semantic
Annotations
-
+
for
details.
-
+
securityDefinitions
-
+
and
-
+
security
-
-+
In
a
-
+
Thing
-
+
instance,
the
value
assigned
to
-
+
securityDefinitions
-
+
is
a
-
+
Map
-
+
of
instances
of
-
+
SecurityScheme
-
.
-
+.
All
name-value
pairs
of
a
-
+
Map
-
+
of
-
+
SecurityScheme
-
+
instances
-
+
MUST
-
- be
+
+ be
serialized
as
members
@@ -25518,19 +20221,19 @@
from
serializing
the
-
+
Map
-
+
;
the
name
of
a
pair
-
+
MUST
-
- be
+
+ be
serialized
as
a
@@ -25545,22 +20248,18 @@
an
instance
of
-
+
SecurityScheme
-
,
-
+,
MUST
-
+
be
serialized
as
a
JSON
object.
-
-
- +
All
name-value
pairs
@@ -25571,46 +20270,45 @@
one
of
the
-
+
Subclasses
-
+
of
-
+
SecurityScheme
-
,
+,
where
the
name
is
a
-
+
Vocabulary
Term
-
+
included
in
the
-
+
Signature
-
+
of
that
-
+
Subclass
-
+
or
in
the
-
+
Signature
-
+
of
-
+
SecurityScheme
-
,
-
+,
MUST
-
+
be
serialized
as
@@ -25624,25 +20322,22 @@
from
serializing
the
-
+
SecurityScheme
-
-
+
Subclass
-
+
's
instance,
with
the
-
+
Vocabulary
Term
-
+
as
name.
-
-
+
The
following
TD
@@ -25663,20 +20358,20 @@
value
given
for
-
+
in
-
+
is
actually
the
-
+
Default
Value
-
+
(
-
+
header
-
+
)
and
could
@@ -25687,17 +20382,17 @@
security
configuration
(
-
+
basic_sc
-
+
)
is
given
in
the
-
+
securityDefinitions
-
+
map.
In
this
@@ -25713,35 +20408,25 @@
name
in
the
-
+
security
-
+
member.
-
Security
configuration
in
@@ -25749,36 +20434,36 @@
TD
is
mandatory.
-
+
At
least
one
security
definition
-
+
MUST
-
+
be
activated
through
the
-
+
security
-
+
member
at
the
-
+
Thing
level
-
+
(i.e.,
in
the
TD
root
object).
-
+
This
configuration
can
@@ -25794,35 +20479,32 @@
interact
with
the
-
+
Thing
-.
-
+.
Security
definitions
-
+
MAY
-
+
also
be
activated
at
the
-form
-
level
-of
+of
the
form
elements
-
+
by
including
a
-
+
security
-
+
member
in
form
@@ -25837,19 +20519,14 @@
activated
at
the
-
+
Thing
-level.
-
-level
-.
-
-
+level +.
The
-
+
nosec
-
+
security
scheme
is
@@ -25868,72 +20545,67 @@
configuration
for
a
-
+
Thing
-
+
is
activation
of
the
-
+
nosec
-
+
security
scheme
at
the
-
+
Thing
-level,
-
-level
-,
+level
+,
as
shown
in
the
following
example:
-
To
give
a
@@ -25944,15 +20616,15 @@
we
have
a
-
+
Thing
-
+
where
all
-
+
Interaction
Affordances
-
+
require
basic
authentication
@@ -25967,19 +20639,19 @@
required.
For
the
-
+
status
-
+
Property
and
the
-
+
toggle
-
+
Action,
-
+
basic
-
+
authentication
is
required
@@ -25987,17 +20659,15 @@
defined
at
the
-
+
Thing
-level.
-
-level
-.
+level
+.
For
the
-
+
overheating
-
+
Event,
however,
no
@@ -26015,54 +20685,39 @@
the
form
level.
-
TDs
can
specify
@@ -26091,28 +20746,28 @@
authentication
on
the
-
+
Thing
-.
+.
In
the
-
+
digest
-
+
scheme,
the
-
+
Default
Value
-
+
of
-
+
in
-
+
(i.e.,
-
+
header
-
+
)
is
omitted,
@@ -26137,9 +20792,9 @@
configured
in
the
-
+
Consumer
-
+
to
interact
successfully.
@@ -26149,46 +20804,41 @@
security
definitions,
the
-
+
security
-
+
member
becomes
an
array.
-
However,
the
use
@@ -26204,26 +20854,23 @@
schemes
in
a
-
+
security
-
+
element
is
now
deprecated,
instead
a
-
-
+
ComboSecurityScheme
-
-
-
+
SHOULD
-
+
be
used.
-
+
In
the
following
@@ -26239,58 +20886,46 @@
this
is
demonstrated:
-
+
security
-
+
in
Forms
-
Security
configurations
can
@@ -26303,10 +20938,10 @@
within
the
same
-
+
Interaction
Affordance
-.
+.
This
may
be
@@ -26323,11 +20958,9 @@
and
CoAP
[
-
-
+
RFC7252
-
-
+
],
which
support
@@ -26402,9 +21035,9 @@
in
the
same
-
+
security
-
+
member
combines
them
@@ -26428,10 +21061,10 @@
activation
of
the
-
+
Interaction
Affordance
-.
+.
Note
that
activating
@@ -26440,66 +21073,53 @@
configuration
at
the
-
+
Thing
level
-
+
is
still
mandatory.
-
+
ComboSecurityScheme
-
-
To
avoid
redundancy
@@ -26512,75 +21132,59 @@
details
of
the
-
+
form
-
+
elements,
a
-
-
+
ComboSecurityScheme
-
-
+
with
-
+
oneOf
-
+
can
be
used
instead.
-
As
another
more
@@ -26616,17 +21220,17 @@
that
resource
(or
-
+
Interaction
Affordance
-
+
in
the
case
of
-
+
W3C
-
+
WoT).
For
example,
@@ -26634,31 +21238,31 @@
the
following,
the
-
+
status
-
+
Property
can
be
read
by
-
+
Consumers
-
+
using
bearer
tokens
containing
the
scope
-
+
limited
-
,
+,
but
the
-
+
configure
-
+
Action
can
only
@@ -26669,9 +21273,9 @@
token
containing
the
-
+
special
-
+
scope.
Scopes
are
@@ -26728,13 +21332,13 @@
with
both
the
-
+
limited
-
+
and
-
+
special
-
+
scopes,
while
ordinary
@@ -26746,70 +21350,52 @@
tokens
with
the
-
+
limited
-
+
scope.
-
A
Thing
can
@@ -26884,41 +21470,29 @@
an
HTTPS
request.
-
To
give
another
@@ -26928,11 +21502,9 @@
use
of
the
-
-
+
ComboSecurityScheme
-
-
+
in
addition
to
@@ -27028,23 +21600,21 @@
two
instances
of
-
-
+
APIKeySecurityScheme
-
-,
+,
both
using
the
-
+
uri
-
+
value
for
the
-
+
in
-
+
location
specifier,
to
@@ -27063,14 +21633,14 @@
used
in
the
-
+
href
-
+
in
a
-
+
Form
-
+
where
the
security
@@ -27080,51 +21650,42 @@
An
example
follows:
-
While
not
shown
@@ -27141,9 +21702,9 @@
template
variables
using
-
+
uriVariables
-
+
and
include
them
@@ -27187,14 +21748,12 @@
avoid
name
conflicts.
-
- +
API
Key
in
Body:
-
+
Security
parameters
might
@@ -27225,9 +21784,9 @@
a
member
named
-
+
auth
-
+
whose
value
is
@@ -27237,9 +21796,9 @@
a
member
called
-
+
key
-
+
containing
an
access
@@ -27265,9 +21824,9 @@
with
using
the
-
+
body
-
+
security
information
location.
@@ -27277,9 +21836,9 @@
this
location,
the
-
+
name
-
+
parameter
is
actually
@@ -27293,9 +21852,9 @@
root
of
the
-
+
DataSchema
-
+
for
each
interaction
@@ -27353,9 +21912,9 @@
these
actions
the
-
+
/auth/key
-
+
element
occurs
in
@@ -27390,102 +21949,97 @@
security
scheme
definitions.
-
+
body
-
+
location
will
be
@@ -27558,146 +22112,121 @@
+
on
-
+
and
-
+
off
-
+
to
hold
just
the
security
information.
-
+
properties
-
-
The
value
assigned
to
-
+
properties
-
+
+
Thing
-
+
instance
is
a
-
+
Map
-
+
of
instances
of
-
+
PropertyAffordance
-
.
-
+.
All
name-value
pairs
of
a
-
+
Map
-
+
of
-
+
PropertyAffordance
-
+
instances
-
+
MUST
-
- be
+
+ be
serialized
as
members
@@ -27710,19 +22239,19 @@
+
PropertyAffordance
-
,
-
+,
MUST
-
+
be
serialized
as
a
JSON
object.
-
-
-- +
All
name-value
pairs
@@ -27760,40 +22285,38 @@
an
instance
of
-
+
PropertyAffordance
-
,
+,
where
the
name
is
a
-
+
Vocabulary
Term
-
+
included
in
(one
of)
the
-
+
Signatures
-
+
of
-
+
PropertyAffordance
-
,
-
+
,
InteractionAffordance
-
,
+,
or
-
+
DataSchema
-
,
-
+,
MUST
-
+
be
serialized
as
@@ -27807,57 +22330,51 @@
from
serializing
the
-
+
PropertyAffordance
-
+
instance,
with
the
-
+
Vocabulary
Term
-
+
as
name.
-
+
+
DataSchema
-
-
+
instances.
-
-- +
The
value
assigned
to
-
+
forms
-
+
in
an
instance
of
-
+
PropertyAffordance
-
-
+
MUST
-
+
be
serialized
as
@@ -27874,136 +22391,116 @@
as
defined
in
-
-
+
6.3.9
-
-
+
.
-
-
forms
-
-
+.
A snippet for two - + Property - + affordances is given below: -
-{
- // ...
- "properties": {
- "on": {
- "type": "boolean",
- "forms": [...]
+
{ // ... "properties": { "on": { "type":
+"hljs-string">"boolean",
+ "forms": [...]
},
- "status": {
- "type": "object",
- "properties": {
- "brightness": {
- "type": "number",
- "minimum": 0.0,
- "maximum": 100.0
+ "status": { "type":
+"hljs-string">"object",
+ "properties": { "brightness": {
+"hljs-attr">"type": "number",
+
+"hljs-attr">"minimum": 0.0,
+
+"hljs-attr">"maximum": 100.0
},
- "rgb": {
- "type": "array",
- "items": {
- "type": "number",
- "minimum": 0,
- "maximum": 255
+ "rgb": {
+"hljs-attr">"type": "array",
+ "items": {
+"hljs-attr">"type": "number",
+
+"hljs-attr">"minimum": 0,
+
+"hljs-attr">"maximum": 255
},
- "minItems": 3,
- "maxItems": 3
+
+"hljs-attr">"minItems": 3,
+
+"hljs-attr">"maxItems": 3
}
},
- "required": ["brightness", "rgb"],
- "forms": [...]
+
+"hljs-attr">"required": ["brightness", "rgb"],
+ "forms": [...]
}
},
- // ...
+ // ...
}
-
-
-
+
actions
-
-
+
In
a
-
+
Thing
-
+
instance,
the
value
assigned
to
-
+
actions
-
+
is
a
-
+
Map
-
+
of
instances
of
-
+
ActionAffordance
-
.
-
+.
All
name-value
pairs
of
a
-
+
Map
-
+
of
-
+
ActionAffordance
-
+
instances
-
+
MUST
-
- be
+
+ be
serialized
as
members
@@ -28016,19 +22513,19 @@
from
serializing
the
-
+
Map
-
+
;
the
name
of
a
pair
-
+
MUST
-
- be
+
+ be
serialized
as
a
@@ -28043,22 +22540,18 @@
an
instance
of
-
+
ActionAffordance
-
,
-
+,
MUST
-
+
be
serialized
as
a
JSON
object.
-
-
- +
All
name-value
pairs
@@ -28066,37 +22559,36 @@
an
instance
of
-
+
ActionAffordance
-
,
+,
where
the
name
is
a
-
+
Vocabulary
Term
-
+
included
in
(one
of)
the
-
+
Signatures
-
+
of
-
+
ActionAffordance
-
+
or
-
+
InteractionAffordance
-
,
-
+,
MUST
-
+
be
serialized
as
@@ -28110,93 +22602,81 @@
from
serializing
the
-
+
ActionAffordance
-
+
instance,
with
the
-
+
Vocabulary
Term
-
+
as
name.
-
-
- +
The
values
assigned
to
-
+
input
-
+
and
-
+
output
-
+
in
an
instance
of
-
+
ActionAffordance
-
-
+
MUST
-
+
be
serialized
as
JSON
objects.
-
+
They
rely
on
the
-
+
Class
-
-
-
+
DataSchema
-
-,
+,
whose
serialization
is
defined
in
-
-
+
6.3.10
-
+
Data
Schemas
-.
-
- +.
The
value
assigned
to
-
+
forms
-
+
in
an
instance
of
-
+
ActionAffordance
-
-
+
MUST
-
+
be
serialized
as
@@ -28213,17 +22693,11 @@
as
defined
in
-
-
+
6.3.9
-
-
+
.
-
-
forms
-
-
+.
A
TD
snippet
@@ -28234,110 +22708,101 @@
is
given
below:
-
{
- // ...
- "actions": {
- "fade": {
- "title": "Fade in/out",
- "description": "Smooth fade in and out animation.",
- "input": {
- "type": "object",
- "properties": {
- "from": {
- "type": "integer",
- "minimum": 0,
- "maximum": 100
+
{ // ... "actions": { "fade": { "title":
+"hljs-string">"Fade in/out",
+
+"hljs-attr">"description": "Smooth fade in and out animation.",
+ "input": { "type":
+"hljs-string">"object",
+ "properties": { "from": {
+"hljs-attr">"type": "integer",
+
+"hljs-attr">"minimum": 0,
+
+"hljs-attr">"maximum": 100
},
- "to": {
- "type": "integer",
- "minimum": 0,
- "maximum": 100
+ "to": {
+"hljs-attr">"type": "integer",
+
+"hljs-attr">"minimum": 0,
+
+"hljs-attr">"maximum": 100
},
- "duration": {"type": "number"}
+
+"hljs-attr">"duration": {"type": "number"}
},
- "required": ["to","duration"]
+
+"hljs-attr">"required": ["to","duration"]
},
- "output": {"type": "string"},
- "forms": [...]
+ "output": {
+"hljs-attr">"type": "string"},
+ "forms": [...]
}
},
- // ...
+ // ...
}
-
-
-
+
events
-
-
+
In
a
-
+
Thing
-
+
instance,
the
value
assigned
to
-
+
events
-
+
is
a
map
of
instances
of
-
+
EventAffordance
-
.
-
+.
All
name-value
pairs
of
a
-
+
Map
-
+
of
-
+
EventAffordance
-
+
instances
-
+
MUST
-
- be
+
+ be
serialized
as
members
@@ -28350,19 +22815,19 @@
from
serializing
the
-
+
Map
-
+
;
the
name
of
a
pair
-
+
MUST
-
- be
+
+ be
serialized
as
a
@@ -28377,22 +22842,18 @@
an
instance
of
-
+
EventAffordance
-
,
-
+,
MUST
-
+
be
serialized
as
a
JSON
object.
-
-
- +
All
name-value
pairs
@@ -28400,37 +22861,36 @@
an
instance
of
-
+
EventAffordance
-
,
+,
where
the
name
is
a
-
+
Vocabulary
Term
-
+
included
in
(one
of)
the
-
+
Signatures
-
+
of
-
+
EventAffordance
-
+
or
-
+
InteractionAffordance
-
,
-
+,
MUST
-
+
be
serialized
as
@@ -28444,96 +22904,83 @@
from
serializing
the
-
+
EventAffordance
-
+
instance,
with
the
-
+
Vocabulary
Term
-
+
as
name.
-
-
- +
The
values
assigned
to
-
+
subscription
-
,
-
+
,
data
-
,
+,
and
-
+
cancellation
-
+
in
an
instance
of
-
+
EventAffordance
-
-
+
MUST
-
+
be
serialized
as
JSON
objects.
-
+
They
rely
on
the
-
+
Class
-
-
-
+
DataSchema
-
-,
+,
whose
serialization
is
defined
in
-
-
+
6.3.10
-
+
Data
Schemas
-.
-
- +.
The
value
assigned
to
-
+
forms
-
+
in
an
instance
of
-
+
EventAffordance
-
-
+
MUST
-
+
be
serialized
as
@@ -28550,17 +22997,11 @@
as
defined
in
-
-
+
6.3.9
-
-
+
.
-
-
forms
-
-
+.
A
TD
snippet
@@ -28571,39 +23012,25 @@
is
given
below:
-
{
- // ...
- "events": {
- "overheated": {
- "data": {
- "type": "string"
+
{ // ... "events": { "overheated": { "data": { "type":
+"hljs-string">"string"
},
- "forms": [...]
+ "forms": [...]
}
},
- // ...
+ // ...
}
-
-
-+
Event
affordances
have
@@ -28621,11 +23048,9 @@
(e.g.,
WebSub
[
-
-
+
websub
-
-
+
])
or
customer-oriented
@@ -28636,13 +23061,13 @@
For
this
reason,
-
+
subscription
-
+
and
-
+
cancellation
-
+
can
be
defined
@@ -28657,53 +23082,38 @@
details
in
[
-
-
+
WOT-BINDING-TEMPLATES
-
-
+
].
Example
-
-
+
A.3
-
+
Webhook
Event
Example
-
+
illustrates
how
Events
can
use
-
+
subscription
-
+
and
-
+
cancellation
-
+
to
describe
Webhooks.
-
+
links
-
-
- +
All
name-value
pairs
@@ -28711,31 +23121,30 @@
an
instance
of
-
+
Link
-
,
+,
where
the
name
is
a
-
+
Vocabulary
Term
-
+
included
in
the
-
+
Signature
-
+
of
-
+
Link
-
,
-
+,
MUST
-
+
be
serialized
as
@@ -28749,21 +23158,19 @@
from
serializing
the
-
+
Link
-
+
instance,
with
the
-
+
Vocabulary
Term
-
+
as
name.
-
-
+
It
is
recommended
@@ -28777,14 +23184,11 @@
provided
in
Section
-
-
+
5.3.4.1
-
-
+
.
+.
The
examples
provided
@@ -28797,8 +23201,7 @@
Link
-
-
link
relation
types.
-
+
A
reference
can
@@ -28808,9 +23211,9 @@
points
to
a
-
+
Thing
-
+
(e.g.,
a
controller)
@@ -28824,42 +23227,32 @@
lamp).
For
this
-
+
controlledBy
-
+
can
be
used:
-
{
- // ...
- "links": [{
- "rel": "controlledBy",
- "href": "https://servient.example.com/things/lampController",
- "type": "application/td+json"
+
{ // ... "links": [{ "rel":
+"hljs-string">"controlledBy",
+ "href":
+"hljs-string">"https://servient.example.com/things/lampController",
+ "type":
+"hljs-string">"application/td+json"
}]
- // ...
+ // ...
}
-
-
-+
To
point
to
@@ -28868,47 +23261,38 @@
documentation
of
a
-
+
Thing
-
+
the
value
-
+
service-doc
-
+
can
be
used:
-
{
- // ...
- "links": [{
- "rel": "service-doc",
- "href": "https://example.com/howTo",
- "type": "application/pdf",
- "hreflang": "en"
+
{ // ... "links": [{ "rel":
+"hljs-string">"service-doc",
+ "href":
+"hljs-string">"https://example.com/howTo",
+ "type":
+"hljs-string">"application/pdf",
+ "hreflang":
+"hljs-string">"en"
}]
- // ...
+ // ...
}
-
-
-+
A
superordinate
Thing
@@ -28925,47 +23309,41 @@
by
using
the
-
+
item
-
+
value:
-
{
- "title": "Electric Drive",
- // ...
- "links": [{
- "rel": "item",
- "href": "coaps://motor1.example.com",
- "type": " application/td+json"
+
{ "title":
+"hljs-string">"Electric Drive",
+ // ... "links": [{ "rel":
+"hljs-string">"item",
+ "href":
+"hljs-string">"coaps://motor1.example.com",
+ "type":
+"hljs-string">" application/td+json"
},
{
- "rel": "item",
- "href": "coaps://motor2.example.com",
- "type": " application/td+json"
+ "rel":
+"hljs-string">"item",
+ "href":
+"hljs-string">"coaps://motor2.example.com",
+ "type":
+"hljs-string">" application/td+json"
}]
- // ...
+ // ...
}
-
-
-+
A
Thing
refers
@@ -28979,20 +23357,15 @@
collected
with
the
-
+
collection
-
+
value:
-
{
- "title": "Electric Motor 1",
- "base": "coaps://motor1.example.com",
- // ...
- "links": [{
- "rel": "collection",
- "href": "coaps://drive.example.com",
- "type": " application/td+json"
+
{ "title":
+"hljs-string">"Electric Motor 1",
+ "base":
+"hljs-string">"coaps://motor1.example.com",
+ // ... "links": [{ "rel":
+"hljs-string">"collection",
+ "href":
+"hljs-string">"coaps://drive.example.com",
+ "type":
+"hljs-string">" application/td+json"
}]
- // ...
+ // ...
}
-
-
-
+
forms
-
-
All
name-value
pairs
@@ -29042,31 +23401,30 @@
an
instance
of
-
+
Form
-
,
+,
where
the
name
is
a
-
+
Vocabulary
Term
-
+
included
in
the
-
+
Signature
-
+
of
-
+
Form
-
,
-
+,
MUST
-
+
be
serialized
as
@@ -29080,53 +23438,47 @@
from
serializing
the
-
+
Form
-
+
instance,
with
the
-
+
Vocabulary
Term
-
+
as
name.
-
-
- +
If required, form objects - + MAY - + be supplemented with protocol-specific - + Vocabulary Terms - + identified with a prefix. - + See also - - + 8.3 - + Protocol Bindings -. -
-+.
A
TD
snippet
@@ -29136,60 +23488,42 @@
object
in
the
-
+
forms
-
+
array
is
given
below:
-
{
- // ...
- "forms": [{
- "op": "writeproperty",
- "href": "http://mytemp.example.com:5683/temp",
- "contentType": "application/json",
- "htv:methodName": "POST"
+
{ // ... "forms": [{ "op":
+"hljs-string">"writeproperty",
+ "href":
+"hljs-string">"http://mytemp.example.com:5683/temp",
+ "contentType":
+"hljs-string">"application/json",
+
+"hljs-attr">"htv:methodName": "POST"
}]
- // ...
+ // ...
}
-
-
-
+
uriVariables
-
-
-
+
href
-
+
may
also
carry
@@ -29201,17 +23535,17 @@
variables
such
as
-
+
lat
-
+
and
-
+
lon
-
+
in
-
+
http://example.org/weather/?lat=35&lon=139
-
.
+.
In
that
case
@@ -29226,18 +23560,13 @@
defined
in
[
-
-
+
RFC6570
-
-
+
]:
-
+
http://example.org/weather/{?lat,long}
-
.
-
- +.
In
such
a
@@ -29246,26 +23575,26 @@
URI
Template
variables
-
+
MUST
-
+
be
collected
in
the
JSON-object
based
-
+
uriVariables
-
+
member
either
in
the
-
+
Thing
level
-
+
or
in
Interaction
@@ -29280,10 +23609,7 @@
as
JSON
names.
-
-
- +
The
serialization
of
@@ -29294,45 +23620,37 @@
map
assigned
to
-
+
uriVariables
-
+
in
an
instance
of
-
+
Form
-
-
+
MUST
-
+
rely
on
the
-
+
Class
-
-
-
+
DataSchema
-
-,
+,
whose
serialization
is
defined
in
-
-
+
6.3.10
-
+
Data
Schemas
-.
-
-
+.
A
TD
snippet
@@ -29344,9 +23662,9 @@
query
parameters
and
-
+
uriVariables
-
+
in
the
Interaction
@@ -29355,70 +23673,68 @@
is
given
below:
-
Alternatively,
as
defined
in
[
-
-
+
RFC6570
-
-
+
],
-
+
uriVariables
-
+
can
be
used
for
replacing
the
-
+
href
-
+
structure.
An
example
@@ -29444,46 +23760,34 @@
GET
request
to
-
+
http://example.org/weather/bogota
-
:
-
The
two
examples
@@ -29496,68 +23800,62 @@
using
the
same
-
+
uriVariables
-
+
feature.
An
HTTP
GET
request
to
-
+
http://example.org/weather/bogota/?unit=Celsius
-
+
can
be
described
as
follows:
-
uriVariables
-
+
are
mainly
for
@@ -29575,9 +23873,9 @@
necessary
to
use
-
+
uriVariables
-
+
for
actions.
In
@@ -29587,9 +23885,9 @@
recommended
to
avoid
-
+
uriVariables
-
+
as
much
as
@@ -29601,26 +23899,15 @@
system
is
designed.
-
+
contentType
-
-
+
The
-
+
contentType
-
+
member
is
used
@@ -29630,11 +23917,9 @@
media
type
[
-
-
+
RFC2046
-
-
+
]
including
media
@@ -29646,44 +23931,24 @@
separated
by
a
-
+
;
-
+
character.
Example:
-
+
response
-
-
In
some
use
@@ -29693,10 +23958,10 @@
metadata
of
the
-
+
Interaction
Affordance
-
+
not
only
describes
@@ -29714,14 +23979,14 @@
instance,
an
Action
-
+
takePhoto
-
+
defines
an
-
+
input
-
+
schema
to
submit
@@ -29741,10 +24006,10 @@
request
payload
(i.e.,
-
+
"contentType":
"application/json"
-
+
).
The
output
@@ -29767,9 +24032,9 @@
such
cases,
the
-
+
response
-
+
member
is
used
@@ -29783,16 +24048,16 @@
response
payload
(e.g.,
-
+
"contentType":
"image/jpeg"
-
+
).
Here
no
-
+
output
-
+
schema
is
required,
@@ -29805,75 +24070,66 @@
the
representation
format.
-
- +
If
present,
the
value
assigned
to
-
+
response
-
+
in
an
instance
of
-
+
Form
-
-
+
MUST
-
+
be
a
JSON
object.
-
-
+
If
present,
the
response
object
-
+
MUST
-
+
contain
a
-
+
contentType
-
+
member
as
defined
in
the
-
+
Class
-
+
definition
of
-
-
+
ExpectedResponse
-
-.
-
-
+.
A
-
+
form
-
+
snippet
with
the
-
+
response
-
+
member
is
shown
@@ -29881,57 +24137,37 @@
based
on
the
-
+
takePhoto
-
+
Action
described
above:
-
+
additionalResponses
-
-
In
some
cases,
@@ -29945,10 +24181,10 @@
part
of
an
-
+
Interaction
Affordance
-
+
can
differ
due
@@ -29971,9 +24207,9 @@
In
these
cases,
-
+
additionalResponses
-
+
terms
can
be
@@ -29982,8 +24218,7 @@
describe
this
behavior.
-
+
For
example,
an
@@ -30025,18 +24260,17 @@
not
usually
used.
-
+
A
-
+
TD
-
+
snippet
with
the
-
+
additionalResponses
-
+
member
in
an
@@ -30067,19 +24301,19 @@
described
in
the
-
+
output
-
.
+.
The
-
+
success
-
+
with
the
value
-
+
false
-
+
refers
to
the
@@ -30093,9 +24327,9 @@
error
case
and
-
+
schema
-
+
allows
linking
to
@@ -30104,66 +24338,62 @@
description
used
at
-
+
schemaDefinitions
-
:
-
The
-
+
additionalResponses
-
+
term
can
be
@@ -30176,15 +24406,15 @@
In
that
case,
-
+
success
-
+
is
set
to
-
+
true
-
+
and
another
schema
@@ -30195,26 +24425,15 @@
describe
the
payload.
-
+
contentMediaType
-
+
and
-
+
contentEncoding
-
-+
In
some
cases
@@ -30237,13 +24456,13 @@
image.
The
terms
-
+
contentMediaType
-
+
and
-
+
contentEncoding
-
+
can
be
used
@@ -30262,68 +24481,60 @@
sample
usage
of
-
+
contentMediaType
-
+
and
-
+
contentEncoding
-
+
is
shown
below:
-
+
forms
-
-
When
-
+
forms
-
+
is
present
at
@@ -30341,35 +24552,35 @@
offered
by
a
-
+
Thing
-.
+.
For
example,
the
operation
types
-
+
readallproperties
-
+
and
-
+
writeallproperties
-
+
are
for
meta
interactions
with
a
-
+
Thing
-
+
by
which
-
+
Consumers
-
+
can
read,
write
@@ -30384,9 +24595,9 @@
example
below,
a
-
+
forms
-
+
member
is
included
@@ -30397,17 +24608,17 @@
object
and
the
-
+
Consumer
-
+
can
use
the
submission
target
-
+
https://mylamp.example.com/properties
-
+
both
to
read
@@ -30416,75 +24627,70 @@
all
Properties
(i.e.,
-
+
on
-
,
-
+
,
brightness
-
,
+,
and
-
+
timer
-
+
)
of
the
-
+
Thing
-
+
in
a
single
protocol
transaction.
-
Thing-level
-
+
uriVariables
-
+
can
be
used
@@ -30507,9 +24713,9 @@
names
for
a
-
+
readmultipleproperties
-
+
operation.
In
the
@@ -30536,68 +24742,68 @@
can
be
set:
-
For
a
-
+
readmultipleproperties
-
+
operation,
an
example
@@ -30607,56 +24813,55 @@
to
the
URI
-
+
https://mylamp.example.com/properties?propertyNames=humidity,temperature&unitSystem=metric
-
+
would
return
the
values
-
+
humidity
-
+
and
-
+
temperature
-
+
Property
Affordances,
with
the
-
+
metric
-
+
System
of
Measurement.
-
+
In
the
case
of
operation
type
-
+
writeallproperties
-
,
+,
it
is
expected
that
the
-
+
Consumer
-
+
provides
all
writable
(non
-
+
readOnly
-
+
)
properties
and
@@ -30670,9 +24875,9 @@
Similarly,
for
the
-
+
writemultipleproperties
-
+
operation
type,
it
@@ -30680,66 +24885,56 @@
expected
that
the
-
+
Consumer
-
+
provides
writable
(non
-
+
readOnly
-
+
)
properties.
On
the
-
+
Thing
-
+
side,
-
+
Thing
-
+
is
expected
to
return
readable
(non
-
+
writeOnly
-
+
)
properties
in
the
case
of
-
+
readmultipleproperties
-
+
and
-
+
readallproperties
-
+
operation
types.
-
+
The
data
schemas
@@ -30751,14 +24946,11 @@
defined
through
the
-
-
+
DataSchema
-
-
-
+
Class
-
+
are
based
on
@@ -30770,11 +24962,9 @@
Schema
terms
[
-
-
+
JSON-SCHEMA
-
-
+
].
Thus,
serializations
@@ -30798,86 +24988,81 @@
data
exchanged
with
-
+
Things
-.
-
+.
Data
schema
serialization
applies
to
-
+
PropertyAffordance
-
+
instances,
the
values
assigned
to
-
+
input
-
+
and
-
+
output
-
+
in
-
+
ActionAffordance
-
+
instances,
the
values
assigned
to
-
+
subscription
-
,
-
+
,
data
-
,
+,
and
-
+
cancellation
-
+
in
-
+
EventAffordance
-
+
instances,
and
the
value
assigned
to
-
+
uriVariables
-
+
in
instances
of
-
+
Subclasses
-
+
of
-
+
InteractionAffordance
-
+
(when
a
-
+
form
object
-
+
uses
a
URI
Template).
-
- +
All
name-value
pairs
@@ -30888,46 +25073,45 @@
one
of
the
-
+
Subclasses
-
+
of
-
+
DataSchema
-
,
+,
where
the
name
is
a
-
+
Vocabulary
Term
-
+
included
in
the
-
+
Signature
-
+
of
that
-
+
Subclass
-
+
or
in
the
-
+
Signature
-
+
of
-
+
DataSchema
-
,
-
+,
MUST
-
+
be
serialized
as
@@ -30941,104 +25125,90 @@
from
serializing
the
-
+
DataSchema
-
-
+
Subclass
-
+
's
instance,
with
the
-
+
Vocabulary
Term
-
+
as
name.
-
-
- +
The
value
assigned
to
-
+
properties
-
+
in
an
instance
of
-
+
ObjectSchema
-
-
+
MUST
-
+
be
serialized
as
a
JSON
object.
-
-
- +
The
values
assigned
to
-
+
enum
-
,
-
+
,
required
-
,
+,
and
-
+
oneOf
-
+
in
an
instance
of
-
+
DataSchema
-
-
+
MUST
-
+
be
serialized
as
a
JSON
array.
-
-
- +
The
value
assigned
to
-
+
items
-
+
in
an
instance
of
-
+
ArraySchema
-
-
+
MUST
-
+
be
serialized
as
@@ -31052,9 +25222,7 @@
containing
JSON
objects.
-
-
+
A
TD
snippet
@@ -31077,13 +25245,13 @@
object
(e.g.,
for
-
+
input
-
+
and
-
+
output
-
+
)
or
a
@@ -31094,65 +25262,65 @@
contain
additional
members.
-
{
- // ...
- "type": "object",
- "properties": {
- "status": {
- "title": "Status",
- "type": "string",
- "enum": ["on_value", "off_value", "error_value"]
+
{ // ... "type":
+"hljs-string">"object",
+ "properties": { "status": { "title":
+"hljs-string">"Status",
+ "type":
+"hljs-string">"string",
+ "enum": [
+"hljs-string">"on_value", "off_value", "error_value"]
},
- "brightness": {
- "title": "Brightness value",
- "type": "number",
- "minimum": 0.0,
- "maximum": 100.0
+ "brightness": { "title":
+"hljs-string">"Brightness value",
+ "type":
+"hljs-string">"number",
+ "minimum":
+"hljs-number">0.0,
+ "maximum":
+"hljs-number">100.0
},
- "rgb": {
- "title": "RGB color value",
- "type": "array",
- "items": {
- "type": "number",
- "minimum": 0,
- "maximum": 255
+ "rgb": { "title":
+"hljs-string">"RGB color value",
+ "type":
+"hljs-string">"array",
+ "items": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"minimum": 0,
+
+"hljs-attr">"maximum": 255
},
- "minItems": 3,
- "maxItems": 3
+ "minItems":
+"hljs-number">3,
+ "maxItems":
+"hljs-number">3
}
},
- // ...
+ // ...
}
-
-
-+
The
terms
-
+
readOnly
-
+
and
-
+
writeOnly
-
+
can
be
used
@@ -31193,9 +25361,9 @@
of
an
unconventional
-
+
Thing
-
+
exhibit
different
data
@@ -31219,8 +25387,7 @@
a
Thing
Description.
-
+
A
TD
snippet
@@ -31228,77 +25395,59 @@
the
usage
of
-
+
readOnly
-
+
and
-
+
writeOnly
-
+
is
given
below:
-
When
the
-
+
status
-
+
Property
is
read,
@@ -31309,9 +25458,9 @@
returned
using
a
-
+
latestStatus
-
+
member
in
the
@@ -31319,9 +25468,9 @@
To
update
the
-
+
status
-
+
Property,
the
new
@@ -31331,15 +25480,14 @@
provided
through
a
-
+
newStatusValue
-
+
member
in
the
payload.
-
+
As
an
additional
@@ -31353,9 +25501,9 @@
usage
of
a
-
+
unit
-
+
member
within
data
@@ -31391,36 +25539,25 @@
defined
in
well-known
-
+
Vocabularies
-.
+.
See
-
-
+
7.
-
+
TD
Context
Extensions
-
+
for
an
example.
-
+
The
JSON-based
serialization
@@ -31433,40 +25570,30 @@
the
media
type
-
+
application/td+json
-
+
or
the
CoAP
Content-Format
ID
-
+
432
-
+
(see
-
-
+
12.
-
+
IANA
Considerations
-
+
).
-
+
In
several
contexts
@@ -31511,13 +25638,12 @@
assertions
listed
under
-
-
+
8.
-
+
Behavioral
Assertions
-
+
that
relate
a
@@ -31575,20 +25701,12 @@
for
different
contexts.
-
+
This
level
of
@@ -31616,8 +25734,7 @@
the
TD
itself.
-
+
Minimal
Validation
is
@@ -31643,8 +25760,7 @@
extensions
and
vocabularies.
-
+
In
practice,
these
@@ -31674,21 +25790,12 @@
have
matching
definitions.
-
+
This
level
of
@@ -31698,13 +25805,12 @@
those
covered
by
-
-
+
6.5.1
-
+
Minimal
Validation
-
+
as
well
as
@@ -31713,8 +25819,7 @@
of
semantic
definitions.
-
+
Basic
validation
is
@@ -31769,8 +25874,7 @@
used
is
defined.
-
+
In
this
case,
@@ -31815,21 +25919,12 @@
to
validate
extensions.
-
+
Full
validation
confirms
@@ -31847,13 +25942,12 @@
assertions
given
in
-
-
+
8.
-
+
Behavioral
Assertions
-
+
that
confirm
the
@@ -31865,8 +25959,7 @@
Thing
it
describes.
-
+
This
level
of
@@ -31922,50 +26015,35 @@
place
after
installation.
-
- +
This section is non-normative. - -
-+
In
addition
to
the
standard
-
+
Vocabulary
-
+
definitions
in
-
-
+
5.
-
+
TD
Information
Model
-,
+,
the
WoT
Thing
@@ -32004,10 +26082,10 @@
to
import
additional
-
+
Protocol
Bindings
-
+
or
new
security
@@ -32015,55 +26093,51 @@
in
the
future.
-
+
For
such
-
+
TD
Context
Extensions
-,
+,
the
Thing
Descriptions
use
the
-
+
@context
-
+
mechanism
known
from
JSON-LD
[
-
-
+
json-ld11
-
-
+
].
When
using
-
+
TD
Context
Extensions
-,
+,
the
value
of
-
+
@context
-
+
of
the
-
+
Class
-
-
+
is
an
Array
@@ -32072,33 +26146,28 @@
Thing
-
+
elements
of
type
-
+
anyURI
-
+
identifying
JSON-LD
context
files
or
-
+
Map
-
+
containing
namespace
IRIs
as
defined
in
-
-
+
5.3.1.1
-
-
+
.
-
Thing
-
-
+.
The
serialization
rules
@@ -32106,89 +26175,72 @@
complex
types
in
-
-
+
6.1
-
+
Mapping
to
JSON
Types
-
+
define
the
serialization
of
an
extended
-
+
@context
-
+
name-value
pair.
A
snippet
with
-
+
TD
Context
Extensions
-
+
is
given
below:
-
- +
TD
Context
Extensions
-
+
allow
for
the
use
of
additional
-
+
Vocabulary
Terms
-
+
in
a
Thing
@@ -32201,9 +26253,9 @@
are
based
on
-
+
Class
-
+
definitions
such
as
@@ -32222,9 +26274,9 @@
to
annotate
any
-
+
Class
-
+
instance
of
a
@@ -32240,9 +26292,9 @@
such
an
external
-
+
Class
-
+
definition.
This
is
@@ -32250,28 +26302,28 @@
by
assigning
a
-
+
Class
-
+
name
to
the
-
+
@type
-
+
name-value
pair
or
including
-
+
Class
-
+
name
in
its
-
+
Array
-
+
value
for
multiple
@@ -32281,18 +26333,16 @@
serialization
rules
in
-
-
+
6.1
-
+
Mapping
to
JSON
Types
-,
-
+,
is
either
serialized
@@ -32305,19 +26355,17 @@
@type
-
+
a
JSON
array.
-
+
@type
-
+
is
the
JSON-LD
keyword
[
-
-
+
json-ld11
-
-
+
]
used
to
@@ -32327,13 +26375,11 @@
of
a
node.
-
- +
TD
Context
Extensions
-
+
also
allow
the
@@ -32347,9 +26393,9 @@
values
within
any
-
+
Class
-
+
instance
of
a
@@ -32364,10 +26410,10 @@
through
the
included
-
+
Vocabulary
Terms
-
+
and
are
serialized
@@ -32392,9 +26438,9 @@
metadata
for
the
-
+
Thing
-
+
or
units
of
@@ -32402,8 +26448,7 @@
for
data
items.
-
+
The
next
subsections
@@ -32419,23 +26464,15 @@
in
Thing
Descriptions.
-
+
The
sample
TD
@@ -32453,9 +26490,9 @@
as
provided
in
-
+
@context
-
.
+.
The
version
information
@@ -32472,13 +26509,13 @@
used
software
(
-
+
s:softwareVersion
-
+
).
-
+
schema.org
-
+
is
used
for
@@ -32495,13 +26532,13 @@
name
of
the
-
+
Thing
-.
+.
The
-
+
SAREF
-
+
ontology
is
used
@@ -32512,13 +26549,13 @@
context
of
the
-
+
Thing
-
+
(
-
+
saref:TemperatureSensor
-
+
),
and
for
@@ -32530,31 +26567,26 @@
temperature
property
the
-
+
Ontology
of
Units
of
Measure
(OM)
-
+
is
used.
-
+
Please
note
that
these
-
+
Vocabularies
-
+
and
ontologies
are
@@ -32572,76 +26604,69 @@
and
use
case.
-
{
- "@context": [
- "https://www.w3.org/2022/wot/td/v1.1",
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
{
- "saref": "https://w3id.org/saref#",
- "om": "http://www.ontology-of-units-of-measure.org/resource/om-2/",
-
-
- "schema": "https://schema.org"
+ "saref":
+"hljs-string">"https://w3id.org/saref#",
+ "om":
+"hljs-string">"http://www.ontology-of-units-of-measure.org/resource/om-2/",
+ "schema":
+"hljs-string">"https://schema.org"
}
],
- "version": {
- "instance": "1.2.1",
- "schema:softwareVersion": "1.0.1"
+ "version": { "instance":
+"hljs-string">"1.2.1",
+
+"hljs-attr">"schema:softwareVersion": "1.0.1"
},
- "schema:serialNumber": "4CE0460D0G",
- "schema:manufacturer": {"name": "CompanyName"},
- // ...
- "@type": "saref:TemperatureSensor",
- "properties": {
- "temperature": {
- "description": "Temperature value of the weather station",
- "type": "number",
- "minimum": -32.5,
- "maximum": 55.2,
- "unit": "om:degree_Celsius",
- "forms": [...]
+
+"hljs-attr">"schema:serialNumber": "4CE0460D0G",
+
+"hljs-attr">"schema:manufacturer": {"name": "CompanyName"},
+ // ... "@type":
+"hljs-string">"saref:TemperatureSensor",
+ "properties": { "temperature": {
+"hljs-attr">"description": "Temperature value of the weather station",
+ "type":
+"hljs-string">"number",
+ "minimum":
+"hljs-number">-32.5,
+ "maximum":
+"hljs-number">55.2,
+ "unit":
+"hljs-string">"om:degree_Celsius",
+ "forms": [...]
},
- // ...
+ // ...
},
- // ...
+ // ...
}
-
-
-
In
many
cases,
-
+
TD
Context
Extensions
-
+
may
be
used
@@ -32699,10 +26724,10 @@
embedded
in
the
-
+
TD
Document
-
+
and
pieces
of
@@ -32727,8 +26752,7 @@
physical
world
object.
-
+
The
TD
snippet
@@ -32744,29 +26768,26 @@
lamp.
The
external
-
+
Vocabulary
Term
-
-
+
,
taken
from
-
+
SSN
-,
+,
the
Semantic
Sensor
Network
Ontology
[
-
-
+
VOCAB-SSN
-
-
+
],
is
being
@@ -32778,12 +26799,11 @@
ssn:forProperty
-
,
+
schema
of
the
-
+
status
-
-
+
Property
-
+
with
the
actual
@@ -32794,76 +26814,84 @@
physical
world
object.
-
In
-
+
Example
-
+
2
-
-,
+,
the
state
of
the
-
+
Thing
-
+
is
given
by
the
-
+
status
-
+
affordance
itself
and
@@ -32874,9 +26902,9 @@
given
by
the
-
+
toggle
-
+
affordance.
In
other
@@ -32891,15 +26919,15 @@
directly
provides
the
-
+
Interaction
Affordances
-
+
of
the
-
+
Thing
-.
+.
This
design
is
@@ -32927,12 +26955,11 @@
example
above,
the
-
+
fullStatus
-
-
+
Property
-
+
provides
an
alternative,
@@ -32945,23 +26972,14 @@
of
the
lamp.
-
+
For
many
use
@@ -33001,11 +27019,9 @@
location
ontologies
(e.g.,[
-
-
+
w3c-basic-geo
-
-
+
],
schema.org)
depending
@@ -33017,34 +27033,29 @@
Also
see
[
-
-
+
sdw-bp
-
-
+
].
-
+
The
TD
snippet
below
uses
-
+
lat
-
+
and
-
+
long
-
+
from
the
[
-
-
+
w3c-basic-geo
-
-
+
]
ontology
to
@@ -33058,35 +27069,27 @@
Thing's
top
level.
-
In
some
use
@@ -33107,66 +27110,63 @@
provided
as
a
-
+
Property
-
+
that
returns
the
latest
-
+
longitude
-
,
-
+
,
latitude
-
,
+,
and
-
+
elevation
-
+
values
based
on
schema.org:
-
In
case
a
@@ -33176,24 +27176,23 @@
desired
for,
e.g.,
-
+
longitude
-
,
-
+
,
latitude
-
,
+,
and
-
+
elevation
-
+
in
the
data
model,
the
-
+
jsonld:context
-
+
can
be
used
@@ -33209,11 +27208,9 @@
(also
see
[
-
-
+
JSON-SCHEMA-ONTOLOGY
-
-
+
],
Section
3.3
@@ -33224,73 +27221,56 @@
for
data
instances):
-
With
the
-
+
TD
Context
Extensions
-
+
in
a
Thing
@@ -33303,55 +27283,45 @@
supplemented
or
new
-
+
Protocol
Bindings
-
+
added
through
additional
-
+
Vocabulary
Terms
-
+
serialized
into
JSON
objects
representing
a
-
+
Form
-
+
instance.
Please
see
-
-
+
8.3
-
+
Protocol
Bindings
-
+
for
additional
details.
-
+
Finally,
new
security
@@ -33361,24 +27331,23 @@
not
included
in
-
-
+
5.3.3
-
+
Security
Vocabulary
Definitions
-
+
can
be
imported
using
the
-
+
TD
Context
Extension
-
+
mechanism.
This
example
@@ -33391,11 +27360,9 @@
based
on
[
-
-
+
RFC9200
-
-
+
]
that
is,
@@ -33407,91 +27374,91 @@
the
namespace
at
-
+
http://www.example.org/ace-security#
-
.
-
+.
Additional
security
schemes
-
+
MUST
-
+
be
-
+
Subclasses
-
+
of
the
-
+
Class
-
-
-
+
SecurityScheme
-
-.
-
-
{
- "@context": [
- "https://www.w3.org/2022/wot/td/v1.1",
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
{
- "cov": "http://www.example.org/coap-binding#",
- "ace": "http://www.example.org/ace-security#"
+ "cov":
+"hljs-string">"http://www.example.org/coap-binding#",
+ "ace":
+"hljs-string">"http://www.example.org/ace-security#"
}
],
- // ...
- "securityDefinitions": {
- "ace_sc": {
- "scheme": "ace:ACESecurityScheme",
- // ...
- "ace:as": "coaps://as.example.com/token",
- "ace:audience": "coaps://rs.example.com",
- "ace:scopes": ["limited", "special"],
- "ace:cnonce": true
+ // ... "securityDefinitions": { "ace_sc": { "scheme":
+"hljs-string">"ace:ACESecurityScheme",
+ // ... "ace:as":
+"hljs-string">"coaps://as.example.com/token",
+
+"hljs-attr">"ace:audience": "coaps://rs.example.com",
+
+"hljs-attr">"ace:scopes": ["limited", "special"],
+
+"hljs-attr">"ace:cnonce": true
}
},
- "security": ["ace_sc"],
- "properties": {
- "status": {
- // ...
- "forms": [{
- "op": "readproperty",
- "href": "coaps://rs.example.com/status",
- "contentType": "application/cbor",
- "cov:methodName": "GET",
- "ace:scopes": ["limited"]
+ "security": [
+"hljs-string">"ace_sc"],
+ "properties": { "status": { // ... "forms": [{ "op":
+"hljs-string">"readproperty",
+ "href":
+"hljs-string">"coaps://rs.example.com/status",
+
+"hljs-attr">"contentType": "application/cbor",
+
+"hljs-attr">"cov:methodName": "GET",
+
+"hljs-attr">"ace:scopes": ["limited"]
}]
}
},
- "actions": {
- "configure": {
- // ...
- "forms": [{
- "op": "invokeaction",
- "href": "coaps://rs.example.com/configure",
- "contentType": "application/cbor",
- "cov:methodName": "POST",
- "ace:scopes": ["special"]
+ "actions": { "configure": { // ... "forms": [{ "op":
+"hljs-string">"invokeaction",
+ "href":
+"hljs-string">"coaps://rs.example.com/configure",
+
+"hljs-attr">"contentType": "application/cbor",
+
+"hljs-attr">"cov:methodName": "POST",
+
+"hljs-attr">"ace:scopes": ["special"]
}]
}
},
- // ...
+ // ...
}
-
-
-+
Note
that
all
@@ -33499,14 +27466,13 @@
schemes
defined
in
-
-
+
5.3.3
-
+
Security
Vocabulary
Definitions
-
+
are
already
part
@@ -33522,27 +27488,16 @@
included
through
a
-
+
TD
Context
Extension
-.
-
+
The
following
assertions
@@ -33616,20 +27571,12 @@
represent
such
interfaces.
-
+
To
enable
secure
@@ -33644,18 +27591,14 @@
requirements
of
the
-
+
Thing
-:
-
+
Some
security
protocols
@@ -33771,21 +27708,12 @@
be
considered
invalid.
-
+
The
data
schemas
@@ -33805,9 +27733,9 @@
by
the
described
-
+
Thing
-
+
in
the
interactions
@@ -33817,9 +27745,9 @@
TD.
In
general,
-
+
Consumers
-
+
should
follow
the
@@ -33843,9 +27771,9 @@
data
from
the
-
+
Thing
-
+
not
given
explicitly
@@ -33856,25 +27784,25 @@
Description.
In
general,
-
+
Things
-
+
are
-
+
described
-
+
by
WoT
Thing
Descriptions,
but
-
+
Consumers
-
+
are
-
+
constrained
-
+
to
follow
WoT
@@ -33883,34 +27811,30 @@
when
interacting
with
-
+
Things
-.
-
+
ObjectSchema
-
+
and
-
+
ArraySchema
-
+
(when
-
+
items
-
+
is
an
Array
of
-
+
DataSchema
-
+
)
where
there
@@ -34018,40 +27935,35 @@
+
"additionalProperties":true
-
+
or
-
+
"additionalItems":true
-
+
as
defined
in
[
-
-
+
JSON-SCHEMA
-
-
+
].
-
+
ObjectSchema
-
+
and
-
+
ArraySchema
-
+
(when
-
+
items
-
+
is
an
Array
of
-
+
DataSchema
-
+
)
where
there
@@ -34114,41 +28025,36 @@
+
"additionalProperties":true
-
+
or
-
+
"additionalItems":true
-
+
as
defined
in
[
-
-
+
JSON-SCHEMA
-
-
+
].
-+
A
-
+
Protocol
Binding
-
+
is
the
mapping
from
an
-
+
Interaction
Affordance
-
+
to
concrete
messages
@@ -34282,57 +28167,46 @@
as
HTTP
[
-
-
+
RFC7231
-
-
+
],
CoAP
[
-
-
+
RFC7252
-
-
+
],
or
MQTT
[
-
-
+
MQTT
-
-
+
].
-
+
Protocol
Bindings
-
+
of
-
+
Interaction
Affordances
-
+
are
serialized
as
-
+
forms
-
+
as
defined
in
-
-
+
6.3.9
-
-
+
.
-
forms
-
-
+.
Every
form
in
@@ -34349,25 +28223,23 @@
given
by
the
-
+
href
-
+
member,
as
indicated
in
-
+
Form
-.
+.
The
URI
scheme
[
-
-
+
RFC3986
-
-
+
]
of
this
@@ -34375,21 +28247,19 @@
target
indicates
what
-
+
Protocol
Binding
-
+
the
-
+
Thing
-
+
implements
[
-
-
+
wot-architecture11
-
-
+
].
For
instance,
@@ -34398,30 +28268,30 @@
target
starts
with
-
+
http
-
+
or
-
+
https
-
,
+,
a
-
+
Consumer
-
+
can
then
infer
the
-
+
Thing
-
+
implements
the
-
+
Protocol
Binding
-
+
based
on
HTTP
@@ -34438,21 +28308,17 @@
(see
next
section,
-
-
+
8.3.1
-
+
Protocol
Binding
based
on
HTTP
-
+
).
-
+
href
-
+
member.
-
-+
Optimally,
the
protocols
@@ -34545,20 +28399,18 @@
IANA
registry
[
-
-
+
IANA-URI-SCHEMES
-
-
+
]).
This
guarantees
a
unique
-
+
Protocol
Binding
-
+
assignment.
In
case
@@ -34600,10 +28452,10 @@
the
scheme,
the
-
+
Protocol
Binding
-
+
document
will
provide
@@ -34621,24 +28473,15 @@
context
of
WoT.
-
Per
default
the
@@ -34646,10 +28489,10 @@
Description
supports
the
-
+
Protocol
Binding
-
+
based
on
HTTP
@@ -34661,19 +28504,17 @@
vocabulary
definitions
from
-
+
HTTP
Vocabulary
in
RDF
1.0
-
+
[
-
-
+
HTTP-in-RDF10
-
-
+
].
This
vocabulary
@@ -34690,22 +28531,22 @@
of
the
prefix
-
+
htv
-
,
+,
which
points
to
-
+
http://www.w3.org/2011/http#
-
.
+.
Further
details
of
-
+
Protocol
Binding
-
+
based
on
HTTP
@@ -34714,35 +28555,32 @@
found
in
[
-
-
+
WOT-BINDING-TEMPLATES
-
-
+
].
-
+
To
interact
with
a
-
+
Thing
-
+
that
implements
the
-
+
Protocol
Binding
-
+
based
on
HTTP,
a
-
+
Consumer
-
+
needs
to
know
@@ -34771,27 +28609,27 @@
the
method,
i.e.,
-
+
htv:methodName
-
.
+.
For
the
sake
of
conciseness,
the
-
+
Protocol
Binding
-
+
based
on
HTTP
defines
-
+
Default
Values
-
+
for
the
operation
@@ -34808,9 +28646,9 @@
methods
expected
by
-
+
Things
-
+
(e.g.,
GET
to
@@ -34818,7 +28656,7 @@
PUT
to
write).
-
+
When
no
method
@@ -34829,21 +28667,20 @@
form
representing
an
-
+
Protocol
Binding
-
+
based
on
HTTP,
a
-
+
Default
Value
-
-
+
MUST
-
+
be
assumed
as
@@ -34852,15 +28689,11 @@
the
following
table.
-
-
-
+
Vocabulary
term
-
- |
-
+ |
Default
value
- |
-
+ |
Context
- |
-
- |
+ |
---|---|---|---|---|---|---|
htv:methodName
-
- |
-
-
+ |
GET
-
- |
-
-
+ |
Form
-
+
with
operation
type
-
+
readproperty
- ,
-
+ ,
readallproperties
- ,
-
+ ,
readmultipleproperties
-
- |
-||
-
+ | ||||||
htv:methodName
-
- |
-
-
+ |
PUT
-
- |
-
-
+ |
Form
-
+
with
operation
type
-
+
writeproperty
- ,
-
+ ,
writeallproperties
- ,
-
+ ,
writemultipleproperties
-
- |
-||
-
+ | ||||||
htv:methodName
-
- |
-
-
+ |
POST
-
- |
-
-
+ |
Form
-
+
with
operation
type
-
+
invokeaction
-
- |
-
+
For
example,
the
-
+
Example
1
-
+
in
-
-
+
1.
-
+
Introduction
-
+
does
not
contain
@@ -35018,10 +28800,10 @@
forms.
The
following
-
+
Default
Values
-
+
should
be
assumed
@@ -35030,24 +28812,14 @@
forms
in
the
-
+
Example
1
-:
-
{
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "id": "urn:uuid:3a559b69-cbec-4e7b-b543-bd8e6e41fd8b",
- "title": "MyLampThing",
- "securityDefinitions": {
- "basic_sc": {
- "scheme": "basic",
- "in": "header"
+
{ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "id":
+"hljs-string">"urn:uuid:3a559b69-cbec-4e7b-b543-bd8e6e41fd8b",
+ "title":
+"hljs-string">"MyLampThing",
+ "securityDefinitions": { "basic_sc": { "scheme":
+"hljs-string">"basic",
+ "in":
+"hljs-string">"header"
}
},
- "security": [
- "basic_sc"
+ "security": [ "basic_sc"
],
- "properties": {
- "status": {
- "type": "string",
- "readOnly": true,
- "forms": [
+ "properties": { "status": { "type":
+"hljs-string">"string",
+ "readOnly":
+"hljs-literal">true,
+ "forms": [
{
- "op": "readproperty",
- "href": "https://mylamp.example.com/status"
+
+"hljs-attr">"op": "readproperty",
+
+"hljs-attr">"href": "https://mylamp.example.com/status"
}
]
}
},
- "actions": {
- "toggle": {
- "forms": [
+ "actions": { "toggle": { "forms": [
{
- "href": "https://mylamp.example.com/toggle"
+
+"hljs-attr">"href": "https://mylamp.example.com/toggle"
}
]
}
},
- "events": {
- "overheating": {
- "data": {
- "type": "string"
+ "events": { "overheating": { "data": { "type":
+"hljs-string">"string"
},
- "forms": [
+ "forms": [
{
- "href": "https://mylamp.example.com/oh",
- "subprotocol": "longpoll"
+
+"hljs-attr">"href": "https://mylamp.example.com/oh",
+
+"hljs-attr">"subprotocol": "longpoll"
}
]
}
}
}
-
-
- {
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "id": "urn:uuid:3deca264-4f90-4321-a5ea-f197e6a1c7cf",
- "title": "MyLampThing",
- "securityDefinitions": {
- "basic_sc": {
- "scheme": "basic",
- "in": "header"
+
{ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "id":
+"hljs-string">"urn:uuid:3deca264-4f90-4321-a5ea-f197e6a1c7cf",
+ "title":
+"hljs-string">"MyLampThing",
+ "securityDefinitions": { "basic_sc": { "scheme":
+"hljs-string">"basic",
+ "in":
+"hljs-string">"header"
}
},
- "security": [
- "basic_sc"
+ "security": [ "basic_sc"
],
- "properties": {
- "status": {
- "type": "string",
- "readOnly": true,
- "forms": [
+ "properties": { "status": { "type":
+"hljs-string">"string",
+ "readOnly":
+"hljs-literal">true,
+ "forms": [
{
- "op": "readproperty",
- "href": "https://mylamp.example.com/status",
- "htv:methodName": "GET"
+
+"hljs-attr">"op": "readproperty",
+
+"hljs-attr">"href": "https://mylamp.example.com/status",
+
+"hljs-attr">"htv:methodName": "GET"
}
]
}
},
- "actions": {
- "toggle": {
- "forms": [
+ "actions": { "toggle": { "forms": [
{
- "op": "invokeaction",
- "href": "https://mylamp.example.com/toggle",
- "htv:methodName": "POST"
+
+"hljs-attr">"op": "invokeaction",
+
+"hljs-attr">"href": "https://mylamp.example.com/toggle",
+
+"hljs-attr">"htv:methodName": "POST"
}
]
}
},
- "events": {
- "overheating": {
- "data": {
- "type": "string"
+ "events": { "overheating": { "data": { "type":
+"hljs-string">"string"
},
- "forms": [
+ "forms": [
{
- "op": "subscribeevent",
- "href": "https://mylamp.example.com/oh",
- "subprotocol": "longpoll"
+
+"hljs-attr">"op": "subscribeevent",
+
+"hljs-attr">"href": "https://mylamp.example.com/oh",
+
+"hljs-attr">"subprotocol": "longpoll"
}
]
}
}
}
-
-
-+
In
the
case
of
a
-
+
forms
-
+
entry
that
has
multiple
-
+
op
-
+
values
the
usage
of
the
-
+
htv:methodName
-
+
is
not
permitted.
A
-
+
TD
Processor
-
+
will
extend
the
multiple
-
+
op
-
+
values
to
separate
-
+
forms
-
+
entries
and
associates
@@ -35224,9 +29010,9 @@
address
information
(e.g.
-
+
href
-
+
)
and
other
@@ -35238,133 +29024,124 @@
the
extended
version.
-
{ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "id":
+"hljs-string">"urn:uuid:43e2081d-3fd9-41bf-803d-baaefb79c70f",
+ "title":
+"hljs-string">"MyLampThing",
+ "securityDefinitions": { "basic_sc": { "scheme":
+"hljs-string">"basic",
+ "in":
+"hljs-string">"header"
}
},
- "security": [
- "basic_sc"
+ "security": [ "basic_sc"
],
- "properties": {
- "status": {
- "type": "string",
- "forms": [
+ "properties": { "status": { "type":
+"hljs-string">"string",
+ "forms": [
{
- "op" : ["readproperty", "writeproperty"],
- "href": "https://mylamp.example.com/status"
+
+"hljs-attr">"op" : ["readproperty", "writeproperty"],
+
+"hljs-attr">"href": "https://mylamp.example.com/status"
}
]
}
}
}
-
-
- {
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "id": "urn:uuid:9cd44eef-0b3f-4566-94b0-1358af3d86bd",
- "title": "MyLampThing",
- "securityDefinitions": {
- "basic_sc": {
- "scheme": "basic",
- "in": "header"
+
{ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "id":
+"hljs-string">"urn:uuid:9cd44eef-0b3f-4566-94b0-1358af3d86bd",
+ "title":
+"hljs-string">"MyLampThing",
+ "securityDefinitions": { "basic_sc": { "scheme":
+"hljs-string">"basic",
+ "in":
+"hljs-string">"header"
}
},
- "security": [
- "basic_sc"
+ "security": [ "basic_sc"
],
- "properties": {
- "status": {
- "type": "string",
- "forms": [
+ "properties": { "status": { "type":
+"hljs-string">"string",
+ "forms": [
{
- "op": "readproperty",
- "href": "https://mylamp.example.com/status",
- "htv:methodName": "GET"
+
+"hljs-attr">"op": "readproperty",
+
+"hljs-attr">"href": "https://mylamp.example.com/status",
+
+"hljs-attr">"htv:methodName": "GET"
},
{
- "op": "writeproperty",
- "href": "https://mylamp.example.com/status",
- "htv:methodName": "PUT"
+
+"hljs-attr">"op": "writeproperty",
+
+"hljs-attr">"href": "https://mylamp.example.com/status",
+
+"hljs-attr">"htv:methodName": "PUT"
}
]
}
}
}
-
-
-+
The
number
of
-
+
Protocol
Bindings
-
+
a
-
+
Thing
-
+
can
implement
is
not
restricted.
Other
-
+
Protocol
Bindings
-
+
(e.g.,
for
CoAP,
@@ -35384,32 +29161,30 @@
as
a
protocol
-
+
Vocabulary
-
+
similar
to
-
+
HTTP
Vocabulary
in
RDF
1.0
-
+
[
-
-
+
HTTP-in-RDF10
-
-
+
]
or
specifications
including
-
+
Default
Value
-
+
definitions.
Such
protocols
@@ -35425,33 +29200,29 @@
usage
of
the
-
+
TD
Context
Extension
-
+
mechanism
(see
-
-
+
7.
-
+
TD
Context
Extensions
-
+
).
-
+
Please
refer
to
[
-
-
+
WOT-BINDING-TEMPLATES
-
-
+
]
for
information
@@ -35463,35 +29234,17 @@
platforms
and
ecosystems.
-
The
figure
below
@@ -35500,20 +29253,20 @@
relation
of
the
-
+
Thing
Model
-
+
and
-
+
Thing
Description
-.
+.
A
-
+
Thing
Model
-
+
mainly
describes
interaction
@@ -35521,26 +29274,25 @@
such
as
the
-
+
Properties
-,
-
+,
Actions
-,
+,
and
-
+
Events
-
+
and
common
metadata.
-
+
When
a
-
+
Thing
Descriptions
-
+
is
instantiated
by
@@ -35550,9 +29302,9 @@
Thing
Model,
it
-
+
SHOULD
-
+
be
valid
according
@@ -35560,7 +29312,7 @@
that
Thing
Model.
-
+
This
paradigm
can
@@ -35582,17 +29334,11 @@
objects
(~Thing
Descriptions).
-
+
The
-
+
Thing
Model
-
+
is
a
logical
@@ -35622,28 +29365,27 @@
possible
interaction
with
-
+
Thing
-
+
's
-
+
Properties
-,
-
+,
Actions
-,
+,
and
-
+
Events
-,
+,
however
it
does
not
contain
-
+
Thing
-
+
instance-specific
information,
such
@@ -35712,12 +29454,10 @@
also
be
given.
-
- +
Thing
Model
-
+
can
be
serialized
@@ -35738,10 +29478,10 @@
Note
that
a
-
+
Thing
Model
-
+
cannot
be
validated
@@ -35750,10 +29490,10 @@
same
way
as
-
+
Thing
Description
-
+
instances
due
to
@@ -35779,37 +29519,36 @@
types
declared
in
-
+
TD
Information
Model
-.
+.
For
example,
the
value
of
-
+
minimum
-
+
needs
to
be
an
-
+
integer
-
,
+,
unless
a
placeholder
is
used.
-
+
You
can
use
-
+
the
JSON
Schema
@@ -35817,7 +29556,7 @@
the
GitHub
repository
-
+
to
validate
TM
@@ -35827,14 +29566,9 @@
serialized
as
JSON.
-
+
The
link
for
@@ -35850,52 +29584,40 @@
one
before
publication.
-
A
-
+
Thing
Model
-
+
is
recognized
by
the
top
level
-
+
@type
-
.
-
-
+.
Thing
Model
-
+
definitions
-
+
MUST
-
+
use
the
keyword
-
+
@type
-
+
at
top
level
@@ -35912,11 +29634,9 @@
or
respectively
contains
-
+
tm:ThingModel
-
.
-
-
+.
Additionally,
in
order
@@ -35927,20 +29647,20 @@
a
JSON-LD
document,
-
+
Thing
Model
-
+
definitions
-
+
MUST
-
+
use
the
keyword
-
+
@context
-
+
at
top
level
@@ -35951,39 +29671,38 @@
a
Thing
Description.
-
+
The
prefix
-
+
tm
-
+
is
defined
within
-
+
Thing
Descriptions
-
+
'
context
and
points
to
the
-
+
Thing
Model
-
+
namespace
as
defined
in
-
-
+
4.
-
+
Namespaces
-.
+.
It
is
intended
@@ -35991,18 +29710,18 @@
vocabulary
from
the
-
+
tm
-
+
context
only
be
used
in
-
+
Thing
Model
-
+
definitions
and
are
@@ -36010,44 +29729,40 @@
or
replaced
when
-
+
Thing
Descriptions
-
+
are
generated
(also
see
-
-
+
9.4
-
+
Derivation
of
Thing
Description
Instances
-
+
).
-
- +
A
-
+
Thing
Model
-
-
+
MAY
-
+
NOT
contain
instance
specific
-
+
Protocol
Binding
-
+
and
security
information
@@ -36055,12 +29770,12 @@
as
endpoint
addresses.
-
+
Consequently,
-
+
Thing
Model
-
+
definitions
will
also
@@ -36073,23 +29788,20 @@
JSON
members
like
-
+
forms
-,
-
+,
base
-,
-
+,
securityDefinitions
-,
+,
and
-
+
security
-.
-
+.
Thing
Models
-
+
are
also
valid
@@ -36109,57 +29821,45 @@
mandatory
members
like
-
+
href
-
+
are
omitted.
-
- +
Example - + 3 - - + shows a valid sample lamp - + Thing Model - + without any protocol and security information. -
-+
In
the
context
of
-
+
Thing
Model
-
+
definitions
specific
features
@@ -36170,58 +29870,49 @@
be
used
for
-
+
Thing
-
+
modelling.
-
- +
When
the
-
+
Thing
Model
-
+
definitions
change
over
time,
this
-
+
SHOULD
-
+
be
reflected
in
the
version
container.
-
+
The
string-based
term
-
+
model
-
+
is
used
within
the
-
+
version
-
+
container
to
provide
@@ -36230,11 +29921,9 @@
information,
like
[
-
-
+
SEMVER
-
-
+
].
The
following
@@ -36243,75 +29932,64 @@
the
usage
of
-
+
model
-
+
in
a
Thing
Model
instance.
-
{
- // ...
- "@type": "tm:ThingModel",
- "title": "Lamp Thing Model",
- "description": "Lamp Thing Description Model",
- "version" : {"model": "1.0.0"},
- // ...
+
{ // ... "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Lamp Thing Model",
+ "description":
+"hljs-string">"Lamp Thing Description Model",
+ "version" : {
+"hljs-attr">"model": "1.0.0"},
+ // ...
}
-
-
-- +
Due
to
the
definition
of
-
+
Thing
Model
-
+
the
term
-
+
instance
-
-
+
MUST
-
+
be
omitted
within
the
-
+
version
-
+
container.
-
-
+
When
-
+
Thing
Models
-
+
are
updated
and
@@ -36323,10 +30001,10 @@
may
affect
other
-
+
Thing
Models
-
+
that
use
the
@@ -36336,14 +30014,13 @@
features
(see
Section
-
-
+
9.3.2
-
+
Extension
and
Import
-
+
).
In
some
@@ -36370,50 +30047,41 @@
identify
the
version.
-
+
A
-
+
Thing
Model
-
+
can
extend
an
existing
-
+
Thing
Model
-
+
by
using
the
-
+
tm:extends
-
+
mechanism
announced
in
the
-
+
links
-
+
definition:
-
+
When
a
Thing
@@ -36425,37 +30093,37 @@
at
least
one
-
+
links
-
+
entry
with
-
+
"rel":
"tm:extends"
-
+
that
targets
a
-
+
Thing
Model
-
+
that
is
be
extended
-
+
MUST
-
+
be
used.
-
+
The
-
+
Thing
Model
-
+
will
inherit
all
@@ -36463,10 +30131,10 @@
from
the
extended
-
+
Thing
Model
-.
+.
There
is
the
@@ -36492,14 +30160,13 @@
information
model
(
-
-
+
5.
-
+
TD
Information
Model
-
+
)
or
using
@@ -36508,20 +30175,19 @@
extension
concept
(
-
-
+
7.
-
+
TD
Context
Extensions
-
+
).
A
-
+
Thing
Model
-
+
can
also
overwrite
@@ -36529,13 +30195,13 @@
definitions
such
as
-
+
title(s)
-
+
and
-
+
maximum
-
+
etc..
For
this
@@ -36543,16 +30209,15 @@
exist
two
limitations:
-
+
A
-
+
Thing
Model
-
-
+
SHOULD
NOT
-
+
overwrite
the
JSON
@@ -36560,33 +30225,29 @@
defined
within
the
-
+
properties
-
,
-
+
,
actions
-
,
+,
and/or
-
+
events
-
-
+
Map
-
+
of
the
extended
-
+
Thing
Model
-.
-
-
+.
Definitions
-
+
SHOULD
NOT
-
+
be
overwritten
in
@@ -36607,7 +30268,7 @@
origin
extended
definitions.
-
+
Those
assertions
preserve
@@ -36617,10 +30278,10 @@
of
the
extended
-
+
Thing
Model
-.
+.
E.g.,
it
is
@@ -36628,29 +30289,29 @@
allowed
that
a
-
+
"minimum":2
-
+
from
a
extended
-
+
Thing
Model
-
+
can
be
overwritten
with
-
+
"minimum":0
-
.
+.
Meanwhile,
overwriting
with
-
+
"minimum":5
-
+
would
work
since
@@ -36665,24 +30326,22 @@
of
the
extended
-
+
Thing
Model
-
+
(also
see
Figure
-
+
Figure
-
+
6
-
-
+
for
further
explanation).
-
+
Lets
assume
we
@@ -36697,37 +30356,28 @@
the
following
example:
-
{
- "@context": ["https://www.w3.org/2022/wot/td/v1.1"],
- "@type": "tm:ThingModel",
- "title": "Basic On/Off Thing Model",
- "properties": {
- "onOff": {
- "type": "boolean"
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Basic On/Off Thing Model",
+ "properties": { "onOff": { "type":
+"hljs-string">"boolean"
}
}
}
-
-
-+
Now
a
new
@@ -36768,60 +30418,53 @@
it
with
a
-
+
dim
-
+
property:
-
{
- "@context": ["https://www.w3.org/2022/wot/td/v1.1"],
- "@type": "tm:ThingModel",
- "title": "Smart Lamp Control with Dimming",
- "links" : [{
- "rel": "tm:extends",
- "href": "http://example.com/BasicOnOffTM",
- "type": "application/tm+json"
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Smart Lamp Control with Dimming",
+ "links" : [{ "rel":
+"hljs-string">"tm:extends",
+ "href":
+"hljs-string">"http://example.com/BasicOnOffTM",
+ "type":
+"hljs-string">"application/tm+json"
}],
- "properties" : {
- "dim" : {
-
- ,
-
- "title": "Dimming level",
- "type": "integer",
- "minimum": 0,
- "maximum": 100
+ "properties" : { "dim" : { "title":
+"hljs-string">"Dimming level",
+ "type":
+"hljs-string">"integer",
+ "minimum":
+"hljs-number">0,
+ "maximum":
+"hljs-number">100
}
}
}
-
-
-+
Please
note
that
the
-
+
title
-
+
is
overwritten
and
@@ -36839,23 +30482,21 @@
the
next
subsection
-
-
+
9.4
-
+
Derivation
of
Thing
Description
Instances
-
+
).
-
+
The
-
+
tm:extends
-
+
feature
only
permits
@@ -36864,10 +30505,10 @@
definitions
of
one
-
+
Thing
Model
-.
+.
In
many
use
@@ -36887,11 +30528,10 @@
or
more
existing
-
+
Thing
Models
-.
-
+.
For
importing
pieces
@@ -36902,14 +30542,14 @@
or
more
existing
-
+
Thing
Models
-,
+,
the
-
+
tm:ref
-
+
term
is
introduced
@@ -36922,46 +30562,42 @@
existing
(sub-)definition
that
-
+
SHOULD
-
+
be
reused.
-
-
+
The
-
+
tm:ref
-
+
value
-
+
MUST
-
+
follow
the
pattern
-that
+that
starts
with
the
-
file
location
as
URI
[
-
-
+
RFC3986
-
-
+
](Section
4.1)),
followed
by
-
+
#
-
+
character,
and
followed
@@ -36969,14 +30605,12 @@
JSON
Pointer
[
-
-
+
RFC6901
-
-
+
]
definition.
-
+
Note
that
the
@@ -36990,20 +30624,18 @@
same-document
reference
[
-
-
+
RFC3986
-
-
+
](Section
4.4)).
In
this
case,
the
-
+
tm:ref
-
+
is
supposed
to
@@ -37013,12 +30645,12 @@
a
relative
reference.
-
+
Every
time
-
+
tm:ref
-
+
is
used,
the
@@ -37031,9 +30663,9 @@
by
context
extension)
-
+
MUST
-
+
be
assumed
at
@@ -37041,21 +30673,15 @@
new
defined
definition.
-
-
+
Portions
of
the
-
+
tm:ref
-
+
value
might
contain
@@ -37073,9 +30699,9 @@
escapes
to
a
-
+
tm:ref
-
+
value,
implementations
should
@@ -37087,9 +30713,7 @@
not
already
encoded.
-
+
The
following
example
@@ -37106,56 +30730,45 @@
of
the
property
-
+
onOff
-
+
from
-
+
Example
-
+
53
-
-
+
into
the
new
property
definition
-
+
switch
-
.
-
{
- "@context": ["https://www.w3.org/2022/wot/td/v1.1"],
- "@type": "tm:ThingModel",
- "title": "Smart Lamp Control",
- "properties" : {
- "switch" : {
- "tm:ref": "http://example.com/BasicOnOffTM.tm.jsonld#/properties/onOff"
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Smart Lamp Control",
+ "properties" : { "switch" : { "tm:ref":
+"hljs-string">"http://example.com/BasicOnOffTM.tm.jsonld#/properties/onOff"
}
}
}
-
-
-+
As
an
example
@@ -37163,9 +30776,9 @@
relative
imports
using
-
+
tm:ref
-
,
+,
the
following
Thing
@@ -37176,9 +30789,9 @@
(see
below)
a
-
+
genericTemperature
-
+
property
in
two
@@ -37195,16 +30808,11 @@
temperature
value,
respectively.
-
{
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "@type": "tm:ThingModel",
- "title": "Multi Sensor",
- "properties": {
- "genericTemperature": {
- "type": "number",
- "unit": "C"
+
{ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Multi Sensor",
+ "properties": { "genericTemperature": { "type":
+"hljs-string">"number",
+ "unit":
+"hljs-string">"C"
},
- "innerTemperature": {
- "tm:ref": "#/properties/genericTemperature",
- "title": "The inner temperature",
- "minimum": 10
+ "innerTemperature": { "tm:ref":
+"hljs-string">"#/properties/genericTemperature",
+ "title":
+"hljs-string">"The inner temperature",
+ "minimum":
+"hljs-number">10
},
- "outerTemperature": {
- "tm:ref": "#/properties/genericTemperature",
- "title": "The outer temperature",
- "description": "The outer temperature is measured in Kelvin",
- "unit": "K"
+ "outerTemperature": { "tm:ref":
+"hljs-string">"#/properties/genericTemperature",
+ "title":
+"hljs-string">"The outer temperature",
+
+"hljs-attr">"description": "The outer temperature is measured in Kelvin",
+ "unit":
+"hljs-string">"K"
}
},
- "tm:optional": [
- "/properties/genericTemperature"
+ "tm:optional": [
+"hljs-string">"/properties/genericTemperature"
]
}
-
-
-+
At
the
place
@@ -37270,7 +30881,7 @@
the
referenced
definition.
-
+
If
the
intention
@@ -37284,16 +30895,16 @@
pair
definition
from
-
+
tm:ref
-
,
+,
the
same
JSON
name
-
+
MUST
-
+
be
used
at
@@ -37302,24 +30913,23 @@
level
of
the
-
+
tm:ref
-
+
declaration
that
provides
a
new
value.
-
-
+
The
process
to
overwrite
-
+
MUST
-
+
follow
the
JSON
@@ -37346,9 +30956,7 @@
JSON
name-value
pairs.
-
-
+
It
is
noted
@@ -37362,24 +30970,24 @@
on
a
JSON
-
+
object
-
+
or
-
+
array
-
,
+,
or
simply
be
a
-
+
null
-
+
value.
-
+
null
-
+
would
result
to
@@ -37393,14 +31001,12 @@
in
the
target.
-
- +
Similar
to
-
+
tm:extends
-
+
and
to
keep
@@ -37408,10 +31014,10 @@
semantic
meaning,
definitions
-
+
SHOULD
NOT
-
+
be
overwritten
in
@@ -37432,9 +31038,7 @@
origin
referenced
definition.
-
-
+
The
following
example
@@ -37446,42 +31050,35 @@
that
overwrites
(
-
+
maximum
-
+
),
enhances
(
-
+
unit
-
+
),
and
removes
(
-
+
title
-
+
)
existing
definitions
from
-
+
Example
-
+
54
-
-.
-
{
- "@context": ["https://www.w3.org/2022/wot/td/v1.1"],
- "@type": "tm:ThingModel",
- "title": "Smart Lamp Control",
- "properties" : {
- "dimming" : {
- "tm:ref": "http://example.com/SmartLampControlwithDimming.tm.jsonld#/properties/dim",
- "title": null,
- "maximum": 80,
- "unit": "%"
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Smart Lamp Control",
+ "properties" : { "dimming" : { "tm:ref":
+"hljs-string">"http://example.com/SmartLampControlwithDimming.tm.jsonld#/properties/dim",
+ "title":
+"hljs-literal">null,
+ "maximum":
+"hljs-number">80,
+ "unit":
+"hljs-string">"%"
}
}
}
-
-
-+
Based
on
the
@@ -37517,12 +31113,12 @@
Patch
algorithm
the
-
+
{"title":
null,"maximum":
80,"unit":
"%"}
-
+
would
act
as
@@ -37533,7 +31129,7 @@
referenced
origin
content
-
+
{"title":
"Dimming
level",
@@ -37543,22 +31139,20 @@
.
-
0,
"maximum":
100}
-
+.
The
-
+
tm:extends
-
+
and
the
import
mechanism
based
on
-
+
tm:ref
-
+
can
also
be
@@ -37578,48 +31172,40 @@
the
TM
from
-
+
Example
-
+
53
-
-
+
and
imports
the
-
+
status
-
+
and
-
+
dim
-
+
definitions
from
-
+
Example
-
+
3
-
-
+
and
-
+
Example
-
+
54
-
-
+
respectively.
-
{
- "@context": ["https://www.w3.org/2022/wot/td/v1.1"],
- "@type": "tm:ThingModel",
- "title": "Smart Lamp Control",
- "links" : [{
- "rel": "extends",
- "href": "http://example.com/BasicOnOffTM",
- "type": "application/tm+json"
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Smart Lamp Control",
+ "links" : [{ "rel":
+"hljs-string">"extends",
+ "href":
+"hljs-string">"http://example.com/BasicOnOffTM",
+ "type":
+"hljs-string">"application/tm+json"
}],
- "properties" : {
- "status" : {
- "tm:ref": "http://example.com/LampTM.tm.jsonld#/properties/status"
+ "properties" : { "status" : { "tm:ref":
+"hljs-string">"http://example.com/LampTM.tm.jsonld#/properties/status"
},
- "dimming" : {
- "tm:ref": "http://example.com/LampWithDimmingTM.tm.jsonld#/properties/dim"
+ "dimming" : { "tm:ref":
+"hljs-string">"http://example.com/LampWithDimmingTM.tm.jsonld#/properties/dim"
}
}
}
-
-
-+
The
-
+
tm:extends
-
+
and
the
import
mechanism
based
on
-
+
tm:ref
-
+
explicitly
supports
transitive
@@ -37686,9 +31270,9 @@
which
defines
a
-
+
tm:extends
-
+
of
the
TM
@@ -37697,9 +31281,9 @@
itself
defines
a
-
+
tm:extends
-
+
of
the
TM
@@ -37716,7 +31300,7 @@
"B"
and
"C".
-
+
Recursive
extensions
leading
@@ -37724,15 +31308,13 @@
an
infinite
loop
-
+
MUST
NOT
-
+
be
defined.
-
-
+
The
following
figure
@@ -37753,19 +31335,19 @@
this
section.
Three
-
+
Thing
Models
-
+
use
the
-
+
tm:ref
-
+
or
-
+
tm:extends
-
+
feature
to
reuse
@@ -37776,33 +31358,33 @@
Smart
Lamp
Control
-
+
Thing
Model
-.
+.
The
first
-
+
Thing
Model
-
+
imports
and
overwrites
the
-
+
maximum
-
+
value
to
-
+
120
-
+
within
the
-
+
dimmer
-
+
property.
However,
this
@@ -37823,18 +31405,18 @@
of
the
original
-
+
dim
-
+
definition
between
-
+
0
-
+
and
-
+
100
-
+
of
the
dim
@@ -37849,10 +31431,10 @@
Thus,
such
a
-
+
Thing
Model
-
+
definition
is
not
@@ -37863,14 +31445,14 @@
overwrites
the
property
-
+
type
-
+
value
by
-
+
number
-
.
+.
Again,
this
will
@@ -37878,9 +31460,9 @@
result
in
numeric
-
+
dim
-
+
values
that
are
@@ -37892,9 +31474,9 @@
of
the
origin
-
+
dim
-
+
type
definition
(integer)
@@ -37903,10 +31485,10 @@
Smart
Lamp
Control
-
+
Thing
Model
-.
+.
The
last
model
@@ -37920,9 +31502,9 @@
new
ranges
of
-
+
dim
-
+
produce
potential
instance
@@ -37934,44 +31516,26 @@
by
the
original
-
+
dim
-
+
definition.
-
+
In
some
applications,
@@ -37981,10 +31545,10 @@
to
reuse
existing
-
+
Thing
Model
-
+
definitions
and
compose
@@ -38010,171 +31574,186 @@
of
two
sub/child
-
+
Thing
Model
-
+
definitions
such
as
a
Ventilation
-
+
Thing
Model
-
+
that
provides
-
+
on/off
-
+
and
-
+
adjustRpm
-
+
capabilities,
and
an
LED
-
+
Thing
Model
-
+
that
provides
-
+
dimmable
-
+
and
-
+
RGB
-
+
capabilities.
-
+"false">{
+ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Smart Ventilator Thing Model",
+ "version" : {
+"hljs-attr">"model": "1.0.0" },
+ "links": [
{
- "rel": "tm:submodel",
- "href": "./Ventilation.tm.jsonld",
- "type": "application/tm+json",
- "instanceName": "ventilation"
+ "rel":
+"hljs-string">"tm:submodel",
+ "href":
+"hljs-string">"./Ventilation.tm.jsonld",
+ "type":
+"hljs-string">"application/tm+json",
+ "instanceName":
+"hljs-string">"ventilation"
},
{
- "rel": "tm:submodel",
- "href": "./LED.tm.jsonld",
- "type": "application/tm+json",
- "instanceName": "led"
+ "rel":
+"hljs-string">"tm:submodel",
+ "href":
+"hljs-string">"./LED.tm.jsonld",
+ "type":
+"hljs-string">"application/tm+json",
+ "instanceName":
+"hljs-string">"led"
}
],
- "properties" : {
- "status" : {"type": "string", "enum": ["on_value", "off_value", "error_value"]}
+ "properties" : { "status" : {
+"hljs-attr">"type": "string", "enum": ["on_value", "off_value", "error_value"]}
}
}
-
-
- {
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "@type": "tm:ThingModel",
- "title": "Ventilator Thing Model",
- "version": {
- "model": "1.0.0"
+
+"hljs json">{
+ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Ventilator Thing Model",
+ "version": { "model":
+"hljs-string">"1.0.0"
},
- "properties": {
- "switch": {
- "type": "boolean",
- "description": "True=On; False=Off"
+ "properties": { "switch": { "type":
+"hljs-string">"boolean",
+
+"hljs-attr">"description": "True=On; False=Off"
},
- "adjustRpm": {
- "type": "number",
- "minimum": 200,
- "maximum": 1200
+ "adjustRpm": { "type":
+"hljs-string">"number",
+ "minimum":
+"hljs-number">200,
+ "maximum":
+"hljs-number">1200
}
}
}
-
-
- {
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "@type": "tm:ThingModel",
- "title": "LED Thing Model",
- "version": {
- "model": "1.0.0"
+
+"hljs json">{
+ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"LED Thing Model",
+ "version": { "model":
+"hljs-string">"1.0.0"
},
- "properties": {
- "R": {
- "type": "number",
- "description": "Red color"
+ "properties": { "R": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "Red color"
},
- "G": {
- "type": "number",
- "description": "Green color"
+ "G": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "Green color"
},
- "B": {
- "type": "number",
- "description": "Blue color"
+ "B": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "Blue color"
}
},
- "actions": {
- "fadeIn": {
- "title": "fadeIn",
- "input": {
- "type": "number",
- "description": "fadeIn in ms"
+ "actions": { "fadeIn": { "title":
+"hljs-string">"fadeIn",
+ "input": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "fadeIn in ms"
}
},
- "fadeOut": {
- ,
-
- "title": "fadeOut",
- "input": {
- "type": "number",
- "description": "fadeOut in ms"
+ "fadeOut": { "title":
+"hljs-string">"fadeOut",
+ "input": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "fadeOut in ms"
}
}
}
}
-
-
-+
Such
composition
can
@@ -38185,11 +31764,11 @@
usage
of
the
-
+
links
-
+
container.
-
+
If
it
is
@@ -38199,53 +31778,50 @@
information
that
a
-
+
Thing
Model
-
+
consists
of
one
or
more
(sub-)
-
+
Thing
Models
-,
+,
the
-
+
links
-
+
entries
-
+
MUST
-
+
use
the
-
+
"rel":
"tm:submodel"
-
+
that
targets
to
the
(sub-)
-
+
Thing
Models
-.
-
-
+.
Optionally
an
-
+
instanceName
-
-
+
MAY
-
+
be
provided
to
@@ -38257,21 +31833,20 @@
the
composed
(sub-)
-
+
Thing
Model
-.
-
+.
This
is
useful
when
multiple
similar
-
+
Thing
Model
-
+
definitions
are
composed
@@ -38280,8 +31855,7 @@
to
be
distinguished.
-
+
Different
strategies
can
@@ -38289,16 +31863,16 @@
followed
to
generate
-
+
Thing
Descriptions
-
+
from
composed
-
+
Thing
Model
-
+
definitions.
The
default
@@ -38311,28 +31885,27 @@
parent
and
sub/child
-
+
Thing
Model
-
+
a
corresponding
-
+
Thing
Descriptions
-
+
(also
see
-
-
+
9.4
-
+
Derivation
of
Thing
Description
Instances
-
+
).
The
composition
@@ -38342,13 +31915,13 @@
reflected
by
the
-
+
collection
-
+
and
-
+
item
-
+
relation
types
in
@@ -38357,10 +31930,10 @@
container
of
the
-
+
Thing
Descriptions
-.
+.
An
example
based
@@ -38370,217 +31943,253 @@
is
given
here:
-
+"false">{
+ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "title":
+"hljs-string">"Smart Ventilator",
+ "securityDefinitions": { "basic_sc": { "scheme":
+"hljs-string">"basic",
+ "in":
+"hljs-string">"header"
}
},
- "security": "basic_sc",
- "links": [
+ "security":
+"hljs-string">"basic_sc",
+ "links": [
{
- "rel": "item",
- "href": "./Ventilation.td.jsonld",
- "type": "application/td+json"
+ "rel":
+"hljs-string">"item",
+ "href":
+"hljs-string">"./Ventilation.td.jsonld",
+ "type":
+"hljs-string">"application/td+json"
},
{
- "rel": "item",
- "href": "./LED.td.jsonld",
- "type": "application/td+json"
+ "rel":
+"hljs-string">"item",
+ "href":
+"hljs-string">"./LED.td.jsonld",
+ "type":
+"hljs-string">"application/td+json"
},
{
- "rel": "type",
- "href": "./SmartVentilator.tm.jsonld",
- "type": "application/tm+json"
+ "rel":
+"hljs-string">"type",
+ "href":
+"hljs-string">"./SmartVentilator.tm.jsonld",
+ "type":
+"hljs-string">"application/tm+json"
}
],
- "properties": {
- "status": {
- "type": "string",
- "enum": [
- "on_value",
- "off_value",
- "error_value"
+ "properties": { "status": { "type":
+"hljs-string">"string",
+ "enum": [ "on_value", "off_value", "error_value"
],
- "forms": [
+ "forms": [
{
- "href": "http://127.0.13.232:4563/status"
+
+"hljs-attr">"href": "http://127.0.13.232:4563/status"
}
]
}
}
}
-
-
- {
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "title": "Ventilator",
- "securityDefinitions": {
- "basic_sc": {
- "scheme": "basic",
- "in": "header"
+
+"hljs json">{
+ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "title":
+"hljs-string">"Ventilator",
+ "securityDefinitions": { "basic_sc": { "scheme":
+"hljs-string">"basic",
+ "in":
+"hljs-string">"header"
}
},
- "security": "basic_sc",
- "links": [
+ "security":
+"hljs-string">"basic_sc",
+ "links": [
{
- "rel": "collection",
- "href": "./SmartVentilation.td.jsonld",
- "type": "application/td+json"
+ "rel":
+"hljs-string">"collection",
+ "href":
+"hljs-string">"./SmartVentilation.td.jsonld",
+ "type":
+"hljs-string">"application/td+json"
},
{
- "rel": "type",
- "href": "./Ventilation.tm.jsonld",
- "type": "application/tm+json"
+ "rel":
+"hljs-string">"type",
+ "href":
+"hljs-string">"./Ventilation.tm.jsonld",
+ "type":
+"hljs-string">"application/tm+json"
}
],
- "security": "basic_sc",
- "properties": {
- "switch": {
- "type": "boolean",
- "description": "True=On; False=Off",
- "forms": [
+ "security":
+"hljs-string">"basic_sc",
+ "properties": { "switch": { "type":
+"hljs-string">"boolean",
+
+"hljs-attr">"description": "True=On; False=Off",
+ "forms": [
{
- "href": "http://127.0.13.212:4563/switch"
+
+"hljs-attr">"href": "http://127.0.13.212:4563/switch"
}
]
},
- "adjustRpm": {
- "type": "number",
- "minimum": 200,
- "maximum": 1200,
- "forms": [
+ "adjustRpm": { "type":
+"hljs-string">"number",
+ "minimum":
+"hljs-number">200,
+ "maximum":
+"hljs-number">1200,
+ "forms": [
{
- "href": "http://127.0.13.212:4563/adjustRpm"
+
+"hljs-attr">"href": "http://127.0.13.212:4563/adjustRpm"
}
]
}
}
}
-
-
- {
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "title": "LED Thing Model",
- "securityDefinitions": {
- "basic_sc": {
- "scheme": "basic",
- "in": "header"
+
+"hljs json">{
+ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "title":
+"hljs-string">"LED Thing Model",
+ "securityDefinitions": { "basic_sc": { "scheme":
+"hljs-string">"basic",
+ "in":
+"hljs-string">"header"
}
},
- "security": "basic_sc",
- "links": [
+ "security":
+"hljs-string">"basic_sc",
+ "links": [
{
- "rel": "collection",
- "href": "./SmartVentilation.td.jsonld",
- "type": "application/td+json"
+ "rel":
+"hljs-string">"collection",
+ "href":
+"hljs-string">"./SmartVentilation.td.jsonld",
+ "type":
+"hljs-string">"application/td+json"
},
{
- "rel": "type",
- "href": "./LED.tm.jsonld",
- "type": "application/tm+json"
+ "rel":
+"hljs-string">"type",
+ "href":
+"hljs-string">"./LED.tm.jsonld",
+ "type":
+"hljs-string">"application/tm+json"
}
],
- "properties": {
- "R": {
- "type": "number",
- "description": "Red color",
- "forms": [
+ "properties": { "R": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "Red color",
+ "forms": [
{
- "href": "http://127.0.13.211:4563/R"
+
+"hljs-attr">"href": "http://127.0.13.211:4563/R"
}
]
},
- "G": {
- "type": "number",
- "description": "Green color",
- "forms": [
+ "G": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "Green color",
+ "forms": [
{
- "href": "http://127.0.13.211:4563/G"
+
+"hljs-attr">"href": "http://127.0.13.211:4563/G"
}
]
},
- "B": {
- "type": "number",
- "description": "Blue color",
- "forms": [
+ "B": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "Blue color",
+ "forms": [
{
- "href": "http://127.0.13.211:4563/B"
+
+"hljs-attr">"href": "http://127.0.13.211:4563/B"
}
]
}
},
- "actions": {
- "fadeIn": {
- "title": "fadeIn",
- "input": {
- "type": "number",
- "description": "fadeIn in ms"
+ "actions": { "fadeIn": { "title":
+"hljs-string">"fadeIn",
+ "input": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "fadeIn in ms"
},
- "forms": [
+ "forms": [
{
- "href": "http://127.0.13.211:4563/fadeIn"
+
+"hljs-attr">"href": "http://127.0.13.211:4563/fadeIn"
}
]
},
- "fadeOut": {
- "title": "fadeOut",
- "input": {
- "type": "number",
- "description": "fadeOut in ms"
+ "fadeOut": { "title":
+"hljs-string">"fadeOut",
+ "input": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "fadeOut in ms"
},
- "forms": [
+ "forms": [
{
- "href": "http://127.0.13.211:4563/fadeOut"
+
+"hljs-attr">"href": "http://127.0.13.211:4563/fadeOut"
}
]
}
}
}
-
-
-+
A
single
TD
@@ -38597,10 +32206,10 @@
the
top
level/parent
-
+
Thing
Model
-
+
and
all
interaction
@@ -38608,23 +32217,22 @@
of
all
sub/child
-
+
Thing
Models
-.
-
+.
Thereby
the
generation
process
-
+
MUST
-
+
avoid
possible
name
collisions.
-
+
The
following
example
@@ -38633,26 +32241,21 @@
potential
generated
(self-contained)
-
+
Thing
Description
-
+
of
the
Smart
Ventilator
Thing
Model.
-
{
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "title": "Smart Ventilator",
- "securityDefinitions": {
- "basic_sc": {
- "scheme": "basic",
- "in": "header"
+
{ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "title":
+"hljs-string">"Smart Ventilator",
+ "securityDefinitions": { "basic_sc": { "scheme":
+"hljs-string">"basic",
+ "in":
+"hljs-string">"header"
}
},
- "security": "basic_sc",
- "links": [
+ "security":
+"hljs-string">"basic_sc",
+ "links": [
{
- "rel": "type",
- "href": "./SmartVentilator.tm.jsonld",
- "type": "application/tm+json"
+ "rel":
+"hljs-string">"type",
+ "href":
+"hljs-string">"./SmartVentilator.tm.jsonld",
+ "type":
+"hljs-string">"application/tm+json"
}
],
- "properties": {
- "status": {
- "type": "string",
- "enum": [
- "on_value",
- "off_value",
- "error_value"
+ "properties": { "status": { "type":
+"hljs-string">"string",
+ "enum": [ "on_value", "off_value", "error_value"
],
- "forms": [
+ "forms": [
{
- "href": "http://127.0.13.232:4563/status"
+
+"hljs-attr">"href": "http://127.0.13.232:4563/status"
}
]
},
- "switch": {
- "type": "boolean",
- "description": "True=On; False=Off",
- "forms": [
+ "switch": { "type":
+"hljs-string">"boolean",
+
+"hljs-attr">"description": "True=On; False=Off",
+ "forms": [
{
- "href": "http://127.0.13.212:4563/switch"
+
+"hljs-attr">"href": "http://127.0.13.212:4563/switch"
}
]
},
- "adjustRpm": {
- "type": "number",
- "minimum": 200,
- "maximum": 1200,
- "forms": [
+ "adjustRpm": { "type":
+"hljs-string">"number",
+ "minimum":
+"hljs-number">200,
+ "maximum":
+"hljs-number">1200,
+ "forms": [
{
- "href": "http://127.0.13.212:4563/adjustRpm"
+
+"hljs-attr">"href": "http://127.0.13.212:4563/adjustRpm"
}
]
},
- "R": {
- "type": "number",
- "description": "Red color",
- "forms": [
+ "R": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "Red color",
+ "forms": [
{
- "href": "http://127.0.13.211:4563/R"
+
+"hljs-attr">"href": "http://127.0.13.211:4563/R"
}
]
},
- "G": {
- "type": "number",
- "description": "Green color",
- "forms": [
+ "G": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "Green color",
+ "forms": [
{
- "href": "http://127.0.13.211:4563/G"
+
+"hljs-attr">"href": "http://127.0.13.211:4563/G"
}
]
},
- "B": {
- "type": "number",
- "description": "Blue color",
- "forms": [
+ "B": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "Blue color",
+ "forms": [
{
- "href": "http://127.0.13.211:4563/B"
+
+"hljs-attr">"href": "http://127.0.13.211:4563/B"
}
]
}
},
- "actions": {
- "fadeIn": {
- "title": "fadeIn",
- "input": {
- "type": "number",
- "description": "fadeIn in ms"
+ "actions": { "fadeIn": { "title":
+"hljs-string">"fadeIn",
+ "input": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "fadeIn in ms"
},
- "forms": [
+ "forms": [
{
- "href": "http://127.0.13.211:4563/fadeIn"
+
+"hljs-attr">"href": "http://127.0.13.211:4563/fadeIn"
}
]
},
- "fadeOut": {
- "title": "fadeOut",
- "input": {
- "type": "number",
- "description": "fadeOut in ms"
+ "fadeOut": { "title":
+"hljs-string">"fadeOut",
+ "input": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "fadeOut in ms"
},
- "forms": [
+ "forms": [
{
- "href": "http://127.0.13.211:4563/fadeOut"
+
+"hljs-attr">"href": "http://127.0.13.211:4563/fadeOut"
}
]
}
}
}
-
-
-
In
some
cases
@@ -38807,12 +32427,12 @@
implemented
in
a
-
+
Thing
Description
-
+
instance.
-
+
If
interaction
models
@@ -38824,35 +32444,31 @@
implemented
in
a
-
+
Thing
Description
-
+
instance,
-
+
Thing
Model
-
+
definitions
-
+
MUST
-
+
use
the
JSON
member
name
-
+
tm:optional
-
.
-
-
-
+
.
tm:optional
-
-
+
MUST
-
+
be
a
JSON
@@ -38861,26 +32477,22 @@
the
top
level.
-
-
+
The
value
of
-
+
tm:optional
-
-
+
MUST
-
+
provide
JSON
Pointer
[
-
-
+
RFC6901
-
-
+
]
references
to
@@ -38889,18 +32501,16 @@
interaction
model
definitions.
-
-
+
The
JSON
Pointers
of
-
+
tm:optional
-
-
+
MUST
-
+
resolve
to
an
@@ -38909,9 +32519,7 @@
affordance
Map
definition.
-
-
+
The
following
sample
@@ -38919,28 +32527,22 @@
the
usage
of
-
+
tm:optional
-
+
for
the
-
+
Event
-
+
interaction
-
+
overheating
-
.
-
{
- "@context": ["https://www.w3.org/2022/wot/td/v1.1"],
- "@type": "tm:ThingModel",
- "title": "Lamp Thing Model",
- "description": "Lamp Thing Model Description",
- "tm:optional": [
- "/events/overheating"
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Lamp Thing Model",
+ "description":
+"hljs-string">"Lamp Thing Model Description",
+ "tm:optional": [ "/events/overheating"
],
- "properties": {
- "status": {
- "description": "current status of the lamp (on|off)",
- "type": "string",
- "readOnly": true
+ "properties": { "status": {
+"hljs-attr">"description": "current status of the lamp (on|off)",
+ "type":
+"hljs-string">"string",
+ "readOnly":
+"hljs-literal">true
}
},
- "actions": {
- "toggle": {
- "description": "Turn the lamp on or off"
+ "actions": { "toggle": {
+"hljs-attr">"description": "Turn the lamp on or off"
}
},
- "events": {
- "overheating": {
- "description": "Lamp reaches a critical temperature (overheating)",
- "data": {"type": "string"}
+ "events": { "overheating": {
+"hljs-attr">"description": "Lamp reaches a critical temperature (overheating)",
+ "data": {
+"hljs-attr">"type": "string"}
}
}
}
-
-
-+
Since
the
-
+
Event
-
-
+
is
not
mandatory
@@ -39001,13 +32603,12 @@
overheating
-
+
available
in
a
-
+
Thing
Description
-
+
instance.
-
+
Please
note
that
@@ -39016,10 +32617,10 @@
definition
in
a
-
+
Thing
Model
-
+
definition
can
be
@@ -39032,27 +32633,21 @@
extended
by
another
-
+
Thing
Model
-
+
through
the
use
of
-
+
tm:ref
-
:
-
{
- "@context": ["https://www.w3.org/2022/wot/td/v1.1"],
- "@type": "tm:ThingModel",
- "title": "Lamp Thing Model (All Mandatory)",
- "description": "Lamp Thing Model description expects all interaction affordances (status, toggle, and overheating)",
- "links": [
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Lamp Thing Model (All Mandatory)",
+ "description":
+"hljs-string">"Lamp Thing Model description expects all interaction affordances (status, toggle, and overheating)",
+ "links": [
{
- "rel": "tm:extends",
- "href": "./lampThingModel.tm.jsonld",
- "type": "application/tm+json"
+ "rel":
+"hljs-string">"tm:extends",
+ "href":
+"hljs-string">"./lampThingModel.tm.jsonld",
+ "type":
+"hljs-string">"application/tm+json"
}
],
- "events": {
- "overheating": {
- "tm:ref": "./lampThingModel.tm.jsonld#/events/overheating"
+ "events": { "overheating": { "tm:ref":
+"hljs-string">"./lampThingModel.tm.jsonld#/events/overheating"
}
}
}
-
-
-
A
-
+
Thing
Model
-
+
can
specify
which
@@ -39127,7 +32714,7 @@
during
TD
instantiation.
-
+
In
a
case
@@ -39146,23 +32733,22 @@
the
placeholder
labeling
-
+
MAY
-
+
be
used
in
a
Thing
Model.
-
-
+
The
placeholder
labeling
-
+
MUST
-
+
be
substituted
with
@@ -39187,17 +32773,16 @@
the
Thing
Model.
-
-
+
The
string-based
pattern
of
the
placeholder
-
+
MUST
-
+
follow
a
valid
@@ -39207,31 +32792,29 @@
the
regular
expression
-
+
{{2}[
-~]+}{2}
-
+
(e.g.,
-
+
{{
-
-
+
PLACEHOLDER_IDENTIFIER
-
-
+
}}
-
+
).
The
characters
between
-
+
{{
-
+
and
-
+
}}
-
+
are
used
as
@@ -39254,13 +32837,12 @@
the
substitution
process.
-
-
+
A
placeholder
-
+
MUST
-
+
be
applied
within
@@ -39271,8 +32853,7 @@
JSON
name-value
pair.
-
-
+
If
a
non
@@ -39288,15 +32869,15 @@
placeholder,
the
value
-
+
MUST
-
+
be
(temporarily)
typed
as
string.
-
+
After
replacing
the
@@ -39318,8 +32899,7 @@
corresponding
replaced
value.
-
+
The
following
Thing
@@ -39344,116 +32924,118 @@
intended
value
type.
-
+"false">{
+ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Thermostate No. {{THERMOSTATE_NUMBER}}",
+ "version":
+"hljs-string">"{{VERSION_INFO}}",
+ "base":
+"hljs-string">"mqtt://{{MQTT_BROKER_ADDRESS}}",
+ "properties": { "temperature": {
+"hljs-attr">"description": "Shows the current temperature value",
+
+"hljs-attr">"type": "number",
+
+"hljs-attr">"minimum": -20,
+
+"hljs-attr">"maximum": "{{THERMOSTATE_TEMPERATURE_MAXIMUM}}",
+
+"hljs-attr">"observable": "{{THERMOSTATE_TEMPERATURE_OBSERVABLE}}"
}
}
...
}
-
-
- {
- "THERMOSTATE_NUMBER": 4,
- "MQTT_BROKER_ADDRESS": "192.168.178.72:1883",
- "THERMOSTATE_TEMPERATURE_MAXIMUM": 47.7,
- ,
-
- "THERMOSTATE_TEMPERATURE_OBSERVABLE": true,
- "VERSION_INFO": {"instance": "1.0.1", "model": "2.0.0"}
+
+"hljs json">{
+
+"hljs-attr">"THERMOSTATE_NUMBER": 4,
+
+"hljs-attr">"MQTT_BROKER_ADDRESS": "192.168.178.72:1883",
+
+"hljs-attr">"THERMOSTATE_TEMPERATURE_MAXIMUM": 47.7,
+
+"hljs-attr">"THERMOSTATE_TEMPERATURE_OBSERVABLE": true,
+
+"hljs-attr">"VERSION_INFO": {"instance": "1.0.1", "model": "2.0.0"}
}
-
-
- {
- "@context": ["https://www.w3.org/2022/wot/td/v1.1"],
- "@type": "Thing",
- "title": "Thermostate No. 4",
- "version": {"instance": "1.0.1", "model": "2.0.0"},
- "base": "mqtt://192.168.178.72:1883",
- "properties": {
- "temperature": {
- "description": "Shows the current temperature value",
- "type": "number",
- "minimum": -20.0,
- "maximum": 47.7,
-
-
- "observable": true
+
+"false">{
+ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"Thing",
+ "title":
+"hljs-string">"Thermostate No. 4",
+ "version": {
+"hljs-attr">"instance": "1.0.1", "model": "2.0.0"},
+ "base":
+"hljs-string">"mqtt://192.168.178.72:1883",
+ "properties": { "temperature": {
+"hljs-attr">"description": "Shows the current temperature value",
+
+"hljs-attr">"type": "number",
+
+"hljs-attr">"minimum": -20.0,
+
+"hljs-attr">"maximum": 47.7,
+
+"hljs-attr">"observable": true
}
}
...
}
-
-
-
Thing
Models
-
+
can
be
used
@@ -39462,10 +33044,10 @@
to
generate
a
-
+
Thing
Description
-
+
based
on
the
@@ -39473,23 +33055,21 @@
defined
in
Sections
-
-
+
5.
-
+
TD
Information
Model
-
+
and
-
-
+
6.
-
+
TD
Representation
Format
-.
+.
During
this
process
@@ -39508,20 +33088,19 @@
to
create
valid
-
+
Thing
Description
-
+
instances.
-
+
A
-
+
Thing
Model
-
-
+
MUST
-
+
be
defined
in
@@ -39538,10 +33117,10 @@
result
in
a
-
+
Thing
Description
-
+
not
being
able
@@ -39553,74 +33132,68 @@
described
in
Section
-
-
+
5.
-
+
TD
Information
Model
-
+
and
-
-
+
6.
-
+
TD
Representation
Format
-.
-
+.
A
TM-to-TD
generator
to
derive
a
-
+
Thing
Description
-
+
instance
from
a
-
+
Thing
Model
-
+
transforms
it
to
a
-
+
Partial
TD
-
+
using
the
following
steps:
-
+
links
-
+
element
entry
with
-
+
"rel":"tm:extends"
-
-
+
MUST
-
+
be
removed
from
the
current
-
+
Partial
TD
-
-
-
+
tm:ThingModel
-
+
value
of
the
top-level
-
+
@type
-
-
+
MUST
-
+
be
removed
in
the
-
+
Partial
TD
-
+
instance.
-
-
+
tm:optional
-
+
)
-
+
MUST
-
+
be
taken
over
to
the
-
+
Partial
TD
-
+
instance.
-
-
+
tm:optional
-
+
)
-
+
MAY
-
+
be
taken
over
to
the
-
+
Partial
TD
-
+
instance.
-
-+.
Finally,
a
TM-to-TD
@@ -39811,109 +33358,92 @@
take
the
resulting
-
+
Partial
TD
-
+
and
transform
it
into
a
-
+
Thing
Description
-
+
with
this
last
step
-
+
securityDefinitions
-
+
and
-
+
security
-
-
+
and/or
-
-
+
6.3.9
-
-
+
forms
-
-
.
-
-+.
It
is
recommended
that
the
-
+
id
-
+
value
of
a
-
+
Thing
Model
-
+
provides
a
placeholder
such
as
-
+
"id":
"urn:example:
-
-
+
{{
-
-
+
RANDOM_ID_PATTERN
-
-
+
}}
-
-
+
"
-
+
for
the
TD
@@ -39925,24 +33455,22 @@
metadata
in
the
-
+
id
-
+
pattern.
-
- +
Thing
Description
-
+
instances
that
follow
a
-
+
Thing
Model
-
+
can
carry
the
@@ -39951,10 +33479,10 @@
which
type
of
-
+
Thing
Model
-
+
is
derived.
In
@@ -39967,21 +33495,18 @@
be
used
with
-
+
"rel":
"type"
-
+
(also
see
Section
-
-
+
5.3.4.1
-
-
+
+
),
as
shown
@@ -39989,18 +33514,11 @@
Link
-
-
the
following
example:
-
+"false">{
+ // ... "@type":
+"hljs-string">"tm:ThingModel",
+ "title":
+"hljs-string">"Smart Pump",
+ "id":
+"hljs-string">"urn:example:{{RANDOM_ID_PATTERN}}",
+ "description":
+"hljs-string">"Smart Pump live plant and simulator",
+ "version" : {
+"hljs-attr">"model" : "1.0.0" },
+ // ...
}
-
-
- {
- // ...
- "@type": "Thing",
- "title": "Smart Pump",
- "id": "urn:example:123-321-123-321",
- "description": "Smart Pump live plant and simulator",
- "version" : {"instance": "1.0.0", "model": "1.0.0" },
- "links" : [{
- "rel": "type",
- "href": "http://example.com/ThingModelPool/Pump",
- "type": "application/tm+json"
+
+"false">{
+ // ... "@type":
+"hljs-string">"Thing",
+ "title":
+"hljs-string">"Smart Pump",
+ "id":
+"hljs-string">"urn:example:123-321-123-321",
+ "description":
+"hljs-string">"Smart Pump live plant and simulator",
+ "version" : {
+"hljs-attr">"instance": "1.0.0", "model": "1.0.0" },
+ "links" : [{ "rel":
+"hljs-string">"type",
+ "href":
+"hljs-string">"http://example.com/ThingModelPool/Pump",
+ "type":
+"hljs-string">"application/tm+json"
}],
- // ...
+ // ...
}
-
-
-+
Please
note
that
@@ -40071,28 +33594,28 @@
for
Thing
Descriptions:
-
+
The
-
+
links
-
+
array
-
+
MUST
-
+
use
the
entry
with
-
+
"rel":
"type"
-
+
a
maximum
of
once.
-
+
If
it
is
@@ -40118,68 +33641,52 @@
considered
(see
Section
-
-
+
9.3.3
-
+
Composition
-
+
).
-
+
The
following
-
+
Thing
Model
-
+
extends
the
model
as
shown
in
-
+
Example
-
+
54
-
-
+
and
overwrites
the
-
+
maximum
-
+
value
of
the
-
+
dim
-
+
property
-
{
- "@context": ["https://www.w3.org/2022/wot/td/v1.1"],
- "@type": "tm:ThingModel",
- "links" : [{
- "rel": "tm:extends",
- "href": "http://example.com/SmartControlLampTM",
- "type": "application/tm+json"
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"tm:ThingModel",
+ "links" : [{ "rel":
+"hljs-string">"tm:extends",
+ "href":
+"hljs-string">"http://example.com/SmartControlLampTM",
+ "type":
+"hljs-string">"application/tm+json"
}],
- "properties" : {
- "dim" : {
- "maximum": 200
+ "properties" : { "dim" : { "maximum":
+"hljs-number">200
}
}
}
-
-
-+
The
expected
-
+
Thing
Description
-
+
that
is
derived
from
this
-
+
Thing
Model
-
+
would
be
(with
@@ -40233,113 +33737,58 @@
basic
security
applied):
-
{
- "@context": ["https://www.w3.org/2022/wot/td/v1.1"],
- "@type": "Thing",
- "title": "Smart Lamp Control",
- "securityDefinitions": {
- "basic_sc": {"scheme": "basic", "in": "header"}
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1"],
+ "@type":
+"hljs-string">"Thing",
+ "title":
+"hljs-string">"Smart Lamp Control",
+ "securityDefinitions": { "basic_sc": {
+"hljs-attr">"scheme": "basic", "in": "header"}
},
- "security": "basic_sc",
- "links" : [{
- "rel": "type",
- "href": "url/to/SmartLampControlModifiedDimTM",
- "type": "application/tm+json"
+ "security":
+"hljs-string">"basic_sc",
+ "links" : [{ "rel":
+"hljs-string">"type",
+ "href":
+"hljs-string">"url/to/SmartLampControlModifiedDimTM",
+ "type":
+"hljs-string">"application/tm+json"
}
],
- "properties" : {
- "onOff": {
- "type": "boolean",
- "forms": [{"href": "https://smartlamp.example.com/onoff"}]
+ "properties" : { "onOff": { "type":
+"hljs-string">"boolean",
+ "forms": [{
+"hljs-attr">"href": "https://smartlamp.example.com/onoff"}]
},
- "dim" : {
- "type": "integer",
- "minimum": 0,
- "maximum": 200,
- "forms": [{"href": "https://smartlamp.example.com/dim"}]
+ "dim" : { "type":
+"hljs-string">"integer",
+ "minimum":
+"hljs-number">0,
+ "maximum":
+"hljs-number">200,
+ "forms": [{
+"hljs-attr">"href": "https://smartlamp.example.com/dim"}]
}
}
}
-
-
-
In
general
the
@@ -40404,11 +33853,9 @@
informative
document
[
-
-
+
WOT-SECURITY-GUIDELINES
-
-
+
].
Many
WoT
@@ -40447,11 +33894,9 @@
Top
10
[
-
-
+
OWASP-Top-10
-
-
+
]
for
web
@@ -40479,8 +33924,7 @@
WoT
Thing
Description.
-
+
A
WoT
Thing
@@ -40518,8 +33962,7 @@
to
be
expected.
-
+
The
use
of
@@ -40544,22 +33987,14 @@
some
possible
mitigations.
-
+
Intercepting
and
tampering
@@ -40592,18 +34027,14 @@
or
manipulate
data.
-
+
Intercepting
and
tampering
@@ -40728,14 +34148,13 @@
Context
extensions
(see
-
-
+
7.
-
+
TD
Context
Extensions
-
+
)
that
are
@@ -40762,29 +34181,27 @@
may
modify
the
-
+
TD
Information
Model
-
+
in
ways
that
could
compromise
security.
-
+
As
recommended
in
-
-
+
11.1
-
+
Context
Fetching
-,
+,
on
constrained
implementations
@@ -40840,12 +34257,9 @@
general
semantic
processing.
-
+
In
some
scenarios,
@@ -41052,13 +34453,9 @@
after
one
week.
-
+
An
attacker
with
@@ -41209,12 +34594,9 @@
attacks
on
them.
-
+
auto
-
+
security
scheme
-
+
MAY
-
+
be
used
if
@@ -41359,23 +34741,12 @@ +
Many
strings
given
@@ -41387,21 +34758,21 @@
values
carried
in
-
+
title
-
+
/
-
+
titles
-
+
and
-
+
description
-
+
/
-
+
descriptions
-
,
+,
are
meant
to
@@ -41532,9 +34903,9 @@
by
the
TD
-
+
producer
-
+
and
the
dashboard
@@ -41553,12 +34924,9 @@
cross-site-scripting
(XSS)
attack.
-
+
See
-
-RFC 8259,
+
+RFC 8259,
section
12
-:
+:
JSON
should
not
@@ -41737,9 +35094,9 @@
as
JavaScript
using
-
+
eval()
-
.
+.
A
WoT
Thing
@@ -41754,9 +35111,9 @@
exchange
format
for
-
+
Thing
-
+
metadata,
not
for
@@ -41784,23 +35141,19 @@
of
a
system.
-
+
eval()
-
+
function
to
be
parsed.
-
-+
There
are
additional
@@ -41843,11 +35188,9 @@
discussed
in
[
-
-
+
WOT-DISCOVERY
-
-
+
].
Other
strings
@@ -41859,13 +35202,13 @@
values
given
for
-
+
title
-
+
and
-
+
description
-
,
+,
should
be
sanitized
@@ -41894,22 +35237,12 @@
when
parsing
JSON.
-
JSON-LD
processing
usually
@@ -41923,11 +35256,9 @@
longer
IRIs
[
-
-
+
RFC3987
-
-
+
].
For
this
@@ -41966,19 +35297,13 @@
exploitable
buffer
overflow.
-
+
Privacy
risks
will
@@ -42119,11 +35384,9 @@
informative
document
[
-
-
+
WOT-SECURITY-GUIDELINES
-
-
+
].
This
section
@@ -42141,8 +35404,7 @@
WoT
Thing
Description.
-
+
The
use
of
@@ -42167,20 +35429,12 @@
some
possible
mitigations.
-
+
WoT
Thing
Descriptions
@@ -42193,11 +35447,9 @@
1.1
processor
[
-
-
+
json-ld11
-
-
+
],
which
typically
@@ -42211,14 +35463,13 @@
context
extensions,
see
-
-
+
7.
-
+
TD
Context
Extensions
-
+
)
automatically,
resulting
@@ -42233,9 +35484,9 @@
request
of
the
-
+
Consumer
-
+
for
each
one.
@@ -42337,15 +35588,14 @@
leaks.
See
also
-
-
+
10.2
-
+
Context
Interception
and
Tampering
-,
+,
which
is
a
@@ -42361,12 +35611,9 @@
the
following
mitigations.
-
+
A
Thing
Description
@@ -42490,9 +35724,9 @@
an
identifier
(
-
+
id
-
+
)
may
describe
@@ -42545,59 +35779,54 @@
track
that
person.
-
-
+
All
identifiers
used
in
a
TD
-
+
SHOULD
-
+
be
mutable,
and
in
particular
there
-
+
SHOULD
-
+
be
a
mechanism
to
update
the
-
+
id
-
+
of
a
-
+
Thing
-
+
when
necessary.
-
+
+
id
-
+
of
a
-
+
Thing
-
+
should
not
be
@@ -42751,10 +35980,7 @@
required
immutable
identifiers
-
SHOULD
-
-should
-
+should
only
be
made
@@ -42814,29 +36040,18 @@
such
immutable
identifiers.
-
+
As
noted
above,
the
-
+
id
-
+
member
in
a
@@ -42850,9 +36065,9 @@
even
if
the
-
+
id
-
+
is
updated
as
@@ -42885,8 +36100,7 @@
person,
through
fingerprinting.
-
+
Even
if
a
@@ -42938,19 +36152,15 @@
a
medical
condition.
-
+
id
-
+
can
be
omitted.
@@ -43104,29 +36312,19 @@ +
The
value
of
the
-
+
id
-
+
field
of
a
@@ -43150,9 +36348,9 @@
value
of
the
-
+
id
-
+
contains
embedded
metadata,
@@ -43174,27 +36372,23 @@
infer
personal
information.
-
+
id
-
+
of
a
TD
-
+
SHOULD
NOT
-
+
contain
metadata
describing
@@ -43205,8 +36399,7 @@ +
Globally
unique
identifiers
@@ -43302,16 +36484,13 @@
of
the
identifiers.
-
+
id
-
+
field
in
TDs
@@ -43413,12 +36592,12 @@ +
In
many
locales,
@@ -43569,12 +36736,9 @@
about
that
person.
-
+
application/td+json
-
+
Media
Type
Registration
-+
The
cited
section
@@ -43839,61 +36968,48 @@
(8-bit
compatible,
RFC2045).
-
+
+RFC 8259 +.
Rules
for
processing
@@ -43907,17 +37023,12 @@
in
this
specification.
-
+
This
has
been
@@ -43967,47 +37072,41 @@
to
the
content?
-
+
We
may
want
@@ -44059,11 +37150,9 @@
fragment
identifier
[
-
-
+
RFC6901
-
-
+
].
There
is
@@ -44076,9 +37165,9 @@
in
TMs
for
-
+
tm:optional
-
.
+.
These
are
internal
@@ -44086,9 +37175,9 @@
however,
so
we
-
+
might
-
+
not
have
to
@@ -44112,41 +37201,25 @@
but
td+json
could.
-
+
We
have
been
@@ -44201,21 +37274,14 @@
html
and
htm.
-
+
Should the contact be updated? -
-
+
application/tm+json
-
+
Media
Type
Registration
-+
+RFC 8259 +.
Rules
for
processing
@@ -44421,17 +37436,12 @@
in
this
specification.
-
+
IANA
assigns
compact
@@ -44638,27 +37608,25 @@
types
in
the
-
+
CoAP
Content-Formats
-
+
subregistry
within
the
-
+
Constrained
RESTful
Environments
(CoRE)
Parameters
-
+
registry
[
-
-
+
RFC7252
-
-
+
].
The
Content-Format
@@ -44678,46 +37646,30 @@
is
-
(tbd).
-
- +
This section is non-normative. - -
-+
Feature list of the - + Thing -: -
-{
- : [
- ,
- {
-
- }
-
- "@context": [
- "https://www.w3.org/2022/wot/td/v1.1",
- {
- "cov": "http://www.example.org/coap-binding#"
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ {
+ "cov":
+"hljs-string">"http://www.example.org/coap-binding#"
}
-
- ],
- "id": "urn:uuid:bd472149-0b41-4dc9-80c0-977f39dc7e77",
- "title": "MyLampThing",
- "description": "MyLampThing uses JSON serialization",
- }},
],
-
- "securityDefinitions": {
- "psk_sc": {
- "scheme": "psk"
- }
+ "id":
+"hljs-string">"urn:uuid:bd472149-0b41-4dc9-80c0-977f39dc7e77",
+ "title":
+"hljs-string">"MyLampThing",
+ "description":
+"hljs-string">"MyLampThing uses JSON serialization",
+ "securityDefinitions": { "psk_sc": { "scheme":
+"hljs-string">"psk"
+ }
},
- "security": [ "psk_sc"
+ "security": [ "psk_sc"
],
-
- "properties": {
- "status": {
- "description": "Shows the current status of the lamp",
- "type": "string",
- : [{
- ,
- ,
-
- }]
-
- "readOnly":true,
- "forms": [
- {
- "href": "coaps://mylamp.example.com/status"
+ "properties": { "status": {
+"hljs-attr">"description": "Shows the current status of the lamp",
+ "type":
+"hljs-string">"string",
+ "readOnly":
+"hljs-literal">true,
+ "forms": [
+ {
+
+"hljs-attr">"href": "coaps://mylamp.example.com/status"
}
]
-
}
},
- "actions": {
- "toggle": {
- "description": "Turn on or off the lamp",
- : [{
- ,
-
- }]
-
- "forms": [
- {
- "href": "coaps://mylamp.example.com/toggle"
+ "actions": { "toggle": {
+"hljs-attr">"description": "Turn on or off the lamp",
+ "forms": [
+ {
+
+"hljs-attr">"href": "coaps://mylamp.example.com/toggle"
}
]
-
}
},
- "events": {
- "overheating": {
- "description": "Lamp reaches a critical temperature (overheating)",
- },
- : [{
- ,
- ,
-
- }]
-
- "data": {
- "type": "string"
- },
- "forms": [
+ "events": { "overheating": {
+"hljs-attr">"description": "Lamp reaches a critical temperature (overheating)",
+ "data": { "type":
+"hljs-string">"string"
+ },
+ "forms": [
{
- "href": "coaps://mylamp.example.com/oh", "cov:methodName": "GET", "subprotocol": "cov:observe"
+
+"hljs-attr">"href": "coaps://mylamp.example.com/oh",
+
+"hljs-attr">"cov:methodName": "GET",
+
+"hljs-attr">"subprotocol": "cov:observe"
}
]
-
}
}
}
-
-
- {
- "@context": [
- "https://www.w3.org/2022/wot/td/v1.1",
- {
- "cov": "http://www.example.org/coap-binding#"
+
{ "@context": [
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ {
+ "cov":
+"hljs-string">"http://www.example.org/coap-binding#"
}
],
- "id": "urn:uuid:bd472149-0b41-4dc9-80c0-977f39dc7e77", "title": "MyLampThing", "description": "MyLampThing uses JSON serialization", "securityDefinitions": { "psk_sc": { "scheme": "psk"
+ "id":
+"hljs-string">"urn:uuid:bd472149-0b41-4dc9-80c0-977f39dc7e77",
+ "title":
+"hljs-string">"MyLampThing",
+ "description":
+"hljs-string">"MyLampThing uses JSON serialization",
+ "securityDefinitions": { "psk_sc": { "scheme":
+"hljs-string">"psk"
}
},
- "security": [ "psk_sc"
+ "security": [ "psk_sc"
],
- "properties": { "status": { "description": "Shows the current status of the lamp", "type": "string", "forms": [
+ "properties": { "status": {
+"hljs-attr">"description": "Shows the current status of the lamp",
+ "type":
+"hljs-string">"string",
+ "forms": [
{
- "op": "readproperty", "href": "coaps://mylamp.example.com/status", "cov:methodName": "GET", "contentType": "application/json"
+
+"hljs-attr">"op": "readproperty",
+
+"hljs-attr">"href": "coaps://mylamp.example.com/status",
+
+"hljs-attr">"cov:methodName": "GET",
+
+"hljs-attr">"contentType": "application/json"
}
],
- "observable": false, "readOnly": true
+
+"hljs-attr">"observable": false,
+ "readOnly":
+"hljs-literal">true
}
},
- "actions": { "toggle": { "description": "Turn on or off the lamp", "forms": [
+ "actions": { "toggle": {
+"hljs-attr">"description": "Turn on or off the lamp",
+ "forms": [
{
- "href": "coaps://mylamp.example.com/toggle", "cov:methodName": "POST", "op": "invokeaction", "contentType": "application/json"
+
+"hljs-attr">"href": "coaps://mylamp.example.com/toggle",
+
+"hljs-attr">"cov:methodName": "POST",
+
+"hljs-attr">"op": "invokeaction",
+
+"hljs-attr">"contentType": "application/json"
}
],
- "safe": false, "idempotent": false
+ "safe":
+"hljs-literal">false,
+
+"hljs-attr">"idempotent": false
}
},
- "events": { "overheating": { "description": "Lamp reaches a critical temperature (overheating)", "data": { "type": "string"
+ "events": { "overheating": {
+"hljs-attr">"description": "Lamp reaches a critical temperature (overheating)",
+ "data": { "type":
+"hljs-string">"string"
},
- "forms": [
+ "forms": [
{
- "href": "coaps://mylamp.example.com/oh", "subprotocol": "cov:observe", "op": [ "subscribeevent", "unsubscribeevent"
+
+"hljs-attr">"href": "coaps://mylamp.example.com/oh",
+
+"hljs-attr">"subprotocol": "cov:observe",
+ "op": [
+"hljs-string">"subscribeevent",
+
+"hljs-string">"unsubscribeevent"
],
- "contentType": "application/json"
+
+"hljs-attr">"contentType": "application/json"
}
]
}
}
}
-
+
Feature list of the - + Thing -: -
-
+
/illuminance
-
+
by
the
MQTT
@@ -45130,135 +38037,107 @@
-192.168.1.187:1883
-
.
-
+192.168.1.187:1883
+
.{
- "@context": "https://www.w3.org/2022/wot/td/v1.1",
- "title": "MyIlluminanceSensor",
- "id": "urn:uuid:9489991a-7622-45b6-8437-f858b59835d4",
- }},
- ],
-
- "securityDefinitions": {
- "nosec_sc": {
- "scheme": "nosec"
- }
+
{ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "title":
+"hljs-string">"MyIlluminanceSensor",
+ "id":
+"hljs-string">"urn:uuid:9489991a-7622-45b6-8437-f858b59835d4",
+ "securityDefinitions": { "nosec_sc": { "scheme":
+"hljs-string">"nosec"
+ }
},
- "security": [ "nosec_sc"
+ "security": [ "nosec_sc"
],
-
- "events": {
- "illuminance": {
- },
-
- "data": {
- "type": "integer"
- },
- "forms": [
+ "events": { "illuminance": { "data": { "type":
+"hljs-string">"integer"
+ },
+ "forms": [
{
- "href": "mqtt://192.168.1.187:1883/illuminance", "contentType": "text/plain"
+
+"hljs-attr">"href": "mqtt://192.168.1.187:1883/illuminance",
+
+"hljs-attr">"contentType": "text/plain"
}
]
}
}
}
-
{ "@context": "https://www.w3.org/2022/wot/td/v1.1", "title": "MyIlluminanceSensor", "id": "urn:uuid:9489991a-7622-45b6-8437-f858b59835d4", "securityDefinitions": { "nosec_sc": { "scheme": "nosec"
+
{ "@context":
+"hljs-string">"https://www.w3.org/2022/wot/td/v1.1",
+ "title":
+"hljs-string">"MyIlluminanceSensor",
+ "id":
+"hljs-string">"urn:uuid:9489991a-7622-45b6-8437-f858b59835d4",
+ "securityDefinitions": { "nosec_sc": { "scheme":
+"hljs-string">"nosec"
}
},
- "security": [ "nosec_sc"
+ "security": [ "nosec_sc"
],
- "events": { "illuminance": { "data": { "type": "integer"
+ "events": { "illuminance": { "data": { "type":
+"hljs-string">"integer"
},
-
- "forms": [
+ "forms": [
{
- "href": "mqtt://192.168.1.187:1883/illuminance",
- "contentType": "text/plain",
-
-
- "op":["subscribeevent","unsubscribeevent"]
+
+"hljs-attr">"href": "mqtt://192.168.1.187:1883/illuminance",
+
+"hljs-attr">"contentType": "text/plain",
+
+"hljs-attr">"op":["subscribeevent","unsubscribeevent"]
}
]
}
- }
-
- }
-
+ }
}
-
-
-+
Feature list of the - + Thing -: -
-
+
temperature
-
+
which
periodically
pushes
@@ -45304,18 +38179,18 @@
+
subscription
-
+
member
defines
a
write-only
parameter
-
+
callbackURL
-
,
+,
which
must
be
submitted
through
the
-
+
subscribeevent
-
+
form.
The
read-only
parameter
-
+
subscriptionID
-
+
is
returned
by
the
subscription.
The
-
+
WebhookThing
-
+
will
then
periodically
@@ -45382,38 +38257,38 @@
+
data
-
.
+.
To
unsubscribe,
the
-
+
Consumer
-
+
has
to
submit
the
-
+
unsubscribeevent
-
+
form
with
the
-
+
subscriptionID
-
+
as
described
in
-
+
cancellation
-
.
+.
Alternatively,
-
+
uriVariables
-
+
approache
can
be
@@ -45421,15 +38296,15 @@
+
subscriptionID
-
+
string
into
the
@@ -45451,9 +38326,9 @@
+
cancellation
-
+
container
can
be
@@ -45469,206 +38344,243 @@ {
- "@context": "http://www.w3.org/2022/wot/td/v1.1",
- "id": "urn:uuid:4778f80a-4c78-4cbb-a0e4-fa37b7d748df",
- "title": "WebhookThing",
- "description": "Webhook-based Event with subscription and unsubscribe form.",
- "securityDefinitions": {"nosec_sc": {"scheme": "nosec"}},
- "security": ["nosec_sc"],
- "events": {
- "temperature": {
- "description": "Provides periodic temperature value updates.",
- "subscription": {
- "type": "object",
- "properties": {
- "callbackURL": {
- "type": "string",
- "format": "uri",
- "description": "Callback URL provided by subscriber for Webhook notifications.",
- "writeOnly": true
+
+"false">{
+ "@context":
+"hljs-string">"http://www.w3.org/2022/wot/td/v1.1",
+ "id":
+"hljs-string">"urn:uuid:4778f80a-4c78-4cbb-a0e4-fa37b7d748df",
+ "title":
+"hljs-string">"WebhookThing",
+ "description":
+"hljs-string">"Webhook-based Event with subscription and unsubscribe form.",
+
+"hljs-attr">"securityDefinitions": {"nosec_sc": {"scheme": "nosec"}},
+ "security": [
+"hljs-string">"nosec_sc"],
+ "events": { "temperature": {
+"hljs-attr">"description": "Provides periodic temperature value updates.",
+ "subscription": { "type":
+"hljs-string">"object",
+ "properties": { "callbackURL": {
+"hljs-attr">"type": "string",
+
+"hljs-attr">"format": "uri",
+
+"hljs-attr">"description": "Callback URL provided by subscriber for Webhook notifications.",
+
+"hljs-attr">"writeOnly": true
},
- "subscriptionID": {
- "type": "string",
- "description": "Unique subscription ID for cancellation provided by WebhookThing.",
- "readOnly": true
+
+"hljs-attr">"subscriptionID": {
+
+"hljs-attr">"type": "string",
+
+"hljs-attr">"description": "Unique subscription ID for cancellation provided by WebhookThing.",
+
+"hljs-attr">"readOnly": true
}
}
},
- "data": {
- "type": "number",
- "description": "Latest temperature value that is sent to the callback URL."
+ "data": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "Latest temperature value that is sent to the callback URL."
},
- "cancellation": {
- "type": "object",
- "properties": {
- "subscriptionID": {
- "type": "integer",
- "description": "Required subscription ID to cancel subscription.",
- "writeOnly": true
+ "cancellation": { "type":
+"hljs-string">"object",
+ "properties": {
+"hljs-attr">"subscriptionID": {
+
+"hljs-attr">"type": "integer",
+
+"hljs-attr">"description": "Required subscription ID to cancel subscription.",
+
+"hljs-attr">"writeOnly": true
}
}
},
- "forms": [
+ "forms": [
{
- "op": "subscribeevent",
- "href": "http://192.168.0.124:8080/events/temp/subscribe",
- "contentType": "application/json",
- "htv:methodName": "POST"
+
+"hljs-attr">"op": "subscribeevent",
+
+"hljs-attr">"href": "http://192.168.0.124:8080/events/temp/subscribe",
+
+"hljs-attr">"contentType": "application/json",
+
+"hljs-attr">"htv:methodName": "POST"
},
{
- "op": "unsubscribeevent",
- "href": "http://192.168.0.124:8080/events/temp/cancel",
- "htv:methodName": "POST"
+
+"hljs-attr">"op": "unsubscribeevent",
+
+"hljs-attr">"href": "http://192.168.0.124:8080/events/temp/cancel",
+
+"hljs-attr">"htv:methodName": "POST"
}
]
}
}
}
-
-
- {
- ,
-
- "@context": "http://www.w3.org/2022/wot/td/v1.1",
- "id": "urn:uuid:3c1b4716-247f-4cda-ba53-d3307ac6feb0",
- "title": "WebhookThing",
- "description": "Webhook-based Event with subscription and unsubscribe form.",
- "securityDefinitions": {"nosec_sc": {"scheme": "nosec"}},
- "security": ["nosec_sc"],
- "events": {
- "temperature": {
- "description": "Provides periodic temperature value updates.",
- "subscription": {
- "type": "object",
- "properties": {
- "callbackURL": {
- "type": "string",
- "format": "uri",
- "description": "Callback URL provided by subscriber for Webhook notifications.",
- "writeOnly": true
+
+"hljs json">{
+ "@context":
+"hljs-string">"http://www.w3.org/2022/wot/td/v1.1",
+ "id":
+"hljs-string">"urn:uuid:3c1b4716-247f-4cda-ba53-d3307ac6feb0",
+ "title":
+"hljs-string">"WebhookThing",
+ "description":
+"hljs-string">"Webhook-based Event with subscription and unsubscribe form.",
+
+"hljs-attr">"securityDefinitions": {"nosec_sc": {"scheme": "nosec"}},
+ "security": [
+"hljs-string">"nosec_sc"],
+ "events": { "temperature": {
+"hljs-attr">"description": "Provides periodic temperature value updates.",
+ "subscription": { "type":
+"hljs-string">"object",
+ "properties": { "callbackURL": {
+"hljs-attr">"type": "string",
+
+"hljs-attr">"format": "uri",
+
+"hljs-attr">"description": "Callback URL provided by subscriber for Webhook notifications.",
+
+"hljs-attr">"writeOnly": true
},
- "subscriptionID": {
- "type": "string",
- "description": "Unique subscription ID for cancellation provided by WebhookThing.",
- "readOnly": true
+
+"hljs-attr">"subscriptionID": {
+
+"hljs-attr">"type": "string",
+
+"hljs-attr">"description": "Unique subscription ID for cancellation provided by WebhookThing.",
+
+"hljs-attr">"readOnly": true
}
}
},
- "data": {
- "type": "number",
- "description": "Latest temperature value that is sent to the callback URL."
+ "data": { "type":
+"hljs-string">"number",
+
+"hljs-attr">"description": "Latest temperature value that is sent to the callback URL."
},
- "uriVariables": {
- "subscriptionID": { "type": "string" }
+ "uriVariables": {
+"hljs-attr">"subscriptionID": { "type": "string" }
},
- "forms": [
+ "forms": [
{
- "op": "subscribeevent",
- "href": "http://192.168.0.124:8080/events/temp/subscribe",
- "contentType": "application/json",
- "htv:methodName": "POST"
+
+"hljs-attr">"op": "subscribeevent",
+
+"hljs-attr">"href": "http://192.168.0.124:8080/events/temp/subscribe",
+
+"hljs-attr">"contentType": "application/json",
+
+"hljs-attr">"htv:methodName": "POST"
},
{
- "op": "unsubscribeevent",
- "href": "http://192.168.0.124:8080/events/temp/{subscriptionID}",
- "htv:methodName": "DELETE"
+
+"hljs-attr">"op": "unsubscribeevent",
+
+"hljs-attr">"href": "http://192.168.0.124:8080/events/temp/{subscriptionID}",
+
+"hljs-attr">"htv:methodName": "DELETE"
}
]
}
}
}
-
-
-+
Instead
of
a
-periodically
-
-periodic
-
+periodic
POST
-call
-of
-
-request
+request
to
-
the
-Thing
-
-Thing,
-
+Thing,
the
-consumer
-
-
-Consumer
-
+
+Consumer
+
may
provide
-a
-
response
data
with
@@ -45677,92 +38589,45 @@
the
next
POST
-request
-
+request
should
be
provided
by
the
Thing.
-
The
-WoT
-WG
-
-This
-
+This
is
-currently
-working
-on
-a
-definition
-that
-covers
-this
-scenario
-for
-the
-next
-update
-of
-
-described
+described
by
using
-
the
-TD
-document
-(
-W3C
-TD
-1.1
-CR).
-
-
-dataResponse
-
+
+dataResponse
+
field.
-
-
This section is non-normative. - -
-+
A
JSON
Schema
[
-
-
+
JSON-SCHEMA
-
-
+
]
document
for
@@ -45779,11 +38644,11 @@
is
available
in
-
+
the
GitHub
repository
-.
+.
This
JSON
Schema
@@ -45793,10 +38658,10 @@
the
terms
with
-
+
Default
Values
-
+
to
be
present.
@@ -45804,31 +38669,25 @@
the
terms
with
-
+
Default
Values
-
+
are
optional.
(see
also
-
-
+
5.4
-
+
Default
Value
Definitions
-
+
)
-
+
The
Thing
Description
@@ -45843,19 +38702,17 @@
vocabularies
by
using
-
+
@context
-
+
mechanism
known
from
JSON-LD
[
-
-
+
json-ld11
-
-
+
],
and
the
@@ -45874,14 +38731,13 @@
terms
defined
in
-
-
+
5.
-
+
TD
Information
Model
-.
+.
For
this
reason,
@@ -45901,18 +38757,18 @@
the
value
of
-
+
additionalProperties
-
+
schema
property
-
+
true
-
+
with
-
+
false
-
+
in
different
scopes/levels
@@ -45930,19 +38786,13 @@
vocabularies
are
used.
-
+
The
-
+
$id
-
+
field
in
the
@@ -45968,21 +38818,15 @@
to
the
schema.
-
This
section
is
@@ -46001,7 +38845,7 @@
are
explained
at
-
+
5.3.4.2.2
Response-related
@@ -46098,11 +38942,11 @@
after
the
tables.
-
-
+
This
section
is
non-normative.
-
-
+
The
present
specification
introduces
the
-
+
TD
Information
Model
-
+
as
a
set
@@ -47381,16 +40211,16 @@
constraints
over
different
-
+
Vocabularies
-,
+,
i.e.
sets
of
-
+
Vocabulary
Terms
-.
+.
This
section
briefly
@@ -47414,22 +40244,21 @@
of
the
mandatory
-
+
@context
-
+
of
a
TD
document.
-
+
Accessing
the
-
+
TD
Information
Model
-
+
from
a
TD
@@ -47489,23 +40318,21 @@
by
client
programs.
-
+
All
-
+
Vocabulary
Terms
-
+
referenced
in
-
-
+
5.
-
+
TD
Information
Model
-
+
are
serialized
as
@@ -47536,11 +40363,9 @@
Data
principle
[
-
-
+
LINKED-DATA
-
-
+
].
The
mappings
@@ -47552,9 +40377,9 @@
is
what
the
-
+
@context
-
+
value
of
a
@@ -47566,89 +40391,40 @@
the
file
at
-
-
+
https://www.w3.org/2022/wot/td/v1.1
-
-
+
includes the following mappings (among others): -
-
-
+ | ||||||||||||||||||||||||||
... |
This
JSON
file
@@ -47658,11 +40434,9 @@
1.1
syntax
[
-
-
+
JSON-LD11
-
-
+
].
Numerous
JSON-LD
@@ -47671,9 +40445,9 @@
automatically
process
the
-
+
@context
-
+
of
a
TD
@@ -47685,14 +40459,13 @@
strings
it
includes.
-
+
Once
every
-
+
Vocabulary
Term
-
+
of
a
TD
@@ -47714,31 +40487,27 @@
fragments
of
the
-
+
TD
Information
Model
-
+
that
refer
to
that
-
+
Vocabulary
Term
-.
+.
For
instance,
dereferencing
the
IRI
-
-
+
https://www.w3.org/2019/wot/json-schema#ObjectSchema
-
-
+
results
in
an
@@ -47748,23 +40517,23 @@
that
the
term
-
+
ObjectSchema
-
+
is
a
-
+
Class
-
+
and
more
precisely,
a
sub-class
of
-
+
DataSchema
-
.
+.
Such
logical
axioms
@@ -47787,11 +40556,9 @@
Schema
axioms
[
-
-
+
RDF-SCHEMA
-
-
+
].
Moreover,
these
@@ -47811,22 +40578,18 @@
Turtle
format
[
-
-
+
TURTLE
-
-
+
]:
-
<https://www.w3.org/2019/wot/json-schema#ObjectSchema>
+
+"nohighlight"><https://www.w3.org/2019/wot/json-schema#ObjectSchema>
a rdfs:Class .
<https://www.w3.org/2019/wot/json-schema#ObjectSchema>
rdfs:subClassOf
<https://www.w3.org/2019/wot/json-schema#DataSchema>
.
-
-
-
+
By
default,
if
@@ -47859,37 +40622,22 @@
the
HTTP
header
-
+
Accept:
text/turtle
-
+
in
their
request.
-
+
OAuth2SecurityScheme
was
@@ -47957,7 +40701,7 @@
TD
such
as
-
+
Thing
Level
+
SecurityScheme
-
-
-
+
additionalResponses
-
-
+
has
been
newly
added.
-
+
tm:required
-
+
changed
to
-
-
+
9.3.4
-
+
tm:optional
-
-
+
Thing
-
-
+
the
rules
for
-
+
@context
-
+
were
clarified
by
@@ -48244,44 +40931,36 @@
+
ActionAffordance
-
-
+
the
term
-
+
synchronous
-
+
was
added.
-
+
NullSchema
-
-
+
it
was
clarified
that
-
+
null
-
+
does
not
mean
@@ -48290,25 +40969,21 @@
+
AutoSecurityScheme
-
-
+
with
the
corresponding
-
+
"scheme":
"auto"
-
+
was
added
to
@@ -48328,24 +41003,20 @@
+
Link
-
-
+
the
vocabulary
term
-
+
hreflang
-
+
was
added
that
@@ -48357,21 +41028,19 @@
+
op
-
+
keywords.
-
+
tm:extends
-
+
and
the
import
mechanism
based
on
-
+
tm:ref
-
+
supports
transitive
extension.
-
+
application/tm+json
-
+
Media
Type
Registration
-
+
was
added
to
@@ -48556,53 +41207,46 @@
+
titles
-
+
and
-
+
descriptions
-
+
members
that
appear
in
sub-sections
-
-
+
5.3.1.1
-
-
+
Thing
-
-
,
-
-
+,
5.3.1.2
-
-
+
InteractionAffordance
-
-
,
-
-
+,
5.3.2.1
-
-
+
DataSchema
-
-
+
and
-
-
+
5.3.3.1
-
-
+
SecurityScheme
-
-
+
were
clarified.
-
+
Thing
-
-
:
-
+
op
-
+
member
of
a
-
+
Form
-
+
were
expanded.
-
+
forms
-
+
term
was
clarified.
-
+
@context
-
+
has
changed
in
Thing
Description
1.1.
-
+
@context
-
+
for
Thing
Description
@@ -48821,22 +41420,14 @@
+
PropertyAffordance
-
-
:
-
+
ActionAffordance
-
-
:
-
+
op
-
+
member
of
a
-
+
Form
-
+
were
expanded.
-
+
DataSchema
-
-
:
-
+
unit
-
+
term
was
clarified.
-
+
contentEncoding
-
+
and
-
+
contentMediaType
-
+
were
moved
to
section
-
-
+
5.3.2.7
-
-
+
StringSchema
-
-
.
-
+
BasicSecurityScheme
-
-
,
+,
the
assignment
of
the
-
+
in
-
+
member
was
clarified.
-
+
DigestSecurityScheme
-
-
,
+,
the
assignment
of
the
-
+
in
-
+
and
-
+
qop
-
+
member
was
clarified.
-
+
APIKeySecurityScheme
-
-
,
+,
the
assignment
of
the
-
+
in
-
+
member
was
clarified.
-
+
BearerSecurityScheme
-
-
,
+,
the
assignment
of
the
-
+
alg
-
,
-
+
,
format
-
+
and
-
+
in
-
+
member
was
clarified.
-
+
Link
-
-
,
+,
a
new
value
-
+
tm:submodel
-
+
was
added
to
@@ -49083,49 +41622,38 @@
+
Form
-
-
:
-
+
op
-
+
term
was
clarified.
-
+
Values
subscribeallevents
-
,
-
+
,
unsubscribeallevents
-
,
-
+
,
queryallactions
-
,
-
+
,
queryaction
-
+
and
-
+
cancelaction
-
+
were
added
to
@@ -49133,16 +41661,15 @@
+
op
-
+
term.
-
+
op
-
+
term.
-
+
PropertyAffordance
-
+
class's
-
+
observable
-
+
member
and
-
+
AdditionalExpectedResponse
-
+
class's
-
+
contentType
-
+
member.
-
+
@context
-
+
has
changed
in
Thing
Description
1.1.
-
+
securityDefinitions
-
+
and
-
+
security
-
-:
-
+
flow
-
+
that
appears
in
-
+
Example
-
+
18
-
-
+
now
uses
-
+
client
-
+
as
a
value.
-
+
uriVariables
-
-
,
+,
more
examples
were
added.
-
+
href
-
+
semantics.
-
+
tm:ref
-
+
was
clarified.
-+
Changes
from
First
@@ -49571,30 +42022,16 @@
described
in
the
-
+
Second
Public
Working
Draft
-.
-
+
The
editors
would
@@ -49653,16 +42090,15 @@
guidance
and
expertise.
-
+
Also,
many
thanks
to
the
-
+
W3C
-
+
staff
and
all
@@ -49674,9 +42110,9 @@
Participants
of
the
-
+
W3C
-
+
Web
of
Things
@@ -49703,8 +42139,7 @@
to
this
document.
-
+
Finally,
special
thanks
@@ -49740,15 +42175,9 @@
the
Thing
Description.
-
+
Temporary
ReSpec
fix
@@ -49756,126 +42185,81 @@
non-listed
references:
[
-
-
+
RFC6068
-
-
+
],
[
-
-
+
RFC3966
-
-
+
],
[
-
-
+
html
-
-
+
],
[
-
-
+
RFC6750
-
-
+
],
[
-
-
+
RFC7519
-
-
+
],
[
-
-
+
RFC7797
-
-
+
],
[
-
-
+
RFC8392
-
-
+
],
[
-
-
+
RFC7516
-
-
+
],
[
-
-
+
LDML
-
-
+
],
[
-
-
+
SEMVER
-
-
+
],
[
-
-
+
RFC7617
-
-
+
],
[
-
-
+
RFC7616
-
-
+
]
-
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
+Referenced +in: +
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-Referenced in: -
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-Not
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
+Referenced +in: +
-Referenced in: -
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
-5.2
-Preliminaries
-
-
+Referenced +in: +
-Referenced in: -
+Referenced +in: +
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-Not
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+
-
-Referenced
+
+Referenced
in:
-
-Referenced in:
-
-
-§
+