27

Time Ontology in OWL

 2 years ago
source link: https://www.w3.org/TR/2017/REC-owl-time-20171019/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Time Ontology in OWL

Time Ontology in OWL

W3C Recommendation 19 October 2017

This version: https://www.w3.org/TR/2017/REC-owl-time-20171019/ Latest published version: https://www.w3.org/TR/owl-time/ Latest editor's draft: https://w3c.github.io/sdw/time/ Implementation report: https://www.w3.org/2015/spatial/wiki/OWL_Time_Ontology_adoption Previous version: https://www.w3.org/TR/2017/PR-owl-time-20170907/ Editors: Simon Cox, CSIRO Chris Little, Met Office

Contributors:

Jerry R. Hobbs

Feng Pan

Repository: GitHub Issues OGC Document Number:

OGC 16-071r2

Please check the errata for any errors or issues reported since publication.

See also translations.

Copyright © 2017 OGC & W3C ® ( MIT, ERCIM, Keio, Beihang), W3C liability, trademark and document use rules apply.


Abstract

OWL-Time is an OWL-2 DL ontology of temporal concepts, for describing the temporal properties of resources in the world or described in Web pages. The ontology provides a vocabulary for expressing facts about topological (ordering) relations among instants and intervals, together with information about durations, and about temporal position including date-time information. Time positions and durations may be expressed using either the conventional (Gregorian) calendar and clock, or using another temporal reference system such as Unix-time, geologic time, or different calendars.

The namespace for OWL-Time terms is http://www.w3.org/2006/time#

The suggested prefix for the OWL-Time namespace is time

The OWL-Time ontology is available here.

An ontology of individuals for the Gregorian calendar (months) is available here.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.

For OGC - this document was prepared by the Spatial Data on the Web Working Group (SDWWG) — a joint W3C-OGC project (see charter). The document is prepared following W3C conventions. At the time of publication, this document was in the approval process for the OGC Full standards track and thus its status in the OGC will be indicated in Discussion Papers or OGC Standards on the OGC website. Recipients of this document are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.

New classes and properties are introduced in this revision of OWL-Time. The new elements primarily relate to relaxing the limitation that time position uses only the Gregorian Calendar, and are placed in a logical hierarchy in relation to the original elements. While there is less implementation evidence for these than the elements from the 2006 version, the new elements are essential to satisfying key requirements in the revision.

However, a small number of other new elements merit additional explanation:

  1. :hasXSDDuration allows use of the compact xsd:duration element to describe the extent of a temporal entity. This complements existing predicates used with XSD datatypes, and was an inexplicable omission from the original ontology.
  2. :MonthOfYear and :monthOfYear complement :DayOfWeek and :dayOfWeek to support vernacular names for months as well as days.
  3. :hasTime is a completely generic predicate for associating a temporal entity with anything. A number of generic predicates suitable for use directly in applications were requested, but in general were deemed undesirable in an ontology dealing with the description of time elements rather than their use. This one only was included for users unwilling or unable to define their own semantics.

This document was published by the Spatial Data on the Web Working Group as a Recommendation. Comments regarding this document are welcome. Please send them to the GitHub repository. An archive of the mailing list is also available.

Please see the Working Group's implementation report.

This document has been reviewed by W3C Members, by software developers, and by other W3C groups and interested parties, and is endorsed by the Director as a W3C Recommendation. It is a stable document and may be used as reference material or cited from another document. W3C's role in making the Recommendation is to draw attention to the specification and to promote its widespread deployment. This enhances the functionality and interoperability of the Web.

This document was produced by a group operating under the W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

This document is governed by the 1 March 2017 W3C Process Document.

Table of Contents

1. Motivation and background

Temporal information is important in most real world applications. For example, the date is always part of an online order. When you rent a car it is for specific dates. Events in the world occur at specific times and usually have a finite duration. Transactions occur in a sequence, with the current state of a system depending on the exact history of all the transactions. Knowledge of the temporal relationships between transactions, events, travel and orders is often critical. OWL-Time has been developed in response to this need, for describing the temporal properties of any resource denoted using a web identifier (URI), including web-pages and real-world things if desired. It focusses particularly on temporal ordering relationships. While these are implicit in all temporal descriptions, OWL-Time provides specific predicates to support, or to make explicit the results of, reasoning over the order or sequence of temporal entities.

There is a great deal of relevant existing work, some very closely related. ISO 8601 [iso8601] provides a basis for encoding time position and extent in a character string, using the most common modern calendar-clock system. Datatypes in XML Schema [xmlschema11-2] use a subset of the ISO 8601 format in order to pack multi-element values into a compact literal. Functions and operators on durations, and on dates and times, encoded in these ways are available in XPath and XQuery [xpath-functions-31]. XSLT [xslt20] also provides formatting functions for times and dates, with explicit support for the specified language, calendar and country. Some of the XML Schema datatypes are built-in to OWL2 [owl2-quick-reference], so the XPath and XQuery functions may be used on basic OWL data.

OWL-Time makes use of these encodings, but also provides representations in which the elements of a date and time are put into separately addressable resources, which can help with queries and reasoning applications. OWL-Time also supports other representations of temporal position and duration, including temporal coordinates (scaled position on a continuous temporal axis) and ordinal times (named positions or periods), as well as relaxing the expectation from the original version that dates must use the Gregorian calendar. However, OWL-Time has a particular focus on ordering relations ("temporal topology"), which is not supported explicitly in any of the date-time encodings.

A first-order logic axiomatization of the core of this ontology is available in [hp-04]. This document presents the OWL encodings of the ontology, with some additions.

This version of OWL-Time was developed in the Spatial Data on the Web Working Group (a joint activity involving W3C and the Open Geospatial Consortium). The ontology is based on the draft by Hobbs and Pan [owl-time-20060927], incorporating modifications proposed by Cox [co-15] to support more general temporal positions, along with other minor improvements. The substantial changes are listed in the change-log. The specification document has been completely re-written.

2. Notation and namespaces

Classes and properties from the Time Ontology are denoted in this specification using Compact URIs [curie].

The namespace for OWL-Time is http://www.w3.org/2006/time#. OWL-Time does not re-use elements from any other vocabularies, but does use some built-in datatypes from OWL and some additional types from XML Schema Part 2.

The table below indicates the full list of namespaces and prefixes used in this document.

Prefix Namespace ex http://example.org/time/ geol http://example.org/geologic/ greg http://www.w3.org/ns/time/gregorian# owl http://www.w3.org/2002/07/owl# prov http://www.w3.org/ns/prov# rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs http://www.w3.org/2000/01/rdf-schema# time or
no prefix http://www.w3.org/2006/time# xsd http://www.w3.org/2001/XMLSchema#

Where class descriptions include local restrictions on properties, these are described using the OWL 2 Manchester Syntax [owl2-manchester-syntax].

Examples and other code fragments are serialized using RDF 1.1 Turtle notation [turtle].

3. Principles and vocabulary overview

This section is non-normative.

3.1 Topological Temporal Relations

The basic structure of the ontology is based on an algebra of binary relations on intervals (e.g., meets, overlaps, during) developed by Allen [al-84], [af-97] for representing qualitative temporal information, and to address the problem of reasoning about such information.

The ontology starts with a class :TemporalEntity with properties :hasBeginning and :hasEnd that link to the temporal instants that define its limits, and :hasTemporalDuration to describe its extent. There are two subclasses: :Interval and :Instant, and they are the only two subclasses of :TemporalEntity. Intervals are, intuitively, things with extent. Instants are, intuitively, point-like in that they have no interior points, but it is generally safe to think of an instant as an interval with zero length, where the beginning and end are the same.

This idea - that time intervals are the more general case and time instants are just a limited specialization - is the first key contribution of Allen's analysis.

The class :Interval has one subclass :ProperInterval, which corresponds with the common understanding of intervals, in that the beginning and end are distinct, and whose membership is therefore disjoint from :Instant.

UML-style diagram of temporal entity classes
Figure 1 Core model of temporal entities.

The class :ProperInterval also has one subclass, :DateTimeInterval. The position and extent of a :DateTimeInterval is an element in a :GeneralDateTimeDescription.

Relations between intervals are the critical logic provided by Allen's analysis, and implemented in the ontology. These can be defined in a relatively straightforward fashion in terms of :before and identity on the beginning and end points. The thirteen elementary relations shown below are the second key contribution of Allen's analysis. These support unambiguous expression of all possible relations between temporal entities, which allows the computation of any relative position or sequence. Note that the standard interval calculus assumes all intervals are proper, so their beginning and end are different.

Schematic of Interval Relations
Figure 2 Thirteen elementary possible relations between time periods [af-97].

Two additional relations: In (the union of During, Starts and Finishes) and Disjoint (the union of Before and After) are not shown in the figure but are included in the ontology.

