sparql如何根据日期范围进行过滤

Ani*_*vid 2 rdf semantic-web owl rdfs sparql

我有以下过滤器,可以将我的数据过滤到上周的项目.

#just consider the likes in the last one week.
  filter (?ratingDate >= "2017-03-01T00:00:00"^^xsd:dateTime )
Run Code Online (Sandbox Code Playgroud)

如你所见,我在手中设置了上周的日期时间(硬编码),有没有办法自动设置这个日期?

我正在寻找像现在这样的东西- 7天

And*_*dyS 5

(合并评论)

现在 - 7天需要很多东西:

SPARQL中有一个当前时间点的函数: now()

"7天"是xsd:duration, "P7D"^^xsd:duration

" - "是涉及xsd:dateTime和xsd:duration的算术 - 操作是op:subtract-yearMonthDuration-from-dateTime(来自"XPath和XQuery函数和操作符") - 并且还重载了" - "操作发送到该功能.

您需要检查正在使用的SPARQL引擎,以确定是否支持xsd:dateTime和xsd:duration算法的扩展.

一旦计算出xsd:dateTime为"now - 7 days",标准SPARQL的一部分的"> ="比较:

FILTER ( ?ratingDate >= (now()-"P7D"^^xsd:duration) )
Run Code Online (Sandbox Code Playgroud)