Sie können dies tun, aber nicht genau die Art, wie Ihre Frage fragt. Die wörtlichen Formen für datetime haben all Felder (mit Ausnahme der Zeitzone), so „2014.08.15“ ^^ xsd: datetime ist nicht wirklich eine rechtliche Datums- und Uhrzeit. Weitere Informationen zum Format der Datumszeit finden Sie unter the definition.
Das heißt, es ist leicht genug, um das Jahr, den Monat zu ziehen, und Tag von einem Datetime und setzte sie wieder zusammen in ein Datum, das Sie mit anderen Terminen vergleichen:
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
select ?dt ?date where {
values ?dt { "2011-01-10T14:45:13.815-05:00"^^xsd:dateTime }
bind(xsd:date(concat(str(year(?dt)),"-",
str(month(?dt)),"-",
str(day(?dt))))
as ?date)
}
--------------------------------------------------------------------------
| dt | date |
==========================================================================
| "2011-01-10T14:45:13.815-05:00"^^xsd:dateTime | "2011-01-10"^^xsd:date |
--------------------------------------------------------------------------
Wenn Sie die Zeitzone einschließen möchten, können Sie das auch tun; Sie sind erlaubt in xsd: dates.
Wenn Sie ohne die Erstellung das neue Datum filtern wollten, könnten Sie auch so etwas wie
filter (year(?dt) = 2015 &&
month(?dt) = 01 &&
day(?dt) = 10)
tun, die eine ziemlich saubere Lösung sein könnte. obwohl
Eine Anmerkung zu Ihrem Filter. Sie können den Wert einer Variablen wie eine Konstante gegen eine Konstante filtern, was aber oft (aber nicht immer) einen einfacheren Weg vorschlägt. Zum Beispiel statt:
select ?s where {
?s a ?o .
filter (?o = <something>)
}
würden Sie in der Regel nur den Wert an Ort und Stelle verwenden, oder Werte verwenden Sie den Wert einer Variablen zu spezifizieren:
select ?s where {
?s a <something> .
}
select ?s where {
values ?o { <something> }
?s a ?o .
}
Beachten Sie, dass "2014-08-15" ^^ xsd: dateTime "möglicherweise keine gültige Datumsangabe ist, auch wenn es sich um ein legales" xsd: date "handelt. –
Vorschlagen mit "2014-08-15" ^^ xsd: date' stattdessen. – scotthenninger