您好,我一直在使用 Jena 进行一个项目,现在我正在尝试查询图以存储在普通文件中,以便使用 Hadoop 进行批处理。
我打开一个 TDB Dataset,然后使用 LIMIT 和 OFFSET 按页进行查询。
我输出每个文件包含 100000 个三元组的文件。
然而,在文件 10 处,性能下降,在文件 15 处,性能下降了 3 倍,在文件 22 处,性能下降至 1%。
我的查询是:
SELECT DISTINCT ?S ?P ?O WHERE {?S ?P ?O .} LIMIT 100000 OFFSET X
查询和写入文件的方法如下面的代码块所示:
public boolean copyGraphPage(int size, int page, String tdbPath, String query, String outputDir, String fileName) throws IllegalArgumentException {
boolean retVal = true;
if (size == 0) {
throw new IllegalArgumentException("The size of the page should be bigger than 0"); …Run Code Online (Sandbox Code Playgroud)