ISSUE-3 (DTF): Date and Time Format

ISSUE-3 (DTF): Date and Time Format

http://www.w3.org/2011/gld/track/issues/3

Raised by: Phil Archer
On product: 

The current version of DCAT seems a little confused wrt date and time formats. We use dcterms:issued and repeat the DC range declaration of rdfs:Literal and then say it should be datatyped as xsd:date. So far so good. But then the text refers to the W3CDTF document. And they're not the same. 

xsd:date requires that values be present for yyyy-mm-dd

W3CDTF is more flexible and allows any of:
yyyy
yyyy-mm
yyyy-mm-dd (and then times can be added)

The DCAT spec says that if a day and/or month are not known then one should use the value 01. This assumes:

- that the year is always known;
- that a date like 2012-01-06 is ambiguous since it includes '01'. 

There may be cases in which the year is not known. For example, 'the 1980s' might be written as 198?. That breaks W3CDTF but it's an approximation. As it happens this came up just yesterday in the EU work that Christophe and I are doing so it's fresh in my mind. Taking all that on board, my proposal is therefore that:

1. Rather than specify a datatype of xsd:date we specify W3CDTF (which is what DC recommends). We can use the URI http://purl.org/dc/terms/W3CDTF to give the data type.

2. We recommend using '00' not '01' for unknown dates.

3. We explain that just giving the year or the year and month is valid.

4. Where the year is uncertain, use the ? character to express this but recognise that this breaks the model and is not W3CDTF. Therefore the data should not be so typed.

5. Where even strings like 198? cannot be provided, plain text such as "sometime in the 1970s or '80s" may be used but this should be avoided if at all possible.

Given DCAT's use cases the latter seems unlikely (it happens in public sector records for things like dates of birth) so maybe we could drop that bit, but 1 - 4 seem valid?

Received on Friday, 6 January 2012 15:19:38 UTC