this questionのように見えますが、その後削除されましたか?1つのエンドポイントから別のエンドポイントへのPure-SPARQLマイグレーション?
1つのSQLテーブルのデータの場合は、replicate the structure、次にmigrate the data to another table (or database?)を簡単に使用できます。
CREATE TABLE new_table
AS (SELECT * FROM old_table);
SELECT *
INTO new_table [IN externaldb]
FROM old_table
WHERE condition;
RDF/SPARQLに類似したものはありますか? 1つのSPARQLステートメントに選択と挿入を組み合わせたもの?
具体的には、埋め込みOpenRDF/Sesameエンドポイントにデータを公開するKarmaを使用します。エンドポイント用のGUIにはテキストボックスがありますので、RDF4JはSesameのフォークであるため、フリースタンディングのRDF4Jに変更することができます。
残念ながら、エンドポイントのテキストボックスにVirtuoso、Stardog、またはBlazegraphエンドポイントのアドレスを入力すると、カルマからinvalid SPARQL endpoint
というエラーが表示されます。私はそれが(もっと現実的に)変更し、再コンパイルカルマを、またはする可能かもしれないが、私は他のエンドポイントにRAMまたはスクラッチディスクスペースにselect
にイエナやRDF4Jライブラリと小さなツールを書いて、その後、insert
可能性が疑われます。
しかし、純粋なSPARQLソリューションがあれば、それを聞きたいと思うでしょう。
あなたはアプローチのような種類を試してみた場合、私は好奇心旺盛だし、それは何あなた」再探している? https://stackoverflow.com/questions/10078966/multiple-sparql-insert-where-queries-in-a-single-requestもしそうでなければ、おそらく少なくとも正しい方向に向かうかもしれません –
技術的には、 'INSERT { ?s?p?o。 } WHERE {?s?p?o。 }; 'このようなクエリは、データベース内の可能なトリプル(WHERE'句)をすべて選択し、挿入する必要があります。これはあなたの質問「選択と挿入を1つのSPARQLステートメントに組み合わせたもの」に対する答えですが、それ以上の複雑なことをしたいと思います。 –
素晴らしいですが、ソースとデスティネーションのエンドポイントをどのように指定することができますか? –