2014-02-14 3 views
2

내가 튜토리얼에서 다음 코드를 사용하여 아파치 예나과 RDF/XML 파일을 가져 오기 위해 노력하고있어 :가져 오기의 RDF/XML : 소문자 선호하는 예외

Path input = Paths.get("C:\Users\Admin\Documents"); 
Model model = ModelFactory.createDefaultModel() ; 
model.read(input+File.separator+"foaf.rdf", "RDF/XML") ; 

가져올 파일이 here입니다 . 내가 테스트 코드를 실행하면

는 다음과 같은 예외가 반환됩니다

Exception in thread "main" org.apache.jena.riot.RiotException: <C:\Users\Admin\Documents\foaf.rdf> 
    Code: 11/LOWERCASE_PREFERRED in SCHEME: 
    lowercase is preferred in this component 

메시지는 정말 유용하고 자기 설명입니다! 그러나이 문제에 대한 해결책이 있습니까? 당신이

file:/c:/my/path 

답변

9

문제는이 URI를 기대하고 있다는 것입니다 시도 할 수 있지만 아마 그렇게 작동하지 않습니다

+0

이 솔루션이 더 좋습니다. 이전에받은 답변을 자신의 것으로 옮겨서 죄송합니다.하지만이를 명확하게하기 위해해야합니다. –

2

나는 아파치 예나가 또는 무엇을 아무 생각하지만 당신은 "C"를 lowercasing 시도해 볼 수도 있습니다 파일 이름이 아닙니다. 이것은 C : ...를 (알지 못하는) URI 체계 'C'로 취급합니다.

는 대신 다음보십시오 :

Path input = Paths.get("C:\Users\Admin\Documents", "foaf.rdf"); 
Model model = ModelFactory.createDefaultModel() ; 
model.read(input.toUri().toString(), "RDF/XML") ; 
+0

그냥 약간의 피드백을 : lowercasing는 일, 즉 그것을 내가 언급 한 또 다른 예외 ('UNWISE_CHARACTER'를) 반환 문제를 제거했습니다. 내가'c :/my/path'를 사용하면 모든 것이 잘 작동합니다. –

관련 문제