【发布时间】:2013-09-27 13:24:42
【问题描述】:
我在过滤两个时间过滤器(包括 4Store 中的时区)之间的记录时遇到问题。我的记录目前大多在+02:00时区,属于xsd:dateTime类型。
当我尝试这样的过滤器时:
FILTER (?time >= xsd:dateTime('2013-08-02T01:00:00.000+02:00') && ?time <=
xsd:dateTime('2013-08-03T22:00:00.000+02:00'))
或
FILTER (?time >= "2013-08-02T01:00:00.000+02:00"^^xsd:dateTime &&
?time <= "2013-08-03T22:00:00.000+02:00"^^xsd:dateTime)
数据库根据时区数量移动这些时间,然后将它们与数据库中的时间进行逐字比较,忽略它们的时区。这意味着,当我想要示例范围内的时间时,我必须删除时区,或者输入Z 或+00:00。当我阅读时间时,它们的写法是正确的,它们的时区是+02:00。它以某种方式忽略了时区比较,但是当我将时区放在查询中时,商店会改变时间。当我在系统中有更多时区时,这将是一个主要的混乱。
任何人都可以就此提供一些建议吗?
【问题讨论】:
-
数据中的值是什么?您能否显示(部分数据)您希望返回的信息?
-
会的,我现在没有它 :)
标签: datetime timezone rdf sparql 4store