从包含N-TRIPLES文件的存档生成TDB数据集

时间:2014-09-08 18:04:19

标签: bash rdf jena tdb

事先道歉,可能重复。

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

我在Bash,Jena和Fuseki的发行权可供我使用。

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

1 个答案:

答案 0 :(得分:3)

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

您可以使用tdbloadertdbloader2一次加载多个文件。

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

对于单个命令行调用,117,426可能会对您造成压力。您可以将文件传输到tdbloader(它就像首先连接文件一样)

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

其中...是一种让bash捕获文件的方法(可能来自子shell)。

e.g。 (您需要调整以存档所有117,426个文件):

( for x in data*.nt
  do
    cat $x 
  done
) | tdbloader --loc DB -- -