2016-09-25 420 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不是一種轉義機制。

修復數據是迄今爲止最好的解決方案 - 通過一些不正常的手段強制角色將在稍後帶來問題。