The properties :hasTemporalDuration, :hasBeginning and :hasEnd, together with a fourth generic property :hasTime, support the association of temporal information with any temporal entity, such as an activity or event, or other entity. These provide a standard way to attach time information to things, which may be used directly in applications if suitable, or specialized if needed.

3.2 Temporal reference systems, clocks, calendars

The duration of a TemporalEntity may be given using the datatype xsd:duration and the position of an Instant may be given using the datatype xsd:dateTimeStamp, which is built in to OWL 2 [owl2-syntax]. These both use the conventional notions of temporal periods (years, months, weeks ... seconds), the Gregorian calendar, and the 24-hour clock. The lexical representations use [iso8601] style notation, but ignoring leap seconds, which are explicitly mandated by the international standard.

While this satisfies most web applications, many other calendars and temporal reference systems are used in particular cultural and scholarly contexts. For example, the Julian calendar was used throughout Europe until the 16th century, and is still used for computing key dates in some orthodox Christian communities. Lunisolar (e.g. Hebrew) and lunar (e.g. Islamic) calendars are currently in use in some communities, and many similar have been used historically. Ancient Chinese calendars as well as the French revolutionary calendar used 10-day weeks. In scientific and technical applications, Julian date counts the number of days since the beginning of 4713 BCE, and Loran-C, Unix and GPS time are based on seconds counted from a specified origin in 1958, 1970 and 1980, respectively, with GPS time represented using a pair of numbers for week number plus seconds into week. Archaeological and geological applications use chronometric scales based on years counted backwards from ‘the present’ (defined as 1950 for radiocarbon dating [rc-14]), or using named periods associated with specified correlation markers ([cr-05], [cr-14], [mf-13]). Dynastic calendars (counting years within eras defined by the reign of a monarch or dynasty) were used in many cultures. In order to support these more general applications, the representation of temporal position and duration must be flexible, and annotated with the temporal reference system in use.

A set of ordered intervals (e.g. named dynasties, geological periods, geomagnetic reversals, tree rings) can make a simple form of temporal reference system that supports logical reasoning, known as an ordinal temporal reference system [iso19108].

Measurement of duration needs a clock. In its most general form a clock is just a regularly repeating physical event ('tick') and a counting mechanism for the 'ticks'. These counts may be used to logically relate two events and to calculate a duration between the events.

A calendar is a set of algorithms that enables clock counts to be converted into practical everyday dates and times related to the movement of astronomical bodies (day, month, year).

As astronomically based calendars try to fit inconvenient durations into a usable regular system of counting cycles, 'intercalations' are often used to re-align the calendar's repeating patterns with astronomical events. These intercalations may be of different durations depending on the calendar, such as leap seconds, leap days, or even a group of days. Leap days are explicit and leap seconds implicit in the Gregorian calendar, which underlies the model used in several classes in OWL-Time. A general treatment of intercalations is beyond the scope of this ontology.

For many purposes it is convenient to make temporal calculations in terms of clock durations that exceed everyday units such as days, weeks, months and years, using a representation of temporal position in a temporal coordinate system [iso19108], i.e. on a number line with a specified origin, such as Julian date, or Unix time. This may be converted to calendar units when necessary for human consumption.

Nevertheless, in practice much temporal information is not well-defined, in that there may be no clear statement about the assumed underlying calendar and clock.

3.3 Time position

OWL 2 has two built-in datatypes relating to time: xsd:dateTime and xsd:dateTimeStamp [owl2-syntax]. Other XSD types such as xsd:date, xsd:gYear and xsd:gYearMonth [xmlschema11-2] are also commonly used in OWL applications. These provide for a compact representation of time positions using the conventional Gregorian calendar and 24-hour clock, with timezone offset from UTC.

Four classes in the ontology support an explicit description of temporal position. :TemporalPosition is the common super-class, with a property :hasTRS to indicate the temporal reference system in use. :TimePosition has properties to alternatively describe the position using a number (i.e. a temporal coordinate), or a nominal value (e.g. geologic time period, dynastic name, archeological era). :GeneralDateTimeDescription has a set of properties to specify a date-time using calendar and clock elements. Its subclass :DateTimeDescription fixes the temporal reference system to the Gregorian calendar.

UML-style diagram of classes for temporal position
Figure 3 Classes for temporal position.

Following Allen's first key idea described above, even a time position has a finite extent, corresponding to the precision or temporal unit used. Thus, a :GeneralDateTimeDescription or :DateTimeDescription has a duration corresponding to the value of its :unitType.

3.4 Duration

The duration of an interval (or temporal sequence) can have many different descriptions. An interval can be 1 day 2 hours, or 26 hours, or 1560 minutes, and so on. It is useful to be able to talk about these descriptions in a convenient way as independent objects, and to talk about their equivalences. The extent of an interval can be given using multiple duration descriptions or individual durations (e.g., 2 days, 48 hours) , but these must all describe the same amount of time.

Four classes support the description of the duration of an entity. :TemporalDuration is the common super-class. :Duration has properties to describe the duration using a scaled number (i.e. a temporal quantity). :GeneralDurationDescription has a set of properties to specify a duration using calendar and clock elements, the definitions of which are given in the associated TRS description. Its subclass :DurationDescription fixes the temporal reference system to the Gregorian calendar, so the :hasTRS property may be omitted on individuals from this class.

:TemporalUnit is a standard duration which is used to scale a length of time, and to capture its granularity or precision.

UML representation of Temporal Duration and sub-classes
Figure 4 Classes for temporal duration.

We use two different sets of properties for :GeneralDateTimeDescription or :DateTimeDescription, and :GeneralDurationDescription or :DurationDescription, because their ranges are different. For example, :year (in :DateTimeDescription) has a range of xsd:gYear which is a position in the Gregorian calendar, while :years (in :DurationDescription) has a range of xsd:decimal so that you can say "duration of 2.5 years".

4. Vocabulary specification

In this vocabulary specification, Manchester syntax [owl2-manchester-syntax] is used where the value of a field is not a simple term denoted by a URI or cURI.

4.1 Classes

:DateTimeDescription | :DateTimeInterval | :DayOfWeek | :Duration | :DurationDescription | :GeneralDateTimeDescription | :GeneralDurationDescription | :Instant | :Interval | :MonthOfYear | :ProperInterval | :TemporalDuration | :TemporalEntity | :TemporalPosition | :TemporalUnit | :TimePosition | :TimeZone | :TRS

4.1.1 Date-time description

Class: time:DateTimeDescription Definition: Description of date and time structured with separate values for the various elements of a calendar-clock system. The temporal reference system is fixed to Gregorian Calendar, and the range of year, month, day properties restricted to corresponding XML Schema types xsd:gYear, xsd:gMonth and xsd:gDay, respectively. Subclass of: time:GeneralDateTimeDescription Subclass of: time:hasTRS value <http://www.opengis.net/def/uom/ISO-8601/0/Gregorian> Subclass of: time:year only xsd:gYear Subclass of: time:month only xsd:gMonth Subclass of: time:day only xsd:gDay

Other datetime concepts can be defined by specialization of :GeneralDateTimeDescription or :DateTimeDescription - see examples below.

4.1.2 Date-time interval

The class :DateTimeInterval is a subclass of :ProperInterval. It enables compact representation of an interval corresponding to a single element in a date-time description (i.e. a specified year, month, week, day, hour, minute, second). The property :hasDateTimeDescription describes the interval.

:DateTimeInterval can only be used for an interval whose limits coincide with a date-time element aligned to the calendar and timezone indicated. For example, while both have a duration of one day, the 24-hour interval beginning at midnight at the beginning of 8 May in Central Europe can be expressed as a :DateTimeInterval, but the 24-hour interval starting at 1:30pm cannot.

4.1.3 Day of week

Class: time:DayOfWeek Definition: The day of week Instance of: owl:Class

Seven individual members of :DayOfWeek are included in the ontology, corresponding to the seven days used in the Gregorian calendar, and using the English names :Sunday, :Monday, :Tuesday, :Wednesday, :Thursday, :Friday, :Saturday.

Membership of the class :DayOfWeek is open, to allow for alternative week lengths and different day names.

4.1.4 Duration

Class: time:Duration Definition: Duration of a temporal extent expressed as a decimal number scaled by a temporal unit Subclass of: :TemporalDuration Subclass of: time:numericDuration exactly 1 Subclass of: time:unitType exactly 1

4.1.5 Duration description

