Skip to content

dcterm:PeriodOfTime #14

@Sveino

Description

@Sveino

Summary

When converting between TriG / JSON-LD and CIMXML, we need special handling of the DCAT temporal extent construct based on
dcterms:PeriodOfTime.

DCAT 3 defines temporal coverage using a compound structure (blank node or resource) which is not supported by CIMXML.
(RDF/XML as a syntax supports this, but CIMXML does not.)

Relevant specification:
https://www.w3.org/TR/vocab-dcat-3/#Class:Period_of_Time

Background

In DCAT 3, temporal coverage is expressed using:

  • dct:temporaldcterms:PeriodOfTime

with properties:

  • dcat:startDate

  • dcat:endDate

This requires a compound RDF node, typically serialized as a blank node in TriG / JSON-LD.

CIMXML does not support compound objects / blank nodes, and therefore cannot represent dcterms:PeriodOfTime directly.

Supported Representation (TriG / JSON-LD)

TriG and JSON-LD SHALL support the full DCAT compound structure.

Example:

dct:temporal       [ rdf:type        dct:PeriodOfTime;
                                 dcat:startDate  "2014-12-31T23:00:00Z"^^xsd:dateTime ;
                                 dcat:endDate  "2015-01-01T23:00:00Z"^^xsd:dateTime ;
                               ];

Notes:

  • dct:temporal range is dcterms:PeriodOfTime

  • dcat:startDate and dcat:endDate are defined by DCAT 3

  • The node is typically a blank node

CIMXML Handling (Flattened Representation)

For CIMXML output, the compound structure SHALL be flattened.
The dcterms:PeriodOfTime node is not serialized, and only its scalar properties are emitted.

Flattened CIMXML representation:

<dcat:startDate>2014-12-31T23:00:00Z</dcat:startDate>
<dcat:endDate>2015-01-01T23:00:00Z</dcat:endDate>

Important characteristics

  • This is a lossy transformation

  • The semantic grouping (dct:temporal PeriodOfTime) is not preserved

  • The meaning is retained implicitly by context (e.g. dataset temporal coverage)

Rules (Normative)

  • TriG and JSON-LD SHALL support dct:temporal with dcterms:PeriodOfTime

  • CIMXML SHALL NOT emit compound or blank-node structures

  • CIMXML SHALL flatten dcterms:PeriodOfTime into:

  • dcat:startDate

  • dcat:endDate

  • CIMXML SHALL NOT emit rdf:type dct:PeriodOfTime

  • Datatypes SHALL be xsd:dateTime and expressed in UTC (Z)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions