读取OWL/RDF模型时,Jena的IRI中有错误字符



在Jena读取OWL/RDL模型时,我有一个org.apache.jena.riot.RiotException: Bad character in IRI (space)异常。

我知道这是因为我在XML名称空间声明中的IRI声明中有一个空格(这是不允许的),但是由于我在开发的开源工具中使用Jena来创建与本体对应的图,所以我想知道(XML)模型中发生错误的行号。在耶拿捕获这个异常是可能的吗?

您可以使用

提供错误处理程序
RDFParser.source("filename").errorHandler(...).toModel();

解析器实际上会发出警告(稍后当行号不可用时会生成错误)

更改为错误:

Map<String, Object> properties = new HashMap<>();
properties.put("WARN_BAD_NAMESPACE_URI", "EM_ERROR");
Context cxt = new Context().set(SysRIOT.sysRdfReaderProperties, properties);
RDFParser.source(filename)
.context(cxt)
.errorHandler(....)
.toModel();

相关内容

最新更新