le funzionalità di filtro NGSIv2 si basano nel seguente operazione:
GET /v2/entities?q=<query_string>
dove query_string
specifica la stringa di query come definito nel NGSIv2 specification document. Ad esempio, per ottenere tutti i soggetti che temperature
è inferiore a 24, che humidity
è nel range tra 75 e 90, e che status
è "correre" utilizzare la seguente operazione:
GET /v2/entities?q=temperature<24;humidity==75..90;status=running
È anche possibile fare query utilizzando "tradizionale" NGSIv1, utilizzando il campo scope
nel payload POST /v1/queryContext
. La stessa query sarà fatto nel modo seguente:
POST /v1/queryContext
{
"entities": [
{
"type": "",
"isPattern": "true",
"id": ".*"
}
],
"restriction": {
"scopes": [
{
"type": "FIWARE::StringQuery",
"value": "q=temperature<24;humidity==75..90;status=running"
}
]
}
}
Il following link fornisce ulteriori informazioni.
Si noti che alcuni filtri (ad esempio maggiore/minore di, intervalli, ecc.) Presuppongono che il tipo nativo del valore dell'attributo sia un numero. Tenere conto del fatto che le operazioni NGISv1 per creare/aggiornare gli attributi trasformano sempre i valori in stringhe (a causa della compatibilità XML, non più mantenuta in NGSIv2). Pertanto, se è necessario memorizzare i valori degli attributi come numero per applicare filtri superiori/inferiori, intervalli, ecc., Quindi utilizzare le operazioni NGSIv2 per creare/aggiornare questi attributi. L'avvertenza è spiegata in modo più dettagliato in the following piece of documentation.
Tale funzionalità sarà disponibile in Orion 0.24.0 (data di uscita prevista: inizio settembre 2015). Tuttavia, la funzionalità è già implementata nel ramo di sviluppo nel repository Orion all'indirizzo https://github.com/telefonicaid/fiware-orion se hai fretta e ne hai bisogno in questo momento. – fgalan
Semplice, fantastico !! Esattamente al punto. Grazie mille!!! : D – juanba1984
È possibile utilizzare queste restrizioni anche per gli abbonamenti? Mi piacerebbe utilizzare la restrizione della geolocalizzazione in abbonamento. Se sì, ho intenzione di aggiornare orion alla versione più recente. :) – Xavier