Temporal Coverage

Namespace Prefix: geosci-time

Namespace URI: http://schema.geoschemas.org/contexts/temporal#

Classes

none

back to top


Properties

geosci-time:temporalCoverage - Use the OWL-Time vocabulary to describe the temporal coverage of a Dataset.

Domain: schema:Dataset Range: time:TemporalEntity

back to top


Named Individuals

geosci-time:BeforePresent - For defining the ‘Before Present’ (BP) temporal reference system for use in OWL-Time (time:hasTRS)

Type: time:TRS

Temporal position expressed numerically in years before January 1, 1950

geosci-time:MillionsOfYears - For defining the ‘Millions of Years’ (Ma) temporal reference system for use in OWL-Time (time:hasTRS)

Type: time:TRS

Same As: http://resource.geosciml.org/classifier/cgi/geologicage/ma

Temporal position expressed numerically scaled in millions of years increasing backwards relative to 1950

back to top


Using OWL Time

The OWL Time vocabulary defines useful ways for describing the temporal coverage. The temporalCoverage of a Dataset indicates the period of time that the contents of the dataset apply. This extension to schema:Dataset allows for the description of temporal coverages that cannot be described using a ISO 8601 formatted date (and time). Some examples of such coverages are geologic time scales, seasonal coverages across multiple years, or certain days of the week. The coverage is expressed as a time:TemporalEntity, typcially a time:Interval or a time:Instant. OWL Time in RDF Turtle

https://www.w3.org/TR/owl-time/

back to top


Intervals

Simple Date Time Temporal Coverage

To express an interval of time as the coverage for a schema:Dataset, schema.org provides the schema:temporalCoverage which allows for defining a coverage using ISO Example: Expressing a time interval using a time:TemporalEntity

{
  "@context": {
    "@vocab": "http://schema.org/",
    "time": "http://www.w3.org/2006/time",
    "geosci-time": "http://schema.geoschemas.org/contexts/temporal#"
  },
  "@type": "Dataset",
  ...
  "temporalCoverage": {"@value": "2019-03-31T00:00:00Z/2019-04-30T06:00:00Z"},
  "geosci-time:temporalCoverage": {
    "@type": "time:TemporalEntity",
    "time:hasBeginning": {
      "@type": "time:Instant",
      "time:inXSDDateTimeStamp": "2019-03-31T00:00:00Z"
    },
    "time:hasEnd": {
      "@type": "time:Instant",
      "time:inXSDDateTimeStamp": "2019-04-30T06:00:00Z"
    }
  }
}

back to top


Instants

Instants in time are useful for describing a position in time where an event occurred. For Datasets, the temporal coverage may be an instant instead of an interval for cases where all observations were made inn a single point in time or for observations in geologic time scales.

The Geoschemas context defines 2 geologic time scales:

Before Present

http://schema.geoschemas.org/contexts/temporal#BeforePresent

Temporal position expressed numerically in years before January 1, 1950

Millions Of Years

http://schema.geoschemas.org/contexts/temporal#MillionsOfYears

Temporal position expressed numerically scaled in millions of years increasing backwards relative to 1950”

To specify a Geologic Time Scale, we use an OWL Time Instant. The example below specifies 2 million years before present:

{
  "@context": {
    "@vocab": "http://schema.org/",
    "time": "http://www.w3.org/2006/time",
    "geosci-time": "http://schema.geoschemas.org/contexts/temporal#"
  },
  "@type": "Dataset",
  ...
  "geosci-time:temporalCoverage": {
    "@type": "time:Instant",
    "time:inTimePosition": {
      "@type": "time:TimePosition",
      "time:hasTRS": { "@id": "geosci-time:BeforePresent" },
      "time:numericPosition": { "@value": 2000000, "@type": "xsd:decimal" }
    }
  }
}

back to top


Durations

Sometimes, the temporal coverage of a Dataset is measured as a duration in time. For example, let’s say the Dataset is the most recent data starting two weeks from the time the data is requested. Such a duration can be expressed as:

{
  "@context": {
    "@vocab": "http://schema.org/",
    "time": "http://www.w3.org/2006/time",
    "geosci-time": "http://schema.geoschemas.org/contexts/temporal#"
  },
  "@type": "Dataset",
  ...
  "geosci-time:temporalCoverage": {
    "@type": "time:TemporalEntity",
    "time:hasDuration": {
      "@type": "time:Duration",
      "time:unitType": { "@id": "time:weeks" },
      "time:numericDuration": { "@value": 2, "@type": "xsd:decimal" }
    }
  }
}

back to top


Seasonality

Seasonality should work when https://github.com/w3c/sdw/issues/1140 is completed. For now, the original idea for describing is defined below.

A dataset that collected measurements every Summer between 2012 and 2015. For discovery, if a data searcher was more interested in data collected during the Winter, a dataset with measurements in the summer can be excluded to improve precision and recall. Conversely, searchers looking for data in the Summer months is enabled.

A table of the begin and end dates of data collection from 2012 to 2015.

Year Begin End
2012 2012-06-30 2012-09-09
2013 2013-07-06 2013-09-03
2014 2014-07-03 2014-09-06
2015 2015-06-29 2015-09-04

To describe a seasonal coverage, we define the full temporal coverage using the first and last date of collection

Temporal Coverage: 2012-06-30 to 2015-09-04

Then, we use the time:intervalContains property to describe the begin and end date of each year for this full temporal coverage.

{
  "@context": {
    "@vocab": "http://schema.org/",
    "time": "http://www.w3.org/2006/time",
    "geosci-time": "http://schema.geoschemas.org/contexts/temporal#"
  },
  "@type": "Dataset",
  ...
  "temporalCoverage": {"@value": "2012-06-30/2015-09-04"},
  "geosci-time:temporalCoverage": {
    "@type": "time:ProperInterval",
    "time:hasBeginning": {
      "@type": "time:Instant",
      "time:inXSDDate": "2012-06-30"
    },
    "time:hasEnd": {
      "@type": "time:Instant",
      "time:inXSDDate": "2015-09-04"
    },
    "time:intervalContains":[
      {
        "@type": "time:ProperInterval",
        "time:hasBeginning": {
          "@type": "time:Instant",
          "time:inXSDDate": "2012-06-30"
        },
        "time:hasEnd": {
          "@type": "time:Instant",
          "time:inXSDDate": "2012-09-09"
        }
      },
      {
        "@type": "time:ProperInterval",
        "time:hasBeginning": {
          "@type": "time:Instant",
          "time:inXSDDate": "2013-07-06"
        },
        "time:hasEnd": {
          "@type": "time:Instant",
          "time:inXSDDate": "2013-09-03"
        }
      },
      {
        "@type": "time:ProperInterval",
        "time:hasBeginning": {
          "@type": "time:Instant",
          "time:inXSDDate": "2014-07-03"
        },
        "time:hasEnd": {
          "@type": "time:Instant",
          "time:inXSDDate": "2014-09-06"
        }
      },
      {
        "@type": "time:ProperInterval",
        "time:hasBeginning": {
          "@type": "time:Instant",
          "time:inXSDDate": "2015-06-29"
        },
        "time:hasEnd": {
          "@type": "time:Instant",
          "time:inXSDDate": "2015-09-04"
        }
      }
    ]
  }
}

See: https://github.com/schemaorg/schemaorg/issues/1186#issuecomment-226838348