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

时间:2016-03-09 13:35:52

标签: sparql rdf semantic-web owl rdfs

我有以下过滤器将我的数据过滤到上周中的项目。

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

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

我正在寻找类似 now-7day

的内容

1 个答案:

答案 0 :(得分:5)

(合并评论)

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

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

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

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

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

计算出的xsd:dateTime为"现在 - 7天","> ="比较标准SPARQL的一部分:

FILTER ( ?ratingDate >= (now()-"P7D"^^xsd:duration) )