首页 > 解决方案 > 在 Jena TDB 数据集中更新本体时发生 Jena Riot 异常

问题描述

在我的应用程序中,我试图更新 TDB 中已经存在的本体的内容。在存储到 TDB 之前,我将本体转换为 RDF/XML 格式。使用相同的 model.read 方法在空模型中加载本体数据时不会产生问题,但在更新它时会出现此错误。有人可以帮我解决吗?输入参数:modelName ->namedModel 保存在 TDB 中 inputString ->本体数据转换为字符串 我的代码如下:

public void updateModel(String modelName, String inputString) {
    dataset.begin(ReadWrite.WRITE);
    try {
        Model model = dataset.getNamedModel(modelName);
        model.removeAll();
        StringReader reader = new StringReader(inputString);
        model.read(reader,null,"RDF/XML-ABBREV");
        dataset.commit();
        logger.info("dataset committed");
    } catch (Exception e) {
        logger.error("Exception in reading : " + e);
    } finally {
        dataset.end();
    }

}

它抛出以下错误:org.apache.jena.riot.RiotException: [line: 1, col: 1] prolog 中不允许内容。

标签: jena

解决方案


推荐阅读