+
Support for JSONPath Search API is optional.
If implemented, the JSONPath API must allow searching TDs using an HTTP GET request
at `/search/jsonpath?query={query}` endpoint, where `query` is the JSONPath expression.
diff --git a/publication/3-wd/index.html b/publication/3-wd/index.html
index 1a317aa4..ee17b8a0 100644
--- a/publication/3-wd/index.html
+++ b/publication/3-wd/index.html
@@ -2332,6 +2332,7 @@
Search API
Syntactic search: JSONPath
+
Support for JSONPath Search API is optional.
If implemented, the JSONPath API must allow searching TDs using an HTTP GET request
at `/search/jsonpath?query={query}` endpoint, where `query` is the JSONPath expression.
From 76d54bdba1bbb0356cdf796a17b66d11c2d6ddbe Mon Sep 17 00:00:00 2001
From: Michael McCool
Date: Mon, 4 Jul 2022 13:10:49 -0300
Subject: [PATCH 06/12] defer issue 82
---
index.html | 2 ++
publication/3-wd/index.html | 2 ++
2 files changed, 4 insertions(+)
diff --git a/index.html b/index.html
index f5f998ec..6ec8f909 100644
--- a/index.html
+++ b/index.html
@@ -2409,10 +2409,12 @@
API Specification (Thing Model)
+
The context URIs are tentative and subject to change.
There are currently no WoT-specific error classes. In
-the meantime, the Problem Details error responses may omit the
-type field which defaults to "about:blank" and set
-title to the HTTP status text.
Registration of TDs using non-idempotent HTTP POST
-method enables creation of anonymous TDs (TDs without id attribute). The producer can distinguish
-between the created TDs using the unique-system generated IDs given
-in the response Location header.
-
A side-effect of this is that clients will be able to
-register duplicate TDs accidentally or on purpose.
-
Need to clarify:
-
-
What are the use cases where a duplicate TD is desired?
-
How can we mitigate accidental duplicates (deduplication)?
7.3.2.2
thing_deleted) from the server. When using HTTP/2,
multiple subscriptions on the same domain (HTTP streams) get
multiplexed on a single connection.
-
The standardization of JSONPath expressions is in
-progress by an independent working group. This section remains
-non-normative until the release of final JSONPath specification by
-IETF. In the meantime, clients should consider the JSONPath API as
-unstable and expect deviations across Thing Description
-Directory implementations.
-
Support for JSONPath Search API is optional. If implemented, the
JSONPath API must allow searching TDs using an HTTP
GET request at
@@ -5215,16 +5104,6 @@
-
-
Issue 82:
-Creation of OpenAPI spec from Directory TD
-
Need to confirm if equivalent OpenAPI spec can be
-easily created out of the TM. If yes, a sentence may be added
-indicating this possibility.
- There are currently no WoT-specific error classes. In the meantime,
- the Problem Details error responses may omit the type field which defaults
- to "about:blank" and set title to the HTTP status text.
-
+
The APIs set the HTTP status codes as defined in
@@ -2530,14 +2526,6 @@
Web of Things (WoT) Discovery
In particular, if ttl (relative expiry) is given during the creation,
such servers will calculate and store the expires value.
-
-
Registration of TDs using non-idempotent HTTP POST method enables creation of anonymous TDs (TDs without id attribute). The producer can distinguish between the created TDs using the unique-system generated IDs given in the response Location header.
-
A side-effect of this is that clients will be able to register duplicate TDs accidentally or on purpose.
-
Need to clarify:
-
-
What are the use cases where a duplicate TD is desired?
-
How can we mitigate accidental duplicates (deduplication)?
-
7.3.2.1.2 Retrieval
@@ -2582,7 +2570,7 @@
Web of Things (WoT) Discovery
},
"title": "Simple TD"
}
-
Issue 148: Discovery context and namespace under w3.org/ns
+
Issue 148: Discovery context and namespace under w3.org/ns
The context URIs are tentative and subject to change.
@@ -2616,7 +2604,7 @@
Web of Things (WoT) Discovery
},
"title": "Anonymous TD"
}
-
Issue 148: Discovery context and namespace under w3.org/ns
+
Issue 148: Discovery context and namespace under w3.org/ns
The context URIs are tentative and subject to change.
@@ -2651,7 +2639,7 @@
Web of Things (WoT) Discovery
},
"title": "Expirable TD"
}
-
Issue 148: Discovery context and namespace under w3.org/ns
+
Issue 148: Discovery context and namespace under w3.org/ns
The context URIs are tentative and subject to change.
- The standardization of JSONPath expressions is in progress by an independent working group.
- This section remains non-normative until the release of final
- JSONPath specification by IETF.
- In the meantime, clients should consider the JSONPath API
- as unstable and expect deviations across
- Thing Description Directory implementations.
-
+
Support for JSONPath Search API is optional.
If implemented, the JSONPath API must allow searching TDs using an HTTP GET request
at /search/jsonpath?query={query} endpoint, where query is the JSONPath expression.
@@ -3842,10 +3818,7 @@
Web of Things (WoT) Discovery
}
-
Issue 82: Creation of OpenAPI spec from Directory TD
- Need to confirm if equivalent OpenAPI spec can be easily created out of the TM.
- If yes, a sentence may be added indicating this possibility.
-
+
Editor's note: Context URIs
The context URIs are tentative and subject to change.
@@ -4343,7 +4316,7 @@
Web of Things (WoT) Discovery
Link Target Attribute Values sub-registry of the Constrained Restful Environments (CoRE)
Parameters registry defined in [RFC6690].
-
From 39dbb6030296bdf50c0d2f5d9440336bcc4ca06e Mon Sep 17 00:00:00 2001
From: Michael McCool
Date: Mon, 4 Jul 2022 13:21:59 -0300
Subject: [PATCH 09/12] remove ed note about information model
---
index.html | 2 ++
publication/3-wd/Overview.html | 19 ++++++-------------
publication/3-wd/index.html | 2 ++
publication/3-wd/static.html | 10 ++++------
4 files changed, 14 insertions(+), 19 deletions(-)
diff --git a/index.html b/index.html
index ab45bab7..b265f520 100644
--- a/index.html
+++ b/index.html
@@ -1157,9 +1157,11 @@
Thing Description Directory
Information Model
+
As shown in [[[#exploration-class-diagram]]],
the Thing Description Directory can contain zero or more TDs.
diff --git a/publication/3-wd/Overview.html b/publication/3-wd/Overview.html
index 353a77ab..fefc60fc 100644
--- a/publication/3-wd/Overview.html
+++ b/publication/3-wd/Overview.html
@@ -2692,13 +2692,6 @@
7.3.1
Information Model
-
-
Editor's note: Directory Information Model
-
To Do: Formal definition of information contained in a
-directory and its organization.
, namely:
thingCreated, thingUpdated, and
thingDeleted.
-
-
+
Editor's note: SSE Authorization Header
Some early SSE implementations (including HTML5
@@ -4079,8 +4072,8 @@
7.3.2.3
Search API
-
-
+
Editor's note: Search API Overview
Sub-API to search a directory, e.g. issue a query.
@@ -5104,8 +5097,8 @@
-
-
+
Editor's note: Context URIs
The context URIs are tentative and subject to
diff --git a/publication/3-wd/index.html b/publication/3-wd/index.html
index b2bd4f86..239e6fd0 100644
--- a/publication/3-wd/index.html
+++ b/publication/3-wd/index.html
@@ -1157,9 +1157,11 @@
Thing Description Directory
Information Model
+
As shown in [[[#exploration-class-diagram]]],
the Thing Description Directory can contain zero or more TDs.
diff --git a/publication/3-wd/static.html b/publication/3-wd/static.html
index d7baf66d..b5bb5163 100644
--- a/publication/3-wd/static.html
+++ b/publication/3-wd/static.html
@@ -2110,9 +2110,7 @@
Web of Things (WoT) Discovery
7.3.1 Information Model
-
Editor's note: Directory Information Model
- To Do: Formal definition of information contained in a directory and its organization.
-
Some early SSE implementations (including HTML5 EventSource) do not allow
setting custom headers in the initial HTTP request. Authorization header
is required in few OAuth2 flows and passing it as a query parameter is
@@ -3237,7 +3235,7 @@
Web of Things (WoT) Discovery
7.3.2.3 Search API
-
Editor's note: Search API Overview
+
Editor's note: Search API Overview
Sub-API to search a directory, e.g. issue a query.
There are different forms and levels of query possible, for example,
syntactic (JSONPath, XPath) vs. semantic (SPARQL),
@@ -3819,7 +3817,7 @@
Web of Things (WoT) Discovery
-
Editor's note: Context URIs
+
Editor's note: Context URIs
The context URIs are tentative and subject to change.
7.2
class="internalDFN" data-link-type="dfn" id=
"ref-for-dfn-td-16">TD MUST have a
2.05 (Content) status, contain a Content-Format option with value
-432 (application/td+json), and the application/json) or 432
+(application/td+json), and the TD in the payload. Note that the
payload might be split over multiple message exchanges using
diff --git a/publication/3-wd/index.html b/publication/3-wd/index.html
index 239e6fd0..154daaf1 100644
--- a/publication/3-wd/index.html
+++ b/publication/3-wd/index.html
@@ -1107,7 +1107,8 @@
Thing Description Server
A successful response from a CoAP-based TD Server providing a TD
MUST have a 2.05 (Content) status, contain a Content-Format option
- with value 432 (`application/td+json`), and the TD in the payload.
+ with value 50 (`application/json`) or 432 (`application/td+json`),
+ and the TD in the payload.
Note that the payload might be split over multiple message exchanges using
block-wise transfer [[RFC7959]].
diff --git a/publication/3-wd/static.html b/publication/3-wd/static.html
index b5bb5163..be000398 100644
--- a/publication/3-wd/static.html
+++ b/publication/3-wd/static.html
@@ -2060,7 +2060,8 @@
Web of Things (WoT) Discovery
A successful response from a CoAP-based TD Server providing a TDMUST have a 2.05 (Content) status, contain a Content-Format option
- with value 432 (application/td+json), and the TD in the payload.
+ with value 50 (application/json) or 432 (application/td+json),
+ and the TD in the payload.
Note that the payload might be split over multiple message exchanges using
block-wise transfer [RFC7959].
From b733fa915aeb63061243a1e9b77f3e88b1c628a5 Mon Sep 17 00:00:00 2001
From: Michael McCool
Date: Mon, 4 Jul 2022 13:31:04 -0300
Subject: [PATCH 11/12] update change log
---
publication/3-wd/Overview.html | 50 ++++++++++++++++++++++++++++++----
publication/3-wd/index.html | 24 ++++++++++++++--
publication/3-wd/static.html | 26 +++++++++++++++---
3 files changed, 87 insertions(+), 13 deletions(-)
diff --git a/publication/3-wd/Overview.html b/publication/3-wd/Overview.html
index 324cb03a..4d4137ce 100644
--- a/publication/3-wd/Overview.html
+++ b/publication/3-wd/Overview.html
@@ -1387,8 +1387,11 @@
Refer to TD and Architecture specs for general constraints on
+secure transport.
+
Define requirements for CoAP-based TD Servers.
+
Introduction of TD Server exploration, with self-description as
+a special case.
+
Elaboration of class diagram to clarify that not all
+Directories need to be self-describing.
+
Clarify and consolidate error codes and ontology.
+
Add assertions for UTF-8 supporting internationalization.
+
Update overview figure showing introduction and exploration
+mechanisms.
+
Add Discoverer section defining requirements for discovery
+clients.
+
Use Thing Model instead of a Thing Description example for
+Directory API.
+
Refactor Directory Service API (td->thing, split anonymous
+create action, retrieve one and search as actions, listing as
+things property, split events)
Add amplification DDOS security consideration.
Split Security and Privacy Considerations into separate
sections.
+
Define status of search mechanisms: JSON Path, XPath, and
+SPARQL.
+
Pagination as array and pagination as collection.
+
Updates to events API.
+
TD expiry management.
+
HEAD method support.
+
+
+
+
+
A.2
+Changes from 24 November 2020 First Public Working Draft
+
+
Update name of directory service to "Thing Description
Directory" with acronym TDD, to avoid confusion with the acronym TD
used for Thing Descriptions.
Refer to TD and Architecture specs for general constraints on secure transport.
+
Define requirements for CoAP-based TD Servers.
+
Introduction of TD Server exploration, with self-description as a special case.
+
Elaboration of class diagram to clarify that not all Directories need to be self-describing.
+
Clarify and consolidate error codes and ontology.
+
Add assertions for UTF-8 supporting internationalization.
+
Update overview figure showing introduction and exploration mechanisms.
+
Add Discoverer section defining requirements for discovery clients.
+
Use Thing Model instead of a Thing Description example for Directory API.
+
Refactor Directory Service API (td->thing, split anonymous create action, retrieve one and search as actions, listing as things property, split events)
Add amplification DDOS security consideration.
Split Security and Privacy Considerations into separate sections.
+
Define status of search mechanisms: JSON Path, XPath, and SPARQL.
+
Pagination as array and pagination as collection.
+
Updates to events API.
+
TD expiry management.
+
HEAD method support.
+
+
Changes from 24 November 2020 First Public Working Draft
+
Update name of directory service to "Thing Description Directory" with acronym TDD,
to avoid confusion with the acronym TD used for Thing Descriptions.