オントロジー モデルの既存のリソースの uri を変更しようとしています。新しいモデル、新しいリソース (新しい目的の uri を含む) を作成し、古いリソースの内容を複製することを考えました。
ステートメントを繰り返して追加しても、正しく機能しません。別の回避策はありますか?
私は、Java および RDF/XML モデルで jena を使用しています。
ご覧のとおり、リソースは不変です。を使用しても同じ効果が得られResourceUtils.renameResource(resource, newName)
ます。これは、古いリソースに言及しているステートメントを削除し、同等のものを新しいリソースに追加するモデルを通過します。これは、名前変更に近づくのと同じくらいです。
例:
Resource renamed =
ResourceUtils.renameResource(originalResource, "http://example.com/new");
ResourceUtils.renameResource(oldResource, newURI)を使用します。すべてのトリプルに対して反復処理を行います。
大規模なデータベースでこれを行っている場合は、データベースを Turtle または N-Triples にダンプし、テキスト変更スクリプトを実行して、データベースをリロードする方がよい場合があります。