Class: time:DurationDescription Definition: Description of temporal extent structured with separate values for the various elements of a calendar-clock system. The temporal reference system is fixed to Gregorian Calendar, and the range of each of the numeric properties is restricted to xsd:decimal Subclass of: time:GeneralDurationDescription Subclass of: time:hasTRS value <http://www.opengis.net/def/uom/ISO-8601/0/Gregorian> Subclass of: time:years only xsd:decimal Subclass of: time:months only xsd:decimal Subclass of: time:weeks only xsd:decimal Subclass of: time:days only xsd:decimal Subclass of: time:hours only xsd:decimal Subclass of: time:minutes only xsd:decimal Subclass of: time:seconds only xsd:decimal

In the Gregorian calendar the length of the month is not fixed. Therefore, a value like "2.5 months" cannot be exactly compared with a similar duration expressed in terms of weeks or days.

4.1.6 Generalized date-time description

Class: time:GeneralDateTimeDescription Definition: Description of date and time structured with separate values for the various elements of a calendar-clock system Subclass of: :TemporalPosition Subclass of: time:timeZone max 1 Subclass of: time:unitType exactly 1 Subclass of: time:year max 1 Subclass of: time:month max 1 Subclass of: time:day max 1 Subclass of: time:hour max 1 Subclass of: time:minute max 1 Subclass of: time:second max 1 Subclass of: time:week max 1 Subclass of: time:dayOfYear max 1 Subclass of: time:dayOfWeek max 1 Subclass of: time:monthOfYear max 1

Two properties :timeZone, and :unitType, along with :hasTRS provide for reference information concerning the reference system and precision of temporal position values.

Six datatype properties :year, :month, :day, :hour, :minute, :second, together with :timeZone support the description of components of a temporal position in a calendar-clock system. These correspond with the 'seven property model' described in ISO 8601 [iso8601] and XML Schema Definition Language Part 2: Datatypes [xmlschema11-2], except that the calendar is not specified in advance, but is provided through the value of the :hasTRS property (defined above).

Some combinations of properties are redundant. For example, within a specified :year if :dayOfYear is provided then :day and :month can be computed, and vice versa. Individual values SHOULD be consistent with each other and the calendar, indicated through the value of the :hasTRS property.

Two additional properties :week and :dayOfYear allow for the numeric value of the week or day relative to the year. The property :dayOfWeek provides the name of the day, and the property :monthOfYear provides the name of the month.

4.1.7 Generalized duration description

Class: time:GeneralDurationDescription Definition: Description of temporal extent structured with separate values for the various elements of a calendar-clock system. Subclass of: :TemporalDuration Subclass of: time:hasTRS exactly 1 Subclass of: time:years max 1 Subclass of: time:months max 1 Subclass of: time:weeks max 1 Subclass of: time:days max 1 Subclass of: time:hours max 1 Subclass of: time:minutes max 1 Subclass of: time:seconds max 1

Seven datatype properties :years, :months, :weeks, :days, :hours, :minutes, and :seconds support the description of components of a temporal extent in a calendar-clock system.

The property time:hasTRS indicates the temporal reference system applicable for the duration components.

The extent of a time duration expressed as a GeneralDurationDescription depends on the Temporal Reference System. In some calendars the length of the week or month is not constant within the year. Therefore, a value like "2.5 months" may not necessarily be exactly compared with a similar duration expressed in terms of weeks or days. When non-earth-based calendars are considered even more care must be taken in comparing durations.

4.1.8 Time instant

Class: time:Instant Definition: A temporal entity with zero extent or duration Subclass of: time:TemporalEntity

Seven properties, :inXSDDate, :inXSDDateTime (deprecated), :inXSDDateTimeStamp, :inXSDgYear, :inXSDgYearMonth, :inTimePosition, and :inDateTime provide alternative ways to describe the temporal position of an :Instant.

4.1.9 Time interval

Class: time:Interval Definition: A temporal entity with an extent or duration Subclass of: time:TemporalEntity

One property :inside links to an :Instant that falls inside the :Interval.

4.1.10 Month of year

Class: time:MonthOfYear Definition: The month of the year Subclass of: time:DateTimeDescription Subclass of: time:year exactly 0 Subclass of: time:month exactly 1 Subclass of: time:week exactly 0 Subclass of: time:day exactly 0 Subclass of: time:hour exactly 0 Subclass of: time:minute exactly 0 Subclass of: time:second exactly 0 Subclass of: time:unitType value time:unitMonth

Twelve individual members of :MonthOfYear are provided in a separate namespace, corresponding to the twelve months used in the Gregorian calendar greg:January, greg:February, greg:March, greg:April, greg:May, greg:June, greg:July, greg:August, greg:September, greg:October, greg:November, greg:December. Each month is defined by setting the value of time:month to the corresponding value.

Membership of the class :MonthOfYear is open, to allow for alternative annual calendars and different month names.

4.1.12 Temporal duration

Class: time:TemporalDuration Definition: Time extent; duration of a time interval separate from its particular start position Instance of: owl:Class

4.1.13 Temporal entity

Class: time:TemporalEntity Definition: A temporal interval or instant. Instance of: owl:Class Union of: time:Instant , time:Interval

Two properties, :before, :after, support ordering relationships between two :TemporalEntitys.

The properties :hasBeginning, :hasEnd and :hasTemporalDuration (or its sub-properties), support the description of the bounds and extent of a :TemporalEntity.

4.1.14 Temporal position

Class: time:TemporalPosition Definition: A position on a time-line Instance of: owl:Class Subclass of: time:hasTRS exactly 1

The property time:hasTRS indicates the temporal reference system.

4.1.15 Temporal unit

Class: time:TemporalUnit Definition: A standard duration, which provides the scale factor for a time extent, or the granularity or precision for a time position. Subclass of: time:TemporalDuration

Seven individual members of :TemporalUnit are included in the ontology, corresponding to the elements of the standard calendar-clock: :unitYear, :unitMonth, :unitWeek, :unitDay, :unitHour, :unitMinute and :unitSecond.

