2016-05-29 33 views
1

私はVirtuosoを使用しています。サーバーマシンにインストールされます。私はVirtuosoから大きなRDFグラフを削除しようとしています。 2,590,994,053のトリプルが含まれています。私は次のコマンドでグラフを削除しようとしていました。大きなRDFグラフ削除の問題

SPARQL DROP SILENT GRAPH <http://ndssl.bi.vt.edu/chicago/> 

しかし、長時間実行した後、Virtuosoが私に次のエラーを表示しています。

*** Error 08S01: [Virtuoso Driver]CL065: Lost connection to server at line 6 of Top-Level:SPARQL DROP SILENT GRAPH <http://ndssl.bi.vt.edu/chicago/>

これだけでなく、私のVirtuosoサーバをコマンドを下に削除します。 SPARQL CLEARコマンドで試してみます。長い間実行した後、終了します。

私はメモリサイズを128 GBに増やし、次の設定値を設定しました。ただし、動作しません。

NumberOfBuffers   = 10900000 
MaxDirtyBuffers   = 8000000 
MaxCheckpointRemap  = 650000000 

私のVirtuosoトリプルストアからこの大きなグラフを削除する方法を教えてください。私はVirtuosoにもいくつかのグラフを持っています。私はそれらを取り除きたいとは思わない。

+1

のVirtuosoメーリングリストでそのようなツールの特定の質問をしてください:SQL操作は次のようになります。 – AKSW

+0

@AKSWが示唆しているように、Virtuoso特有の質問は、[Virtuoso Usersメーリングリスト](https://lists.sourceforge.net/lists/listinfo/virtuoso-users/)や[OpenLink Support Forums] (http://boards.openlinksw.com/support/index.php)。 (ObDisclaimer:私は[Virtuoso](http://virtuoso.openlinksw.com/)のプロデューサーである[OpenLink Software](http://www.openlinksw.com/)で働いています。 Virtuoso Quad Storeから多数のトリプルを含むグラフを削除しますか?](http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtTipsAndTricksGuideDeleteLargeGraphs) – TallTed

答えて

1

How can I delete graphs containing large numbers of triples from the Virtuoso Quad Store?に記載されるように - デフォルト

、三重削除操作が完了し、データベースにコミットされるまで、メモリに格納されたトランザクションの一部として実行されます。典型的なサーバー操作中に、多数のトリプル(一般には数百万以上)を含む1つ以上のグラフを削除すると、操作が完了できないポイントまで利用可能なメモリが消費され、グラフを削除できなくなります。

グラフやトリプルを削除する前に、トランザクションログモードをautocommitに変更することで、大きなグラフを消去することができます。これは、Virtuoso log_enable()関数を使用して簡単に実行できます。設定はlog_enable(3,1)です。

示すように、この関数は、のiSQL(コマンドラインまたは導体変異体のいずれか)を介して、削除操作の前に、それ自身の上に呼び出すことができる。

SQL> log_enable(3,1);
SQL> SPARQL CLEAR GRAPH <graph-name>;

log_enable()できるもSPARQL/Updateクエリで指定されたプラグマとして呼び出すことができます(このクエリはSPARQLインターフェイスで実行するように記述されていますが、SQLインターフェイスで実行する場合はSPARQLキーワードの前に追加する必要があります)。

DEFINE sql:log-enable 3
CLEAR GRAPH <graph-name>

トリプルまた、SQL経由RDF_QUADテーブルから直接削除が、この方法はCLEAR GRAPH ...を自動的に行うだろうグラフ、関連付けられている可能性のある任意のフリーテキストインデックスデータを削除しないことに注意することができます。

SQL> log_enable(3,1);
SQL> DELETE FROM rdf_quad WHERE g = iri_to_id ('http://mygraph.org');