Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remodel times to use datatype properties rather than TimeInstant #499

Closed
rjyounes opened this issue Jun 29, 2021 · 16 comments
Closed

Remodel times to use datatype properties rather than TimeInstant #499

rjyounes opened this issue Jun 29, 2021 · 16 comments
Assignees
Labels
impact: major Non-backward compatible (changes inferences; e.g., adding a restriction, domain, range) status: implementation specified Implementation has been specified. A developer should be assigned. topic: dates and times

Comments

@rjyounes
Copy link
Collaborator

Proposal by @mkumba. Documents attached.

gistTime-apptx.pptx
experimentsWithDateDatatypes.ttl.txt

@rjyounes rjyounes added the impact: major Non-backward compatible (changes inferences; e.g., adding a restriction, domain, range) label Jun 29, 2021
@rjyounes
Copy link
Collaborator Author

Adding to July 2021 project in order to consider postponing release of 10.0.0 to include these changes.

@rjyounes
Copy link
Collaborator Author

See description of #470:

As currently constituted (v9.7), gist provides no way to assert a start or stop time directly. It all relies on the use of TimeInstant instances, which can be cumbersome, hard to mint in a standard fashion, and not always necessary.
We should provide a standard set of datatype properties with an xsd:dateTime range. Provisionally, this could be something like:

gist:atDateTime
     gist:occurAtDateTime
     gist:startAtDateTime
     gist:endAtDateTime
     gist:createAtDateTime
     gist:changeAtDateTime
     gist:lastModifyAtDateTime

If adopted, some class restrictions should be rewritten to include the use of these in addition to the TimeInstant-dependent properties.

@rjyounes
Copy link
Collaborator Author

In the scope of this proposal, consider all issues labeled topic: dates and times.

@rjyounes rjyounes changed the title Proposal for remodeling times in gist Remodel times to use datatype values rather than TimeInstant Aug 26, 2021
@rjyounes rjyounes added the status: deferred to major release Involves a major change so deferred till next major release. An implementation may be specified. label Aug 26, 2021
@rjyounes
Copy link
Collaborator Author

rjyounes commented Aug 26, 2021

See Dave's slides attached to the description for the implementation details. A couple of predicate name changes:

  • XHumanInstant predicates change to XMinute - e.g., actualStartHumanDateTime => actualStartMinute
  • XSytemTime predicates change to XMicrosecond - e.g., actualStartSystemTime => actualStartMicrosecond

Also consider the new predicate names in version 10.0.0 - see issue #188 and PR #535 where relevant.

@rjyounes rjyounes changed the title Remodel times to use datatype values rather than TimeInstant Remodel times to use datatype properties rather than TimeInstant Aug 26, 2021
@uscholdm
Copy link
Contributor

  • XSytemTime predicates change to XMicrosecond - e.g., actualStartSystemTime => actualStartMillisecond

Which is it, microsecond or millisecond? I thought the latter.

@rjyounes
Copy link
Collaborator Author

rjyounes commented Aug 27, 2021

Yeah, I wondered, but system time uses microseconds (I think - someone else should confirm or disconfirm). How about nanoseconds? :)

@uscholdm
Copy link
Contributor

But you have both in the above example. Pick one.

@rjyounes
Copy link
Collaborator Author

I see. I've fixed it above.

@Jamie-SA
Copy link
Contributor

Jamie-SA commented Aug 27, 2021

The spec says this about seconds: "secondFrag is a numeral consisting of exactly two decimal digits, or two decimal digits, a decimal point, and one or more trailing digits"

That seems to say to me that it is neither microseconds or milliseconds. It is a fractional second to an arbitrary precision.

@rjyounes
Copy link
Collaborator Author

Then we need to call it "SystemTime" as Dave originally had it.

@Jamie-SA
Copy link
Contributor

Jamie-SA commented Dec 8, 2021

Do we have the final recommendation posted somewhere? Or a PR with the changes?
I'd like to start using the new terms on a project.

@mkumba
Copy link
Contributor

mkumba commented Dec 8, 2021 via email

@uscholdm
Copy link
Contributor

uscholdm commented Dec 9, 2021

My recollection is that Dave presented a suggested a major reworking of how we do dates and times. I remember thinking it was very workable and I don't recall a lot of push back. But I also do not recall any overt consensus to move forward with the idea. So I'd be a bit surprised if someone went ahead and did the work with a PR awaiting review.

@rjyounes
Copy link
Collaborator Author

rjyounes commented Dec 9, 2021

@uscholdm Looks like you're correct. We need to discuss this further, once we've conquered countries and governments. @DanCarey404 If you agree with this, you could hold off on submitting a PR.

@rjyounes rjyounes added the status: under review In triage label Dec 9, 2021
@Jamie-SA
Copy link
Contributor

Jamie-SA commented Dec 9, 2021

Hmmm, I thought we had reviewed this and were getting close to approving the set of dataproperties. There were a few small concerns still left. I hope we didn't lose ground by putting it off instead of just completing it when it was fresh on people's minds.

@rjyounes rjyounes removed the status: deferred to major release Involves a major change so deferred till next major release. An implementation may be specified. label Dec 17, 2021
@rjyounes rjyounes assigned marksem and unassigned DanCarey404 Jan 13, 2022
@rjyounes
Copy link
Collaborator Author

Assigning Mark to perform any cleanup on Dave's time modifications and submit a PR.

marksem added a commit that referenced this issue Jan 25, 2022
marksem added a commit that referenced this issue Jan 25, 2022
@rjyounes rjyounes added status: implementation specified Implementation has been specified. A developer should be assigned. and removed status: under review In triage labels Feb 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact: major Non-backward compatible (changes inferences; e.g., adding a restriction, domain, range) status: implementation specified Implementation has been specified. A developer should be assigned. topic: dates and times
Projects
None yet
Development

No branches or pull requests

6 participants