2012-02-08 8 views
2

私のプロジェクトではDbpediaを使用しています。オンラインのものが信頼できないため、ローカルのsparqlエンドポイントを作成したいと考えました。データダンプ(大きなNTファイル)をダウンロードし、Jena TDBを使用することに決めました。 NetBeans IDEを使用して、ソースNTファイルを読み込むための入力ストリームを使用して、その後datasetGraphにNTファイルをロードするために、次のコード行を使用しています:大きなNtripleデータをjena tdbにロードする方法

TDBLoader.load(indexingDataset, inputs, true); 

私はそれが今で約5時間、実行してみましょうとそれはまだ行われていません。私のラップトップでこれをやっている間は、おそらくすべての私の物理的なメモリ空間を取っているので、おそらく遅くなるようです。これを行うより速い方法はありますか?

ドキュメントでは、tdbloader2を使用すると言われていますが、Windowsを使用している間はlinuxでのみ使用できます。 cygwinを使ってWindowsでこのツールを使う方法を誰かに教えてもらえると本当に役に立ちます。私はWindowsでCygwinを実際に使ったことがないことを考慮してください。

答えて

6

最新リリースのTDBには、tdbloaderとtdbloader2の2つのコマンドラインユーティリティがあります。最初のJavaは純粋なJavaであり、Windows上だけでなく、JVMを備えた任意のマシン上でも実行されます。 2つめは、JavaとUNIXのシェルスクリプト(特にUNIXソートを使用)の組み合わせです。それはLinux上で動作し、私はそれがCygwin上で動作するかどうかはわかりません。私はあなたが見つけることができるように多くのRAMを持つ64ビットマシン上でtdbloaderを使用することをお勧めします。 :-)

TDBの最新リリースは、ここに提供されています:tdbloader3: http://www.apache.org/dist/incubator/jena/jena-tdb-0.9.0-incubating/jena-tdb-0.9.0-incubating-distribution.zip

TDBの開発版は、追加のバルクローダコマンドを持っています。これは、tdbloader2の純粋なJavaバージョンです。テキストファイルのみで動作するUNIXソートを使用するのではなく、バイナリファイルで純粋なJava外部ソートを使用しました。 tdbloader3の詳細については、JENA-117の問題を検索してください。

あなたはまだ発売されていない、あなたが警告しているApacheのスナップショットリポジトリ内TDBのスナップショットを、見つけることができます。より多くの冒険のために

もApacheのイエナには含まれていないtdbloader4があり、それは実験的な試作品と見なされるべきです。 tdbloader4は、MapReduceを使用してTDBインデックス(つまりB +ツリーインデックス)を構築します(これはMapReduceモデルを少し拡張していますが機能します)。 あなたがここにtdbloader4を見つけることができます。https://github.com/castagna/tdbloader4

をあなたに、私のアドバイスを締結するには、Windows上で、次のとおりです。TDBの最新の公式リリースをダウンロードして、多くのRAMと64ビットマシンでtdbloader使用しています。持っていない場合は、m1.xlargeのEC2インスタンス(つまり15 GBのRAM)(または同等のもの)を使用します。より多くのヘルプについて

、私はあなたが、私は確信して、あなたがより良く、より速くサポートしています公式[email protected]メーリングリストに参加するために招待します。

+2

私は現在、tdbloader2を使用して1億2000万回のトリプルをTDBにロードしています。かなり遅い(8時間以上)、ロードが進むにつれて減速するようです。それらのベンチマークはtdbloader2、tdbloader3、tdbloader4を比較していますか?または、複数のTDBデータベースをマージする方法はありますか?アドバイスをいただければ幸いです。 –

関連する問題