2017-05-29 2 views
0

モデル内のリソースのURIを変更しようとしています。 私はResourceUtils.renameResourceを使用していますが、ファイルにモデルを保存すると、モデルに接頭辞(@prefix prefix: <http://prefix.com/>)があっても新しいURIが拡張されます(prefix:resourceの代わりに<http://prefix.com/resource>の形式を持ちます)。 リソースのURIを置き換えるときにJenaにプレフィックスを使用させる方法や、可能であれば "prefix:"という短いバージョンを使ってモデルを更新するモデルを更新する方法がありますか?apache jena renameリソースがプレフィックスを確認しない

+0

RDFは絶対URIで動作します。接頭辞は表面の外観のみを取り除きます。内部的には、Jenaは接頭辞の名前ではなく絶対URIで動作します。プレフィックスは、読み込み時に展開され、書き込み時には省略形として使用されます(可能であれば、すべてのURIを省略することはできません)。 – AndyS

+0

モデルの書き方と実際のデータの表示を示します。詳細が重要! – AndyS

+0

私は私が使用するモデル記述: 'モデルモデル= ModelFactory.createDefaultModel();' より 'model.setNsPrefix(PREFIX、NAMESPACE);' と私は、リソースの追加: 'リソースRES =モデル。 createResource(NAMESPACE + RESOURCE_ID); res.addProperty(someProperty、someObject); ' モデルをファイルに印刷すると、resは接頭辞:resIdのように書かれますが、使用時は ' ResourceUtils.renameResource(res、NAMESPACE + NEW_ID); ' ファイル上のモデル、resが展開されます。 jenaはURIを拡張して動作することを知っていますが、ファイルを人間が読めるようにするために "prefix:"を使用したいと思います。 – Giuseppedes

答えて

0

プレフィックスの後に新しいURIに "/"や "#"のような記号があるため、うまくいきませんでした。そのシンボルをダッシュ​​ " - "で置き換えました。

関連する問題