私は単純なJenaデータセットで作業しています。これには、〜30 MBのRDFファイルが1つしかインポートされていません。アプリケーションの一部として、私はユーザーが既定のグラフ(または名前付きグラフ)を照会し、結果のトリプルをクエリから新しい名前付きグラフに挿入しようとしています。このため、私はCONSTRUCT文を使用してRDFフォームでトリプルの結果セットを作成し、これらのトリプルを新しいモデルに入れて(QueryExecution.execConstruct()を使用)、このモデルをデータセットに追加しています。これは、データセットが新しいグラフノードを取得し、TDBデータベースフォルダのディスクサイズが大きくなるため、再び機能するように見えます。TDBバックアップのJena Datasetのサイズを縮小するにはどうすればよいですか?
この問題は、データセットから名前付きグラフを削除しようとすると発生します。データセットのremoveNamedName( "graphName")メソッドを使用して、データセットからモデルを削除します。そのモデル名に対する将来の照会は、正常に削除されたことを示します。ただし、TDBデータベースフォルダのディスクサイズは、同期および終了後も同じサイズのままです。
最初は、削除されたファイルのスペースを空きとしてマークして、新しいデータが入ったときに上書きされる可能性があると思っていましたが、そうは思われません。名前付きグラフを削除して直ちに同じプログラムを実行するとそのフォルダが大きくならないようですが、新しい名前付きグラフを追加して同じ実行で削除すると、フォルダサイズが大きくなり、モデルが大きくなります削除によってメモリが解放されることはありません。つまり、データベースフォルダを数回実行すると、それ以上のデータを保持せずに元のサイズの5〜10倍になります。
洞察や助けがあれば嬉しいです。ありがとうございました。
ありがとうございました!私は間違いなくメーリングリストをチェックしています。それは削除が必ずしもテーブルのサイズを縮小するとは限りませんが、それは理解できます。再度、感謝します。 – paul