2012-03-08 4 views
4

SPARQL을 사용하여 날짜에서 month 요소를 추출하고 결과를 그룹화 할 수 있습니까? W3 시간 온톨로지를 사용하여 날짜를 "2009-12-31"^^xsd:date 형식으로 정의합니다.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으로하지만, 많은 사람들이 그것을 올바르게 처리 할 것입니다.

관련 문제