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

标签 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的内容

最佳答案

(合并评论)

现在 - 7 天需要做很多事情:

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

“7 天”是 xsd:duration,“P7D”^^xsd:duration

“-”是涉及 xsd:dateTime 和 xsd:duration 的算术 - 操作是 op:subtract-yearMonthDuration-from-dateTime (来自“XPath 和 XQuery 函数和运算符”) - 并且还重载“-”操作来分派(dispatch)到该函数。

您需要检查您所使用的 SPARQL 引擎是否支持 xsd:dateTime 扩展和 xsd:duration 算术。

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

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

关于sparql如何根据日期范围进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35893121/

相关文章:

rdf - 如何在 RDF 中对长且多语言的个人名进行编码?

rdf - 哪些 RDF 模式可用于表示组件及其构成的百分比?

sparql - 为什么过滤器在这种情况下不起作用?

rdf - 选择主题和 rdf :type in a SPARQL query

rdf - 如何在现有数据集上使用替代/新本体

rdf - 本体/语义/OWL/RDF 有什么 killer 级应用吗?

sparql - 维基数据 - 这个查询可能吗?

SPARQL 为缺失字段生成值

sparql - Fuseki “Can' t 找到要运行的 jarfile”

sparql - 为什么可选绑定(bind)不起作用