我正在尝试为我用 eclipse/jena 创建的语义 Web 项目分析大型数据转储。我正在使用 tdb 数据库,它适用于 2gb,但我遇到了超过 6gb 的文件的内存问题。我的目标是从数据源中提取所有谓词对象和主题(并将它们写入 json 文件)。有没有一种方法可以直接查询 tdb 数据而不将所有数据加载到模型中?另外:以下代码中的 model.read 是否也将整个数据存储在内存中?
HttpSession session = request.getSession();
session.setAttribute("dataSource", data);
ServletContext servletContext = request.getServletContext();
String tdbPath = servletContext.getRealPath("/tdb");
File dir = new File(contextPath);
Dataset dataset = TDBFactory.createDataset(tdbPath);
Model model = dataset.getDefaultModel();
InputStream str = FileManager.get().open(data);
model.read(str,null);