[ https://jira.fiware.org/browse/HELP-14905?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Fernando Lopez reassigned HELP-14905:
-------------------------------------
Assignee: Jose Manuel Cantera
> [fiware-stackoverflow] How to avoid registrations result when query the entities filtered by a relationship
> -----------------------------------------------------------------------------------------------------------
>
> Key: HELP-14905
> URL: https://jira.fiware.org/browse/HELP-14905
> Project: Help-Desk
> Issue Type: Monitor
> Components: FIWARE-TECH-HELP
> Reporter: Backlog Manager
> Assignee: Jose Manuel Cantera
> Labels: fiware, fiware-orion
>
> Created question in FIWARE Q/A platform on 29-10-2018 at 12:10
> {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/53044149/how-to-avoid-registrations-result-when-query-the-entities-filtered-by-a-relation
> +Question:+
> How to avoid registrations result when query the entities filtered by a relationship
> +Description:+
> I've deployed the iot stack with docker. These are the used containers:
> fiware/orion:2.0.0
> fiware/iotagent-json:1.8.0
> [other containers not involved in the issue ...]
> Documentation consulted:
> http://fiware.github.io/specifications/ngsiv2/stable/
> Step 1: I've registered the following entities on the Orion context broker:
> curl -X POST \
> http://localhost:1026/v2/op/update/ \
> -H 'Content-Type: application/json' \
> -H 'fiware-service: test' \
> -H 'fiware-servicepath: /' \
> -d '{
> "actionType": "append",
> "entities": [{
> "type": "Area",
> "id": "first:Area:001",
> "name": {
> "type": "Text",
> "value": "First area"
> }
> }, {
> "type": "Area",
> "id": "second:Area:002",
> "name": {
> "type": "Text",
> "value": "Second area"
> }
> }]
> }'
> Step 2: I've registered the following device related with the Area first:Area:001 on the IoT agent:
> curl -X POST \
> http://localhost:4041/iot/devices \
> -H 'Content-Type: application/json' \
> -H 'fiware-service: test' \
> -H 'fiware-servicepath: /' \
> -d '{
> "devices": [{
> "device_id": "device001",
> "entity_name": "first:Area:001:IoTDevice:001",
> "entity_type": "IoTDevice",
> "transport": "HTTP",
> "protocol": "IoTA-JSON",
> "endpoint": "http://context-producer:3000/iot/iot-device/device001",
> "commands": [{
> "name": "ping",
> "type": "command"
> }],
> "attributes": [{
> "object_id": "c",
> "name": "count",
> "type": "Number"
> }],
> "static_attributes": [{
> "name": "refArea",
> "type": "Relationship",
> "value": "first:Area:001"
> },
> {
> "name": "name",
> "type": "Text",
> "value": "IoT Device 001"
> }
> ]
> }]
> }'
> Request 1: When you perform step 2, registration-type entities are automatically generated on the Orion context broker
> curl -X GET \
> http://localhost:1026/v2/registrations/ \
> -H 'fiware-service: test' \
> -H 'fiware-servicepath: /'
> Result:
> [
> {
> "id": "5bd6dbb2bef7081490c96eb2",
> "dataProvided": {
> "entities": [
> {
> "id": "first:Area:001:IoTDevice:001",
> "type": "IoTDevice"
> }
> ],
> "attrs": [
> "ping"
> ]
> },
> "provider": {
> "http": {
> "url": "http://iotagent-json:4041"
> },
> "supportedForwardingMode": "all",
> "legacyForwarding": true
> },
> "status": "active"
> }
> ]
> Test 1: Getting the IoTDevice-type entities related with the Area first:Area:001
> curl -X GET \
> 'http://localhost:1026/v2/entities?options=keyValues&q=refArea==first:Area:001' \
> -H 'fiware-service: test' \
> -H 'fiware-servicepath: /'
> OK Expected Result:
> [
> {
> "id": "first:Area:001:IoTDevice:001",
> "type": "IoTDevice",
> "TimeInstant": " ",
> "count": 0,
> "name": "IoT Device 001",
> "ping_info": " ",
> "ping_status": "UNKNOWN",
> "refArea": "first:Area:001",
> "ping": ""
> }
> ]
> Test 2: Getting the IoTDevice-type entities related with the Area second:Area:001
> curl -X GET \
> 'http://localhost:1026/v2/entities?options=keyValues&q=refArea==second:Area:001' \
> -H 'fiware-service: test' \
> -H 'fiware-servicepath: /'
> ERROR unexpected Result:
> [
> {
> "id": "first:Area:001:IoTDevice:001",
> "type": "IoTDevice",
> "ping": ""
> }
> ]
> The expected result was [ ] or empty but the query returned results that seem to come from the registration-type entities. This only happens if devices with attributes of type command are inserted. For example, the ping command.
>
> So, How can this be avoided?
--
This message was sent by Atlassian JIRA
(v6.4.1#64016)
You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy Cookies policy