{"action":"opened","issue":{"url":"https://api.github.com/repos/telefonicaid/fiware-orion/issues/1409","labels_url":"https://api.github.com/repos/telefonicaid/fiware-orion/issues/1409/labels{/name}","comments_url":"https://api.github.com/repos/telefonicaid/fiware-orion/issues/1409/comments","events_url":"https://api.github.com/repos/telefonicaid/fiware-orion/issues/1409/events","html_url":"https://github.com/telefonicaid/fiware-orion/issues/1409","id":112992153,"number":1409,"title":"APIv2: what makes entities unique?","user":{"login":"tobiasjacobs","id":7127252,"avatar_url":"https://avatars.githubusercontent.com/u/7127252?v=3","gravatar_id":"","url":"https://api.github.com/users/tobiasjacobs","html_url":"https://github.com/tobiasjacobs","followers_url":"https://api.github.com/users/tobiasjacobs/followers","following_url":"https://api.github.com/users/tobiasjacobs/following{/other_user}","gists_url":"https://api.github.com/users/tobiasjacobs/gists{/gist_id}","starred_url":"https://api.github.com/users/tobiasjacobs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobiasjacobs/subscriptions","organizations_url":"https://api.github.com/users/tobiasjacobs/orgs","repos_url":"https://api.github.com/users/tobiasjacobs/repos","events_url":"https://api.github.com/users/tobiasjacobs/events{/privacy}","received_events_url":"https://api.github.com/users/tobiasjacobs/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-23T10:14:50Z","updated_at":"2015-10-23T10:14:50Z","closed_at":null,"body":"In the \"Terminology\" section it is currently written that an entity is uniquely identified by its ID.\r\n\r\nOn the other hand, in the \"Entity by ID\" section a potential conflict between several entities having the same ID is mentioned. \r\n\r\nWe had this discussion already when defining NGSI 1...\r\n\r\nPossible solutions are\r\n (1) Entities are uniquely identified by their ID\r\n (2) Entities are uniquely identified by the combination of their ID and their type. The absence of a type is interpreted like a special type, say *null*. This means e.g. that updating an entity without specifying its type will update the entity with the *null* type, but not affect an entity with the same ID but type *my_type*. When querying an entity ID without specifying its type, only the entity with the *null* type is returned.\r\n (3) Entities are uniquely identified by the combination of their ID and type. Specification of an ID with absence of a type is interpreted as \"all entities with that ID\". For example, whenever in a query the type is not specified and there are several entities with that ID, all of them (or an error; to be discussed) are returned. When updating an entity without specifying the type, the update is applied to all entities with that ID, or an error is returned (to be discussed).\r\n\r\nIn my view 1) is the simplest approach and good enough for any practical scenario I can think about.\r\n\r\nWhat is your opinion?\r\n"}}