Skip to content

Vocabulary work on time for Project 418 follow on work (P419)

Notifications You must be signed in to change notification settings

ashepherd/p419voctemporal

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 

Repository files navigation

p419 Vocabulary - Temporal

Vocabulary work on time for Project 418 follow on work (P419)

schema.org Extensions for OWL Time http://geoschemas.org/contexts/temporal.jsonld

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/

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"
    }
  }
}

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" }
    }
  }
}

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" }
    }
  }
}

Seasonality

Seasonality should work when w3c/sdw#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: schemaorg/schemaorg#1186 (comment)

About

Vocabulary work on time for Project 418 follow on work (P419)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published