事先为可能的重复道歉。
我有一个包含 117,426 个文件(每个文件N-TRIPLES
格式)的存档,我希望将这些文件加载到 TDB 数据集的默认图中。由于文件数量众多,我需要能够执行此导入,而无需手动选择要上传的单个文件。
我在 Bash 中,可以使用 Jena 和 Fuseki 发行版。
如果可能的话,我想避免最坏的情况,即只编写一个 java 应用程序来执行此操作。如果我必须为此编写一个 java 应用程序,那么 RIOT/TDB 中存在哪些挂钩来执行程序化批量加载?
作为一般评论,一种方法是连接 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 -- -