md`
Dydra recently extended its native support to cover the full
[XSD](http://www.w3.org/TR/xmlschema11-2/#built-in-primitive-datatypes)
temporal data type complement.
This means not only that our platform continues to provide compact native representations for the core data types:
- xsd:date
- xsd:dateTime
- xsd:time
where each term requires one cell - that is, eight bytes, but,
in addition, SPOCQ, Dydra's SPARQL processor, implements internal data classes for the remaining types:
- xsd:dayTimeDuration
- xsd:yearMonthDuration
- xsd:gDay
- xsd:gMonth
- xsd:gMonthDay
- xsd:gYear
- xsd:gYearMonth
~
As one aspect of this support, we have extended the value domain for the native xsd:dateTime
form to cover the interval ca. two hundred thousand years each way from the [epoch](http://www.w3.org/TR/xmlschema-2/#dateTime).
As the second, we extend the SPARQL 1.1
[functions on dates and times](http://www.w3.org/TR/2013/REC-sparql11-query-20130321/#func-date-time),
based upon this storage model,
with the respective temporal operators, as defined by ["XPath and XQuery Functions and Operators 3.0"](http://www.w3.org/TR/xpath-functions-30).
The SPARQL 1.1 [recommendation](http://www.w3.org/TR/2013/REC-sparql11-query-20130321/#func-date-time)
requires support for [xsd:dateTime](http://www.w3.org/TR/2013/REC-sparql11-query-20130321/#operandDataTypes)
data as an operand to the functions \`YEAR\`, \`MONTH\`, \`DAY\`, \`HOURS\`, \`MINUTES\`, \`SECONDS\`, \`TIMEZONE\` and \`TZ\`,
as the result type from the constructor \`NOW\` and their admissibility to the \`ORDER\` operation.
Dydra extends the generic behavior of the component accessors,
as appropriate to the respective datatype,
orders those for which a relation is [defined](http://www.w3.org/TR/xmlschema11-2/#order)
for [durations](http://www.w3.org/TR/xpath-functions-30/#durations) and
for [locations](http://www.w3.org/TR/xpath-functions-30/#dates-times),
and
provides the respective construction operators and implicit [casting](http://www.w3.org/TR/xpath-functions-30/#casting).
Given this facility, temporal data is amenable to
[aggregation](https://github.com/dydra/http-api-tests/blob/master/extensions/sparql-protocol/temporal-data/aggregates.sh)
and
[ordering](https://github.com/dydra/http-api-tests/blob/master/extensions/sparql-protocol/temporal-data/gDay.sh).
In addition, although the respective domains are not fully commensurable,
we augment the rules which SPARQL [requires](http://www.w3.org/TR/2013/REC-sparql11-query-20130321/#modOrderBy)
to order among kinds of RDF terms to include the temporal types as well as to accommodate other literal types
- unbound
- blank node
- xsd:anyURI
- rdf:langString
- xsd:string
- xsd:boolean
- number
- gregorian
- xsd:dayTimeDuration
- xsd:yearMonthDuration
- xsd:duration
- xsd:date
- xsd:time
- xsd:dateTime
- other literal types
`