1

約 20MB の RDF オントロジーがあります。以下のコードのように個人を追加しようとしました。

FileManager.get().addLocatorClassLoader(RDFWriter.class.getClassLoader());
OntModel model = ModelFactory.createOntologyModel(OntModelSpec.RDFS_MEM_RDFS_INF);
model.read("Ontology/LocationOntology_New2.owl");
String preFix = "LocationOntology_New.owl#";
OntClass Region = model.getOntClass(preFix+"Region");
Individual sabara = model.createIndividual(preFix+"Sabaragamuwa",Region);
try {
    PrintStream p = new PrintStream("Ontology/LocationOntology_New2.owl");
    model.write(p,null);
    p.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();  
}

しかし、このコードはモデルを読み込んだファイルに書き戻すのに非常に時間がかかります。すべてを最初から書き込んでいるようです(既存のファイルを更新していません)。これを解決する方法を知っている人はいますか?

4

2 に答える 2

1

これは解決できないと思います。つまり、イエナは、あなたが行った変更の種類を決定する必要があります。実際、新しいインスタンスのみを追加した場合は、それらをファイルに追加するだけで十分です。ただし、一部のクラスにスーパー クラスを追加するなどの変更を加えた場合は、このクラス定義を更新する必要があります。

于 2013-10-23T09:52:57.460 に答える