We use proprietary and third party´s cookies to improve your experience and our services, identifying your Internet Browsing preferences on our website; develop analytic activities and display advertising based on your preferences. If you keep browsing, you accept its use. You can get more information on our Cookie Policy
Cookies Policy
Ask Your Question

At DataModels, What's the difference between 'timestamp' and 'dateModified'?

asked 2016-10-25 20:21:48 +0200

LeonanCarvalho gravatar image

In some datamodels are used 2 different attribute name to represent time instant, timestamp or dateModified.

For exemple on Device datamodel the attribute batteryLevel are used timestamp and on configuration, dateModified.

dateModified : It captures the last modification timestamp of this attribute.

timestamp: Timestamp when the last update of the attribute happened. This value can also appear as a FIWARE TimeInstant

It's sounds quite similar. The difference between this two attributes justify use a two different names?

Check for the existence of the same attribute on any of the other models and reuse it, if pertinent.

edit retag flag offensive close merge delete

1 answer

Sort by » oldest newest most voted

answered 2016-10-26 10:02:34 +0200

jmcantera gravatar image

updated 2016-10-26 10:03:37 +0200

Be careful the semantics of timestamp and dateModified are different.

timestamp captures as an ISO8601 timestamp when the associated measurement (represented as attribute value) was observed.

dateModified captures the last modification date and time of an attribute.

Typically dateModified will be >= than timestamp particularly on IoT networks such as SIGfox or Lora that only transmit data at certain time slots.

literally from the guidelines:

Use a metadata attribute named timestamp for capturing the last update timestamp of a dynamic attribute. Please note that this is the actual date at which the measured value was obtained (from a sensor, by visual observation, etc.), and that date might be different than the date (metadata attribute named dateModified as per NGSIv2) at which the attribute of the digital entity was updated, as typically there might be delay, specially on IoT networks which deliver data only at specific timeslots.

With regards to the particular example of this question, batteryLevel is an observed value, so a timestamp makes sense, even though the attribute may have a dateModified metadata as well.

On the other hand it has been considered that configuration is a kind of semi-static attribute which, informatively, conveys the device's current configuration. As it is not bounded to any measurement, it is only used the dateModified attribute. If it happens that you want to capture the date and time on which such configuration was made effective on the device, (provided there is some kind of automatic configuration procedure) then it would make sense to add another metadata representing such instant of time. But, we have assumed that in this case this distinction might not very relevant, and as a result we only propose to use the dateModified attribute.

I hope this clarifies.

edit flag offensive delete link more


Thank you for your very useful information.

LeonanCarvalho gravatar imageLeonanCarvalho ( 2016-10-26 13:16:58 +0200 )edit
Login/Signup to Answer

Question Tools

1 follower


Asked: 2016-10-25 20:20:38 +0200

Seen: 24,793 times

Last updated: Oct 26 '16