我正在尝试使用Apache Jena中的以下代码导入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
该消息非常有用且不言自明! 但是,你有解决这个问题的方法吗?
答案 0 :(得分:9)
问题在于它需要一个URI,而不是文件名。它将C:...视为(未知)URI方案'C'。
请尝试以下方法:
Path input = Paths.get("C:\Users\Admin\Documents", "foaf.rdf");
Model model = ModelFactory.createDefaultModel() ;
model.read(input.toUri().toString(), "RDF/XML") ;
答案 1 :(得分:2)
我不知道apache jena是什么或者做什么但是你可以尝试小写“c:”但这可能不会起作用所以你可以试试
file:/c:/my/path