java - 读取 Jena 模型时出现错误 URI 异常

标签 java rdf jena

我正在将输入流转换为 Jena 模型。但显然我收到了这个错误:

org.apache.jena.riot.system.ErrorHandlerFactory$ErrorLogger", Bad character in IRI (space): 

当我检查时,URI 中确实有空格,我知道它无效。但是有没有什么方法或任何丑陋的解决方案可以在不更正数据的情况下做到这一点。

我确实发现了类似reader.setProperty("allowBadURIs", "true")的东西,但似乎只适用于RDF Writer

这是我的代码:

InputStream targetStream = new FileInputStream(new File(file_location);

Model modelResult = ModelFactory.createDefaultModel().read(rdfInput, "", "RDF/XML");

网址示例

"http://openfashion.momu.be/9f spelden en verpakkingen momu fs "

最佳答案

目前还没有办法。数据有损坏的标记,很难很好地恢复。允许空格通过有两个问题:

有时数据会被破坏,因此它不是 URI 中的空格,而是缺少终止符“>”(错误是由于分词器处理输入字符时产生的) 从前面开始,因此大量文本可能会被读取为一个 URI。

一旦被摄入,如此糟糕的 IRI 就会导致下游问题(例如,它们无法可靠地打印)。只有一些编写器可以应付,然后他们输出其他系统无法读取的 RDF。

解决方案是修复输入,以免推迟以后出现的问题,尤其是存储在持久数据库中时。

关于java - 读取 Jena 模型时出现错误 URI 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62388846/

相关文章:

java - 为什么 List<T>.toArray() 返回泛型 Object[] 而不是 T[]?

java - 将 mapreduce 作业提交到 hadoop 2.2 从 windows 到 ubuntu 时出现 UnsatisfiedLinkError (NativeIO$Windows.access0)

jena - fuseki 网络界面不显示数据集

sparql - Jena Sparql 输出为 .txt 或 .xls 文件

java - 用于查找 RDF 中术语的 URL 的 SPARQL 查询

java - 仅当通过 Eclipse : POST on Spring Boot Controller fails with HTTP Error 415 运行时

java - 如何使用解析从字符串中分离 Int 和字符(java)

java - 从 xml 文件中提取信息作为 RDF 三元组

rdf - SHACL 比较两个不同节点上的值?

java - 从 SPARQL 结果中的文字中删除数据类型