0

事先为可能的重复道歉。

我有一个包含 117,426 个文件(每个文件N-TRIPLES格式)的存档,我希望将这些文件加载​​到 TDB 数据集的默认图中。由于文件数量众多,我需要能够执行此导入,而无需手动选择要上传的单个文件。

我在 Bash 中,可以使用 Jena 和 Fuseki 发行版。

如果可能的话,我想避免最坏的情况,即只编写一个 java 应用程序来执行此操作。如果我必须为此编写一个 java 应用程序,那么 RIOT/TDB 中存在哪些挂钩来执行程序化批量加载?

4

1 回答 1

3

作为一般评论,一种方法是连接 N-Triples 文件以生成一个文件。

tdbloader您可以使用或一次加载多个文件tdbloader2

tdbloader --loc DB ... your files ...

117,426 可能会使您的操作系统因单个命令行调用而紧张。您可以将文件导入tdbloader(就像先连接文件一样)

... | tdbloader --loc DB -- -

哪里...有某种方法可以让 bash 对文件进行分类(可能来自子外壳)。

例如(您需要调整以归档所有 117,426 个文件):

( for x in data*.nt
  do
    cat $x 
  done
) | tdbloader --loc DB -- -
于 2014-09-08T18:48:17.447 回答