私のプロジェクトには、リレーショナルDBがあります。頻繁に私のリレーショナルDBスキーマが変更されています。そこで最近、すべてのリレーショナルデータベーステーブルのデータを1つの大きなRDFテーブルに格納しました。テーブルはデータをトリプルとして保存しました。これには、主語、述語、目的語の3つの列があります。以下は、RDFテーブルの例です。
Subject->Predicate->Object
1->name->Center
1->description->sample description
1->data->measure
2->data->parameter
2->relation->1
テーブルをOracleに保存し、現在SQLを使用してDBをクエリしています。ただし、私のテーブルは非常に速く成長しており、多くのレコードとSQLクエリ処理に時間がかかります。近い将来、テーブルがさらに大きくなり、クエリ処理が非効率になると思います。ですから、私の懸念は効率についてです。
テーブルが非常に大きい場合でもDBのクエリにかかる時間を短縮するために、RDFトリプルを効率的に格納する方法を教えてください。
RDFデータベースとクエリ言語についてはよくわかりません。Oracle RDFテーブルを効率的にすることは可能ですか?人々がApacheJenaツールとSPARQL言語について話しているのを見ました。それは私の問題を解決しますか?Jenaを使用する場合、RDFトリプルをXML形式で保存する必要がありますか、それとも現在の形式で問題ありませんか?Jenaツールを使用するにはどうすればよいですか?また、Oracle DBの代わりにグラフデータベースを使用すると便利ですか?もしそうなら、どれを選ぶべきですか?