From a808f9b8fa9db30cf9a04db5ac43a64182d8da6f Mon Sep 17 00:00:00 2001 From: Farshid Tavakolizadeh Date: Mon, 16 May 2022 16:02:15 +0200 Subject: [PATCH] Add section for TD types --- index.html | 265 ++++++++++++++++++++++++++++------------------------- 1 file changed, 138 insertions(+), 127 deletions(-) diff --git a/index.html b/index.html index 96a38b15..593b24b6 100644 --- a/index.html +++ b/index.html @@ -295,9 +295,9 @@

Architecture

using query filters when fetching TDs from a directory).
  • - The second special case is a Thing Link. This is also a Thing Description, - but rather than describing a Thing directly holds a link to - a Thing Descriptions hosted elsewhere. + The second special case is a Thing Link. This is also a Thing Description, + but rather than describing a Thing directly holds a link to + a Thing Descriptions hosted elsewhere. A Thing Description Directory can also store Thing Links which can redirect to other Thing Description Directories, allowing for a linked directory structure. @@ -394,7 +394,8 @@

    Discoverer Process

  • A Discoverer MUST be able to identify whether a TD fetched from an - Introduction URL is a Thing Description Directory or a Thing Link. + Introduction URL has Thing Directory + or Thing Link type. This implies that the Discoverer needs to be able to check the @type field and make this distinction. @@ -414,14 +415,14 @@

    Discoverer Process

    might be prohibitively expensive.
  • - A Discoverer MAY fetch source TDs from the targets of the links in a Thing Link + A Discoverer MAY fetch source TDs from the targets of the links in a Thing Link described in its initial set of TDs and add them into the set of TD results. This only adds the results of fetching TDs from a Thing Link to the set of results. These new results do not delete the original TD describing the Thing Link. A Discoverer implementation can decide whether or not to fetch the targets of Thing Links.
  • - A Discoverer MAY fetch additional TDs iteratively from any Thing Link or + A Discoverer MAY fetch additional TDs iteratively from any Thing Link or Exploration mechanism described in its set of TDs and add them into the set of TD results. This only adds the results of fetching TDs from an Exploration mechanism to the set of results. These new results do not delete the original TD describing the Exploration mechanism. @@ -448,7 +449,7 @@

    Discoverer Process

    The above process supports a way to let Directories reference other Directories without duplicating their TDs: - a Directory wanting to reference other Directories should include a Thing Link with a "describedby" relation to the + a Directory wanting to reference other Directories should include a Thing Link with a "describedby" relation to the TD of the other Directory service. Then the above process would expand the Thing Link to obtain the actual TD of the Directory, and then (optionally) use the appropriate Directory affordance to access the contents of the linked Directory. Note that such a Thing Link points at the TD of the Directory, not at the Directory itself. These @@ -648,135 +649,145 @@

    Exploration Mechanisms

    To do: Description of supported explorations, and requirements for new exploration mechanisms.

    +
    -
    - Exploration mechanisms high-level class diagram -
    - The high-level class diagram of the exploration mechanisms, - depicting how Things expose TDs. -
    -
    +
    +

    Overview

    +
    + Exploration mechanisms high-level class diagram +
    + The high-level class diagram of the exploration mechanisms, + depicting how Things expose TDs. +
    +
    - [[[#exploration-class-diagram]]] depicts the high-level information - model for self-describing and directory services. - A directory may contain TDs and at the same time provide a TD - and act as a self-describing Thing. - The exploration mechanisms are described in - [[[#exploration-self]]] and [[[#exploration-directory]]]. - -
    - Ontology of TD in discovery context -
    The ontology of Thing Descriptions in the Discovery context.
    -
    + [[[#exploration-class-diagram]]] depicts the high-level information + model for self-describing and directory services. + A directory may contain TDs and at the same time provide a TD + and act as a self-describing Thing. + The exploration mechanisms are described in + [[[#exploration-self]]] and [[[#exploration-directory]]]. + +
    +

    Ontology

    +
    + Ontology of TD in discovery context +
    The ontology of Thing Descriptions in the Discovery context.
    +
    -

    - [[[#discovery-class-diagram-ontology]]] illustrates the Discovery ontology - as an extension of the Thing ontology. -

    -

    - The ontology includes a class for metadata that are associated with - TDs stored in a directory. - This class is called `RegistrationInformation` and described as part - of the directory specification in [[[#exploration-directory-registration-info]]]. -

    +

    + [[[#discovery-class-diagram-ontology]]] illustrates the Discovery ontology + as an extension of the Thing ontology. +

    +

    + The ontology includes a class for metadata that are associated with + TDs stored in a directory. + This class is called `RegistrationInformation` and described as part + of the directory specification in [[[#exploration-directory-registration-info]]]. +

    -

    - Moreover, the Discovery ontology defines two new Thing Description classes - that may be used to model special exploratory metadata: -

    +

    + Moreover, the Discovery ontology defines two new Thing Description classes + that may be used to model special exploratory metadata: +

    -
    - The type URIs used below are tentative and subject to change. -
    +
    +

    `ThingDirectory`

    +
    + The type URIs used below are tentative and subject to change. +
    -
    Thing Directory
    -
    - - A TD which describes a Thing Description Directory instance MUST use type `ThingDirectory` from the - discovery context or URI `https://www.w3.org/2021/wot/discovery#ThingDirectory`. - -

    - [[[#directory-api-spec]]] which describes the API of the - Thing Description Directory is an example of this TD class. -

    -
    - -
    Thing Link
    -
    - - A TD which describes a reference to another TD MUST use type `ThingLink` from the - discovery context or URI `https://www.w3.org/2021/wot/discovery#ThingLink`. - - - A Thing Link MUST define the referenced TD as a Link with - `describedby` link relation type, `application/td+json` media type - and `href` set to the target URL. - + + A TD which describes a Thing Description Directory instance MUST use type `ThingDirectory` from the + discovery context or URI `https://www.w3.org/2021/wot/discovery#ThingDirectory`. + +

    + A TD of this class can be derived from Directory's Thing Model; see [[[#directory-api-spec]]]. +

    + +
    + +
    +

    Self-description