earthcubearchitecture-project418 / p418Vocabulary

Vocabulary + HTML for describing the schema.org extension
https://geodex.org/voc/
6 stars 4 forks source link

Using OWL-Time for duration #10

Open ashepherd opened 6 years ago

ashepherd commented 6 years ago

Subject: Re: OWL-Time: time intervals relative to "the present"?

...

The main thing that OWL-Time does is standardize the topological relations between temporal entities, mostly intervals. OWL-Time does not provide any specific time stamps or positions, it just provides a model to describe or define them yourself.

It also provides a model for time durations (amounts) and some standard (Gregorian) units.

‘The present’ is a tricky concept of course. Can mean a different thing to the reader compared to the writer, particularly if there is a delay between.

The OWL-Time equivalent to your example below, expressed as a property of an unnamed and un-typed individual, and is:

<>

:intervalEquals [

  rdf:type :ProperInterval ;

  :hasDuration [

      rdf:type :Duration ;

      :numericDuration "7"^^xsd:decimal ;

      :unitType :unitDay ;

    ] ;

  :hasEnd ex:Present ;

] ;

.

Or equivalently

<>

:intervalEquals [

  rdf:type :ProperInterval ;

  :hasDuration [

      rdf:type :DurationDescription ;

      :days "7"^^xsd:decimal ;

    ] ;

  :hasEnd ex:Present ;

] ;

.

Where

ex:Present

rdf:type :Instant ;

rdfs:comment "Indeterminate time instant corresponding to 'the present'" ;

.

i.e. it is only defined locally and informally in this example.

Is that clear enough?

Simon

Or in JSON-LD

{

"@graph" : [ {

"@id" : "_:b0",

"@type" : "ProperInterval",

"hasDuration" : [ "_:b2", "_:b1" ],

"hasEnd" : "#Present"

}, {

"@id" : "_:b1",

"@type" : "Duration",

"numericDuration" : "7",

"unitType" : "#unitDay"

}, {

"@id" : "_:b2",

"@type" : "DurationDescription",

"days" : "7"

}, {

"@id" : "#TemporalEntity_1",

"@type" : "TemporalEntity",

"intervalEquals" : "_:b0"

} ],

"@context" : {

"intervalEquals" : {

  "@id" : "http://www.w3.org/2006/time#intervalEquals",

  "@type" : "@id"

},

"numericDuration" : {

  "@id" : "http://www.w3.org/2006/time#numericDuration",

  "@type" : "http://www.w3.org/2001/XMLSchema#decimal"

},

"unitType" : {

  "@id" : "http://www.w3.org/2006/time#unitType",

  "@type" : "@id"

},

"days" : {

  "@id" : "http://www.w3.org/2006/time#days",

  "@type" : "http://www.w3.org/2001/XMLSchema#decimal"

},

"hasEnd" : {

  "@id" : "http://www.w3.org/2006/time#hasEnd",

  "@type" : "@id"

},

"hasDuration" : {

  "@id" : "http://www.w3.org/2006/time#hasDuration",

  "@type" : "@id"

},

"@vocab" : "http://www.w3.org/2006/time#",

"dct" : "http://purl.org/dc/terms/",

"rdf" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#",

"owl" : "http://www.w3.org/2002/07/owl#",

"xsd" : "http://www.w3.org/2001/XMLSchema#",

"skos" : "http://www.w3.org/2004/02/skos/core#",

"rdfs" : "http://www.w3.org/2000/01/rdf-schema#"

}

}

{

"@id" : "#Present",

"@type" : "Instant",

"comment" : "Indeterminate time instant corresponding to 'the present'",

"@context" : {

"comment" : {

  "@id" : "http://www.w3.org/2000/01/rdf-schema#comment"

},

"@vocab" : "http://www.w3.org/2006/time#",

"dct" : "http://purl.org/dc/terms/",

"rdf" : "http://www.w3.org/1999/02/22-rdf-syntax-ns#",

"owl" : "http://www.w3.org/2002/07/owl#",

"xsd" : "http://www.w3.org/2001/XMLSchema#",

"skos" : "http://www.w3.org/2004/02/skos/core#",

"rdfs" : "http://www.w3.org/2000/01/rdf-schema#"

}

}


At Unidata we keep N days [1] of forecast model output from each of the US National Weather Service operational forecast models.

The NCEP GFS 0.25 degree model, used as an example, is run every 6 hours (at 0, 6, 12, and 18Z). Each run provides output every 3 hours out to 10 days, then every 12 hours for days 10-16.

We receive model output in near real-time as it is generated and published by the US NWS. As it is received, the model output is added to the existing collection. Each day, all model output older than N days is removed from the collection. Which means that the temporal extent of these datasets is the most recent N-days of data.

The entire N-day collection of NCEP GFS 0.25 degree model output is available as a single dataset [2] (with two time dimensions, run time and forecast time). The collection can also be accessed as individual model run datasets (for example, [3] and [4]). We also have a "Best" timeseries slice through the 5-D dataset [5]. There are a few other ways we can slice up the 5-D dataset but we don't expose all those currently.

In the THREDDS catalogs we can represent a relative time range as follows:

present 7 days

I don't believe there is a way to do this in an OGC way. As we move towards using the MetOcean profile, it would be nice to be able to communicate that the temporal extent of our datasets are relative time ranges.

[1] The number of days (N) of model output kept depends on both the storage capacity of the server on which the data is stored and the volume of output from each model.

[2] http://thredds.ucar.edu/thredds/catalog/grib/NCEP/GFS/Global_0p25deg/catalog.xml?dataset=grib/NCEP/GFS/Global_0p25deg/TwoD

[3] http://thredds.ucar.edu/thredds/catalog/grib/NCEP/GFS/Global_0p25deg/GFS_Global_0p25deg_20170912_0000.grib2/catalog.xml?dataset=grib/NCEP/GFS/Global_0p25deg/GFS_Global_0p25deg_20170912_0000.grib2

[4] The following URL returns an XML that provides the URL to the most current model run:

http://thredds.ucar.edu/thredds/catalog/grib/NCEP/GFS/Global_0p25deg/latest.xml

[5] http://thredds.ucar.edu/thredds/catalog/grib/NCEP/GFS/Global_0p25deg/catalog.html?dataset=grib/NCEP/GFS/Global_0p25deg/Best