OntModel として読み取られる OWL ファイルを格納するために JENA TDB を使用しています。同じコードは次のとおりです。
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);
}
これにより、アプリケーションが実行されていないときにフクロウ ファイルが外部で変更された場合 (特に、フクロウ ファイルから何かを削除した場合)、アプリケーションを再実行すると、データ セットが一貫性のない状態に見えるという問題に直面しています。フクロウ ファイルから削除されたエンティティは、ontModel
(これらの古いエントリが TDB に保持されるため) まだ保持されているため、この場合は望ましくありません。
この種の問題を克服する方法はありますか?データセットが私の OWL ファイルと一致するようにするには? それとも、上記の方法は TDB を作成する正しい方法ではありませんか?