读取 Jena 模型时出现错误的 URI 异常
Bad URI Exception While Reading Jena Model
我正在将输入流转换为 Jena 模型。但显然我收到了这个错误:
org.apache.jena.riot.system.ErrorHandlerFactory$ErrorLogger", Bad character in IRI (space):
当我检查时,URI 中确实有一个 space,我知道它是无效的。但是有没有什么方法或任何丑陋的解决方案可以在不更正数据的情况下做到这一点。
我确实找到了类似 reader.setProperty("allowBadURIs", "true") 的东西,但似乎只适用于 RDF Writer
这是我的代码:
InputStream targetStream = new FileInputStream(new File(file_location);
Model modelResult = ModelFactory.createDefaultModel().read(rdfInput, "", "RDF/XML");
URL 示例
"http://openfashion.momu.be/9f spelden en verpakkingen momu fs "
目前没有办法。数据有一个损坏的令牌,很难恢复。允许 spaces 通过有两个问题:
有时数据已损坏,因此它不是 URI 中的 space,而是缺少终止符“>”(错误来自分词器处理输入字符)
从前面开始,因此大量文本可能会被读取为一个 URI。
一旦摄入,如此糟糕的 IRI 就会导致下游问题(e.g.they 无法可靠地打印)。只有一些作者能应付,然后他们输出其他系统无法读取的RDF。
解决方案是修复输入,以免推迟以后出现的问题,尤其是存储在持久性数据库中时。
我正在将输入流转换为 Jena 模型。但显然我收到了这个错误:
org.apache.jena.riot.system.ErrorHandlerFactory$ErrorLogger", Bad character in IRI (space):
当我检查时,URI 中确实有一个 space,我知道它是无效的。但是有没有什么方法或任何丑陋的解决方案可以在不更正数据的情况下做到这一点。
我确实找到了类似 reader.setProperty("allowBadURIs", "true") 的东西,但似乎只适用于 RDF Writer
这是我的代码:
InputStream targetStream = new FileInputStream(new File(file_location);
Model modelResult = ModelFactory.createDefaultModel().read(rdfInput, "", "RDF/XML");
URL 示例
"http://openfashion.momu.be/9f spelden en verpakkingen momu fs "
目前没有办法。数据有一个损坏的令牌,很难恢复。允许 spaces 通过有两个问题:
有时数据已损坏,因此它不是 URI 中的 space,而是缺少终止符“>”(错误来自分词器处理输入字符) 从前面开始,因此大量文本可能会被读取为一个 URI。
一旦摄入,如此糟糕的 IRI 就会导致下游问题(e.g.they 无法可靠地打印)。只有一些作者能应付,然后他们输出其他系统无法读取的RDF。
解决方案是修复输入,以免推迟以后出现的问题,尤其是存储在持久性数据库中时。