通过逻辑运算符或Fiware Orion查询实体

时间:2019-07-04 11:13:55

标签: fiware fiware-orion

我无法通过逻辑运算符OR从具有2个条件的Orion查询中检索实体。

例如,如果我要检索具有temperature > 20 OR humidity enter code here< 50.的实体 但是我只能通过逻辑运算符AND检索查询:

http:// localhost:1026/v2/entities?q=temperature>20;humidity<50 

我也尝试|分隔条件,像这样:

http:// localhost:1026/v2/entities?q=temperature>20|humidity<50 

但是给我下一个错误:

{
    "error": "BadRequest",
    "description": "forbidden characters in String Filter"
}

如何通过逻辑运算符OR检索对Orion的查询?

1 个答案:

答案 0 :(得分:1)

以逗号分隔的 q StringFilter 项目正确地与在一起是正确的。据我所知,我们从未为StringFilters实施任何OR。

要实现您想要的目标,我建议执行两个查询并合并结果。抱歉...

规范为here。它清楚地说:

简单查询语言提供了一种简化的语法来检索与一组条件匹配的实体。查询由用“;”分隔的语句列表组成字符。每个语句都表示一个匹配条件。 查询返回与所有匹配条件匹配的所有实体(AND逻辑运算符)。