使用 SPARQL 文本查询按日期范围过滤

问题描述

我正在使用 Jena 的 SPARQL 引擎并尝试编写文本查询来过滤日期范围,因为我需要在日期范围内应用文本搜索

当我尝试过滤而不使用过滤器建立索引时,我得到了响应

FILTER (?time >= "2021-01-01T00:00:00+05:30"^^xsd:dateTime && ?time <= "2021-01-11T00:00:00+05:30"^^xsd:dateTime)

即使当我尝试使用文本查询基于日期进行过滤时,我也会收到响应

?activity text:query (prov:endedAtTime "\"2021-01-05T11:55:32.472+05:30\"") . 

但是当我尝试使用文本查询基于范围进行过滤时,我没有得到任何响应

?activity text:query (prov:endedAtTime "[2021-01-01T00:00:00.472+05:30 TO 2021-01-06T00:00:00.472+05:30]") . 

#?activity text:query (prov:endedAtTime "[2021-01-01T00:00:00+05:30^^xsd:dateTime TO 2021-01-10T00:00:00+05:30^^xsd:dateTime]") . 

?activity text:query (prov:endedAtTime "[\"2021-01-05T11:55:32.472+05:30\"^^xsd:dateTime TO \"2021-01-10T00:00:00.000+05:30\"^^xsd:dateTime]") .

或偶数

?activity text:query (prov:endedAtTime "[\"2021-01-05T11:55:32.472+05:30\" TO \"2021-01-10T00:00:00.000+05:30\"]") .

如何编写 SPARQL 查询以使用范围过滤器编写文本查询

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)