2012-12-15 2 views
1

freebase 데이터에서 잘못된 dateString을 가져옵니다. 다음 SPARQL 쿼리의 출력은문자열이 dateTime 객체인지 여부를 확인하는 방법은 무엇입니까?

검색어 :

select ?dob dataType(?dob) as ?dataType { 
<http://freebase.com/ns/m/011k9p> <h://freebase.com/ns/common/topic/notable_types> <http://freebase.com/ns/people/person> . 
<http://freebase.com/ns/m/011k9p> <h://freebase.com/ns/people/person/date_of_birth> ?dob 
} 

출력 :

dob  dataType 
-0359 http://www.w3.org/2001/XMLSchema#string 

나는 XSD로 변환 할 수 DOB -0359 불가능이 분야에 나이 계산을하고있다지고 (이후 : dateTime 객체).

문자열을 유형에 캐스트 할 수 있는지 확인하는 방법은 무엇입니까?

미리 감사드립니다. 도움을 주시면 감사하겠습니다.

+0

관련 질문 : http://stackoverflow.com/questions/13896118/virtuoso-22007-error-dt006-how -to-validate-datetime-object-in-sparql –

답변

0

이 가장 쉬운 것은 단지 시도하고 문자열을 구문 분석하여 SimpleDateFormat을 사용하는 것입니다 : 당신이 ParseException을 잡을 경우

return new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(theDate); 

을, 당신은 유효한 날짜 시간 문자열로 포맷되지 않았습니다 알고 당신은 그러나 진행할 수 있습니다 오류를 던지고, 경고를 인쇄하고, 올바른 날짜 시간에 수정하려고 시도하십시오.

관련 문제