Page MenuHomePhabricator

[Task] Correct and update documentation for Time in DataModel description on mediawiki.org
Open, MediumPublic

Description

Also describe old vs. new behavior.

Event Timeline

Tobi_WMDE_SW raised the priority of this task from to Medium.
Tobi_WMDE_SW updated the task description. (Show Details)
Tobi_WMDE_SW added a project: Wikidata.
Addshore renamed this task from Correct and update documentation for time in DataModel description on mediawiki.org to Correct and update documentation for Time in DataModel description on mediawiki.org.Sep 7 2015, 10:51 AM
Addshore set Security to None.

I think the priority of this should be boosted, this should be easy to do and would like avoid lots of confusion / give us somewhere to direct people.

If we want to make the documentation match the way people have actually been using Time, we should explain that if after and before are both set to 0, the event occurred some time during the period designated by truncating the time in accord with the precision value. So if time = +1790-04-17T00:00:00Z, precision = 11, after = before = 0 and timezone = 0 then the event could have happened any time between 1790-04-17T00:00:00Z and 17-04-17T24:00:00Z. This differs from normal technical notation, where +1790-04-17T00:00:00Z ± 0 days would mean exactly +1790-04-17T00:00:00Z.

The inability to designate a time zone with the user interface, making most of the dates in the database wrong, is not something that can be fixed with documentation; that's a problem for a different ticket.

Before = 0, after = 0 does not mean +/-0. Who said that? If you want to describe an exact minute or second, you need to set precision to minute or second, which is still not supported for good reasons. With precision set to day, both "before = 0, after = 0" and "before = 0, after = 1" simply describe the day. Not a specific point of time within that day. Just the day as a whole. It always was like this.

In T89246#1614220, @thiemowmde wrote in part:

Before = 0, after = 0 does not mean +/-0. Who said that?

Obviously the first time a person reads the data model, the person will interpret it in the context of previous experience. The terms "before" and "after" are not normally used to express uncertainty; the usual terminology is ±. Naturally people used to seeing ± will apply that line of thinking to "before" and "after" and decide that before = after = 0 means the time is exact. When inventing new terminology the description must rule out any plausible misinterpretation. This is often accomplished by giving a fully explained example.

Furthermore, the current data model is contradictory. First it says "A TimeValue represents a point in time that might be imprecise" (emphasis added) and then it fails to provide any value for precision that indicates a exact moment. If you can't set precision to indicate an exact value, every TimeValue is always imprecise.

Also, thiemowmde's comment might just have some less-than-ideal wording, or might contain a misconception. According to the statement in the current data model a TimeValue represents a point in time. thiemowmde's comment "Not a specific point of time within that day" is ok if thiemowmde means the event is modeled as happening at a specific moment, but the time of the moment is uncertain. But it would be wrong to think TimeValue represents an interval. Strictly speaking it would be wrong to use a single TimeValue to represent the observance of Labor Day in the Eastern US this year. Instead the best (not perfect) representation would be a start time value 2015-09-07T00:00:59Z, timezone =-04:00, precision = 14, before =0, after = 0 and an end time value the same except the time would be 2015-09-07T59:59:59Z. This cumbersome representation would be needed since there is no data type for an interval.

Jonas renamed this task from Correct and update documentation for Time in DataModel description on mediawiki.org to [Task] Correct and update documentation for Time in DataModel description on mediawiki.org.Sep 10 2015, 1:50 PM
Jonas added a project: Documentation.