# WoT-Discovery How to find a Thing? --- ## Steps back: What is a Thing - A self-describing connected object - A connected object described by a third party > A [Thing Description](https://www.w3.org/TR/wot-thing-description/) let you know how to control a device even if you do not have previous knowledge of it. --- ## WoT Discover It covers 3 different concerns | Concerns | | |-|-| | **Discovery** | Finding the devices in the network | | **Management** | Actively add/remove/configure devices | | **Query** | Find specific known devices according to some search directives | --- ## Discovery All the processes that let you know what devices are present in the network - You could actively search for devices (e.g. mDNS queries) - The device could actively register itself or be registered (e.g. BT pairing) --- ## Management The purpose of the Discovery is to populate a Directory, the directory itself exposes itself as a Thing and has its own [description and metadata](https://www.w3.org/TR/wot-discovery/#directory-thing-description) --- ## Things Descriptions in the Directory The directory serves `TD`s augmented with few additional fields. ![description](https://www.w3.org/TR/wot-discovery/images/directory-td-class-diagram.svg) --- ## The Directory Thing Description | Actions | | | -------- | -------- | | createTD | Add a new `TD` in the directory | | updateTD | Replace an existing `TD` | | updatePartialTD | Update parts of an existing `TD` | | deleteTD | Removes a `TD` | --- ## The Directory Thing Description | Properties | | | -------- | -------- | | retrieveTD | Get the `TD` matching a known `id` | | retrieveTDs | Get all the existing `TD` | | searchJSONPath | Search for `TD`s, JSONPath query | | searchXPath | Search for `TD`s, XPath query | | searchSPARQL | Search for `TD`s, SPARQL query | --- ## The Directory Thing Description | Events || |-|-| | registration | Notify for changes in the Directory | --- ## Discussion - Many discovery methods - mDNS - CoRE & DID - Direct-link pairing - The currently Management API is minimal - Add/Update/Delete - The search API is partially redundant - JSONPath vs XPath - Semantic search via SPARQL - Events - Quite rich --- ## Implementations | Name | APIs | |---|---| | [LinkSmart Thing Directory][1] | Registration, Notification, Search (JSONPath, XPath) | | [WoT Hive][2] | Registration, Notification, Search (JSONPath, SPARQL) | | [Thingweb](https://github.com/eclipse/thingweb.node-wot) | Registration, Notification, Search (???) | [1]: https://github.com/linksmart/thing-directory [2]: https://github.com/oeg-upm/wot-hive ---
{"metaMigratedAt":"2023-06-16T22:10:52.237Z","metaMigratedFrom":"YAML","title":"WoT-Discovery, Dev meeting","breaks":true,"contributors":"[{\"id\":\"eb4a4496-41ef-46e3-8970-f8220f409921\",\"add\":2988,\"del\":230}]"}
    211 views
   Owned this note