Drug Ontology OWL filesのほとんどとChEBI OWL filesのほとんどを、Optimized OWL Horstの推論が有効なGraphDBの無料v8.3リポジトリにロードするのには苦労しています。GraphDBは、OWLの推論で1000万文をロードできますか?
これは可能ですか?私は「忍耐強い」以外の何かをするべきですか?
詳細:
私は週末488.0ジブと64個のvCPU
とAWS r4.16xlarge instanceを移入するloadrdf offline bulk loaderを使用しています、私は別のプールバッファーで遊んのサイズ、見つかりましたこれらのファイルのほとんどは、提案された200,000の代わりに、2,000または20,000の文のプールバッファで最も速く読み込まれます。また、-Xmx470g
をloadrdfスクリプトに追加しました。ほとんどのOWLファイルは、1時間未満で個別にロードされます。
昨晩午後10時頃、私は以下のファイルをすべて同時に読み込み始めました。 今は11時間後ですが、まだ何百万もの声明が残っています。負荷率は現在約70 /秒です。 RAMの30%しか使用されていないようですが、CPUの負荷は常に約60です。
- この規模の何かをしている他の人を文書化したウェブサイトはありますか?
- should I be using a different reasoning configuration?この構成は、週末の私の実験に基づいて、最も高速にロードするOWL構成だったので、この構成を選択しました。私は、rdfs:subClassOfを超えた関係を探す必要があると思います。
ファイルは、私が負荷にしようとしている:あなたはGraphDB 8.4.0リリースの一部であるプリロードツール、見てみることができ@MarkMiller
+-------------+------------+---------------------+
| bytes | statements | file |
+-------------+------------+---------------------+
| 471,265,716 | 4,268,532 | chebi.owl |
| 61,529 | 451 | chebi-disjoints.owl |
| 82,449 | 1,076 | chebi-proteins.owl |
| 10,237,338 | 135,369 | dron-chebi.owl |
| 2,374 | 16 | dron-full.owl |
| 170,896 | 2,257 | dron-hand.owl |
| 140,434,070 | 1,986,609 | dron-ingredient.owl |
| 2,391 | 16 | dron-lite.owl |
| 234,853,064 | 2,495,144 | dron-ndc.owl |
| 4,970 | 28 | dron-pro.owl |
| 37,198,480 | 301,031 | dron-rxnorm.owl |
| 137,507 | 1,228 | dron-upper.owl |
+-------------+------------+---------------------+
ファイルのロード中にマテリアライゼーションが実行されていますか?それとも、すべてのトリプルがロードされた後にマテリアライズされますか?あなたが必要とする表現力によっては、実際にはあまり複雑ではない推論がパフォーマンスを大幅に向上させる可能性があります。 OWL Horstは、例えば、 RDFデータに適用する必要がある規則の固定順序を使用できるRDFS。私は分散推論に使用されているいくつかのベンチマークを知っていますが、私はあなたのデータにどれくらいの時間がかかるか推測できません。 – AKSW
@AKSW私は、ロード自体の間にマテリアライゼーションが行われると信じています。私はあなたのように、より安価な推論に行くことを提案した複数の同僚を抱えています。これらのオントロジーに対するSPARQLクエリをノン・インカレンス・リポジトリに書き始めています。より複雑なルールセットを使用することで、短くて明示的でないクエリを書くことができると期待していましたが、それは私のところでは素朴です。私はすぐに例を掲載します。 –
@ MarkMiller、これらのトリプルをGraphDBリポジトリに「推論なし」ルールセットでロードしようとしましたか?あなたは推論が必要だと知っていますが、結果はほぼ同じと思われます...時間がかかっていないか、コストが高くないかテストしてください! –