diff --git a/index.html b/index.html index 38f3b36..176ecba 100644 --- a/index.html +++ b/index.html @@ -98,7 +98,7 @@ background-color: rgb(230,230,230) } - + @@ -179,7 +179,7 @@

Motivation for a Profile

WoT Thing Description [[wot-thing-description]] define a powerful description mechanism and a format to describe myriads of very different devices, which may be connected - over various protocols. + over various protocols. The format is very flexible and open and puts very few normative requirements on devices that @@ -473,154 +473,49 @@

Additional Definitions:

-
-

Profiling Mechanism

+

Profiling Mechanism

- This section describes a generic mechanism to define a - profile of the WoT Thing Description in a unambiguous way. + In order to conform with a profile, a + Web Thing + MUST conform with all the normative statements in the profile's specification.

- The W3C WoT Thing Description specification defines a - formal language, i.e. a set of vocabulary terms (keywords), - a set of classes that are built from these keywords, and a - set of additional rules, that define constraints on - permitted values and keyword presence (mandatory / optional) - dependent on the context where the keyword is used. In - addition the WoT Thing Description specification defines relationships and - corresponding cardinalities between these classes. + In order to denote that a given + Web Thing + conforms to one or more profiles, its Thing Description MUST include a + + profile member [[wot-thing-description]]. The value of + the profile member MUST be set to either a valid URI + [[RFC3986]] identifying a single profile, or an array of valid URIs + identifying multiple profiles.

-

- The WoT Thing Description specification already has some constraints, - but there is a wide variety of variations that are left to - the interpretation or the discretion of an implementer. The - rationale for the Core Profile is not to forbid - complex things, rather to enable statements like: -

- - - -
-

Methodology

- -

- A profile is a set of constraints and rules, which - provide additional semantic guarantees that are applied - to the WoT Thing Description specification. These constraints define a - subset of valid WoT Thing Descriptions by defining - additional rules on various aspects of the WoT Thing - Description specification. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Constraints onRationaleExample
vocabulary of Thing Description classesguaranteed set of metadata fieldsMake specific vocabulary terms mandatory, - remove others
class relationshipsunambiguous structurelimited cardinality, e.g. only one form per - operation per interaction affordance.
values of vocabulary termssimplified processingLimit the length of characters per string. - Always use arrays, where the spec permits a - string or an array of strings.
data schemassimplified processingNo arbitrary nested objects or arrays of - arrays
securityreduced implementation effortOnly a restricted set of security - mechanisms
protocol bindingguaranteed protocol semanticslimited protocol(s) and protocol features, - Example: predefined mapping of http verbs (GET/PUT) to - operation verbs, similar constraints for other protocols.
- - -

These constraints and rules fall into two categories:

- - -

These two categories are orthogonal to each other, - i.e. a data model that conforms to a profile can be - mapped to different protocols. - - The protocol binding for - each protocol may contain additional (protocol-specific) - constraints. - -

- -

- - A profile is not exclusive, i.e. a thing may conform - to multiple profiles. - - Profiles can build on top of each - other or overlap, extended profiles can be built on top - of the core profile.

-

- This specification does not put any requirements on the - scope and contents of other profiles. -

- -
- WoT Profiles -
WoT Core Profile - Other Profiles
-
- -

- In the present document, we define a Core Profile - by defining a Core Data Model and a set of Protocol Binding Rules - for selected protocols. - -

-
+
+    {
+      "@context": "https://www.w3.org/2019/wot/td/v1",
+      "id": "urn:dev:ops:32473-WoTLamp-1234",
+      "profile": "https://www.w3.org/2021/wot/profile/core",
+      "title": "My Lamp",
+      "description": "A web connected lamp",
+      ...
+    }
+    
+
+    {
+      "@context": "https://www.w3.org/2019/wot/td/v1",
+      "id": "urn:dev:ops:32473-WoTLamp-1234",
+      "profile": [
+        "https://www.w3.org/2021/wot/profile/core",
+        "https://www.w3.org/2021/wot/profile/constrained"
+      ],
+      "title": "My Lamp",
+      "description": "A web connected lamp",
+      ...
+    }
+    
- - -

WoT Core Profile

This section defines the Core Profile by defining a Core @@ -739,7 +634,7 @@

Length and Value Limits

string or number - . + . Different types in a single @@ -852,7 +747,7 @@