Membership of the class TemporalUnit is open, to allow for other temporal units used in some technical applications (e.g. millions of years, Baha'i month).

4.1.16 Time position

Class: time:TimePosition Definition: A temporal position described using either a (nominal) value from an ordinal reference system, or a (numeric) value in a temporal coordinate system. Subclass of: :TemporalPosition Subclass of: ( time:numericPosition exactly 1 ) or ( time:nominalPosition exactly 1 )

Two properties :nominalPosition and :numericPosition support the alternative descriptions of position or extent. One of these is expected to be present.

The temporal ordinal reference system should be provided as the value of the :hasTRS property

The temporal coordinate system should be provided as the value of the :hasTRS property

4.1.17 Time-zone

Class: time:TimeZone Definition: A Time Zone specifies the amount by which the local time is offset from UTC. A time zone is usually denoted geographically (e.g. Australian Eastern Daylight Time), with a constant value in a given region. The region where it applies and the offset from UTC are specified by a locally recognised governing authority. Instance of: owl:Class

No specific properties are provided for the class :TimeZone, the definition of which is beyond the scope of this ontology. The class specified here is a stub, effectively the superclass of all time zone classes.

An ontology for time zone descriptions was described in [owl-time-20060927] and provided as RDF in a separate namespace tzont:. However, that ontology was incomplete in scope, and the example datasets were selective. Furthermore, since the use of a class from an external ontology as the range of an ObjectProperty in OWL-Time creates a dependency, reference to the time zone class has been replaced with the 'stub' class in the normative part of this version of OWL-Time.

A designated timezone is associated with a geographic region. However, for a particular region the offset from UTC often varies seasonally, and the dates of the changes may vary from year to year. The timezone designation usually changes for the different seasons (e.g. Australian Eastern Standard Time vs. Australian Eastern Daylight Time). Furthermore, the offset for a timezone may change over longer timescales, though its designation might not.

Detailed guidance about working with time zones is given in [timezone].

4.1.18 Temporal reference system

Class: time:TRS Definition: A temporal reference system, such as a temporal coordinate system (with an origin, direction, and scale), a calendar-clock combination, or a (possibly hierarchical) ordinal system. Instance of: owl:Class

No specific properties are provided for the class :TRS, the definition of which is beyond the scope of this ontology. The class specified here is a stub, effectively the superclass of all temporal reference system types.

Note that an ordinal temporal reference system, such as the geologic timescale, may be represented directly, using this ontology, as a set of :ProperIntervals, along with enough inter-relationships to support the necessary ordering relationships. See example below of Geologic Timescale.

A taxonomy of temporal reference systems is provided in ISO 19108:2002 [iso19108], including (a) calendar + clock systems; (b) temporal coordinate systems (i.e. numeric offset from an epoch); (c) temporal ordinal reference systems (i.e. ordered sequence of named intervals, not necessarily of equal duration).

4.2 Properties

:after | :before | :day | :dayOfWeek | :dayOfYear | :days | :hasBeginning | :hasDateTimeDescription | :hasDuration | :hasDurationDescription | :hasEnd | :hasTemporalDuration | :hasTime | :hasTRS | :hasXSDDuration | :hour | :hours | :inDateTime | :inside | :inTemporalPosition | :intervalAfter | :intervalBefore | :intervalContains | :intervalDisjoint | :intervalDuring | :intervalEquals | :intervalFinishedBy | :intervalFinishes | :intervalIn | :intervalMeets | :intervalMetBy | :intervalOverlappedBy | :intervalOverlaps | :intervalStartedBy | :intervalStarts | :inTimePosition | :inXSDDate | :inXSDDateTime | :inXSDDateTimeStamp | :inXSDgYear | :inXSDgYearMonth | :minute | :minutes | :month | :monthOfYear | :months | :nominalPosition | :numericDuration | :numericPosition | :second | :seconds | :timeZone | :unitType | :week | :weeks | :xsdDateTime | :year | :years

4.2.1 after

Property: time:after Definition: Gives directionality to time. If a temporal entity T1 is after another temporal entity T2, then the beginning of T1 is after the end of T2. Instance of: owl:ObjectProperty Domain: time:TemporalEntity Range: time:TemporalEntity Inverse Property: time:before

4.2.2 before

Property: time:before Definition: Gives directionality to time. If a temporal entity T1 is before another temporal entity T2, then the end of T1 is before the beginning of T2. Thus, before can be considered to be basic to instants and derived for intervals. Instance of: owl:ObjectProperty Domain: time:TemporalEntity Range: time:TemporalEntity Inverse Property: time:after

4.2.3 day

Property: time:day Definition: Day position in a calendar-clock system. The range of this property is not specified, so can be replaced by any specific representation of a calendar day from any calendar. Instance of: owl:DatatypeProperty Domain: time:GeneralDateTimeDescription

4.2.4 day of week

Property: time:dayOfWeek Definition: The day of week, whose value is a member of the class time:DayOfWeek Instance of: owl:ObjectProperty Domain: time:GeneralDateTimeDescription Range: time:DayOfWeek

4.2.5 day of year

Property: time:dayOfYear Definition: The number of the day within the year Instance of: owl:DatatypeProperty Domain: time:GeneralDateTimeDescription Range: xsd:nonNegativeInteger

4.2.6 days duration

Property: time:days Definition: length of, or element of the length of, a temporal extent expressed in days Instance of: owl:DatatypeProperty Domain: time:GeneralDurationDescription Range: xsd:decimal

4.2.7 has beginning

Property: time:hasBeginning Definition: Beginning of a temporal entity. Instance of: owl:ObjectProperty Domain: time:TemporalEntity Range: time:Instant

4.2.8 has date-time description

Property: time:hasDateTimeDescription Definition: Position and extent of time:DateTimeInterval expressed as a structured value. The beginning and end of the interval coincide with the limits of the shortest element in the description. Instance of: owl:ObjectProperty Domain: time:DateTimeInterval Range: time:GeneralDateTimeDescription

4.2.9 has duration

Property: time:hasDuration Definition: Duration of a temporal entity, expressed as a scaled value or nominal value Instance of: owl:ObjectProperty Subproperty of: time:hasTemporalDuration Range: time:Duration

4.2.10 has duration description

Property: time:hasDurationDescription Definition: Duration of a temporal entity, expressed using a structured description Instance of: owl:ObjectProperty Subproperty of: time:hasTemporalDuration Range: time:DurationDescription

4.2.11 has end

Property: time:hasEnd Definition: End of a temporal entity. Instance of: owl:ObjectProperty Domain: time:TemporalEntity Range: time:Instant

4.2.12 has temporal duration

Property: time:hasTemporalDuration Definition: Duration of a temporal entity Instance of: owl:ObjectProperty Domain: time:TemporalEntity Range: time:TemporalDuration

4.2.13 has time

Property: time:hasTime Definition: Supports the association of a temporal entity (instant or interval) to any thing. Instance of: owl:ObjectProperty Range: time:TemporalEntity

4.2.14 temporal reference system used

Property: time:hasTRS Definition: The temporal reference system used by a temporal position or extent description. Instance of: owl:ObjectProperty Instance of: owl:FunctionalProperty Domain: time:TemporalPosition or time:GeneralDurationDescription Range: time:TRS

4.2.15 has XSD duration

Property: time:hasXSDDuration Definition: Extent of a temporal entity, expressed using xsd:duration Instance of: owl:DatatypeProperty Domain: time:TemporalEntity Range: xsd:duration

4.2.16 hour

Property: time:hour Definition: Hour position in a calendar-clock system Instance of: owl:DatatypeProperty Domain: time:GeneralDateTimeDescription Range: xsd:nonNegativeInteger

4.2.17 hours duration

Property: time:hours Definition: length of, or element of the length of, a temporal extent expressed in hours Instance of: owl:DatatypeProperty Domain: time:GeneralDurationDescription Range: xsd:decimal

4.2.18 in date-time description

Property: time:inDateTime Definition: Position of an instant, expressed using a structured description Instance of: owl:ObjectProperty Subproperty of: time:inTemporalPosition Domain: time:Instant Range: time:GeneralDateTimeDescription

4.2.19 has time instant inside

Property: time:inside Definition: An instant that falls inside the interval. It is not intended to include beginnings and ends of intervals. Instance of: owl:ObjectProperty Domain: time:Interval Range: time:Instant

4.2.20 temporal position

Property: time:inTemporalPosition Definition: Position of a time instant Instance of: owl:ObjectProperty Domain: time:Instant Range: time:TemporalPosition

4.2.21 interval after

Property: time:intervalAfter Definition: If a proper interval T1 is intervalAfter another proper interval T2, then the beginning of T1 is after the end of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval SubProperty of: time:after SubProperty of: time:intervalDisjoint Inverse of: time:intervalBefore

4.2.22 interval before

Property: time:intervalBefore Definition: If a proper interval T1 is intervalBefore another proper interval T2, then the end of T1 is before the beginning of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval SubProperty of: time:before SubProperty of: time:intervalDisjoint Inverse of: time:intervalAfter

4.2.23 interval contains

Property: time:intervalContains Definition: If a proper interval T1 is intervalContains another proper interval T2, then the beginning of T1 is before the beginning of T2, and the end of T1 is after the end of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval Inverse of: time:intervalDuring

4.2.24 interval disjoint

Property: time:intervalDisjoint Definition: If a proper interval T1 is intervalDisjoint another proper interval T2, then the beginning of T1 is after the end of T2, or the end of T1 is before the beginning of T2, i.e. the intervals do not overlap in any way, but their ordering relationship is not known. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval

4.2.25 interval during

Property: time:intervalDuring Definition: If a proper interval T1 is intervalDuring another proper interval T2, then the beginning of T1 is after the beginning of T2, and the end of T1 is before the end of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval Inverse of: time:intervalContains

4.2.26 interval equals

Property: time:intervalEquals Definition: If a proper interval T1 is intervalEquals another proper interval T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is coincident with the end of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval Disjoint with: time:intervalIn

4.2.27 interval finished by

Property: time:intervalFinishedBy Definition: If a proper interval T1 is intervalFinishedBy another proper interval T2, then the beginning of T1 is before the beginning of T2, and the end of T1 is coincident with the end of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval Inverse of: time:intervalFinishes

4.2.28 interval finishes

Property: time:intervalFinishes Definition: If a proper interval T1 is intervalFinishes another proper interval T2, then the beginning of T1 is after the beginning of T2, and the end of T1 is coincident with the end of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval SubProperty of: time:intervalIn Inverse of: time:intervalFinishedBy

4.2.29 interval in

Property: time:intervalIn Definition: If a proper interval T1 is intervalIn another proper interval T2, then the beginning of T1 is after the beginning of T2 or is coincident with the beginning of T2, and the end of T1 is before the end of T2 or is coincident with the end of T2, except that end of T1 may not be coincident with the end of T2 if the beginning of T1 is coincident with the beginning of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval Disjoint with: time:intervalEquals

4.2.30 interval meets

Property: time:intervalMeets Definition: If a proper interval T1 is intervalMeets another proper interval T2, then the end of T1 is coincident with the beginning of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval Inverse of: time:intervalMetBy

4.2.31 interval met by

Property: time:intervalMetBy Definition: If a proper interval T1 is intervalMetBy another proper interval T2, then the beginning of T1 is coincident with the end of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval Inverse of: time:intervalMeets

4.2.32 interval overlapped by

Property: time:intervalOverlappedBy Definition: If a proper interval T1 is intervalOverlappedBy another proper interval T2, then the beginning of T1 is after the beginning of T2, the beginning of T1 is before the end of T2, and the end of T1 is after the end of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval Inverse of: time:intervalOverlaps

4.2.33 interval overlaps

Property: time:intervalOverlaps Definition: If a proper interval T1 is intervalOverlaps another proper interval T2, then the beginning of T1 is before the beginning of T2, the end of T1 is after the beginning of T2, and the end of T1 is before the end of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval Inverse of: time:intervalOverlappedBy

4.2.34 interval started by

Property: time:intervalStartedBy Definition: If a proper interval T1 is intervalStartedBy another proper interval T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is after the end of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval Inverse of: time:intervalStarts

4.2.35 interval starts

Property: time:intervalStarts Definition: If a proper interval T1 is intervalStarts another proper interval T2, then the beginning of T1 is coincident with the beginning of T2, and the end of T1 is before the end of T2. Instance of: owl:ObjectProperty Domain: time:ProperInterval Range: time:ProperInterval SubProperty of: time:intervalIn Inverse of: time:intervalStartedBy

4.2.36 time position

Property: time:inTimePosition Definition: Position of an instant, expressed as a temporal coordinate or nominal value Instance of: owl:ObjectProperty Domain: time:Instant Range: time:TimePosition Subproperty of: time:inTemporalPosition

4.2.37 in XSD date

Property: time:inXSDDate Definition: Position of an instant, expressed using xsd:date Instance of: owl:DatatypeProperty Domain: time:Instant Range: xsd:date

4.2.38 in XSD date-time

Property: time:inXSDDateTime Definition: Position of an instant, expressed using xsd:dateTime Instance of: owl:DatatypeProperty Instance of: owl:DeprecatedProperty Domain: time:Instant Range: xsd:dateTime Deprecated: true

The property :inXSDDateTime is replaced by :inXSDDateTimeStamp which makes the time-zone field mandatory.

4.2.39 in XSD date-time-stamp

Property: time:inXSDDateTimeStamp Definition: Position of an instant, expressed using xsd:dateTimeStamp, in which the time-zone field is mandatory Instance of: owl:DatatypeProperty Domain: time:Instant Range: xsd:dateTimeStamp

4.2.40 in XSD gYear

Property: time:inXSDgYear Definition: Position of an instant, expressed using xsd:gYear Instance of: owl:DatatypeProperty Domain: time:Instant Range: xsd:gYear

4.2.41 in XSD gYearMonth

Property: time:inXSDgYearMonth Definition: Position of an instant, expressed using xsd:gYearMonth Instance of: owl:DatatypeProperty Domain: time:Instant Range: xsd:gYearMonth

4.2.42 minute

Property: time:minute Definition: Minute position in a calendar-clock system Instance of: owl:DatatypeProperty Domain: time:GeneralDateTimeDescription Range: xsd:nonNegativeInteger

4.2.43 minutes duration

Property: time:minutes Definition: length of, or element of the length of, a temporal extent expressed in minutes Instance of: owl:DatatypeProperty Domain: time:GeneralDurationDescription Range: xsd:decimal

4.2.44 month

Property: time:month Definition: Month position in a calendar-clock system. The range of this property is not specified, so can be replaced by any specific representation of a calendar month from any calendar. Instance of: owl:DatatypeProperty Domain: time:GeneralDateTimeDescription

4.2.45 month of year

Property: time:monthOfYear Definition: The month of the year, whose value is a member of the class time:MonthOfYear Instance of: owl:ObjectProperty Domain: time:GeneralDateTimeDescription Range: time:MonthOfYear

4.2.46 months duration

Property: time:months Definition: length of, or element of the length of, a temporal extent expressed in months Instance of: owl:DatatypeProperty Domain: time:GeneralDurationDescription Range: xsd:decimal

4.2.47 name of temporal position

Property: time:nominalPosition Definition: The (nominal) value indicating temporal position in an ordinal reference system Instance of: owl:DatatypeProperty Domain: time:TimePosition Range: xsd:string

4.2.48 numeric value of temporal duration

Property: time:numericDuration Definition: Value of a temporal extent expressed as a number scaled by a temporal unit Instance of: owl:DatatypeProperty Domain: time:Duration Range: xsd:decimal

4.2.49 numeric value of temporal position

Property: time:numericPosition Definition: The (numeric) value indicating position within a temporal coordinate system Instance of: owl:DatatypeProperty Domain: time:TimePosition Range: xsd:decimal

4.2.50 second

Property: time:second Definition: Second position in a calendar-clock system. Instance of: owl:DatatypeProperty Domain: time:GeneralDateTimeDescription Range: xsd:decimal

4.2.51 seconds duration

Property: time:seconds Definition: length of, or element of the length of, a temporal extent expressed in seconds Instance of: owl:DatatypeProperty Domain: time:GeneralDurationDescription Range: xsd:decimal

4.2.52 in time zone

Property: time:timeZone Definition: The time zone for clock elements in the temporal position Instance of: owl:ObjectProperty Domain: time:GeneralDateTimeDescription Range: time:TimeZone

IANA maintains a database of timezones. These are well maintained and generally considered authoritative, but individual items are not available at individual URIs, so cannot be used directly within data expressed using OWL-Time.

DBPedia provides a set of resources corresponding to the IANA timezones, with a URI for each (e.g. http://dbpedia.org/resource/Australia/Eucla). The World Clock service also provides a list of time zones with the description of each available as an individual webpage with a convenient individual URI (e.g. https://www.timeanddate.com/time/zones/acwst). These or other, similar, resources might be used as a value of the time:timeZone property.

4.2.53 temporal unit type

Property: time:unitType Definition: The temporal unit which provides the precision of a date-time value or scale of a temporal extent Instance of: owl:ObjectProperty Domain: time:GeneralDateTimeDescription or time:Duration Range: time:TemporalUnit

4.2.54 week

Property: time:week Definition: Week number within the year. Instance of: owl:DatatypeProperty Domain: time:GeneralDateTimeDescription Range: xsd:nonNegativeInteger

Weeks are numbered differently depending on the calendar in use and the local language or cultural conventions (locale). ISO-8601 specifies that the first week of the year includes at least four days, and that Monday is the first day of the week. In that system, week 1 is the week that contains the first Thursday in the year.

4.2.55 weeks duration

Property: :weeks Definition: length of, or element of the length of, a temporal extent expressed in weeks Instance of: owl:DatatypeProperty Domain: time:GeneralDurationDescription Range: xsd:decimal

4.2.56 has XSD date-time

Property: time:xsdDateTime Definition: Value of time:DateTimeInterval expressed as a compact value. The beginning and end of the interval coincide with the limits of the smallest non-zero element of the value. Instance of: owl:DatatypeProperty Instance of: owl:DeprecatedProperty Domain: time:DateTimeInterval Range: xsd:dateTime Deprecated: true

Using xsd:dateTime in this place means that the duration of the interval is implicit: it corresponds to the length of the smallest non-zero element of the date-time literal. However, this rule cannot be used for intervals whose duration is more than one rank smaller than the starting time - e.g. the first minute or second of a day, the first hour of a month, or the first day of a year. In these cases the desired interval cannot be distinguished from the interval corresponding to the next rank up. Because of this essential ambiguity, use of this property is not recommended and it is deprecated.

4.2.57 year

Property: time:year Definition: Year position in a calendar-clock system. The range of this property is not specified, so can be replaced by any specific representation of a calendar year from any calendar. Instance of: owl:DatatypeProperty Domain: time:GeneralDateTimeDescription

4.2.58 years duration

Property: time:years Definition: length of, or element of the length of, a temporal extent expressed in years Instance of: owl:DatatypeProperty Domain: time:GeneralDurationDescription Range: xsd:decimal

4.3 Datatypes

:generalDay | :generalMonth | :generalYear

4.3.1 generalDay

Class: time:generalDay Definition: Day of month - formulated as a text string with a pattern constraint to reproduce the same lexical form as xsd:gDay, except that values up to 99 are permitted, in order to support calendars with more than 31 days in a month. Note that the value-space is not defined, so a generic OWL2 processor cannot compute ordering relationships of values of this type. Instance of: rdfs:Datatype Subclass of:
owl:onDatatype xsd:string ;
  owl:withRestrictions (
    [
      xsd:pattern "---(0[1-9]|[1-9][0-9])(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"^^xsd:string ;
    ]
  )

4.3.2 generalMonth

Class: time:generalMonth Definition: Month of year - formulated as a text string with a pattern constraint to reproduce the same lexical form as xsd:gMonth, except that values up to 20 are permitted, in order to support calendars with more than 12 months in the year. Note that the value-space is not defined, so a generic OWL2 processor cannot compute ordering relationships of values of this type. Instance of: rdfs:Datatype Subclass of:
owl:onDatatype xsd:string ;
  owl:withRestrictions (
    [
      xsd:pattern "--(0[1-9]|1[0-9]|20)(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"^^xsd:string ;
    ]
  )

4.3.3 generalYear

Class: time:generalYear Definition: Year number - formulated as a text string with a pattern constraint to reproduce the same lexical form as xsd:gYear, but not restricted to values from the Gregorian calendar. Note that the value-space is not defined, so a generic OWL2 processor cannot compute ordering relationships of values of this type. Instance of: rdfs:Datatype Subclass of:
owl:onDatatype xsd:string ;
  owl:withRestrictions (
    [
      xsd:pattern "-?([1-9][0-9]{3,}|0[0-9]{3})(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?"^^xsd:string ;
    ]
  )

4.4 Individuals

:Friday | :Monday | :Saturday | :Sunday | :Thursday | :Tuesday | :Wednesday | :unitDay | :unitHour | :unitMinute | :unitMonth | :unitSecond | :unitWeek | :unitYear | greg:April | greg:August | greg:December | greg:February | greg:January | greg:July | greg:June | greg:March | greg:May | greg:November | greg:October | greg:September

Class Individual time:DayOfWeek time:Friday time:Monday time:Saturday time:Sunday time:Thursday time:Tuesday time:Wednesday time:MonthOfYear greg:April greg:August greg:December greg:February greg:January greg:July greg:June greg:March greg:May greg:November greg:October greg:September time:TemporalUnit time:unitDay time:unitHour time:unitMinute time:unitMonth time:unitSecond time:unitWeek time:unitYear

5. Examples

This section is non-normative.

5.1 DateTimeDescription vs dateTime

The following example illustrates the difference between using :DateTimeDescription and using the XML datatype xsd:dateTimeStamp. An instant that represents the start of a meeting, called ex:meetingStart, happens at 10:30am AEST on 12 Apr 2017 can be expressed using both :inXSDDateTimeStamp and :inDateTime in OWL as:

ex:meetingStart
  a                    :Instant ;
  :inDateTime          ex:meetingStartDescription ;
  :inXSDDateTimeStamp  2017-04-12T10:30:00+10:00 .

ex:meetingStartDescription
  a             :DateTimeDescription ;
  :unitType     :unitMinute ;
  :minute       30 ;
  :hour         10 ;
  :day          "---12"^^xsd:gDay ;
  :dayOfWeek    :Wednesday ;
  :dayOfYear    102 ;
  :week         15 ;
  :month        "--04"^^xsd:gMonth ;
  :monthOfYear  greg:April ;
  :timeZone     <https://www.timeanddate.com/time/zones/aest> ;
  :year         "2017"^^xsd:gYear .

It is much more concise to use the XML Schema datatype xsd:dateTimeStamp. However, using :DateTimeDescription more information can be included directly in a message, such as the "week", "day of week" and "day of year". In the example we can also see that 12/04/2017 is a Wednesday, the month is April, it is the 102nd day of the year, and in the 15th week of the year. Since each field of :DateTimeDescription is separate no computation is required to get the values of these fields for use in reasoning. However, since some calendars, such as religious observationally-based ones, cannot be algorithmically calculated explicit assertion of values for elements of the calendar is required.

The :timeZone property points to a definition of Australian Eastern Standard Time.

5.2 Use of temporal reference systems

The use of different temporal reference systems for the same absolute time is illustrated in the following examples. Abby's birthday is an :Instant whose position may be expressed using the conventional XSD xsd:dateTimeStamp type as 2001-05-23T08:20:00+08:00:

ex:AbbyBirthday
  a               :Instant ;
  :inDateTime     ex:AbbyBirthdayHebrew ;
  :inTimePosition ex:AbbyBirthdayUnix ;
  rdfs:label      "Abby's birthdate"^^xsd:string ;
  :inDateTime     ex:AbbyBirthdayGregorian ;
  :inXSDDateTimeStamp  "2001-05-23T08:20:00+08:00"^^xsd:dateTimeStamp ;
.

Using the :DateTimeDescription class, the elements of the date and time using the Gregorian Calendar are split out into separate properties:

ex:AbbyBirthdayGregorian
  a           	:DateTimeDescription ;
  :day        	"---23"^^xsd:gDay ;
  :dayOfWeek  	:Wednesday ;
  :dayOfYear 	"143"^^xsd:nonNegativeInteger ;
  :hour       	"8"^^xsd:nonNegativeInteger ;
  :minute     	"20"^^xsd:nonNegativeInteger ;
  :month      	"--05"^^xsd:gMonth ;
  :monthOfYear 	greg:May ;
  :timeZone   	<https://www.timeanddate.com/time/zones/awst> ;
  :unitType   	:unitMinute ;
  :year       	"2001"^^xsd:gYear ;
.

The :GeneralDateTimeDescription class may be used to express the same date using the Hebrew calendar:

ex:AbbyBirthdayHebrew
  a         	:GeneralDateTimeDescription ;
  :day      	"---01"^^:generalDay ;
  :hasTRS   	<http://dbpedia.org/resource/Hebrew_calendar> ;
  :month    	"--03"^^:generalMonth ;
  :monthOfYear 	ex:Sivan ;
  :year     	"5761"^^:generalYear ;
  :unitType 	:unitDay ;
.

The :TimePosition class may be used to express the same position in Unix time (also known as Posix time or Epoch time) (i.e. the number of seconds since the beginning of 1st January 1970):

ex:AbbyBirthdayUnix
  a                 :TimePosition ;
  :hasTRS           <http://dbpedia.org/resource/Unix_time> ;
  :numericPosition  990577200 ;
  rdfs:label        "Abby's birthdate in Unix time"^^xsd:string ;
.

Each of these examples refers to either a temporal reference system or time zone described externally, using its URI. RDF representations are available from DBPedia (e.g. http://dbpedia.org/resource/Unix_time) though these do not have specific time semantics.

Similar to the way that :DateTimeDescription is a derived from :GeneralDateTimeDescription by fixing the :TRS to the Gregorian system, a specialized class UnixTime may be derived from :TimePosition by fixing the value of its reference system to the Unix time system:

ex:UnixTime
  rdfs:subClassOf time:TimePosition ;
  rdfs:subClassOf [
      rdf:type owl:Restriction ;
      owl:hasValue <http://dbpedia.org/resource/Unix_time> ;
      owl:onProperty time:hasTRS ;
    ] ;
.

The RDF representation of this example is available here.

5.3 Temporal precision

For the purposes of radiocarbon dating (which is the technique used in geological age determination for materials up to around 60,000 years old) 'the Present' is conventionally fixed at 1950 [rc-14]. This can be described as an individual :Instant, with its position expressed using any of the three alternatives:

geol:Present
  a :Instant ;
  :inDateTime [
    a :DateTimeDescription ;
    :unitType :unitYear ;
    :year "1950"^^xsd:gYear ;
  ] ;
  :inTimePosition [
    a :TimePosition ;
    :hasTRS <http://www.opengis.net/def/crs/OGC/0/ChronometricGeologicTime> ;
    :numericPosition 0.0 ;
  ] ;
  :inXSDDateTimeStamp "1950-01-01T00:00:00Z"^^xsd:dateTimeStamp ;
  rdfs:label "The present"^^xsd:string ;
.

Expressed using :DateTimeDescription the :unitType - which determines the precision - is set to :unitYear, and only the :year element is provided in the value. The TRS value is not provided explicitly, as it is fixed in the ontology description to http://www.opengis.net/def/uom/ISO-8601/0/Gregorian. In the :TimePosition variant, the TRS is given as http://www.opengis.net/def/crs/OGC/0/ChronometricGeologicTime which has units of millions of years, starting from the present, positive backwards. For the value expressed using xsd:dateTimeStamp the position within the year is set arbitrarily to midnight at the beginning of 1st January. This level of precision in this case is spurious, but is required to satisfy the lexical pattern of the datatype.

Since the :numericPosition, :second properties have the datatype of xsd:decimal, the position of a :Instant or the duration of a :TemporalEntity may be represented with a precision of fractions of seconds if required. For example, a database timestamp with a precision of milliseconds can be expressed as follows:

ex:DatabaseTimeStamp
  a :Instant ;
  :inXSDDateTimeStamp "2015-11-01T17:58:16.102Z"^^xsd:dateTimeStamp ;
  :inDateTime [
      a :DateTimeDescription ;
      :day "---01"^^xsd:gDay ;
      :hour "17"^^xsd:nonNegativeInteger ;
      :minute "58"^^xsd:nonNegativeInteger ;
      :month "--11"^^xsd:gMonth ;
      :second 16.102 ;
      :timeZone <http://dbpedia.org/page/Coordinated_Universal_Time> ;
      :year "2015"^^xsd:gYear ;
    ] ;
  :inDateTime [
      a ex:GPSTime ;
      :second 64696.102 ;
      :week "1834"^^xsd:nonNegativeInteger ;
    ] ;
.

where ex:GPSTime specializes :GeneralDateTimeDescription by setting the :unitType to :unitSecond, the :hasTRS to the GPS timekeeping system, and suppressing all other properties except for :week and :second:

ex:GPSTime
  rdf:type owl:Class ;
  rdfs:comment "GPS Time is the number of seconds since an epoch in 1980, encoded as the number of weeks + seconds into the week" ;
  rdfs:subClassOf time:GeneralDateTimeDescription ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:cardinality "0"^^xsd:nonNegativeInteger ; 
 	owl:onProperty :day ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:cardinality "0"^^xsd:nonNegativeInteger ; 
 	owl:onProperty :dayOfWeek ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:cardinality "0"^^xsd:nonNegativeInteger ; 
 	owl:onProperty :dayOfYear ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:cardinality "0"^^xsd:nonNegativeInteger ; 
 	owl:onProperty :hour ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:cardinality "0"^^xsd:nonNegativeInteger ; 
 	owl:onProperty :minute ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:cardinality "0"^^xsd:nonNegativeInteger ; 
 	owl:onProperty :month ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:cardinality "0"^^xsd:nonNegativeInteger ; 
 	owl:onProperty :monthOfYear ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:cardinality "0"^^xsd:nonNegativeInteger ; 
 	owl:onProperty :timeZone ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:cardinality "0"^^xsd:nonNegativeInteger ; 
 	owl:onProperty :year ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:cardinality "1"^^xsd:nonNegativeInteger ; 
 	owl:onProperty :second ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:cardinality "1"^^xsd:nonNegativeInteger ; 
 	owl:onProperty :week ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:hasValue :unitSecond ; 
 	owl:onProperty :unitType ; ] ;
  rdfs:subClassOf [ a owl:Restriction ; 
 	owl:hasValue <https://en.wikipedia.org/wiki/Global_Positioning_System#Timekeeping> ; 
 	owl:onProperty :hasTRS ; ] ;
.

5.4 iCalendar

iCalendar [rfc5545] is a widely supported standard for personal data interchange. It provides the definition of a common format for openly exchanging calendaring and scheduling information across the Internet. The representation of temporal concepts in this time ontology can be straightforwardly mapped to iCalendar. For example, duration of 15 days, 5 hours and 20 seconds is represented in iCalendar as P15DT5H0M20S, which can be represented in the time ontology as:

:hasDurationDescription
  a         :DurationDescription ;
  :seconds  20 ;
  :hours    5 ;
  :days     15 .

The iCalendar homepage features the example of Abraham Lincoln's birthday as celebrated in 2008. This may be represented in multiple ways using OWL-Time, including the following.

As a :DateTimeInterval using the :DateTimeDescription form:

_:DTI-1
  rdf:type :DateTimeInterval ;
  dc:coverage """LOCATION:Hodgenville, Kentucky
    GEO:37.5739497;-85.7399606""" ;
  dc:date "2015-04-21T14:14:03.00"^^xsd:dateTimeStamp ;
  dc:description """Born February 12\\, 1809\\nSixteenth President (1861-1865)
    http://AmericanHistoryCalendar.com""" ;
  dc:subject "Civil War People" ;
  dc:subject "U.S. Presidents" ;
  rdfs:label "Abraham Lincoln" ;
  skos:closeMatch <[email protected]> ;
  :hasDateTimeDescription [
    rdf:type :DateTimeDescription ;
    :day "---12"^^xsd:gDay ;
    :hasTRS <http://www.opengis.net/def/uom/ISO-8601/0/Gregorian> ;
    :month "--02"^^xsd:gMonth ;
    :unitType :unitDay ;
    :year "2008"^^xsd:gYear ;
  ] ;
.

The boundaries of the interval are implicitly the beginning and end of the day specified in the :DateTimeDescription.

As a :TemporalEntity using the :TimePosition to define the beginning and end:

_:TE-2
  rdf:type :TemporalEntity ;
  rdfs:label "Abraham Lincoln" ;
  :hasBeginning [
    rdf:type :Instant ;
    :inTimePosition [
      rdf:type :TimePosition ;
      :hasTRS <http://dbpedia.org/resource/Unix_time> ;
      :numericPosition "1202752800"^^xsd:decimal ;
    ] ;
  ] ;
  :hasDuration [
    rdf:type :Duration ;
    :numericDuration "1"^^xsd:decimal ;
    :unitType :unitDay ;
  ] ;
  :hasEnd [
    rdf:type :Instant ;
    :inTimePosition [
      rdf:type :TimePosition ;
      :hasTRS <http://dbpedia.org/resource/Unix_time> ;
      :numericPosition "1202839200"^^xsd:decimal ;
    ] ;
  ] ;
.

In this formulation, the length of the entity is explicit, as the value of the :hasDuration property.

Several other formulations are possible, some of which are shown in the RDF representation is available here.

5.5 Geologic timescale

The geologic timescale is defined as a set of named intervals arranged in a hierarchy, such that there is only one subdivision of the intervals of each rank (e.g. 'Era') by a set of intervals of the next rank (in this case 'Period') [cr-05]. Since the relative ordering is well-defined this graph can therefore serve as an ordinal temporal reference system. Fig. 5 shows how the geologic timescale can be expressed as a set of :ProperIntervals related to each other using only :intervalMetBy, :intervalStartedBy, :intervalFinishedBy. Many other interval relationships follow logically from the ones shown (for example 'Neogene Period' :intervalDuring 'Cenozoic Era') but the ones shown are sufficient to describe the full topology.

(Part of) the international chronostratigraphic chart, formalized as a set of proper intervals
Figure 5 Part of the geologic timescale formalized as ProperIntervals, with ordering relationships described using the predicates defined in this ontology.

For example, the 'Archean Eon' is a :ProperInterval described as follows:

geol:Archean
  rdf:type            :ProperInterval ;
  :hasBeginning       geol:BaseArchean ;
  :hasEnd             geol:BaseProterozoic ;
  :intervalMeets      geol:Proterozoic ;
  :intervalMetBy      geol:Hadean ;
  rdfs:label          "Archean Eon"^^xsd:string ;
.

The beginning of the Archean Eon is an :Instant, described as follows:

geol:BaseArchean
  rdf:type :Instant ;
  :inTimePosition [
    rdf:type          :TimePosition ;
    :hasTRS           <http://www.opengis.net/def/crs/OGC/0/ChronometricGeologicTime> ;
    :numericPosition  "4000"^^xsd:decimal ;
  ] ;
  rdfs:label "Base of Archean Eon"^^xsd:string ;
. 

Note that the position of this :Instant is specified using a :TimePosition, which is a numeric value relative to the temporal coordinate system indicated as the value of the :hasTRS property.

The RDF representation of this example is available here. The complete (2016) International Chronostratigraphic Chart encoded using OWL-Time is available.

5.6 A Use Case for Scheduling

Suppose someone has a telecon scheduled for 6:00pm EST on November 5, 2006. You would like to make an appointment with him for 2:00pm PST on the same day, and expect the meeting to last 45 minutes. Will there be an overlap?

In this use case we can specify the facts about the telecon and the meeting using our ontology in OWL that will allow a temporal reasoner to determine whether there is a conflict:

ex:telecon
  a             :Interval ;
  :hasBeginning ex:teleconStart .

ex:meeting
  a                       :Interval ;
  :hasBeginning           ex:meetingStart ;
  :hasDurationDescription ex:meetingDuration .

ex:teleconStart
  a               :Instant ;
  :inXSDDateTimeStamp  "2006-11-05T18:00:00-5:00"^^xsd:dateTimeStamp .

ex:meetingStart
  a               :Instant ;
  :inXSDDateTimeStamp  "2006-11-05T14:00:00-8:00"^^xsd:dateTimeStamp .

ex:meetingDuration
  a         :DurationDescription ;
  :minutes  45 .

The telecon and the meeting are defined as intervals. :hasBeginning is used for specifying the start times of the meetings. The datetimes are specified using :inXSDDateTimeStamp. The duration of the meeting is specified using the :DurationDescription class.

5.7 Alignment of PROV-O with OWL-Time

PROV is a process-flow model. The base class Activity denotes things that occur over a period of time, and act upon or with entities. Activities are ordered within a provenance trace. Thus, an alignment with OWL-Time is natural.

The PROV-O classes prov:Activity and prov:InstantaneousEvent may be conceived as sub-classes of :TemporalEntity and :Instant respectively.

prov:Activity           rdfs:subClassOf    time:TemporalEntity .
prov:InstantaneousEvent rdfs:subClassOf    time:Instant .

The prov:atTime property of an prov:InstantaneousEvent is directly related to :inXSDDateTime.

prov:atTime             rdfs:subPropertyOf time:inXSDDateTime .

However, the Activity start and end properties require a property chain axiom, because the beginning and end of a :TemporalEntity are :Instants rather than compact xsd:dateTimes.

prov:endedAtTime   owl:propertyChainAxiom (
      time:hasEnd
      time:inXSDDateTime
    ) ;
.
prov:startedAtTime owl:propertyChainAxiom (
      time:hasBeginning
      time:inXSDDateTime
    ) ;
.

5.8 Legal interval

The basic example in the [vocab-dcat] specification described the 'temporal range' of a dataset with reference to the resource http://reference.data.gov.uk/id/quarter/2006-Q1 which is one of many available from data.gov.uk. This resource defines a specific legal period - the first quarter of 2006 - formalized using the interval ontology which is (currently) based on the 2006 version of OWL-Time. The period can be fully described using OWL-Time, omitting all elements from the intervals ontology, as follows:

ex:i2006-Q1
  rdf:type :ProperInterval ;
  owl:sameAs <http://reference.data.gov.uk/id/quarter/2006-Q1> ;
  rdfs:comment "The first quarter of the British calendar year 2006"@en ;
  rdfs:label "British Quarter:2006-Q1"@en ;
  skos:prefLabel "British Quarter:2006-Q1"@en ;
  :hasBeginning <http://reference.data.gov.uk/id/gregorian-instant/2006-01-01T00:00:00> ;
  :hasBeginning [
      rdf:type :Instant ;
      :inXSDDate "2006-01-01"^^xsd:date ;
    ] ;
  :hasDurationDescription interval:one-quarter ;
  :hasEnd <http://reference.data.gov.uk/id/gregorian-instant/2006-04-01T00:00:00> ;
  :hasEnd [
      rdf:type :Instant ;
      :inXSDDate "2006-03-31"^^xsd:date ;
    ] ;
  :hasXSDDuration "P3M"^^xsd:duration ;
  :intervalContains <http://reference.data.gov.uk/id/month/2006-02> ;
  :intervalDuring <http://reference.data.gov.uk/id/half/2006-H1> ;
  :intervalDuring <http://reference.data.gov.uk/id/year/2006> ;
  :intervalEquals <http://reference.data.gov.uk/id/gregorian-interval/2006-01-01T00:00:00/P3M> ;
  :intervalFinishedBy <http://reference.data.gov.uk/id/month/2006-03> ;
  :intervalMeets <http://reference.data.gov.uk/id/quarter/2006-Q2> ;
  :intervalMetBy <http://reference.data.gov.uk/id/quarter/2005-Q4> ;
  :intervalStartedBy <http://reference.data.gov.uk/id/month/2006-01> ;
  foaf:isPrimaryTopicOf <http://reference.data.gov.uk/doc/quarter/2006-Q1> ;
.

B. Implementation report

OWL-Time has been put into use in a large number of applications. Some of these are summarized here.

C. Changes from previous versions

This version of OWL-Time was developed in the Spatial Data on the Web Working Group (a joint activity involving W3C and the Open Geospatial Consortium). The Ontology is derived from the one described in the 2006 Draft [owl-time-20060927] though the document has been completely re-written. The principal technical changes are as follows:

D. Wide review

Results of wide review of OWL-Time is summarized here.

E. Response to Requirements identified in working group analysis

A number of requirements relating to Time were identified in the Spatial Data on the Web Use Cases & Requirements [sdw-ucr]. This section provides brief descriptions of how these requirements have been resolved.

F. Acknowledgements

The editors would like to thank the members of the W3C/OGC Spatial Data on the Web Working Group for their contributions during the development of this document.

G. References

G.1 Normative references

[iso8601] Representation of dates and times. ISO 8601:2004.. International Organization for Standardization (ISO). 2004. ISO 8601:2004. URL: http://www.iso.org/iso/catalogue_detail?csnumber=40874 [owl2-quick-reference] OWL 2 Web Ontology Language Quick Reference Guide (Second Edition). Jie Bao; Elisa Kendall; Deborah McGuinness; Peter Patel-Schneider. W3C. 11 December 2012. W3C Recommendation. URL: https://www.w3.org/TR/owl2-quick-reference/ [owl2-syntax] OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax (Second Edition). Boris Motik; Peter Patel-Schneider; Bijan Parsia. W3C. 11 December 2012. W3C Recommendation. URL: https://www.w3.org/TR/owl2-syntax/ [turtle] RDF 1.1 Turtle. Eric Prud'hommeaux; Gavin Carothers. W3C. 25 February 2014. W3C Recommendation. URL: https://www.w3.org/TR/turtle/ [xmlschema11-2] W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes. David Peterson; Sandy Gao; Ashok Malhotra; Michael Sperberg-McQueen; Henry Thompson; Paul V. Biron et al. W3C. 5 April 2012. W3C Recommendation. URL: https://www.w3.org/TR/xmlschema11-2/

G.2 Informative references

[af-97] Actions and events in interval temporal logic In: Spatial and Temporal Reasoning. O. Stock, ed., Kluwer, Dordrecht, Netherlands, pp. 205-245.. J.F. Allen; G. Ferguson.1997. URL: http://dx.doi.org/10.1007/978-0-585-28322-7_7 [al-84] Towards a general theory of action and time. Artificial Intelligence 23, pp. 123-154.. J.F. Allen.1984. URL: http://dx.doi.org/10.1016/0004-3702%2884%2990008-0 [co-15] Time Ontology Extended for Non-Gregorian Calendar Applications. Semantic Web Journal 7, pp. 201-209. S.J.D. Cox.2015. URL: http://dx.doi.org/10.3233/SW-150187 [cr-05] A formal model for the geologic time scale and global stratotype section and point, compatible with geospatial information transfer standards. Geosphere 1 119. . S.J.D. Cox; S.M. Richard.2005. URL: http://dx.doi.org/10.1130/GES00022.1 [cr-14] A geologic timescale ontology and service. Earth Sci. Informatics.. 8 5–19. . S.J.D. Cox; S.M. Richard.2014. URL: http://doi.org/10.1007/s12145-014-0170-6 [curie] CURIE Syntax 1.0. Mark Birbeck; Shane McCarron. W3C. 16 December 2010. W3C Note. URL: https://www.w3.org/TR/curie/ [hp-04] An Ontology of Time for the Semantic Web. ACM Transactions on Asian Language Processing (TALIP): Special issue on Temporal Information Processing, 3, No. 1, March 2004, pp. 66-85. . J. R. Hobbs; F. Pan.2004. URL: http://dx.doi.org/10.1145/1017068.1017073 [iso19108] ISO 19108:2002 Geographic information -- Temporal schema. . 2002. URL: https://www.iso.org/standard/26013.html [mf-13] Recent progress on geologic time ontologies and considerations for future works, Earth Sci. Informatics. 6 31–46. . X. Ma; P. Fox.2013. URL: http://dx.doi.org/10.1007/s12145-013-0110-x [owl-time-20060927] Time Ontology in OWL. Jerry Hobbs; Feng Pan. W3C. 27 September 2006. W3C Working Draft. URL: https://www.w3.org/TR/2006/WD-owl-time-20060927/ [owl2-manchester-syntax] OWL 2 Web Ontology Language Manchester Syntax (Second Edition). Matthew Horridge; Peter Patel-Schneider. W3C. 11 December 2012. W3C Note. URL: https://www.w3.org/TR/owl2-manchester-syntax/ [rc-14] The Remarkable Metrological History of Radiocarbon Dating [II]. Journal of Research of the National Institute of Standards and Technology.March-April 2004. URL: http://nvlpubs.nist.gov/nistpubs/jres/109/2/j92cur.pdf [rfc5545] Internet Calendaring and Scheduling Core Object Specification (iCalendar). B. Desruisseaux, Ed.. IETF. September 2009. Proposed Standard. URL: https://tools.ietf.org/html/rfc5545 [sdw-ucr] Spatial Data on the Web Use Cases & Requirements. Frans Knibbe; Alejandro Llaves. W3C. 25 October 2016. W3C Note. URL: https://www.w3.org/TR/sdw-ucr/ [timezone] Working with Time Zones. Addison Phillips et al. W3C. 5 July 2011. W3C Note. URL: https://www.w3.org/TR/timezone/ [vocab-dcat] Data Catalog Vocabulary (DCAT). Fadi Maali; John Erickson. W3C. 16 January 2014. W3C Recommendation. URL: https://www.w3.org/TR/vocab-dcat/ [xpath-functions-31] XPath and XQuery Functions and Operators 3.1. Michael Kay. W3C. 21 March 2017. W3C Recommendation. URL: https://www.w3.org/TR/xpath-functions-31/ [xslt20] XSL Transformations (XSLT) Version 2.0 (Second Edition). Michael Kay. W3C. 21 April 2009. W3C Proposed Edited Recommendation. URL: https://www.w3.org/TR/xslt20/

This version is outdated!For the latest version, please look at https://www.w3.org/TR/owl-time/.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK