我有 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);
它工作正常,但该功能需要很长时间。我可以看到该文件已创建,并且我可以打开导出的文件,但该功能继续工作。
我的问题是,如果可能的话,如何减少执行时间并在创建文件并导出对象时停止函数?
最佳答案
“RDF/XML”是打印精美的输出,并且可能很昂贵,具体取决于数据。
您还可以尝试使用缓冲输出流。
或者尝试不同的 RDFWriter 设置,尤其是规则:https://jena.apache.org/documentation/io/rdfxml_howto.html#advanced-rdfxml-output
关于java - RDFWriter 写入需要花费很多时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53615082/