Date 在SPARQL中按月分组数据?

Date 在SPARQL中按月分组数据?,date,rdf,sparql,Date,Rdf,Sparql,是否可以使用SPARQL从日期中提取month元素,并根据它对结果进行分组。我使用W3时间本体来定义日期,格式为“2009-12-31”^^xsd:date 因此,如果是“2009-12-31”^^xsd:date,我想提取12 这可能吗。如果是这样,怎么做呢?在SPARQL 1.1中有一个month()函数()可以从ISO日期中提取月份 您可以使用group by关键字按月分组,如中所示: SELECT ?mon SUM(?val) WHERE { ?x :date ?date ;

是否可以使用SPARQL从日期中提取month元素,并根据它对结果进行分组。我使用W3时间本体来定义日期,格式为
“2009-12-31”^^xsd:date

因此,如果是
“2009-12-31”^^xsd:date
,我想提取
12


这可能吗。如果是这样,怎么做呢?

在SPARQL 1.1中有一个month()函数()可以从ISO日期中提取月份

您可以使用group by关键字按月分组,如中所示:

SELECT ?mon SUM(?val)
WHERE {
  ?x :date ?date ;
     :value ?val .
}
GROUP BY (month(?date) AS ?mon)
唯一的小问题是SPARQL系统不需要处理xsd:date数据类型,只需要处理xsd:dateTime,但许多系统可以正确处理它