我有一个带有Jena TDB的Java应用程序。我想在具有超过300万个对象的数据库上进行导出。
对于导出,我增加了Java堆空间,并且正在使用:
RDFWriter writer = model.getWriter("RDF/XML");
writer.setProperty("allowBadURIs", true);
writer.setProperty("relativeURIs", "");
writer.setProperty("tab", "0");
writer.setProperty("showXmlDeclaration", "true");
writer.setProperty("xmlbase", JENAXMLBASE);
fis = new FileOutputStream(file);
writer.write(writableModel, fis, null);
它可以正常工作,但是该功能需要花费很多时间。我可以看到该文件已创建,并且可以打开导出的文件,但是该功能继续起作用。
我的问题是,如果可以的话,如何在创建文件并导出对象时减少执行时间并停止功能?
答案 0 :(得分:1)
“ RDF / XML”是打印精美的输出,根据数据的不同,价格可能很高。
您还可以尝试使用缓冲的输出流。
或尝试其他RDFWriter设置,尤其是规则:https://jena.apache.org/documentation/io/rdfxml_howto.html#advanced-rdfxml-output