[Fiware-ngsi] QueryContext proposal

Haller, Stephan stephan.haller at sap.com
Thu Mar 1 17:25:45 CET 2012


All,

I have taken Denes input and added a few cases and compiled it to an Excel sheet as a basis for further discussion. Using Excel helps avoiding formatting issues you sometimes have when tables are included directly in e-mails.

To move forward, we should in my opinion use the following approach:

1.       Agree that tables in the Excel sheet cover all potential cases

2.       Agree how each case should be handled (fail / no fail)

3.       Agree on the REST details (error codes, operation to use)

4.       Update the Binding Word document with all the details

Some of the assumptions I made - on which we obviously also need to agree:

1.       A request should either be completely successful or fail (Atomicity). Handling of partially successful calls (e.g., "2 out of 3 attributes added") would become a nightmare (both on the client as well as for consistency reasons)

2.       Use the ID meta data attribute to check if two attributes are the same or not. If we have more than one attribute of the same name, they MUST have meta data with an ID, else we cannot distinguish them.

Regards,
-Stephan



From: Haller, Stephan
Sent: Donnerstag, 1. März 2012 10:07
To: 'Bisztray, Denes (NSN - HU/Budapest)'; 'ext Tobias Jacobs'; 'Martin Bauer'; 'Farkas, Lorant (NSN - HU/Budapest)'; Zamani Farahani, Armin; 'fiware-ngsi at lists.fi-ware.eu'; Tschirschnitz, Fabian
Subject: RE: QueryContext proposal

Denes,

I am in a long meeting all day today, so I will look at this carefully in the evening or tomorrow. One quick remark regarding the meta data match: I think we need to look at specific meta data elements - a match on something like "ID" or "Source" would likely indicate some other action than just a match on "timestamp"....

Any yes, I do realize that this is complicating things... :-(

Regards,
-Stephan


From: Bisztray, Denes (NSN - HU/Budapest) [mailto:denes.bisztray at nsn.com]
Sent: Donnerstag, 1. März 2012 08:48
To: Haller, Stephan; ext Tobias Jacobs; Martin Bauer; Farkas, Lorant (NSN - HU/Budapest); Zamani Farahani, Armin; fiware-ngsi at lists.fi-ware.eu; Tschirschnitz, Fabian
Subject: QueryContext proposal


Hi all,

Here is my proposal for the queryContext semantics.

PLEASE READ CAREFULLY before replying.

Attribute mass replace scenario (either contextElements or /{contextElement}) level.

Note: the input as per page 22/sec.5.4.6.1 we assume only a set of ContextElements with the contained attributes and the update action type.

Note: in case the input ContextAttribute set of a ContextElement contains a set of ContextAttributes of the same name, then that ContextElement will fail in the ContextElementResponse structure with 400 Bad Request. (this is why the multiple value input with no metadata is not considered)

1.      Replace (update action), (PUT)

Input ->        One Attribute   Multiple Attibutes with same name
        no metadata at all      exact metadata match (one result)       partial metadata match (one result)     multiple result match   exact metadata match (one result per attribute value)   partial metadata match (one result per attribute value) multiple result match
One Attribute   replace replace Fail 409 / ?    Fail 409        Replace the matched ones        Fail 409 / ?    Fail 409
Multiple Attributes with same name      Fail 409        replace Fail 409 / ?    Fail 409        Replace the matched ones        Fail 409 / ?    Fail 409

Open question: what should happen to the Multiple Attribute Same Name input case with those attributes that are not matched?

2.      Append (append action), (POST)

Input ->        One Attribute   Multiple Attibutes with same name
        no metadata at all      exact metadata match (one result)       partial metadata match (one result)     Multiple result partial match   exact metadata match (one result per attribute value)   partial metadata match (one result per attribute value) multiple result partial match
One Attribute   Fail 400        Fail 409        Add new Add new Fail the matched ones with Fail 409, add the others     Add all Add all
Multiple Attributes with same name      Fail 400        Fail 409        Add new Add new Fail the matched ones with Fail 409, add the others     Add all Add all

3.      Delete (delete action), (DELETE)

Input ->        One Attribute   Multiple Attibutes with same name
        no metadata at all      exact metadata match (one result)       partial metadata match (one result)     Multiple result partial match   exact metadata match (one result per attribute value)   partial metadata match (one result per attribute value) multiple result partial match
One Attribute   Delete  Delete  Fail 409 / ?    Fail 409        Delete the matched ones         Fail 409 / ?    Fail 409
Multiple Attributes with same name      Fail 409        Delete  Fail 409 / ?    Add new Delete the matched ones Fail 409 / ?    Fail 409
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fiware.org/private/fiware-ngsi/attachments/20120301/b22e9e36/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: RESTBindingV1.xlsx
Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
Size: 13886 bytes
Desc: RESTBindingV1.xlsx
URL: <https://lists.fiware.org/private/fiware-ngsi/attachments/20120301/b22e9e36/attachment.xlsx>


More information about the Fiware-ngsi mailing list

You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy   Cookies policy