SPARQL过滤DateTimes的问题

时间:2016-08-04 10:04:40

标签: datetime xsd sparql rdf virtuoso

我在Virtuoso存储库中有一些RDF数据,我试图通过xsd:dateTime过滤结果。我已经阅读过很多类似问题的帖子,而且在其他论坛中,但我找不到正确的答案。

这是我的数据:

enter image description here

可以看出,?xsddt 变量以有效格式(http://books.xmlschemata.org/relaxng/ch19-77049.html)获取xsd:dateTime值。 (我也尝试过其他xsd.DateTime格式,包括时区等,但它不起作用。)

以下是我正在使用的SPARQL查询:

PREFIX owl-time: <http://www.w3.org/2006/time#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
select ?instant ?year ?xsddt
FROM <urn:calendarData>
WHERE {
  ?instant  owl-time:hasDateTimeDescription ?dtdesc.
  ?dtdesc owl-time:year ?year.
  ?dtdesc owl-time:inXSDDateTime ?xsddt.
 FILTER (?year = "2014" 
    && ?xsddt > "2014-02-01T00:00:00"^^xsd:dateTime)
}

?xsddt&gt; “2014-02-01T00:00:00”^^ xsd:dateTime 是给我带来问题的部分。

我是如何解决此问题并能够按dateTime过滤结果的?

提前致谢

更新

数据样本(抱歉给您带来不便):

<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl-time="http://www.w3.org/2006/time#"
...
  <rdf:Description rdf:about="http://www.w3.org/2006/time#3/15/15_3">
    <owl-time:hasDateTimeDescription rdf:parseType="Resource">
      <owl-time:year>2015</owl-time:year>
      <owl-time:month>3</owl-time:month>
      <owl-time:dayOfYear>74</owl-time:dayOfYear>
      <owl-time:week>11</owl-time:week>
      <owl-time:dayOfWeek>sunday</owl-time:dayOfWeek>
      <owl-time:day>15</owl-time:day>
      <owl-time:unitType>unitDay</owl-time:unitType>
      <owl-time:hour>3</owl-time:hour>
      <owl-time:inXSDDateTime>2015-03-15T03:00:00</owl-time:inXSDDateTime>
</owl-time:hasDateTimeDescription>
<rdf:type>http://www.w3.org/2006/time#Instant</rdf:type>


 </rdf:Description>

0 个答案:

没有答案
相关问题