读取rdf耶拿的问题

Problems reading rdf Jena

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

 Model model = ModelFactory.createDefaultModel();  
 RDFDataMgr.read(model, "file.rdf");
 model.write(System.out);

对于某些 .rdf 类型的文件,我得到的是 .nq,但 Manhein .rdf 目录文件正在发生以下错误:

Exception in thread "main" org.apache.jena.riot.RiotException: Code: 17/WHITESPACE in PATH: A single whitespace character. These match no grammar rules of URIs/IRIs. These characters are permitted in RDF URI References, XML system identifiers, and XML Schema anyURIs.

我尝试过其他类型的阅读,如 RDFDataMgr。我还尝试在 fuseki 中创建一个空模型并在 rdf 中读取文件,然后按 fuseki,但给出了相同的错误。我尝试搜索错误但没有成功。有人可以帮助我吗?

谢谢

数据中存在错误的 URI。它有一个 space 。 URI 和 IRI 中的任何地方都不允许有空格。 RDF 1.1 使用 IRI。

尝试将 space 替换为“%20” - 请注意,IRI 中将包含字符 %-2-0。 %-encoding 不是转义机制。

修复数据是迄今为止最好的解决方案——通过一些不正当的手段强迫角色进入会在以后带来问题。

试试这个...

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