sparql如何根据日期范围进行筛选

sparql如何根据日期范围进行筛选,sparql,rdf,semantic-web,owl,rdfs,Sparql,Rdf,Semantic Web,Owl,Rdfs,我有以下过滤器,可将我的数据过滤到上周中的项目中 #just consider the likes in the last one week. filter (?ratingDate >= "2017-03-01T00:00:00"^^xsd:dateTime ) 正如你看到的,我在手上设置了上周的日期时间(硬编码),有没有办法自动设置这个日期 我正在寻找类似“现在7天”的内容(整合评论) 现在-7天需要做很多事情: SPARQL中有一个用于当前时间点的函数:now() “7天”是x

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

#just consider the likes in the last one week.
  filter (?ratingDate >= "2017-03-01T00:00:00"^^xsd:dateTime )
正如你看到的,我在手上设置了上周的日期时间(硬编码),有没有办法自动设置这个日期

我正在寻找类似“现在7天”的内容(整合评论)

现在-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算法

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

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

有一个
now()
函数:@CaptSolo谢谢,这绝对是有益的,我也想问一下,owl中是否有这样一个函数,不仅仅是sparql?@CaptSolo好的,但我怎么能说现在-7天?owl是一种数据建模语言,没有函数的概念。@我知道,我想说,但我忘了,我的意思是,如果有一种方法可以使用现在或当前日期的年份来设置约束,听起来没有,这没关系,我只是想知道如何在sparql中实现这一点,
now()
很好(我认为),但我如何使用它来表示
now()-7天
或是否有其他方法检查给定日期是否在今天的最长7天范围内