質問があります。RDF Triple Store に大きな RDF ファイルをロードしたときに問題が発生したと述べたこの記事を書きました。
この解決策は機能しましたが、今日では別の問題を引き起こしています。
コードコードの私の部分は次のとおりです。
String file = "C:\\file.nt";
String queryStr = "select * {graph <http://nameFile> { ?s ?p ?o }}";
String directory;
directory = "C:\\tdb";
Dataset dataset = TDBFactory.createDataset(directory);
dataset.begin(ReadWrite.WRITE) ;
Query query = QueryFactory.create(queryStr);
QueryExecution qexec = QueryExecutionFactory.create(query, dataset);
qexec.getContext().set(TDB.symUnionDefaultGraph, true);
ResultSet results = qexec.execSelect();
if (!results.hasNext()) {
Model model = dataset.getNamedModel("http://nameFile");
TDBLoader.loadModel(model, file);
}
dataset.commit();
dataset.end();
エラーが発生する
java.lang.OutOfMemoryError: GC オーバーヘッドの制限を超えました
なんで?
前のコードでは、
java.lang.OutOfMemoryError: Java ヒープ領域
代わりにエラーが発生しましたが、解決すると思いました。このコードは Web サービスで実行されます。Netbeans と Glassfish 4.0 を使用しています。
私は何を間違っていますか?
「-XX:-UseGCOverheadLimit」VM オプションも使用しましたが、効果がありません。
ありがとうございます。