NQL identifiers
query real-time data

Reduce your overall system complexity and cost,
easily send and receive targeted conversational messages.

"Use logical operators AND and OR
and query real-time data"

What are NQL identifiers

NQL (NoLag Query Language) is a powerful tool for filtering and managing real-time data in the NoLag messaging platform.

It allows users to precisely control which messages are sent to which recipients based on specific criteria. NQL enables fine-grained message targeting, making it easier to deliver relevant data to the right devices or users in real-time applications.

Why is it special?

  • Fine-Grained Message Filtering:

    NQL allows for highly precise message filtering. Determine which messages should be sent to specific recipients. This level of granularity is crucial for any real-time application.

  • Real-time Data Control:

    With NQL, you can dynamically control the flow of real-time data. This is essential for applications that require instant updates while ensuring that only relevant information is received.

  • Efficiency:

    NQL increases the efficiency of real-time communication by reducing the amount of infrastructure needed.

  • Security:

    NQL can enhance the security of real-time messaging by enabling access control. It ensures that messages are delivered only to authorized recipients, bolstering data privacy and security.

  • Versatility:

    NQL is versatile and can be applied to various use cases, such as gaming, IoT, chat applications, and more. It adapts to the specific needs of different industries and scenarios.

  • Ease of Use:

    Despite its advanced capabilities, NQL is designed to be user-friendly, almost "Plug-and-play".

Example code


// TypeScript const payload = stringToArrayBuffer( JSON.stringify({ "powerOutput": 120 }) ); nolag.publish("TurbineReadings", payload, // set reverse QUERY, identify which turbine is publishing data ["turbine_one"] );


// TypeScript // subscribe to Topic name "TurbineReadings", // QUERY realtime data sent with identifier // "turbine_one" OR "turbine_two" OR "turbine_three" const windTurbineTopic = nolag.subscribe('TurbineReadings', { OR: [ "turbine_one", "turbine_two", "turbine_three" ], }); // stop QUERYING "turbine_two" OR "turbine_three" // only receive data from "turbine_one" windPowerTopic.removeIdentifiers({ OR: [ "turbine_two", "turbine_three", ], }); // start QUERYING "turbine_two" OR "turbine_three" windPowerTopic.addIdentifiers('windTurbine', { OR: [ "turbine_two", "turbine_three", ], });