Фильтровать по значению атрибута в Orion Context Broker SQL Style - "Атрибут" LIKE "%text%"

Следуя документу спецификации NGSIv2, есть ли способ поиска объектов по части значения атрибута?

Что-то вроде http://192.168.36.95:1026/v2/entities?type=POI&options=keyValues&q=Description=='PART OF TEXT', чтобы получить объекты, атрибут Description которых содержит 'PART OF TEXT'

2 ответа

Вы можете использовать оператор сопоставления с шаблоном. увидеть ниже

~=. Значение соответствует данному шаблону, выраженному как регулярное выражение, например, цвет ~ = ow. Для сопоставления сущности она должна содержать целевое свойство (цвет), а значение целевого свойства должно совпадать со строкой в ​​правой части, в данном примере - "ow" (коричневый и желтый будут соответствовать, черный и белый не будут), Эта операция действительна только для целевых свойств типа string.

так что в вашем случае это будет

http://192.168.36.95:1026/v2/entities?type=POI&options=keyValues&q=Description~=

Можно применить соответствие REGEXP к полю ID NGSI:

Вы можете фильтровать, используя шаблоны идентификаторов сущностей, используя параметр URL-адреса idPattern (значение которого является регулярным выражением). Например, чтобы получить все сущности, чей идентификатор начинается с Room, а за ним следует число в диапазоне от 2 до 5 (в данном случае при получении Room2), которое вы можете использовать (обратите внимание на параметр -g в командной строке curl, чтобы избежать проблем с скобками): curl localhost:1026/v2/entity?idPattern=^Room[2-5] -g -s -S -H 'Принять: application/json' | python -mjson.tool

находится по адресу: https://fiware-orion.readthedocs.io/en/master/user/walkthrough_apiv2/index.html

Я не уверен, относится ли это также к типу NGSI. Но эта функциональность не распространяется на определенные пользователем атрибуты.

Другие вопросы по тегам