Skip to content

Commit 6a613a5

Browse files
committed
Final modifications for new datetime model, including many annotation updates
1 parent 630ff47 commit 6a613a5

File tree

3 files changed

+45
-28
lines changed

3 files changed

+45
-28
lines changed

docs/ReleaseNotes.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ gist Release Notes
44
Release 11.0.0
55
-----
66

7+
### Major Updates
8+
9+
- Implemented new time model based on datatype properties rather than `TimeInstant`. Issue [#499](https://github.com/semanticarts/gist/issues/499).
10+
- Deleted class `TimeInstant` and its subclasses. This class was previously used to materialize a point in time with different precisions (day, minute, system time), a time zone, a local and UTC value, and so on. Object properties were used to connect something to an instance of `TimeInstant`, specifying different relationships such as start and end, planned vs actual.
11+
- Defined a top-level datatype property `atDateTime`, neutral as to start/end, planned/actual, and precision (day, minute, microsecond). Replaced existing object properties to a hierarchy of subproperties of `atDateTime`, retaining distinctions between start and end, planned vs actual, and precisions.
12+
- Renamed `ContemporaneousEvent` to `ContemporaryEvent`.
13+
- Removed property `gist:hasOrderedMember`. `gist:hasMember` should be used instead. Issue [#540](https://github.com/semanticarts/gist/issues/540).
14+
- Removed domain and range constraints from `gist:requires`. Issue [#183](https://github.com/semanticarts/gist/issues/183).
15+
- Removed domain and range constraints from `gist:hasNumerator`, `gist:hasDenominator`, `gist:hasMultiplier`, and `gist:hasMultiplicand`. Issue [#160](https://github.com/semanticarts/gist/issues/160).
16+
717
### Minor Updates
818

919
- Added unit symbols for unit instances instances per issue [#579](https://github.com/semanticarts/gist/issues/579).

gistCore.ttl

Lines changed: 35 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,12 +1137,12 @@ gist:HistoricalEvent
11371137
gist:Event
11381138
[
11391139
a owl:Restriction ;
1140-
owl:onProperty gist:actualStartDate ;
1140+
owl:onProperty gist:actualStartDateTime ;
11411141
owl:cardinality "1"^^xsd:nonNegativeInteger ;
11421142
]
11431143
[
11441144
a owl:Restriction ;
1145-
owl:onProperty gist:actualEndDate ;
1145+
owl:onProperty gist:actualEndDateTime ;
11461146
owl:cardinality "1"^^xsd:nonNegativeInteger ;
11471147
]
11481148
) ;
@@ -1291,7 +1291,6 @@ gist:LivingThing
12911291
"Negative examples: fictional life forms such as unicorns or Mickey Mouse."^^xsd:string
12921292
;
12931293
skos:prefLabel "Living Thing"^^xsd:string ;
1294-
skos:scopeNote "In the open world, you must assume that it might have died since the assertion was made."^^xsd:string ;
12951294
.
12961295

12971296
gist:LuminousIntensity
@@ -1645,12 +1644,12 @@ gist:Offer
16451644
]
16461645
[
16471646
a owl:Restriction ;
1648-
owl:onProperty gist:plannedStartDate ;
1647+
owl:onProperty gist:plannedStartDateTime ;
16491648
owl:cardinality "1"^^xsd:nonNegativeInteger ;
16501649
]
16511650
[
16521651
a owl:Restriction ;
1653-
owl:onProperty gist:plannedEndDate ;
1652+
owl:onProperty gist:plannedEndDateTime ;
16541653
owl:someValuesFrom xsd:dateTime ;
16551654
]
16561655
) ;
@@ -2709,7 +2708,7 @@ gist:actualEndDate
27092708
a owl:DatatypeProperty ;
27102709
rdfs:subPropertyOf gist:actualEndDateTime ;
27112710
rdfs:range xsd:dateTime ;
2712-
skos:definition "The actual date that something ended, with precision of one day (+/- 12 hours)."^^xsd:string ;
2711+
skos:definition "The actual date that something ended, with precision of one day."^^xsd:string ;
27132712
skos:example "'2021-06-01T00:00:00-6:00'^^xsd:dateTime"^^xsd:string ;
27142713
skos:prefLabel "actual end date"^^xsd:string ;
27152714
skos:scopeNote "Used for things where the precision of a date is sufficient, such as most projects, tasks, and the like. Recommended usage is to zero out the hours through microseconds to avoid spurious precision."^^xsd:string ;
@@ -2719,7 +2718,7 @@ gist:actualEndDateTime
27192718
a owl:DatatypeProperty ;
27202719
rdfs:subPropertyOf gist:endDateTime ;
27212720
rdfs:range xsd:dateTime ;
2722-
skos:definition "The actual date and time that something ended."^^xsd:string ;
2721+
skos:definition "The actual date and time that something ended, with no implied precision."^^xsd:string ;
27232722
skos:prefLabel "actual end date time"^^xsd:string ;
27242723
skos:scopeNote "This is an abstraction over the various precisions of actual end time, and is not expected to be asserted directly. Values with different precisions can be compared since they all have the same format."^^xsd:string ;
27252724
.
@@ -2738,7 +2737,7 @@ gist:actualEndMinute
27382737
a owl:DatatypeProperty ;
27392738
rdfs:subPropertyOf gist:actualEndDateTime ;
27402739
rdfs:range xsd:dateTime ;
2741-
skos:definition "The actual date and time that something ended, with precision +/- 30 seconds."^^xsd:string ;
2740+
skos:definition "The actual date and time that something ended, with precision of one minute."^^xsd:string ;
27422741
skos:example "'2021-06-01T08:32:00-6:00'^^xsd:dateTime"^^xsd:string ;
27432742
skos:prefLabel "actual end minute"^^xsd:string ;
27442743
skos:scopeNote "Used for things like meetings and time card entries, where the hour and minute are important. Recommended usage is to zero out the seconds and microseconds to avoid spurious precision."^^xsd:string ;
@@ -2748,7 +2747,7 @@ gist:actualStartDate
27482747
a owl:DatatypeProperty ;
27492748
rdfs:subPropertyOf gist:actualStartDateTime ;
27502749
rdfs:range xsd:dateTime ;
2751-
skos:definition "The actual date that something started, with precision of one day (+/- 12 hours)."^^xsd:string ;
2750+
skos:definition "The actual date that something started, with precision of one day."^^xsd:string ;
27522751
skos:example "'2021-06-01T00:00:00-6:00'^^xsd:dateTime"^^xsd:string ;
27532752
skos:prefLabel "actual start date"^^xsd:string ;
27542753
skos:scopeNote "Used for things where the precision of a date is sufficient, such as most projects, tasks, and the like. Recommended usage is to zero out the hours through microseconds to avoid spurious precision."^^xsd:string ;
@@ -2758,7 +2757,7 @@ gist:actualStartDateTime
27582757
a owl:DatatypeProperty ;
27592758
rdfs:subPropertyOf gist:startDateTime ;
27602759
rdfs:range xsd:dateTime ;
2761-
skos:definition "The actual date and time that something ended."^^xsd:string ;
2760+
skos:definition "The actual date and time that something ended, with no implied precision."^^xsd:string ;
27622761
skos:prefLabel "actual start date time"^^xsd:string ;
27632762
skos:scopeNote "This is an abstraction over the various precisions of actual start time, and is not expected to be asserted directly. Values with different precisions can be compared since they all have the same format."^^xsd:string ;
27642763
.
@@ -2777,7 +2776,7 @@ gist:actualStartMinute
27772776
a owl:DatatypeProperty ;
27782777
rdfs:subPropertyOf gist:actualStartDateTime ;
27792778
rdfs:range xsd:dateTime ;
2780-
skos:definition "The actual date and time that something started, with precision +/- 30 seconds."^^xsd:string ;
2779+
skos:definition "The actual date and time that something started, with precision of one minute."^^xsd:string ;
27812780
skos:example "'2021-06-01T08:32:00-6:00'^^xsd:dateTime"^^xsd:string ;
27822781
skos:prefLabel "actual start minute"^^xsd:string ;
27832782
skos:scopeNote "Used for things like meetings and time card entries, where the hour and minute are important. Recommended usage is to zero out the seconds and microseconds to avoid spurious precision."^^xsd:string ;
@@ -2786,7 +2785,7 @@ gist:actualStartMinute
27862785
gist:affects
27872786
a owl:ObjectProperty ;
27882787
owl:inverseOf gist:isAffectedBy ;
2789-
skos:definition "The subject has or had or will have an effect on the object."^^xsd:string ;
2788+
skos:definition "The subject has, had, or will have an effect on the object."^^xsd:string ;
27902789
skos:prefLabel "affects"^^xsd:string ;
27912790
.
27922791

@@ -2801,7 +2800,7 @@ gist:allows
28012800
gist:atDateTime
28022801
a owl:DatatypeProperty ;
28032802
rdfs:range xsd:dateTime ;
2804-
skos:definition "Relates an object to a date and time at which it occurs, with variants for precision, start and end, and actual vs. planned."^^xsd:string ;
2803+
skos:definition "The date and time at which something did or will occur, with variants for precision, start and end, and actual vs. planned."^^xsd:string ;
28052804
skos:prefLabel "at date time"^^xsd:string ;
28062805
skos:scopeNote """This is the top level property for asserting time, and is not expected to be asserted directly.
28072806
@@ -2818,8 +2817,8 @@ There will be many historical dates that do not have a time zone offset (e.g., L
28182817
28192818
The conventions for precision that are repeated in each property name are as follows:
28202819
- *DateTime is an abstraction over the various precisions of its subproperties.
2821-
- *Date refers to a calendar date (e.g., birthdays and invoice dates) and is assumed to be precise +/- 12 hours. Time zone offset is allowed.
2822-
- *Minute refers to clock time; e.g., a meeting will start at 9:15 with a timezone offset. Precision is assumed to be +/- 30 seconds.
2820+
- *Date refers to a calendar date (e.g., birthdays and invoice dates) and is assumed to have precision of one day. Time zone offset is allowed.
2821+
- *Minute refers to clock time; e.g., a meeting will start at 9:15 with a timezone offset. Precision is assumed to have precision of one minute.
28232822
- *Microsecond refers to system time, and it will be as precise as the system can supply; typically at least milliseconds, sometime microseconds.
28242823
28252824
"""^^xsd:string ;
@@ -2837,10 +2836,10 @@ gist:birthDate
28372836
a owl:DatatypeProperty ;
28382837
rdfs:subPropertyOf gist:startDateTime ;
28392838
rdfs:range xsd:dateTime ;
2840-
skos:definition "The date some living thing was or will be born."^^xsd:string ;
2839+
skos:definition "The date some living thing was or will be born, with precision of one day."^^xsd:string ;
28412840
skos:example "'2021-06-01T00:00:00-6:00'^^xsd:dateTime"^^xsd:string ;
28422841
skos:prefLabel "birth date"^^xsd:string ;
2843-
skos:scopeNote "This is a subproperty of gist:startDateTime rather than gist:actualStartDate because some living things have yet to be born. This property refers to a calendar date and is assumed to be precise +/- 12 hours (time zone offset is allowed). It is recommended to zero out the hours through microseconds to avoid spurious precision. Implementations requiring a birthdate to the minute can define a subproperty."^^xsd:string ;
2842+
skos:scopeNote "This is a subproperty of gist:startDateTime rather than gist:actualStartDate because some living things have yet to be born. This property refers to a calendar date and is assumed to precision of one day (time zone offset is allowed). It is recommended to zero out the hours through microseconds to avoid spurious precision. Implementations requiring a birthdate to the minute can define a subproperty."^^xsd:string ;
28442843
.
28452844

28462845
gist:comesFromAgent
@@ -2918,7 +2917,7 @@ gist:deathDate
29182917
skos:definition "The date some living thing died."^^xsd:string ;
29192918
skos:example "'2021-06-01T00:00:00-6:00'^^xsd:dateTime"^^xsd:string ;
29202919
skos:prefLabel "death date"^^xsd:string ;
2921-
skos:scopeNote "Refers to a calendar date and is assumed to be precise +/- 12 hours (time zone offset is allowed). Recommended usage is to zero out the hours through microseconds to avoid spurious precision. Implementations requiring a death date to the minute can define a subproperty."^^xsd:string ;
2920+
skos:scopeNote "Refers to a calendar date and is assumed to have precision of one day (time zone offset is allowed). Recommended usage is to zero out the hours through microseconds to avoid spurious precision. Implementations requiring a death date to the minute can define a subproperty."^^xsd:string ;
29222921
.
29232922

29242923
gist:description
@@ -3190,14 +3189,14 @@ gist:hasMultiplier
31903189
gist:hasNavigationalChild
31913190
a owl:ObjectProperty ;
31923191
owl:inverseOf gist:hasNavigationalParent ;
3193-
skos:definition "A property that relates a parent category to a child category in an informal (e.g., faceted) hierarchy."^^xsd:string ;
3192+
skos:definition "Relates a parent category to a child category in an informal (e.g., faceted) hierarchy."^^xsd:string ;
31943193
skos:example "Refrigerator handles are not refrigerators, but it may be useful to represent their relationship hierarchically for a faceted UI filter."^^xsd:string ;
31953194
skos:prefLabel "has navigational child"^^xsd:string ;
31963195
.
31973196

31983197
gist:hasNavigationalParent
31993198
a owl:ObjectProperty ;
3200-
skos:definition "A property that relates a child category to a parent category in an informal (e.g., faceted) hierarchy."^^xsd:string ;
3199+
skos:definition "Relates a child category to a parent category in an informal (e.g., faceted) hierarchy."^^xsd:string ;
32013200
skos:example "Refrigerator handles are not refrigerators, but it may be useful to represent their relationship hierarchically for a faceted UI filter."^^xsd:string ;
32023201
skos:prefLabel "has navigational parent"^^xsd:string ;
32033202
.
@@ -3538,6 +3537,14 @@ gist:isRecognizedDirectlyBy
35383537
skos:prefLabel "is recognized directly by"^^xsd:string ;
35393538
.
35403539

3540+
gist:isRecordedAt
3541+
a owl:DatatypeProperty ;
3542+
rdfs:subPropertyOf gist:actualEndDateTime ;
3543+
skos:definition "Date that something was posted, not necessarily the date it occurred. Must be after the occurred date, but could be before or after the planned date. (Unusual, but I could record today that I expected to be paid last week.)"^^xsd:string ;
3544+
skos:prefLabel "is recorded at"^^xsd:string ;
3545+
skos:scopeNote "Precision is variable according to context."^^xsd:string ;
3546+
.
3547+
35413548
gist:isRenderedOn
35423549
a owl:ObjectProperty ;
35433550
skos:definition "What media something was rendered On"^^xsd:string ;
@@ -3683,7 +3690,7 @@ gist:plannedEndDate
36833690
a owl:DatatypeProperty ;
36843691
rdfs:subPropertyOf gist:plannedEndDateTime ;
36853692
rdfs:range xsd:dateTime ;
3686-
skos:definition "The date that something is or was planned to end, with precision of one day (+/- 12 hours)."^^xsd:string ;
3693+
skos:definition "The date that something is or was planned to end, with precision of one day."^^xsd:string ;
36873694
skos:example "'2021-06-01T00:00:00-6:00'^^xsd:dateTime"^^xsd:string ;
36883695
skos:prefLabel "planned end date"^^xsd:string ;
36893696
skos:scopeNote "Used for anything with a planned end date, such as when a lease will expire, when an offer is no longer available, etc. Typically a planned date is in the future when first captured, but when tasks run late, we leave the plan where it was and compare it to the actual. Recommended usage is to zero out the hours through microseconds to avoid spurious precision."^^xsd:string ;
@@ -3693,7 +3700,7 @@ gist:plannedEndDateTime
36933700
a owl:DatatypeProperty ;
36943701
rdfs:subPropertyOf gist:endDateTime ;
36953702
rdfs:range xsd:dateTime ;
3696-
skos:definition "The date that something is or was planned to end."^^xsd:string ;
3703+
skos:definition "The date that something is or was planned to end, with no implied precision."^^xsd:string ;
36973704
skos:prefLabel "planned end date time"^^xsd:string ;
36983705
skos:scopeNote
36993706
"This is an abstraction over the various precisions of planned end time, and is not expected to be asserted directly. Values with different precisions can be compared since they all have the same format."^^xsd:string ,
@@ -3705,7 +3712,7 @@ gist:plannedEndMinute
37053712
a owl:DatatypeProperty ;
37063713
rdfs:subPropertyOf gist:plannedEndDateTime ;
37073714
rdfs:range xsd:dateTime ;
3708-
skos:definition "The date and time that something is or was planned to end, with precision of +/- 30 seconds."^^xsd:string ;
3715+
skos:definition "The date and time that something is or was planned to end, with precision of one minute."^^xsd:string ;
37093716
skos:example "'2021-06-01T08:32:00-6:00'^^xsd:dateTime"^^xsd:string ;
37103717
skos:prefLabel "planned end minute"^^xsd:string ;
37113718
skos:scopeNote "Used for things like meetings and time card entries, where the hour and minute are important. Recommended usage is to zero out the seconds and microseconds to avoid spurious precision.Typically a planned date is in the future when first captured, but when tasks run late, we leave the plan where it was and compare it to the actual."^^xsd:string ;
@@ -3715,7 +3722,7 @@ gist:plannedStartDate
37153722
a owl:DatatypeProperty ;
37163723
rdfs:subPropertyOf gist:plannedStartDateTime ;
37173724
rdfs:range xsd:dateTime ;
3718-
skos:definition "The date that something is or was planned to start, with precision of one day (+/- 12 hours)."^^xsd:string ;
3725+
skos:definition "The date that something is or was planned to start, with precision of one day."^^xsd:string ;
37193726
skos:example "'2021-06-01T00:00:00-6:00'^^xsd:dateTime"^^xsd:string ;
37203727
skos:prefLabel "planned start date"^^xsd:string ;
37213728
skos:scopeNote "Used for anything with a planned start date, such as when a lease will start, when a configuration becomes available, etc. Typically a planned date is in the future when first captured, but when tasks run late, we leave the plan where it was and compare it to the actual. Recommended usage is to zero out the hours through microseconds to avoid spurious precision."^^xsd:string ;
@@ -3725,7 +3732,7 @@ gist:plannedStartDateTime
37253732
a owl:DatatypeProperty ;
37263733
rdfs:subPropertyOf gist:startDateTime ;
37273734
rdfs:range xsd:dateTime ;
3728-
skos:definition "The date and time that something is or was planned to start."^^xsd:string ;
3735+
skos:definition "The date and time that something is or was planned to start, with no implied precision."^^xsd:string ;
37293736
skos:prefLabel "planned start date time"^^xsd:string ;
37303737
skos:scopeNote
37313738
"This is an abstraction over the various precisions of planned start time, and is not expected to be asserted directly. Values with different precisions can be compared since they all have the same format."^^xsd:string ,
@@ -3737,7 +3744,7 @@ gist:plannedStartMinute
37373744
a owl:DatatypeProperty ;
37383745
rdfs:subPropertyOf gist:plannedStartDateTime ;
37393746
rdfs:range xsd:dateTime ;
3740-
skos:definition "The date and time that something is or was planned to start, with precision of +/- 30 seconds."^^xsd:string ;
3747+
skos:definition "The date and time that something is or was planned to start, with precision of one minute."^^xsd:string ;
37413748
skos:example "'2021-06-01T08:32:00-6:00'^^xsd:dateTime"^^xsd:string ;
37423749
skos:prefLabel "planned start minute"^^xsd:string ;
37433750
skos:scopeNote "Used for things like meetings and time card entries, where the hour and minute are important. Typically a planned date is in the future when first captured, but when tasks run late, we leave the plan where it was and compare it to the actual. Recommended usage is to zero out the seconds and microseconds to avoid spurious precision."^^xsd:string ;
@@ -3894,7 +3901,8 @@ gist:unitSymbolUnicode
38943901
gist:usesTimeZoneStandard
38953902
a owl:ObjectProperty ;
38963903
rdfs:range gist:TimeZoneStandard ;
3897-
skos:definition "The time zone with daylight savings adjust."^^xsd:string ;
3904+
skos:definition "The time zone adjusted to daylight savings time."^^xsd:string ;
3905+
skos:example "Easter Standard Time, Pacific Daylight Savings Time."^^xsd:string ;
38983906
skos:prefLabel "uses time zone standard"^^xsd:string ;
38993907
.
39003908

migration/v10.0/detect_removed.rq

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ WHERE {
3434
gist:getter
3535
gist:giver
3636
gist:hasA
37-
gist:hasOrderedMember
3837
gist:localDate
3938
gist:localDateTime
4039
gist:of

0 commit comments

Comments
 (0)