DCMI Period Encoding Scheme
DCMI Period Encoding Scheme: specification of the limits of a time interval, and methods for encoding this in a text string (SUPERSEDED, SEE CURRENT VERSION)
Creator: | Simon Cox |
---|---|
Date Issued: | 2000-07-28 |
Identifier: | http://dublincore.org/specifications/dublin-core/dcmi-period/2000-07-28/ |
Replaces: | http://dublincore.org/specifications/dublin-core/dcmi-period/2000-07-11/ |
Is Replaced By: | http://dublincore.org/specifications/dublin-core/dcmi-period/2006-04-10/ |
Latest version: | http://dublincore.org/specifications/dublin-core/dcmi-period/ |
Status of document: | This is a DCMI Recommendation. |
Description of document: | We introduce DCMI Period for identifying a single time interval using its limits. Components of the value correspond to the start and end of the interval, either of which may be ommitted in the case of a single-ended interval. We describe a method for encoding DCMI Period in a text-string, as a profile of DCSV. This notation is intended for recording the value of the DCMES elements Coverage and Date, particularly when using HTML meta elements. We also show an alternative encoding for DCMI Period using XML. |
NOTICE TO IMPLEMENTORS: | The syntax examples included in this document are provisional, and are currently under review as part of the DCMI work on recommending co-ordinated syntax recommendations for HTML, XML, and RDF. These recommendations and minor editorial changes in this document can be expected to take place in the near future. Note that the use of "=" as a separator in the DCMI-DCSV encoding is a change from earlier versions of this specification which used ":" in the same position. |
Table of Contents
-
- Introduction
-
- Identifying a time interval - the DCMI Period scheme
-
- Encoding DCMI Period
- 3.1 DCSV encoding
- 3.2 XML encoding
-
- Examples
1. Introduction
Several methods are available to indicate a time interval. These include, but are not limited to:
- a name , normally defined in an enumeration such as a list of artistic, cultural, historical, archaeological, geological or cosmological eras or periods, a list of ruler's names, families or dynasties, etc.
- the limits of the interval, using either numeric or named values, the latter optionally including qualifiers such as start of, end of, middle of , etc.
The Dublin Core™ Metadata Element Set [DCMES] includes two elements, Coverage and Date , the values of which may contain an identifier for a time interval.
If a name is used then the scheme from which it is selected determines the meaning.
The W3C profile of the ISO8601 standard for dates and times [W3C-DTF] is generally useful for identifying time instants, and also includes a method for specifying complete intervals by joining two instants with a "/" character. However, there is a need for a richer model for use in some cases, for three reasons:
- open intervals, i.e. those with only a start or an end, are not included in the specification
- the syntax cannot be adapted for use with other spatio-temporal dimensions, which would be desirable for consistency of use with the DCMES Coverage element
- the identification of the start and end of the interval is implicit - relying in the position within a string - and therefore error-prone, rather than explicitly labelled.
The W3C recommendation Mathematical Markup Language [MathML] includes an XML binding for intervals which permits quite general intervals to be described, using both numeric and non-numeric bounds. This is a syntax-specific notation which, in order to be consistent with other parts of the bigger specification of which it is a part, includes features which are relatively obscure for the simple goal here. It is also unclear how to specify this extract from a much larger standard, and since it is presented as an XML notation, other serialisations would need to be specified separately in any case.
Here we define DCMI Period, an identifier which uses a simple model to specify the limits of a time interval, and describe methods for encoding DCMI Period, as a profile of DCSV [DCSV], and using a fragment of XML [XML]. DCMI Period has been designed to be similar to DCMI Box [BOX] used for identifying a place, and thus allows consistent encoding of spatio-temporal information in the DCMES element Coverage , as well as consistency between Coverage and Date. The components of DCMI Period re-use the W3C-DTF syntax where possible.
DCMI Period identifies a single time interval. If an identifier corresponding to a time instant is required, then W3C-DTF [W3C-DTF] is available. For multiple disjoint intervals, repeated instances of DCMI Period may be used. DCMI Period is unsuited for identification of recurring and periodic time intervals.
2. Identifying a time interval - the DCMI Period scheme
We identify a time interval by specifying the start and end of the interval.
We define the following components to describe the interval:
Component | Definition | Default1 |
---|---|---|
start | The instant corresponding to the commencement of the time interval | -INF2 |
end | The instant corresponding to the termination of the time interval | INF2 |
scheme | The encoding used for the representation of the time-instants in the start and end components3 | W3C-DTF |
name | A name for the time interval4 | - |
1All components are optional.
2If either start or end is absent, then this implies an interval unbounded on that side. Thus, a DCMI Period with a single component start="2000-01-26" would identify the interval starting at the beginning of Australia Day in the year 2000 C.E. and continuing from that time.
3If a non-numeric encoding is used then matching is maximally inclusive: i.e. if a start component is expressed as a named era then the interval being identified starts at the beginning of the era, and conversely for an end component the interval ends at the end of the named era.
4In this context the name is non-normative. In the case of a conflict, the interval identified by the start and end values takes precedence. The name is provided for user convenience only.
3. Encoding DCMI Period
The components of a DCMI Period identifier have no meaning when disaggregated, since in any particular instance it is the complete set which acts as the identifier. Thus, use of DCMI Period to identify a time interval requires that the components are linked together. For systems in which data is encoded using a limited character set, this is conveniently accomplished by packaging the components into a single text-string. Various serialisation syntaxes are available, including DCSV [DCSV] and XML [XML].
In normal usage, the unadorned token "DCMI Period" should be taken to refer to the encoding using DCSV.
3.1 DCSV encoding
Writing DCMI Period using DCSV notation is straightforward, using the component names defined above. A DCMI Period value appears as follows:
start=v1; end=v2; scheme=v3; name=v4; where v1 - v4 are values as defined in the table above.
All components are optional but may not be repeated. The ordering is not significant.
3.2 XML encoding
DCMI Period may be written in XML. Given the flexibility of XML many alternative notations are possible. One form looks like this:
<Period name="v4"> <start scheme="v3a">v1</start> <end scheme="v3b">v2</end> </Period>
defined by the DTD fragment:
<!ELEMENT Period (start?,end?)> <!ATTLIST Period name CDATA \#IMPLIED > <!ELEMENT start (#PCDATA)> <!ATTLIST start scheme CDATA "W3C-DTF"> <!ELEMENT end (#PCDATA)> <!ATTLIST end scheme CDATA "W3C-DTF">
The values here are equivalent to the values in the DCSV profile. Note that:
- We have defined an XML element Period. Instances of this would occur within a complete XML document.
- The content model for Period is an ordered pair of elements (start,end), either of which may be omitted. All other components of Period occur as attributes
- The scheme used to represent the component time-instants is recorded in an XML attribute. Since these are associated directly with either the start or end element, it is possible to express different components using different notations if desired.
4. Examples
The Great Depression:
name=The Great Depression; start=1929; end=1939; <Period name="The Great Depression"> <start>1929</start> <end>1939</end> </Period>
Perth International Arts Festival, 2000:
name=Perth International Arts Festival, 2000; start=2000-01-26; end=2000-02-20; <Period name="Perth International Arts Festival 2000"> <start>2000-01-26</start> <end>2000-02-20</end> </Period>
1999 AFL Grand Final:
start=1999-09-25T14:20+10:00; end=1999-09-25T16:40+10:00; scheme=W3C-DTF; <Period name="1999 AFL Grand Final"> <start scheme="W3C-DTF">1999-09-25T14:20+10:00</start> <end scheme="W3C-DTF">1999-09-25T16:40+10:00</end> </Period>
The Phanerozoic Eon:
start=Cambrian period; scheme=Geological timescale; name=Phanerozoic Eon; <Period name="Phanerozoic Eon"> <start scheme="Geological timescale">Cambrian period</start> </Period>
5. References
[BOX]
S. Cox, 2000, DCMI Box - specification of the spatial limits of a place, and methods for encoding this in a text string
http://dublincore.org/specifications/dublin-core/dcmi-box/
[DCMES]
1999. Dublin Core™ Metadata Element Set, Version 1.1: Reference Description
http://dublincore.org/specifications/dublin-core/dces/
[DCMI]
Dublin Core™ Metadata Initiative, OCLC, Dublin Ohio.
http://dublincore.org/
[DCSV]
S. Cox, R. Iannella, 2000. A syntax for writing a list of labelled values in a text string
http://dublincore.org/specifications/dublin-core/dcmi-dcsv/
[MathML]
Mathematical Markup Language (MathML) 1.01 Specification
http://www.w3.org/TR/REC-MathML/
[W3C-DTF]
M. Wolf, C. Wicksteed, 1997, Date and Time Formats
http://www.w3.org/TR/NOTE-datetime
[XML]
Extensible Markup Language
http://www.w3.org/XML/