2012-03-08 11 views
4

SPARQLを使用して日付から月要素を抽出し、結果をグループ化することは可能ですか?私はフォーマットを"2009-12-31"^^xsd:dateで定義するためにW3時間オントロジーを使用しています。SPARQLで月単位でデータをグループ化していますか?

"2009-12-31"^^xsd:dateの場合は、12を抽出したいと思います。

これも可能ですか?もしそうなら、どうすればいいのですか?

答えて

5

SPARQL 1.1には、ISOの日付から月を抽出するmonth()関数(http://www.w3.org/TR/sparql11-query/#func-month)があります。

することができますのように、キーワード、GROUP BYを使用して月ごとのグループ:日付データ型だけのxsd:

SELECT ?mon SUM(?val) 
WHERE { 
    ?x :date ?date ; 
    :value ?val . 
} 
GROUP BY (month(?date) AS ?mon) 

のみ若干の問題は、SPARQLシステムは、XSDを処理するために必要とされていないということです、dateTimeのが、多くはそれを正しく扱います。