cURL 経由で http PUT を使用して、openrdf-sesame のトリプル ストアを更新しようとしていますが、解決策が見つからない問題に遭遇しました。
POST を使用すると、トリプル データが完全にアップロードされます。
しかし、PUT を使用すると、提供されたデータを追加する代わりに、リポジトリからすべてのデータが削除されます。詳細モードで cURL を実行したところ、予想される HTTP ステータス コードが返されました。
私は追加しました
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
Apache Tomcat の web.xml に追加するには、こちらのガイドも試してみました: HTTP PUT Guideですが、どちらも役に立ちませんでした。
編集 バッチファイルからのcURLコマンドは次のとおりです。
call "%curl%" -# -X POST %endpoint%/statements -H "Content-Type:application/x-trig;charset=UTF-8" -d @%%X
call "%curl%" -# -X PUT %endpoint%/statements -H "Content-Type:application/x-trig;charset=UTF-8" -d @%%X
これは本質的に次のとおりです。
curl.exe -# -X POST http://myendpoint/statements -H "Content-Type:application/x-trig;charset=UTF-8" -d @MyTrigFile.trig
curl.exe -# -X PUT http://myendpoint/statements -H "Content-Type:application/x-trig;charset=UTF-8" -d @MyTrigFile.trig
とりあえず、認証を無効にしましたが、それ以外の場合は-u user:password
引数も含めます。