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天范围内