我有一个问题:我写了这篇文章,我说当我在我的 RDF 三重存储中加载大型 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 选项,但没有效果。
谢谢和抱歉。