SPARQL 1.1では、特に更新コマンドでreplace関数をどのように使用できますか?SPARQL 1.1:置換機能の使い方は?
例えば、私がトリプルの数を持っていれば?oは文字列で、すべてのトリプルでは?oに "gotit"という文字列が含まれています。 "gotit"どのように私はこれを行うことができますか?私はこれを達成しようとしていますセサミ2.6.0です。
私はこの単純なアプローチを試みた:
INSERT { ?s ?p replace(?o,"gotit","haveit","i") . }
WHERE { ?s ?p ?o . FILTER(regex(?o,"gotit","i")) }
をが、これは構文エラーの原因となりました。
また、私はそうのようなクエリの結果リストに置き換える使用できませんでした:
SELECT ?s ?p (replace(?o,"gotit","haveit","i") as ?r) WHERE { .... }
SPARQLの文書が、残念ながらこの機能を使用する方法の例が含まれていません。
既存の値をテストするだけでなく、新しい値を作成する機能を使用することは可能ですか?
?oの代わりに?nameを使用するエラーを指摘していただきありがとうございます。ここで実際のクエリを単純化しようとしましたが、?nameを?oに変更するのを忘れました。 私のSESAMEインストールでBINDを使用してクエリを試しましたが、構文エラーが発生します...これが最新バージョンでサポートされているかどうかを判断する必要があります。 – Johsm
私はこれをテストしたところ、OWLIM-LiteリポジトリでSesameバージョン2.6.5でうまくいきます。 – Johsm