java - RDFWriter 写入需要花费很多时间

标签 java jena

我有 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/

相关文章:

java - JTable 行的 ActionListener

java - 无法从 MySQL Workbench 连接到 dockerized MySQL 服务器

java - 耶拿本体模型的只读文件实例

log4j - 为 Log4j 配置 Eclipse

java - 尝试使用 jena 创建 SPARQL 查询时出现 NoSuchMethod

rdf - RDF三元组的高效存储和查询

java - JNI 全局引用持有的 JPanel 导致 OOM 异常

java - 如何在jsp中迭代一组代码?

java - 为本体个人添加基本值(value)@Jena

java - Oracle 10gR2中如何调用Java存储过程?