使用 SPARQL 获取当前时间(以秒/毫秒为单位)?

Nic*_*kis 4 rdf timestamp sparql nosql

有没有办法从某个纪元获取 SPARQL 中的当前时间(以秒或毫秒为单位的持续时间)?该标准包括now(),它返回 xsd:dateTime ,以及用于提取部分 xsd:dateTimes 的各种函数,但没有用于将整个 dateTime 转换为秒的函数。我错过了什么吗?

Jos*_*lor 5

不幸的是,SPARQL 1.1 不需要支持日期算术,尽管某些实现可能会支持。例如,在 DBpedia 端点上,您可以执行如下查询:

select (NOW() - ?epoch as ?time ) where {
  values ?epoch { "1970-01-01T00:00:00"^^xsd:dateTime }
}
Run Code Online (Sandbox Code Playgroud)

SPARQL 结果

有关 SPARQL 1.1 不需要支持这一事实的更多详细信息,以及一些更可移植的解决方法(例如,提取日期的组成部分并用它们进行算术),可以在一些相关问题的答案中找到: