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

时间:2014-02-02 20:06:15

标签: 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函数,因为我希望查询结果按照最早的日期排序。

编辑:我的查询按名称顺序排列?日期。我想得到最早的约会。例如对于“abc”,我有三个日期,10/13/2001; 2007年10月15日和2007年10月22日。我想获得最早的日期10/13/2001。

1 个答案:

答案 0 :(得分:4)

假设您选择的DBPedia中的日期值是有效的xsd:dateTime字符串(您的问题中的字符串无效),您可以按照以下方式轻松执行此操作:

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