IoT Discovery

What it is

This is reference implementation for IoT Discovery GE. Its role is to act as a meeting point for IoT Context Producers to register the availability of their Things and Sensor devices, and IoT Context Consumers to discover them, using either the OMA NGSI-9 messaging protocol – a simple but powerful API for contextual information exchange. For semantic users, the Sense2Web API can be used which supports Linked Open Data.

The API exposes two main modules:

NGSI-9 Server

The server provides a repository for the storage of NGSI entities and allows NGSI-9 clients to:

NGSI-9 clients include other FIWARE GEs, such as the Data Handling GE and the Device Management GE for registration, and the IoT Broker for discovery.


A platform which provides a semantic repository for IoT providers to register and manage semantic descriptions (in RDF/OWL) about their "Things", whether they be Sensor/Actuator Devices, virtual computational elements (e.g. data aggregators) or virtual representations of any Physical Entity.

In turn, it provides IoT Users to discover these registered IoT elements using:

The platform currently supports IoT Descriptions based on the IoT-A Project (, but can be extended to support other types.

A Web User interface is provided for users to create, read, update and delete (CRUD) semantically-annotated IoT Descriptions, and also link them to other Linked Open Data (LOD) resources on the Web.

Why get it

The primary purpose is to allow context producers to register their IoT Objects in linked-data format, and in turn allow context consumers to discover them using a set of search techniques.

This is a reference implementation for the IoT Discovery GE open specification. The implementation provide two modules, the NGSI-9 Server and the Sense2Web Platform, in which both provide support for the registration and discovery of IoT entities. Please refer to the Users and programmers guide for more information.


The internal architecture of IoT-Discovery consists of two main components, the Registry Manager and the Registry Repository.

5b1 Registry Manager

The Registry Manager component consists of a context information registry in which context provider applications can be registered. In addition, components interacting with the Registry Manager can perform discovery operations on that context registration information or subscribe to changes on it.

It detail, the component provides the following functionality:

Registry Repository

The Registry Repository stores information on the availability of context information and can be accessed through the Registry Management. When a NGSI-9 client sends a discoverContextAvailabilityRequest operation in order to find out where the desired context information can be found, the Registry Manager returns zero or more ContextRegistration instances that match the client's request.

Results can also include associated context sources if specified in the operation scope field in the request. With this approach, IoT-Discovery can maintain higher-level context information that is not available in the IoT Gateways or Devices. For example, a Gateway might not know the concept of cars, but only maintains a list of sensors and their measurements. The information about which specific sensors provide information about same car could be maintained only by the IoT-Discovery GE.

FIWARE Webpage

IoT Discovery


IoT Discovery Documentation


IoT Discovery Download

Fiware Academy

IoT Discovery Courses