我们已经使用dotnetrdf创建了一个SPARQL端点,当与SPARQL相关时,我是一个初学者。日期字段以MM/DD/YYYY格式存储为字符串。现在,需要进行日期比较(> <),为此必须在SPARQL查询中将字符串转换为xsd:datetimexsd:date。有没有办法做到这一点?还有其他选择吗?
dotnetrdf中是否有任何适用于与日期相关的SPARQL查询的良好示例?

谢谢。

最佳答案

我认为答案是可以的,但可能不想!

您应该能够使用SPARQL 1.1 SUBSTR function以及concatstrdt做到这一点。

遵循以下原则

strdt(concat(substr(?x, 7, 4), '-', substr(?x, 1, 2), '-', substr(?x, 4, 2), 'T00:00:00'), xsd:dateTime)
?x绑定(bind)到MM/DD/YYYY日期值的位置。该函数的返回值应该是合法的xsd:dateTime,假定没有输入错误。

如果是我,我将提取所有MM/DD/YYYY数据,在外部进行处理,然后将其他数据添加为xsd:datesxsd:dateTimes

关于date - SPARQL日期转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11135233/

10-13 01:37