在Apache Jena中导入rdf/xml:小写首选异常

mat*_*boy 2 java rdf jena

我正在尝试使用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") ;
Run Code Online (Sandbox Code Playgroud)

正在导入的文件在这里.

当我运行测试代码时,返回以下异常:

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
Run Code Online (Sandbox Code Playgroud)

该消息非常有用且不言自明!但是,你有解决这个问题的方法吗?

use*_*512 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") ;
Run Code Online (Sandbox Code Playgroud)