2016-09-25 207 views
0

我在阅读特定类型的.rdf文件时遇到问题。这些文件来自Manhein目录。这里有一个简单的代码:阅读rdf的问题Jena

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,但给出相同的错误。我试图寻找错误,但没有成功。有人能帮我吗?

谢谢

回答

1

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

尝试用“%20”替换空格 - 请注意,IRI将在其中包含字符%-2-0 0。 %-encoding不是一种转义机制。

修复数据是迄今为止最好的解决方案 - 通过一些不正常的手段强制角色将在稍后带来问题。