我正在使用 JENA TDB 存储读取为 OntModel 的 OWL 文件。相同的代码是:
public static void initializeModel(){
dataset=TDBFactory.createDataset("Path/to/TDBDir");
Model b = dataset.getDefaultModel();
ontModel= ModelToOntModel(b);
FileManager.get().readModel( ontModel, "Path/to/sourceOWL.owl");
jListener= new JenaListener(ontModel,"MODEL");
ontModel.register(jListener);
}
因此,我面临一个问题,如果 owl 文件在外部更改(特别是当我们从 owl 文件中删除某些内容时),当应用程序未运行并再次重新运行应用程序时,数据集似乎处于不一致状态根据 owl 文件,因为从 owl 文件中删除的实体仍然存在ontModel
(因为那些旧条目存在于 TDB 中),这在我们的案例中是不希望的。
有没有办法克服这种问题?以便数据集与我的 OWL 文件保持一致?还是如上所示的方法不是创建TDB的正确方法?