如何在SPARQL中转换日期格式?

Mar*_*rgi 1 date sparql

我是SPARQL的新手,现在已经在网上搜索了很长时间。我的端点是http://dbpedia.org/sparql,我正在使用http://yasgui.laurensrietveld.nl/执行查询。

我可以检索看起来像1994-04-11 00:00:00的日期。现在出于显示目的,我需要以MM / DD / yyyy格式显示日期,即4/11/1994。有什么功能对我有帮助吗?

我不想使用STR,CONCAT,YEAR,MONTH,DAY函数,因为我希望查询结果按最早的日期排序。

编辑:我的查询已按?date按?name顺序分组。我想最早的约会。例如,对于“ abc”,我有三个日期2001年10月13日;10/15/2007和10/22/2007。我想最早的日期是2001年10月13日。

Jee*_*tra 5

假设您选择的DBPedia中的日期值是有效xsd:dateTime字符串(问题中使用的字符串无效),则可以按如下所示轻松地执行此操作:

   SELECT ?x (CONCAT(STR(MONTH(?date)), 
                     "/", 
                     STR(DAY(?date)), 
                     "/", 
                    STR(YEAR(?date))) as ?displayDate)
   WHERE {
              ?x :hasDate ?date.
   }
   ORDER BY ?date
Run Code Online (Sandbox Code Playgroud)