阅读rdf Jena时遇到的问题

阅读rdf Jena时遇到的问题,rdf,jena,Rdf,Jena,我在读取某些类型的.rdf文件时遇到问题。这些文件取自曼海因目录。下面是一个简单的代码: Model model = ModelFactory.createDefaultModel(); RDFDataMgr.read(model, "file.rdf"); model.write(System.out); 对于某些.rdf类型的文件,我得到了.nq,但Manhein.rdf目录文件发生了以下错误: 线程“main”org.apache.jena.riot.RiotException

我在读取某些类型的.rdf文件时遇到问题。这些文件取自曼海因目录。下面是一个简单的代码:

 Model model = ModelFactory.createDefaultModel();  
 RDFDataMgr.read(model, "file.rdf");
 model.write(System.out);
对于某些.rdf类型的文件,我得到了.nq,但Manhein.rdf目录文件发生了以下错误:

线程“main”org.apache.jena.riot.RiotException中的异常:代码:17/路径中的空格:单个空格字符。这些不匹配URI/IRIs的语法规则。RDF URI引用、XML系统标识符和XML模式anyURI中允许使用这些字符

作为RDFDataMgr,我尝试过其他类型的阅读。我还尝试在fuseki中创建一个空模型,并在rdf中读取文件,然后按下fuseki,但给出了相同的错误。我试图寻找错误,但没有成功。有人能帮我吗


谢谢

数据中有一个错误的URI。它里面有一个空间。URI和IRIs中的任何位置都不允许使用空格。RDF1.1使用IRIs

尝试将空格替换为“%20”-请注意,IRI中将包含字符
%
-
2
-
0
。%-编码不是一种逃避机制

修复数据是目前为止最好的解决方案-通过一些不正当的手段强制输入字符将在以后带来问题。

试试这个

Model model = ModelFactory.createDefaultModel();
InputStream file = FileManager.get().open( "file.rdf" );
model.read(file,null);
model.write(System.out);